@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,300;0,400;0,500;1,300;1,400&family=IBM+Plex+Sans:wght@400;500;600&display=swap');

/* The Silver Index (/gallery): white negative space, silver modular grid, navy type. */
body[data-theme="indexed"]{--paper:#ffffff;--silver:#eef0f2;--silver-deep:#e2e5e9;--ink:#122747;--ink-soft:#51607a;--line:rgba(18,39,71,.16);--navy:#122747;--navy-mid:#274a7c;background:var(--paper);color:var(--ink);font-family:"IBM Plex Sans","Helvetica Neue",Arial,sans-serif;overflow-x:hidden}
body[data-theme="indexed"] :is(h1,h2,h3,p){margin-top:0}
body[data-theme="indexed"] .menu-btn{color:var(--navy);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:600}
.indexed-main{width:100%;max-width:100%;overflow:hidden}
.indexed-eyebrow{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}
.indexed-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 30px;border-radius:999px;background:var(--navy);color:#fff;text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:600;border:1px solid var(--navy);cursor:pointer;transition:background .25s,border-color .25s}
.indexed-button:hover{background:var(--navy-mid);border-color:var(--navy-mid)}
.indexed-button-navy{background:var(--navy);color:#fff}
.indexed-button-ghost{background:transparent;color:var(--navy);border-color:rgba(18,39,71,.35)}
.indexed-button-ghost:hover{background:rgba(18,39,71,.06)}
.indexed-add{border:1px solid var(--navy);background:var(--navy);color:#fff;min-height:42px;padding:0 18px;text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:600;cursor:pointer;transition:background .25s,border-color .25s}
.indexed-add:hover,.indexed-add:focus-visible{background:var(--navy-mid);border-color:var(--navy-mid)}

.new-switch{border-radius:0}
.new-switch a[aria-current="page"]{background:#111;color:#fff}

/* Navigation */
.indexed-nav{position:relative;top:0;height:84px;margin:0;padding:0 clamp(20px,4vw,56px);background:var(--paper);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.indexed-nav-links{gap:28px;font-size:11px;letter-spacing:.08em;color:var(--ink-soft)}
.indexed-nav-links a:hover{color:var(--navy)}
.indexed-logo{justify-self:center;height:44px;display:flex;align-items:center}
.indexed-logo img{height:100%;width:auto}
.indexed-bag{justify-self:end;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--navy)}
.indexed-announcement{background:var(--navy);color:#fff}

/* Hero: editorial triptych */
.indexed-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) minmax(0,.6fr);border-bottom:1px solid var(--line);background:var(--paper)}
.indexed-hero-copy{padding:clamp(80px,10vw,150px) clamp(26px,4vw,80px) clamp(56px,7vw,100px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.indexed-hero-copy h1{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:clamp(66px,8vw,132px);line-height:.86;letter-spacing:-.03em;margin:30px 0 36px;max-width:640px}
.indexed-hero-copy h1 em{font-style:italic;font-weight:300;color:var(--navy-mid)}
.indexed-hero-copy p{font-size:14px;line-height:1.8;color:var(--ink-soft);max-width:400px;margin-bottom:42px}
.indexed-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.indexed-hero-figure{margin:0;border-left:1px solid var(--line);position:relative;overflow:hidden;min-height:660px;background:var(--silver)}
.indexed-hero-figure img{width:100%;height:100%;object-fit:cover}
.indexed-hero-column{border-left:1px solid var(--line);display:flex;flex-direction:column;background:var(--silver)}
.indexed-hero-note{padding:clamp(24px,3vw,44px);display:flex;gap:20px;align-items:flex-start;border-bottom:1px solid var(--line)}
.indexed-hero-note span{font-family:"Fraunces",Georgia,serif;font-size:26px;color:var(--navy-mid)}
.indexed-hero-note p{font-size:12px;line-height:1.7;color:var(--ink-soft);margin:6px 0 0}
.indexed-hero-portrait{flex:1;min-height:420px;object-fit:cover;width:100%}

/* Index entries */
.indexed-intro{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:clamp(40px,6vw,100px);padding:clamp(90px,11vw,150px) clamp(20px,4.5vw,64px)}
.indexed-intro-copy{position:sticky;top:40px;align-self:start}
.indexed-intro-copy h2{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:clamp(44px,4.6vw,70px);line-height:.94;letter-spacing:-.03em;margin:24px 0 30px}
.indexed-intro-copy p{font-size:13px;line-height:1.75;color:var(--ink-soft);max-width:340px}
.indexed-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.indexed-entry{display:grid;grid-template-columns:64px minmax(180px,240px) 1fr;gap:clamp(20px,3vw,44px);padding:clamp(28px,3.4vw,44px) 0;border-bottom:1px solid var(--line);align-items:center;min-width:0}
.indexed-number{font-family:"Fraunces",Georgia,serif;font-size:clamp(26px,2.6vw,38px);font-weight:300;color:var(--navy-mid);line-height:1}
.indexed-entry-media{border:0;padding:0;background:var(--silver);cursor:pointer;overflow:hidden;aspect-ratio:4/5;width:100%;display:block}
.indexed-entry-media img{width:100%;height:100%;object-fit:contain;padding:7%;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.indexed-entry-media:hover img,.indexed-entry-media:focus-visible img{transform:scale(1.05)}
.indexed-entry-copy{display:flex;flex-direction:column;justify-content:space-between;gap:22px;min-width:0}
.indexed-entry-copy>div:first-child>span{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.indexed-entry-copy h3{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:clamp(24px,2.4vw,36px);line-height:1.02;letter-spacing:-.02em;color:var(--navy);margin:12px 0 10px}
.indexed-entry-copy p{font-size:12px;line-height:1.65;color:var(--ink-soft);max-width:430px}
.indexed-entry-actions{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px}
.indexed-entry-actions strong{font-size:14px;font-weight:600;color:var(--navy)}

/* Stories: modular silver grid */
.indexed-stories{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-flow:dense;gap:1px;background:var(--line);border-block:1px solid var(--line)}
.indexed-stories figure,.indexed-story-copy{margin:0;background:var(--paper);min-width:0;position:relative}
.indexed-story{overflow:hidden}
.indexed-story img{width:100%;height:100%;object-fit:cover;display:block}
.indexed-story-a{grid-column:span 5;min-height:640px}
.indexed-story-copy{grid-column:span 4;padding:clamp(36px,4.4vw,70px) clamp(26px,3vw,52px);display:flex;flex-direction:column;justify-content:center;background:var(--silver)}
.indexed-story-copy h2{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:clamp(36px,3.6vw,56px);line-height:.96;letter-spacing:-.03em;color:var(--navy);margin:22px 0 24px}
.indexed-story-copy p{font-size:13px;line-height:1.75;color:var(--ink-soft)}
.indexed-story-b{grid-column:span 3;min-height:640px}
.indexed-story-c{grid-column:span 5;min-height:460px}
.indexed-story figcaption{position:absolute;left:0;bottom:0;background:var(--paper);border-top:1px solid var(--line);border-right:1px solid var(--line);padding:16px 22px;font-size:10px;letter-spacing:.06em;color:var(--ink-soft);max-width:88%}

/* Finder */
.indexed-finder{padding:clamp(90px,11vw,150px) clamp(20px,4.5vw,64px)}
.indexed-finder-inner{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);border:1px solid var(--line)}
.indexed-finder-copy{padding:clamp(40px,5vw,80px) clamp(26px,4vw,70px);background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:center}
.indexed-finder-copy .indexed-eyebrow{color:#b9c9e2}
.indexed-finder-copy h2{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:clamp(40px,4vw,60px);line-height:.94;letter-spacing:-.03em;margin:24px 0 26px}
.indexed-finder-copy p{font-size:13px;line-height:1.75;color:#ccd7ea;max-width:380px}
.indexed-finder-panel{padding:clamp(36px,4.4vw,70px) clamp(26px,4vw,70px);background:var(--paper)}
.indexed-finder-choices{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.indexed-choice{border:1px solid rgba(18,39,71,.3);background:transparent;color:var(--ink);min-height:44px;padding:0 22px;text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.indexed-choice-time{margin-bottom:14px}
.indexed-choice:hover{border-color:var(--navy);color:var(--navy)}
.indexed-choice.is-active{background:var(--navy);border-color:var(--navy);color:#fff}
.indexed-finder-result{margin-top:26px;display:grid;grid-template-columns:170px 1fr;gap:clamp(22px,3vw,44px);border-top:1px solid var(--line);padding-top:30px;align-items:center}
.indexed-finder-result img{width:100%;max-width:170px;height:auto;justify-self:center}
.indexed-finder-result [data-finder-tag]{font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.indexed-finder-result h3{font-family:"Fraunces",Georgia,serif;font-weight:400;font-size:clamp(24px,2.2vw,32px);line-height:1.05;color:var(--navy);margin:10px 0 8px}
.indexed-finder-result p{font-size:12px;line-height:1.65;color:var(--ink-soft);max-width:420px}
.indexed-finder-actions{display:flex;align-items:center;justify-content:space-between;margin-top:20px;max-width:340px}
.indexed-finder-actions strong{font-size:14px;font-weight:600;color:var(--navy)}

/* Film restyled to match */
.indexed-film{margin:0;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.5fr) minmax(0,.65fr);grid-template-rows:auto 1fr;gap:1px;background:var(--line);color:var(--ink)}
.indexed-film>*{background:var(--paper)}
.indexed-film .film-heading{grid-column:1/2;grid-row:1/3;padding:clamp(28px,4vw,58px);display:flex;flex-direction:column;justify-content:space-between}
.indexed-film h2{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:clamp(44px,4.6vw,74px);line-height:.92;letter-spacing:-.03em;color:var(--navy);margin:24px 0}
.indexed-film .film-link{color:var(--navy);border-bottom-color:var(--navy);display:inline-flex;align-items:center;min-height:44px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.indexed-film .film-media{grid-column:2/3;grid-row:1/3;min-height:620px}
.indexed-film .film-control{left:18px;bottom:18px}
.indexed-film .film-note{padding:clamp(24px,3vw,44px);font-size:13px;line-height:1.6;color:var(--ink-soft)}
.indexed-film .film-note:last-child{display:flex;align-items:end;background:var(--navy);color:#e8eef8;font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:clamp(22px,2.2vw,32px);line-height:1.15}

/* Footer */
.indexed-footer{background:var(--paper);color:var(--ink);padding:clamp(80px,10vw,130px) clamp(22px,5vw,80px) 40px;border-top:1px solid var(--line)}
.indexed-footer h2{font-family:"Fraunces",Georgia,serif;font-weight:300;font-size:clamp(52px,6vw,92px);line-height:.9;letter-spacing:-.03em;color:var(--navy);margin:0}
.indexed-footer h3{font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin:0 0 20px;color:var(--ink-soft)}
.indexed-footer a,.indexed-footer p{color:var(--ink-soft);font-size:13px;line-height:2}
.indexed-footer .footer-top{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:6vw;align-items:start}
.indexed-footer .footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;margin-top:clamp(50px,6vw,90px);padding-top:24px;border-top:1px solid var(--line);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}

/* Overlays */
body[data-theme="indexed"] .cart-drawer{background:#fff;color:var(--ink)}
body[data-theme="indexed"] .detail-modal{background:#fff;color:var(--ink)}
body[data-theme="indexed"] .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
body[data-theme="indexed"] .reveal.seen{opacity:1;transform:none}

@media(max-width:1080px){
  .indexed-hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
  .indexed-hero-column{display:none}
  .indexed-intro{grid-template-columns:1fr;gap:50px}
  .indexed-intro-copy{position:static}
  .indexed-entry{grid-template-columns:56px minmax(150px,200px) 1fr}
  .indexed-stories{grid-template-columns:repeat(6,minmax(0,1fr))}
  .indexed-story-a{grid-column:span 3}.indexed-story-copy{grid-column:span 3}.indexed-story-b{grid-column:span 3}.indexed-story-c{grid-column:span 3;min-height:380px}
}
@media(max-width:850px){
  .indexed-nav{height:66px;padding:0 18px}
  .indexed-logo{height:34px}
  .indexed-nav-links{display:none}
  .menu-open .indexed-nav-links{display:flex;position:fixed;z-index:25;inset:96px 0 0;background:#fff;color:var(--ink);flex-direction:column;justify-content:center;align-items:center;gap:30px;font-size:22px}
  .indexed-hero{display:flex;flex-direction:column}
  .indexed-hero-copy{order:1;padding:60px 20px 50px}
  .indexed-hero-copy h1{font-size:clamp(54px,15vw,62px)}
  .indexed-hero-copy p{font-size:13px}
  .indexed-hero-figure{order:2;min-height:0;height:500px;border-left:0}
  .indexed-intro{padding:80px 16px}
  .indexed-intro-copy h2{font-size:clamp(40px,11vw,48px)}
  .indexed-entry{grid-template-columns:1fr;gap:16px;padding:30px 0}
  .indexed-number{order:1}
  .indexed-entry-media{order:2;max-width:420px}
  .indexed-entry-copy{order:3}
  .indexed-stories{grid-template-columns:1fr}
  .indexed-story-a,.indexed-story-b,.indexed-story-c{grid-column:1/-1;min-height:0}
  .indexed-story img{height:440px}
  .indexed-story-c img{height:320px}
  .indexed-story-copy{padding:60px 22px}
  .indexed-finder{padding:80px 14px}
  .indexed-finder-inner{grid-template-columns:1fr}
  .indexed-finder-copy{padding:55px 20px}
  .indexed-finder-panel{padding:45px 20px;display:flex;flex-wrap:wrap;column-gap:8px}
  .indexed-finder-choices{flex:0 0 auto;gap:6px;margin-bottom:10px}
  .indexed-choice{padding:0 10px;font-size:8px;min-height:40px}
  .indexed-choice-time{margin-bottom:0}
  .indexed-finder-result{flex-basis:100%;grid-template-columns:1fr;justify-items:stretch}
  .indexed-finder-result img{justify-self:stretch;width:100%;max-width:none;height:auto}
  .indexed-film{grid-template-columns:1fr;grid-template-rows:auto auto auto}
  .indexed-film .film-heading{grid-column:1;grid-row:1;padding:30px 20px}
  .indexed-film .film-media{grid-column:1;grid-row:2;min-height:0}
  .indexed-film .film-note{grid-row:3}
  .indexed-film .film-note:last-child{grid-row:4}
  .indexed-footer .footer-top{grid-template-columns:1fr;gap:40px}
  .indexed-footer .footer-bottom{flex-direction:column;gap:6px}
}
@media(max-width:370px){
  .indexed-hero-copy h1{font-size:50px}
  .indexed-intro-copy h2{font-size:40px}
  .indexed-story-copy h2{font-size:34px}
}
@media(prefers-reduced-motion:reduce){
  body[data-theme="indexed"] .reveal{opacity:1;transform:none;transition:none}
  .indexed-entry-media img{transition:none}
  .indexed-entry-media:hover img{transform:none}
  html{scroll-behavior:auto}
}