/* Editorial project stories, shared by all dynamic sections. */
.site-header{position:fixed;background:rgba(7,18,29,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 1px 0 var(--line)}
html{scroll-padding-top:135px}.admin-bar .site-header{top:32px}
.project-detail{padding-top:110px}.project-heading{padding-top:65px;padding-bottom:55px}.project-heading h1{font-size:clamp(40px,7.5vw,112px);line-height:1.08;letter-spacing:-.055em;max-width:1200px;margin:24px 0 36px;text-wrap:balance}.project-heading .intro-copy{max-width:700px;font-size:clamp(19px,2vw,26px)}.project-heading .eyebrow{margin-top:50px}.project-meta{border-top:1px solid var(--line);padding-top:28px;margin-top:40px}.project-cover{margin:0 var(--gutter);overflow:hidden}.project-cover img{height:76vh;max-height:950px;object-position:center;transition:transform 1.4s var(--ease)}.project-cover.is-visible img{transform:scale(1.025)}
.project-chapters{display:flex;gap:20px 35px;align-items:center;flex-wrap:wrap;padding-top:32px;padding-bottom:32px;border-bottom:1px solid var(--line)}.project-chapters>span{font-size:12px;color:var(--muted);margin-right:auto;text-transform:uppercase;letter-spacing:.1em}.project-chapters a{display:flex;align-items:center;gap:12px;min-height:44px;font-size:14px}.project-chapters .icon{width:16px}
.project-section{padding-top:110px;padding-bottom:70px;scroll-margin-top:135px}.chapter-heading{display:grid;grid-template-columns:55px minmax(0,1fr);column-gap:25px;max-width:1050px;margin-bottom:45px}.chapter-number{color:var(--bright);font-size:13px;padding-top:10px;grid-row:1/3}.chapter-heading h2{font-size:clamp(30px,4.3vw,64px);line-height:1.16;letter-spacing:-.035em;margin:0 0 25px;text-wrap:balance}.chapter-heading .section-copy{grid-column:2;max-width:660px;font-size:19px;line-height:1.8}.project-section .section-media{margin:0;gap:24px}.project-section figure{margin:0;min-width:0}.project-image-link{display:block;position:relative;overflow:hidden;background:var(--surface)}.project-image-link img{width:100%;display:block;transition:transform 700ms var(--ease)}.project-image-link:hover img{transform:scale(1.035)}.image-expand{position:absolute;right:18px;bottom:18px;display:flex;gap:12px;align-items:center;background:rgba(7,18,29,.9);padding:12px 16px;font-size:12px;border:1px solid var(--line)}.image-expand .icon{width:16px}.project-image-link:focus-visible{outline:3px solid var(--bright);outline-offset:5px}
.section-gallery .section-media,.section-materials .section-media{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:50px 28px}.section-gallery .section-media figure:nth-child(3n+1){grid-column:1/-1}.section-gallery .section-media img{height:auto;aspect-ratio:4/3;object-fit:cover}.section-gallery .section-media figure:nth-child(3n+1) img{aspect-ratio:16/9}.section-gallery .section-media figure:nth-child(3n){margin-top:85px}.section-plans .section-media{grid-template-columns:1fr;padding:30px;background:#eef0ef}.section-plans .section-media img{height:auto;max-height:850px;object-fit:contain}.section-split{display:grid;grid-template-columns:1fr 1.25fr;gap:7%}.section-split .chapter-heading{align-self:start;position:sticky;top:150px;display:block}.section-split .chapter-number{display:block;margin-bottom:24px}.section-split .section-media{grid-column:2;grid-row:1}.section-split .chapter-heading h2{font-size:clamp(30px,3.7vw,54px)}.section-quote .chapter-heading{max-width:1000px;margin:auto;padding:60px 0}.section-quote .section-copy{font-size:clamp(24px,3.5vw,48px);line-height:1.45}.project-detail video{width:100%;max-height:85vh}.project-reading-progress{position:fixed;top:0;left:0;width:100%;height:3px;transform:scaleX(var(--reading,0));transform-origin:left;background:var(--bright);z-index:50}
.project-lightbox{padding:70px 24px 20px;border:1px solid var(--line);background:var(--ink);color:var(--text);width:min(96vw,1700px);max-width:none;max-height:94svh}.project-lightbox::backdrop{background:rgba(0,0,0,.92)}.project-lightbox>img{display:block;width:100%;height:calc(85svh - 100px);object-fit:contain}.lightbox-close{position:absolute;top:15px;right:24px;display:flex;gap:15px;align-items:center;min-height:44px;padding:10px 16px;background:var(--surface);color:var(--text);border:1px solid var(--line);cursor:pointer}.lightbox-close .icon{width:18px}.lightbox-caption{font-size:13px;color:var(--muted);text-align:center;margin:16px 0 0}body.image-open{overflow:hidden}
@media(max-width:800px){html{scroll-padding-top:105px}.admin-bar .site-header{top:46px}.project-detail{padding-top:85px}.project-heading{padding-top:45px}.project-heading h1{font-size:clamp(38px,12vw,65px)}.project-cover{margin:0 24px}.project-cover img{height:auto;aspect-ratio:4/3}.project-chapters{gap:12px;padding-top:24px;padding-bottom:24px}.project-chapters>span{width:100%}.project-chapters a{font-size:12px}.project-section{padding-top:65px;padding-bottom:35px;scroll-margin-top:105px}.chapter-heading{grid-template-columns:30px minmax(0,1fr);gap:15px;margin-bottom:28px}.chapter-heading .section-copy{font-size:16px}.section-gallery .section-media,.section-materials .section-media{grid-template-columns:1fr;gap:24px}.section-gallery .section-media figure:nth-child(3n){margin-top:0}.section-gallery .section-media figure:nth-child(3n+1) img{aspect-ratio:4/3}.section-split{display:block}.section-split .chapter-heading{position:static}.section-plans .section-media{padding:8px}.image-expand{right:10px;bottom:10px}.project-lightbox{padding:65px 10px 15px}}
@media(prefers-reduced-motion:reduce){.project-cover img,.project-image-link img{transition:none;transform:none!important}}

/* Keep the close control inside the visible viewport on touch devices. */
.project-lightbox{position:fixed;inset:0;margin:auto;width:min(96vw,1700px);height:92vh;height:92dvh;max-height:92dvh;overflow:hidden;padding:72px 24px 48px;overscroll-behavior:contain}
.project-lightbox>img{width:100%;height:100%;min-height:0;object-fit:contain;touch-action:pinch-zoom}
.lightbox-close{z-index:2;top:12px;right:16px;min-width:110px;min-height:48px;touch-action:manipulation}
.lightbox-caption{position:absolute;bottom:12px;left:24px;right:24px;max-height:28px;overflow:auto;margin:0}
@media(max-width:800px){.project-lightbox{width:100%;max-width:100%;height:100vh;height:100dvh;max-height:100dvh;margin:0;border:0;padding:calc(76px + env(safe-area-inset-top,0px)) 10px calc(48px + env(safe-area-inset-bottom,0px))}.lightbox-close{top:calc(12px + env(safe-area-inset-top,0px));right:16px}.lightbox-caption{bottom:calc(12px + env(safe-area-inset-bottom,0px))}}
