/* Skies & Sand gallery — playa-grande.com */
.ss-page{--ss-terra:#c1583a;--ss-ink:#3b2a24;--ss-cream:#fde5c1;--ss-paper:#fffdf8;--ss-top:0px}

/* hero */
.ss-hero{position:relative;height:min(74vh,660px);min-height:400px;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;text-align:center;color:#fff;background:#3b2a24}
.ss-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;animation:ss-drift 24s ease-out both}
.ss-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(40,24,16,0) 30%,rgba(40,24,16,.62) 100%)}
.ss-hero-txt{position:relative;z-index:1;padding:0 16px 64px;max-width:780px}
.ss-kicker{letter-spacing:.24em;text-transform:uppercase;font-size:.78rem;margin:0 0 .9rem;opacity:.92}
.ss-hero h1{font-family:'Libre Baskerville',serif;color:#fff;font-size:clamp(2.6rem,7vw,5rem);line-height:1.05;margin:0 0 1rem;text-shadow:0 2px 24px rgba(0,0,0,.35)}
.ss-lede{font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.6;max-width:540px;margin:0 auto}
@keyframes ss-drift{from{transform:scale(1.08)}to{transform:scale(1)}}

/* tab bar */
.ss-tabs{position:sticky;top:var(--ss-top);z-index:20;background:rgba(253,229,193,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(193,88,58,.18)}
.ss-tabs .pg-chips{margin:0;padding:.85rem 16px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;justify-content:center}
.ss-tabs .pg-chips::-webkit-scrollbar{display:none}
.ss-tab{white-space:nowrap;text-decoration:none!important}
.ss-tab[aria-selected="true"]{background:var(--ss-terra);border-color:var(--ss-terra);color:#fff!important}
@media(max-width:575.98px){.ss-tabs .pg-chips{justify-content:flex-start}}

/* panels */
.ss-panel{padding:64px 0 80px}
.ss-panel[hidden]{display:none}
.ss-intro{max-width:660px;margin:0 auto 44px;text-align:center}
.ss-season{display:inline-block;margin:0 0 .7rem;color:var(--ss-terra);font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;font-weight:700}
.ss-intro h2{font-family:'Libre Baskerville',serif;color:var(--ss-ink);font-size:clamp(1.9rem,3.6vw,2.8rem);margin:0 0 .8rem}
.ss-intro p{font-size:1.06rem;line-height:1.75;color:var(--ss-ink);margin:0}

/* editorial grid: 12 columns, tiles sized by shape */
.ss-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(48px,6.6vw,86px);grid-auto-flow:dense;gap:14px}
.ss-t{position:relative;margin:0;overflow:hidden;border-radius:6px;background:#ead2ad;cursor:zoom-in;box-shadow:0 8px 26px rgba(59,42,36,.14);outline:none}
.ss-t img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.ss-t:hover img,.ss-t:focus-visible img{transform:scale(1.045)}
.ss-t:focus-visible{box-shadow:0 0 0 3px var(--ss-terra)}
.ss-t figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 12px;color:#fff;font-family:'Libre Baskerville',serif;font-style:italic;font-size:.9rem;line-height:1.35;background:linear-gradient(180deg,transparent,rgba(20,12,8,.55));opacity:0;transform:translateY(8px);transition:opacity .45s,transform .45s;pointer-events:none}
.ss-t:hover figcaption,.ss-t:focus-visible figcaption{opacity:1;transform:none}
.ss-f{grid-column:span 8;grid-row:span 5}
.ss-v{grid-column:span 4;grid-row:span 5}
.ss-h{grid-column:span 6;grid-row:span 4}
.ss-hs{grid-column:span 4;grid-row:span 3}
.ss-vs{grid-column:span 3;grid-row:span 4}
.ss-w{grid-column:span 9;grid-row:span 4}
.ss-p{grid-column:span 12;grid-row:span 4}
.ss-p img{object-position:center 62%}
.ss-low img{object-position:center 88%}
.ss-n{grid-column:span 3;grid-row:span 4}
.ss-nw{grid-column:span 4;grid-row:span 3}

/* tip cards that sit inside the grid */
.ss-note{display:flex;flex-direction:column;justify-content:center;padding:24px 26px;background:var(--ss-paper);border-radius:6px;border-left:3px solid var(--ss-terra);box-shadow:0 8px 26px rgba(59,42,36,.08)}
.ss-note p{margin:0;font-family:'Libre Baskerville',serif;font-size:1.02rem;line-height:1.6;color:var(--ss-ink)}
.ss-note .ss-note-k{font-family:Karla,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ss-terra);margin-bottom:.7rem}

/* gentle reveal on scroll */
.ss-reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.ss-reveal.ss-in{opacity:1;transform:none}

/* closing */
.ss-end{padding:8px 16px 88px;text-align:center}
.ss-end h2{font-family:'Libre Baskerville',serif;color:var(--ss-ink);font-size:clamp(1.5rem,2.8vw,2.1rem)}

/* tablets */
@media(max-width:991.98px){
  .ss-grid{gap:10px;grid-auto-rows:7.4vw}
  .ss-note{padding:18px}
  .ss-note p{font-size:.92rem}
}
/* phones: 2 columns */
@media(max-width:767.98px){
  .ss-panel{padding:44px 0 56px}
  .ss-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:25vw;gap:10px}
  .ss-f,.ss-h,.ss-hs,.ss-w,.ss-p{grid-column:span 2;grid-row:span 2}
  .ss-f{grid-row:span 3}
  .ss-v,.ss-vs{grid-column:span 1;grid-row:span 2}
  .ss-m2{grid-column:span 2;grid-row:span 4}
  .ss-n,.ss-nw,.ss-note.ss-m2{grid-column:span 2;grid-row:span 2;padding:16px 18px}
  .ss-note p{font-size:.84rem;line-height:1.5}
  .ss-note .ss-note-k{font-size:.64rem;margin-bottom:.45rem}
  .ss-t figcaption{opacity:1;transform:none;font-size:.74rem;padding:24px 10px 8px}
  .ss-hero{height:68vh;min-height:360px}
  .ss-hero-txt{padding-bottom:44px}
}

/* lightbox */
.ss-lb{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(18,12,9,.97);opacity:0;transition:opacity .3s}
.ss-lb.ss-open{opacity:1}
.ss-lb[hidden]{display:none}
.ss-lb-img{max-width:92vw;max-height:80vh;object-fit:contain;border-radius:4px;box-shadow:0 14px 60px rgba(0,0,0,.55);transition:opacity .25s}
.ss-lb-cap{margin-top:16px;padding:0 64px;color:#f6e7d0;font-family:'Libre Baskerville',serif;font-style:italic;text-align:center;font-size:.98rem}
.ss-lb-count{margin-top:6px;color:rgba(246,231,208,.6);font-size:.78rem;letter-spacing:.18em}
.ss-lb button{position:absolute;display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;transition:background .2s}
.ss-lb button:hover,.ss-lb button:focus-visible{background:rgba(193,88,58,.85);outline:none}
.ss-lb .ss-lb-x{top:16px;right:16px}
.ss-lb .ss-lb-p{left:16px;top:calc(50% - 24px)}
.ss-lb .ss-lb-n{right:16px;top:calc(50% - 24px)}
@media(max-width:767.98px){.ss-lb .ss-lb-p,.ss-lb .ss-lb-n{top:auto;bottom:18px}.ss-lb-cap{padding:0 16px}}
body.ss-lock{overflow:hidden}

@media(prefers-reduced-motion:reduce){
  .ss-hero>img{animation:none}
  .ss-reveal{opacity:1;transform:none;transition:none}
  .ss-t img,.ss-lb,.ss-lb-img{transition:none}
}


/* site overrides + rhythm */
.ss-page{background:#fdf1de}
.ss-page .ss-panel{background:transparent}
.ss-page p.ss-season,.ss-page .ss-note p.ss-note-k{color:var(--ss-terra)!important}
.ss-page .ss-intro h2,.ss-page .ss-end h2{color:var(--ss-ink)!important}
.ss-o1{order:-1}
@media(max-width:767.98px){.ss-o1{order:0}}
