/* Page layouts share the material palette and components in styles.css. */
.site-nav a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-underline-offset:8px;text-decoration-color:var(--accent)}
.home-hero{padding-top:36px}.hero-editorial{display:grid;grid-template-columns:1fr 1.12fr;gap:64px;align-items:stretch}.hero-editorial-copy{padding-top:32px;display:flex;flex-direction:column;align-items:flex-start}.hero-editorial h1{font:500 clamp(54px,5.5vw,84px)/1.04 var(--font);letter-spacing:-.065em;margin:36px 0 0}.hero-editorial h1 em{font-style:normal;color:var(--accent)}.editorial-lead{font-size:14px;line-height:1.9;max-width:345px;margin-top:28px;color:var(--muted)}.editorial-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:32px}.editorial-actions>.text-link{font-size:11px}.hero-footnote{display:flex;gap:25px;align-items:flex-start;margin-top:auto;padding-top:52px;padding-bottom:22px}.hero-footnote>p{font-size:11px;color:var(--muted);line-height:1.7}.hero-footnote>.technical-label{padding-top:5px}.editorial-photo{position:relative;min-width:0;min-height:580px;background:#dce0d5}.editorial-photo>img{width:100%;height:100%;max-height:690px;object-fit:cover;object-position:50% 52%}.editorial-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#1820198a);pointer-events:none}.editorial-photo>figcaption{position:absolute;z-index:1;bottom:25px;left:27px;right:27px;display:flex;justify-content:space-between;align-items:center;color:#f2f0e8;font-size:8px;font-weight:550;letter-spacing:.07em}.editorial-photo figcaption>a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #ffffff7a;font-size:23px}.editorial-bottom{grid-template-columns:1fr 1.12fr;gap:64px;margin-top:28px}.editorial-bottom .hero-legend{justify-content:space-between}.home-directions{padding-block:100px}.compact-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:45px}.compact-heading h2{font-size:clamp(38px,4.1vw,60px);font-weight:450;line-height:1.07;margin-top:25px}.compact-heading>.text-link{flex-shrink:0;margin-bottom:7px}.direction-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line)}.direction-index>a{position:relative;min-width:0;padding:30px 35px 30px 0;min-height:235px;border-bottom:1px solid var(--line)}.direction-index>a+a{border-left:1px solid var(--line);padding-left:35px}.direction-index a>span{font-size:8px;letter-spacing:.09em;color:var(--muted)}.direction-index h3{font-size:29px;line-height:1.2;letter-spacing:-.045em;font-weight:450;margin-top:26px}.direction-index p{font-size:12px;line-height:1.8;max-width:220px;color:var(--muted);margin-top:18px}.direction-index b{position:absolute;top:24px;right:25px;font-size:23px;font-weight:400;color:var(--accent)}.direction-index a:hover h3{color:var(--accent)}.home-projects{padding-block:90px}.home-projects .compact-heading h2{color:var(--paper)}.home-projects .compact-heading>.text-link{color:var(--paper)}.home-projects .project-large{padding-top:75px}.home-projects .project-disclaimer{margin-top:55px}.link-banner{display:flex;align-items:center;justify-content:space-between;gap:50px;padding-block:85px;border-top:1px solid var(--line)}.link-banner h2{font-size:clamp(34px,3.5vw,52px);font-weight:450;line-height:1.1;margin-top:20px;letter-spacing:-.05em}.link-banner p:not(.section-label){font-size:13px;color:var(--muted);margin-top:20px;max-width:520px}.link-banner>.button{flex-shrink:0}.page-intro{padding-top:32px;padding-bottom:60px}.breadcrumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px 12px;margin:0;padding:0;font-size:10px;color:var(--muted)}.breadcrumbs li+li:before{content:'/';margin-right:12px;color:var(--accent)}.breadcrumbs a:hover{text-decoration:underline}.page-heading{display:grid;grid-template-columns:.3fr 1fr;gap:60px;margin-top:65px}.page-heading .section-label{padding-top:12px}.page-heading h1{font:450 clamp(52px,6.5vw,88px)/1.04 var(--font);letter-spacing:-.065em}.page-heading h1 em{font-style:normal;color:var(--accent)}.page-description{font-size:14px;line-height:1.9;max-width:550px;color:var(--muted);margin-top:27px}.content-section{padding-top:0;padding-bottom:85px}.services-page .service-row{scroll-margin-top:30px}.services-page .service-row[open]{padding-top:0}.services-page .service-body{padding-bottom:50px}.project-catalog{padding-block:70px 85px}.project-catalog .project-large{padding-top:65px}.process-page .process-list{padding-left:0}.process-page .process-layout{display:block}.process-page .process-intro{display:none}.contact-config .config-layout{padding-top:15px;border-top:1px solid var(--line)}.contact-config .config-controls{padding-top:30px}.contact-page{border-top:1px solid var(--line)}.dossier .case-content{padding:0}.dossier .case-intro{font-size:18px;max-width:700px;margin:0 0 35px;line-height:1.8}.dossier .case-gallery{background:var(--light);border:1px solid var(--line)}.dossier .case-gallery figure>img{height:570px;width:100%;background:#e2e3da}.dossier .case-gallery figure>figcaption{padding:18px 24px;font-size:11px;min-height:52px}.gallery-thumbs{display:flex;flex-wrap:wrap;gap:8px;padding:0 23px 22px}.gallery-thumbs a{display:flex;gap:15px;align-items:center;padding:12px 17px;border:1px solid var(--line);font-size:11px;min-height:44px;color:var(--muted)}.gallery-thumbs a[aria-current]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.gallery-thumbs span{font-size:9px;opacity:.65}.dossier .gallery-navigation{justify-content:space-between;padding:0 23px 18px}.dossier .gallery-navigation button{width:44px;height:44px}.dossier .case-details{margin-block:55px}.dossier .case-details .scope-list>li{font-size:13px}.dossier .plan-sheet{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:center;padding:40px;margin-bottom:40px}.dossier .plan-sheet>div>h3{font-size:29px;line-height:1.2;margin-top:20px}.dossier .plan-sheet>div>p{font-size:12px;line-height:1.9;color:var(--muted);margin-top:20px}.dossier .plan-sheet svg{grid-column:2;grid-row:1;margin:0}.next-project{padding-block:45px 80px;border-top:1px solid var(--line)}.next-project>a{display:flex;justify-content:space-between;gap:35px;font:450 clamp(34px,4.5vw,60px)/1.2 var(--font);letter-spacing:-.05em;margin-top:24px}.next-project>a>span{color:var(--accent)}.footer-links{display:flex;flex-wrap:wrap;gap:24px 40px;padding-bottom:35px;margin-bottom:35px;border-bottom:1px solid var(--line);font-size:12px}.footer-links a{min-height:44px;display:inline-flex;align-items:center}.footer-links a:last-child{margin-left:auto}.button:disabled{opacity:.5;cursor:default}
@media(max-width:1100px){.hero-editorial{gap:35px;grid-template-columns:1fr 1fr}.hero-editorial h1{font-size:5.5vw}.editorial-photo{min-height:540px}.editorial-lead{font-size:13px}.hero-footnote{padding-top:35px}.editorial-actions{align-items:flex-start;flex-direction:column;gap:20px}.direction-index h3{font-size:25px}.page-heading{gap:35px}.dossier .case-gallery figure>img{height:500px}}
@media(max-width:760px){.home-hero{padding-top:25px}.hero-editorial{gap:30px;grid-template-columns:1fr 1fr}.hero-editorial-copy{padding-top:16px}.hero-editorial h1{font-size:5.8vw;margin-top:24px}.editorial-lead{font-size:12px;margin-top:20px}.editorial-photo{min-height:480px}.editorial-photo>img{height:100%;max-height:560px}.hero-footnote{display:none}.editorial-actions{margin-top:24px}.editorial-actions .button{font-size:10px;gap:20px;padding-inline:15px}.editorial-photo>figcaption{left:17px;right:17px;bottom:20px;font-size:6px;gap:15px}.editorial-bottom{gap:30px;grid-template-columns:1fr 1fr}.home-directions{padding-block:75px}.direction-index>a{padding-right:20px;min-height:210px}.direction-index>a+a{padding-left:20px}.direction-index h3{font-size:22px}.direction-index p{font-size:11px}.direction-index b{right:12px;font-size:18px}.compact-heading{align-items:flex-start;flex-direction:column;gap:22px;margin-bottom:32px}.compact-heading h2{font-size:43px}.link-banner{padding-block:65px;gap:30px;align-items:flex-start;flex-direction:column}.link-banner h2{font-size:40px}.page-intro{padding-top:25px;padding-bottom:45px}.page-heading{grid-template-columns:1fr;gap:22px;margin-top:45px}.page-heading .section-label{padding-top:0}.page-heading h1{font-size:62px}.page-description{font-size:13px;margin-top:23px}.content-section{padding-bottom:65px}.project-catalog{padding-block:55px 65px}.project-catalog .project-large{padding-top:25px}.dossier .case-gallery figure>img{height:430px}.dossier .plan-sheet{grid-template-columns:1fr 1.2fr;gap:25px;padding:25px}.dossier .plan-sheet>div>h3{font-size:24px}.dossier .plan-sheet>div>p{font-size:11px}.site-nav a{min-height:44px;display:inline-flex;align-items:center}.js .site-nav.open{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.site-nav .nav-cta{grid-column:1/-1;width:100%;border-top:1px solid var(--line);margin-top:8px}.footer-links{font-size:11px;gap:10px 24px}.footer-links a:last-child{margin-left:0}}
@media(max-width:600px){.hero-editorial{grid-template-columns:1fr;gap:30px}.hero-editorial h1{font-size:clamp(42px,10.8vw,62px);margin-top:25px}.hero-editorial-copy{padding-top:0}.editorial-lead{font-size:13px;line-height:1.85;max-width:340px;margin-top:23px}.editorial-actions{flex-direction:row;align-items:center;gap:22px;margin-top:25px}.editorial-actions>.button{font-size:11px;min-height:50px;padding-inline:20px}.editorial-actions>.text-link{font-size:11px;min-height:44px;display:flex;align-items:center}.editorial-photo{min-height:0}.editorial-photo>img{height:470px;max-height:none}.editorial-photo>figcaption{font-size:7px}.editorial-bottom{margin-top:22px;padding-bottom:23px}.editorial-bottom .hero-legend>span{font-size:10px}.direction-index{grid-template-columns:1fr}.direction-index>a,.direction-index>a+a{border-left:0;padding:25px 44px 25px 0;min-height:0}.direction-index h3{font-size:29px;margin-top:17px}.direction-index h3>br{display:none}.direction-index p{font-size:12px;margin-top:14px;max-width:290px}.direction-index b{top:24px;right:0;font-size:25px}.direction-index a>span{font-size:9px}.compact-heading h2{font-size:40px}.home-projects{padding-block:65px}.home-projects .project-large,.project-catalog .project-large{padding-top:0}.home-projects .project-large,.home-projects .project-offset,.project-catalog .project-large,.project-catalog .project-offset{margin-inline:0}.home-projects .project-large figure>img,.project-catalog .project-large figure>img{height:290px}.home-projects .project-offset figure>img,.project-catalog .project-offset figure>img{height:420px}.project-caption p{font-size:12px}.project-caption>span{font-size:10px}.project-disclaimer{font-size:10px}.page-heading h1{font-size:clamp(40px,11vw,59px)}.breadcrumbs ol{font-size:10px;line-height:1.7}.page-description{font-size:13px;line-height:1.85}.link-banner h2{font-size:36px}.link-banner p:not(.section-label){font-size:12px}.dossier .case-intro{font-size:14px;margin-bottom:28px}.dossier .case-gallery figure>img{height:380px}.dossier .case-gallery figure>figcaption{font-size:10px;padding:15px 17px}.dossier .gallery-navigation{padding:0 16px 16px}.gallery-thumbs{padding:0 16px 17px;gap:6px}.gallery-thumbs a{padding:11px 12px;font-size:10px;gap:10px}.dossier .case-details{margin-block:35px}.dossier .case-details .scope-list>li{font-size:12px}.spec-grid dd{font-size:13px}.dossier .plan-sheet{display:block;padding:22px;margin-bottom:30px}.dossier .plan-sheet>div>h3{font-size:26px}.dossier .plan-sheet svg{margin-top:25px;max-height:none}.dossier .case-content>.button{font-size:11px;min-height:50px}.process-page .process-list>li{grid-template-columns:1fr;gap:15px}.process-page .process-list h3{font-size:26px;max-width:none}.process-page .process-list p{font-size:13px;max-width:300px}.process-page .process-list>li>span{font-size:9px}.contact-config .config-controls{padding-top:25px}.contact-config .config-result .button{font-size:11px}.contact-page .contact-intro h2{font-size:42px}.faq-list summary{font-size:14px}.faq-list details>p{font-size:13px}.scope-list>li{font-size:12px}.footer-links{display:grid;grid-template-columns:1fr 1fr;padding-bottom:25px;margin-bottom:30px}.next-project{padding-block:30px 60px}.next-project>a{font-size:35px}.field select,.field textarea,#project-area{font-size:16px}.service-choice span{min-height:52px;font-size:11px}.service-body>div>p{font-size:13px}.footer-note{font-size:10px}}
@media(max-width:360px){.hero-editorial h1{font-size:40px}.editorial-actions{align-items:flex-start;flex-direction:column;gap:12px}.editorial-photo>img{height:400px}.page-heading h1{font-size:39px}.compact-heading h2{font-size:36px}.dossier .case-gallery figure>img{height:320px}.gallery-thumbs a{font-size:10px}.contact-page .contact-intro h2{font-size:38px}.service-choice span{font-size:10px}.result-area{font-size:100px}}
.link-banner>div,.page-heading>div{min-width:0}
.section-label,.technical-label,.eyebrow,.direction-index a>span,.hero-index,.breadcrumbs,.project-photo-label{font-family:Consolas,'Courier New',monospace}
.section-label{letter-spacing:.045em}.editorial-photo{overflow:hidden}.editorial-photo:before{content:'';position:absolute;z-index:2;inset:16px;pointer-events:none;background:linear-gradient(#f2f0e8,#f2f0e8) top left/22px 1px no-repeat,linear-gradient(#f2f0e8,#f2f0e8) top left/1px 22px no-repeat,linear-gradient(#f2f0e8,#f2f0e8) top right/22px 1px no-repeat,linear-gradient(#f2f0e8,#f2f0e8) top right/1px 22px no-repeat;opacity:.7}
.dossier .case-gallery{position:relative}.gallery-zoom{position:absolute;top:18px;right:18px;display:flex;align-items:center;justify-content:center;width:46px;height:46px;background:var(--paper);border:1px solid var(--line);color:var(--ink);font-size:25px}.gallery-zoom:hover{background:var(--ink);color:var(--paper)}
.image-lightbox{width:min(1200px,calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 36px);padding:58px 24px 20px;background:var(--paper);color:var(--ink);border:0;overflow:auto}.image-lightbox::backdrop{background:#131713e8}.image-lightbox figure{margin:0}.image-lightbox img{display:block;width:100%;height:calc(100dvh - 155px);max-height:850px;object-fit:contain}.image-lightbox figcaption{padding-top:16px;font-size:12px;line-height:1.6;color:var(--muted)}.lightbox-close{position:absolute;top:12px;right:14px;width:40px;height:40px;border:1px solid var(--line);background:transparent;color:var(--ink);font-size:27px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.editorial-photo>img{transition:transform .9s cubic-bezier(.2,.7,.2,1)}.editorial-photo:hover>img{transform:scale(1.025)}}
@media(max-width:600px){.gallery-zoom{top:12px;right:12px;width:44px;height:44px}.image-lightbox{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:58px 12px 18px}.image-lightbox img{height:calc(100dvh - 165px)}.image-lightbox figcaption{font-size:11px}}
@media(prefers-reduced-motion:reduce){.editorial-photo a,.direction-index a,.gallery-thumbs a{transition:none}}
