/* Architectural project index: an editorial sequence, never a card grid. */
.project-index .index-intro{padding-top:78px;padding-bottom:60px}
.index-intro>.eyebrow{font:10px var(--micro);letter-spacing:.12em}
.project-index h1{font:500 clamp(90px,11vw,158px)/.86 var(--display);text-transform:uppercase;letter-spacing:-.015em;margin-top:40px}
.index-intro-foot{display:flex;justify-content:space-between;align-items:end;margin-top:32px}
.index-intro-foot>p{font-size:13px;color:var(--muted)}
.index-intro-foot>.micro-label{font-size:8px;color:var(--muted)}
.index-toolbar{border-top:1px solid var(--ink);padding:20px 0 28px;display:flex;justify-content:space-between;gap:25px;align-items:center}
.index-filters{display:flex;flex-wrap:wrap;gap:28px}
.index-filters button{position:relative;padding:12px 0;border:0;background:none;font:10px var(--micro);color:var(--muted);letter-spacing:.04em}
.index-filters button::after{content:'';position:absolute;bottom:4px;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform var(--motion-fast) var(--motion-ease)}
.index-filters button:is(:hover,[aria-pressed=true])::after{transform:scaleX(1)}
.index-filters button[aria-pressed=true]{color:var(--ink)}
#index-count{font:8px var(--micro);color:var(--muted);white-space:nowrap}
.architectural-index{display:grid;grid-template-columns:.76fr 1.24fr;gap:90px 11%;align-items:start}
.index-entry[hidden],.index-empty[hidden]{display:none!important}
.index-entry .project-caption{padding-top:20px;margin-top:14px}
.index-entry .project-caption h3{font:500 clamp(25px,2.9vw,40px)/1.15 var(--heading);letter-spacing:-.05em}
.index-entry .project-caption .meta{font-size:8px}
.index-entry.index-lead{grid-column:1/-1}
.index-entry.index-lead .visual{aspect-ratio:1.95}
.index-entry.index-small{padding-top:0;margin-top:0}
.index-entry.index-small .visual{aspect-ratio:.78}
.index-entry.index-tall{margin-top:110px}
.index-entry.index-tall .visual{aspect-ratio:.92}
.project-index .project-identifier{font-size:9px;padding:10px 15px}
.project-index .index-note{margin-top:60px;max-width:610px;font-size:9px}
.index-empty{padding:85px 0 100px;border-bottom:1px solid var(--line)}
.index-empty h2{margin:25px 0;font-size:48px}.index-empty>p:not(.eyebrow){font-size:13px;color:var(--muted)}
.index-empty .text-link{margin-top:30px;background:none;border:0;border-bottom:1px solid var(--ink);padding-left:0}
.index-end{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:70px;padding-top:40px;padding-bottom:80px;border-top:1px solid var(--line)}
.project-pointer{position:fixed;z-index:80;pointer-events:none;padding:15px 18px;background:var(--accent);font:9px var(--micro);color:var(--ink);opacity:0;transform:translate(18px,-50%);transition:opacity var(--motion-fast) var(--motion-ease);white-space:nowrap}
.project-pointer.visible{opacity:1}.navigation-in-progress .project-pointer{display:none}
/* Magazine opening. The actual hero begins in the first viewport for image continuity. */
.story-opening{position:relative;height:calc(100svh - 88px);min-height:580px;max-height:930px;background:var(--dark);color:white;isolation:isolate}
.story-opening .story-hero{position:absolute;inset:0;height:100%;width:100%;aspect-ratio:auto;z-index:-2}
.story-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#1e2c36cc,transparent 55%),linear-gradient(90deg,#1e2c3655,transparent 65%)}
.story-hero-content{height:100%;position:relative;display:flex;flex-direction:column;justify-content:end;padding-top:40px;padding-bottom:58px}
.story-back{position:absolute;top:36px;left:64px;font:9px var(--micro);border-bottom:1px solid #ffffff77;padding-bottom:10px}
.story-hero-content>.eyebrow{font:9px var(--micro);color:white;letter-spacing:.08em}
.story-hero-content h1{font:500 clamp(62px,7.2vw,104px)/.96 var(--display);text-transform:uppercase;max-width:1000px;margin-top:22px}
.story-image-note{font:7px var(--micro);color:#ffffffcc;margin-top:24px;letter-spacing:.12em}
.story-facts{display:grid;grid-template-columns:.6fr 1fr 1fr 1fr 1fr;padding-top:34px;padding-bottom:34px;gap:24px;border-bottom:1px solid var(--line)}
.story-facts dt{font:8px var(--micro);color:var(--muted);margin-bottom:12px}.story-facts dd{margin:0;font-size:13px}
.story-disclosure{padding-top:22px;padding-bottom:0}.story-disclosure p{max-width:720px;font:9px/1.8 var(--micro);color:var(--muted)}
.story-chapters{position:relative}.chapter-rail{position:sticky;top:130px;margin-left:28px;display:flex;flex-direction:column;gap:14px;width:122px;height:0;z-index:5;opacity:0;pointer-events:none;transition:opacity var(--motion-fast) var(--motion-ease)}
.chapter-rail.rail-in-view{opacity:1;pointer-events:auto}.chapter-rail>.micro-label{font-size:7px;color:var(--muted);margin-bottom:8px}
.chapter-rail>a{display:flex;gap:10px;font:7px var(--micro);color:var(--muted);position:relative;padding:5px 0}
.chapter-rail>a::before{content:'';position:absolute;left:-9px;top:0;height:100%;width:1px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform var(--motion-fast) var(--motion-ease)}
.chapter-rail>a[aria-current]{color:var(--ink)}.chapter-rail>a[aria-current]::before{transform:scaleY(1)}
.chapter-pages{padding-left:130px}.project-chapter{padding-top:100px;padding-bottom:25px;scroll-margin-top:110px}.project-chapter:focus{outline:none}.project-chapter:focus-visible .chapter-heading{outline:1px solid var(--accent);outline-offset:10px}
.chapter-heading{display:grid;grid-template-columns:1fr .65fr;gap:18px 60px;margin-bottom:45px}.chapter-heading>.eyebrow{grid-column:1/-1;font:9px var(--micro)}
.chapter-heading h2{font-size:clamp(36px,3.8vw,53px);max-width:580px}.chapter-heading>p:not(.eyebrow){font-size:12px;color:var(--muted);align-self:end;max-width:320px}
.chapter-photograph{margin:0;min-width:0}.chapter-photograph figcaption{font:7px/1.7 var(--micro);color:var(--muted);padding-top:12px;letter-spacing:.07em}
.vision-composition{display:grid;grid-template-columns:1.45fr .65fr;gap:34px;align-items:start}.vision-main .visual{aspect-ratio:1.22}.vision-detail{padding-top:125px}.vision-detail .visual{aspect-ratio:.76}
.chapter-design{background:#e6ebef;margin-top:75px;padding-bottom:65px}.design-composition{display:grid;grid-template-columns:1.25fr .75fr;gap:50px;align-items:center}.design-plan .visual{aspect-ratio:1.32}
.design-register>span{font:8px var(--micro);color:var(--muted)}.design-register>p{font:500 48px/1.1 var(--display);text-transform:uppercase;margin:30px 0}.design-register>small{display:block;font:9px/1.8 var(--micro);max-width:240px;color:var(--muted);border-top:1px solid var(--ink);padding-top:15px}
.construction-composition{display:grid;grid-template-columns:.72fr 1.28fr;gap:40px}.construction-main .visual{aspect-ratio:.82}.construction-detail{padding-top:120px}.construction-detail .visual{aspect-ratio:1.1}
.material-composition{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:end}.material-main .visual{aspect-ratio:1.2}.material-detail .visual{aspect-ratio:.86}
.chapter-completion{padding-bottom:0}.completion-image .visual{height:85svh;min-height:480px;max-height:1000px;aspect-ratio:auto}.completion-image figcaption{padding-left:64px;padding-right:30px}
.story-gallery{padding-top:110px;padding-bottom:120px}.gallery-heading{margin-bottom:45px}.gallery-heading h2{font-size:44px;margin-top:22px}
.story-gallery-composition{display:grid;grid-template-columns:1fr .7fr;gap:40px 9%;align-items:start}.story-gallery-image{padding:0;border:0;background:none;position:relative;text-align:left;min-width:0}
.story-gallery-image .visual{aspect-ratio:1.38}.story-gallery-image.gallery-position-1{padding-top:90px}.story-gallery-image.gallery-position-1 .visual{aspect-ratio:.8}.story-gallery-image.gallery-position-2{grid-column:1/-1;width:75%;margin-top:-50px}.story-gallery-image.gallery-position-2 .visual{aspect-ratio:2.3}
.story-gallery-image>span{display:block;font:8px var(--micro);padding-top:12px;color:var(--muted)}
.next-project{display:block;color:white}.next-project .project-image{position:relative;background:var(--dark);isolation:isolate}.next-project .visual{height:65svh;min-height:450px;max-height:760px;aspect-ratio:auto}.next-project .project-image::before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#1e2c36cc,transparent 80%);z-index:1;pointer-events:none}.next-project-caption{position:absolute;left:0;right:0;bottom:60px;z-index:2}.next-project-caption h2{font:500 clamp(46px,6vw,88px)/1 var(--display);text-transform:uppercase;margin-top:22px}.next-project-caption h2>span{display:inline-block;color:var(--accent);transition:translate var(--motion-fast) var(--motion-ease)}.next-project:hover h2>span{translate:8px 0}.next-project-caption>small{display:block;font:8px var(--micro);color:#ffffffcc;margin-top:20px}.next-project .motion-project-meta{display:none}.next-project .motion-view-project{z-index:4}
@media(max-width:1000px){.chapter-rail{display:none}.chapter-pages{padding-left:0}.story-back{left:40px}}
@media(max-width:850px){.index-filters{gap:18px}.index-toolbar{align-items:start;flex-direction:column;gap:4px}.architectural-index{gap:55px 8%}.index-entry.index-tall{margin-top:65px}.story-opening{height:calc(100svh - 76px);min-height:520px}.story-facts{grid-template-columns:repeat(3,1fr)}.chapter-heading{gap:20px 35px}.design-register>p{font-size:36px}.vision-composition,.construction-composition,.material-composition{gap:25px}.next-project-caption{bottom:40px}}
@media(max-width:600px){
 .project-index .index-intro{padding-top:52px;padding-bottom:38px}.project-index h1{font-size:100px;margin-top:30px}.index-intro-foot{margin-top:26px}.index-intro-foot>.micro-label{display:none}.index-filters{gap:5px 18px}.index-filters button{font-size:8px;padding:13px 0}.index-toolbar{padding:16px 0 24px;gap:10px}.architectural-index{display:block}.index-entry{margin-bottom:45px}.index-entry.index-lead .visual{aspect-ratio:1.15}.index-entry.index-small{width:78%;margin-bottom:45px}.index-entry.index-small .visual{aspect-ratio:.88}.index-entry.index-tall{width:87%;margin-left:auto;margin-top:0}.index-entry.index-tall .visual{aspect-ratio:.85}.index-entry .project-caption h3{font-size:25px}.index-entry .project-caption .meta{font-size:7px}.project-index .index-note{margin-top:30px}.index-end{display:block;margin-top:45px;padding-top:28px;padding-bottom:55px}.index-end>.micro-label{font-size:8px}.index-end>.text-link{margin-top:24px}.project-pointer{display:none}.index-empty{padding:55px 0}.index-empty h2{font-size:40px}
 .story-opening{min-height:550px;max-height:800px}.story-back{left:22px;top:25px;font-size:8px}.story-hero-content{padding-bottom:45px}.story-hero-content>.eyebrow{font-size:7px}.story-hero-content h1{font-size:58px}.story-facts{grid-template-columns:1fr 1fr;padding-top:28px;padding-bottom:28px;gap:26px}.story-facts dd{font-size:12px}.story-disclosure p{font-size:8px}.project-chapter{padding-top:65px;padding-bottom:10px}.chapter-heading{display:block;margin-bottom:30px}.chapter-heading h2{font-size:37px;margin-top:22px}.chapter-heading>p:not(.eyebrow){margin-top:22px;font-size:12px}.vision-composition{grid-template-columns:1fr .55fr;gap:14px}.vision-main .visual{aspect-ratio:.9}.vision-detail{padding-top:65px}.vision-detail .visual{aspect-ratio:.65}.chapter-photograph figcaption{font-size:6px}.chapter-design{margin-top:50px;padding-bottom:45px}.design-composition{display:block}.design-plan .visual{aspect-ratio:1.15}.design-register{margin-top:28px}.design-register>p{font-size:32px;margin:18px 0}.design-register>small{max-width:100%}.construction-composition{display:block}.construction-main{width:78%}.construction-detail{padding-top:35px;width:90%;margin-left:auto}.construction-detail .visual{aspect-ratio:1.1}.material-composition{grid-template-columns:1fr .7fr;gap:15px}.material-main .visual{aspect-ratio:.82}.material-detail .visual{aspect-ratio:.66}.completion-image .visual{height:70svh;min-height:400px}.completion-image figcaption{padding-left:22px}.story-gallery{padding-top:65px;padding-bottom:70px}.gallery-heading h2{font-size:36px}.story-gallery-composition{gap:25px 16px}.story-gallery-image.gallery-position-1{padding-top:60px}.story-gallery-image.gallery-position-2{width:90%;margin-top:0}.story-gallery-image.gallery-position-2 .visual{aspect-ratio:1.4}.next-project .visual{min-height:440px;height:65svh}.next-project-caption{bottom:35px}.next-project-caption h2{font-size:48px}.next-project-caption .eyebrow{font-size:8px}
}
@media(hover:none),(pointer:coarse){.project-pointer{display:none}}
@media(prefers-reduced-motion:reduce){.project-pointer{display:none}.chapter-rail,.next-project-caption h2>span{transition:none}}
.architectural-index{overflow:clip;overflow-clip-margin:8px}
@media(min-width:1001px){.chapter-completion .completion-image{margin-left:-130px;width:calc(100% + 130px)}.chapter-rail>a,.chapter-rail>.micro-label{background:var(--paper);width:max-content}}
/* New records choose a composition in the data layer, rather than repeating a modulus layout. */
.index-entry.index-wide{grid-column:1/-1}.index-entry.index-wide .visual{aspect-ratio:2.15}
.index-entry.index-offset{width:85%;justify-self:end;margin-top:95px}.index-entry.index-offset .visual{aspect-ratio:1.25}
@media(max-width:600px){.index-entry.index-wide .visual{aspect-ratio:1.2}.index-entry.index-offset{width:90%;margin-top:0;margin-left:auto}}
