/* Homepage editorial composition. Shared brand, gallery and service styles remain intact. */
.home-page .home-hero{height:96svh;min-height:680px;max-height:1120px;padding:0;background:#20211e;isolation:isolate;color:#fff}
.home-hero .film-frame{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.home-hero .film-frame video,.home-hero .film-fallback{width:100%;height:100%;object-fit:cover;object-position:center}
.home-hero .site-header{position:absolute;inset:0 0 auto;height:auto;padding:22px 4.5vw 42px;background:linear-gradient(180deg,#0008,transparent);color:#fff}
.home-hero .site-header nav{height:auto}.home-hero .brand{width:106px;filter:drop-shadow(0 1px 3px #0008)}.home-hero .brand img{filter:none}
.home-hero .site-header nav>a:not(.brand){font-size:14px;text-shadow:0 1px 8px #0008}
.hero-copy{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:130px max(6.5vw,28px) 94px;background:linear-gradient(0deg,#000b 0%,#0006 52%,transparent 100%);pointer-events:none}
.hero-copy h1{font:400 clamp(58px,6.8vw,102px)/1.02 Georgia,'Times New Roman',serif;letter-spacing:-.045em;max-width:1050px;text-wrap:balance;text-shadow:0 2px 22px #0003}
.hero-copy p{font-size:clamp(16px,1.4vw,19px);line-height:1.6;max-width:640px;margin-top:25px;text-wrap:pretty}
.hero-actions{display:flex;flex-wrap:wrap;gap:32px;margin-top:30px;pointer-events:auto}
.hero-actions a{font-size:12px;letter-spacing:.14em;line-height:1.5;text-transform:uppercase;border-bottom:1px solid #fffb;padding-block:10px}
.hero-actions a:hover{border-bottom-color:#fff}
.home-hero .film-controls{z-index:3;bottom:20px;right:4.5vw}
.home-hero .film-frame:fullscreen,.home-hero .film-frame.is-expanded{position:fixed;inset:0;width:100%;height:100dvh;z-index:100;background:#10110f}
.home-hero .film-frame:fullscreen video,.home-hero .film-frame:fullscreen .film-fallback,.home-hero .film-frame.is-expanded video,.home-hero .film-frame.is-expanded .film-fallback{object-fit:contain}
.home-content{max-width:1380px;padding-inline:60px}
.home-section{padding-block:96px}
.home-section>.section-label{margin-bottom:36px}
.home-page h2:not(.section-label),.home-page h3,.case-study-page h1,.case-study-page h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;letter-spacing:-.035em;text-wrap:pretty}
.home-page h2:not(.section-label),.case-study-page h2{font-size:clamp(35px,4.1vw,58px)}
.home-split{display:grid;grid-template-columns:1.08fr 1fr;gap:80px;align-items:start}
.home-body{font-size:16px;line-height:1.75;color:var(--muted);max-width:540px;text-wrap:pretty}
.home-studio .home-body{padding-top:8px}
.home-case{border-top:1px solid #b9bab1;padding-top:32px}
.case-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:36px}
.home-case .case-title-row h2{font-size:clamp(42px,5.7vw,76px)}
.case-title-row>p{font-size:14px;line-height:1.5;color:var(--muted)}
.image-placeholder{position:relative;aspect-ratio:16/9;width:100%;background:#e9e8e3;border:1px solid #ddded6;color:#77786f;display:flex;align-items:flex-end;padding:22px;overflow:hidden}
.image-placeholder>span{font-size:11px;line-height:1.5;letter-spacing:.14em;text-transform:uppercase}
.image-placeholder.portrait{aspect-ratio:4/5}
.case-image-link{display:block}
.case-image-link:hover .image-placeholder,.featured-project:hover .image-placeholder{background:#e3e3dc;transition:background .25s}
.home-case>.case-image-link .image-placeholder{aspect-ratio:1.9}
.case-copy{margin-top:46px}
.case-copy h3{font-size:clamp(31px,3.5vw,46px);max-width:460px}
.case-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;margin:30px 0 0}
.case-facts>div{min-width:0}.case-facts dt{font-size:11px;line-height:1.6;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}
.case-facts dd{font-size:14px;line-height:1.55;margin:0}
.editorial-actions{display:flex;flex-wrap:wrap;gap:22px 28px;margin-top:34px}
.editorial-actions a,.project-cta{font-size:12px;line-height:1.6;letter-spacing:.12em;text-transform:uppercase;padding-block:10px;border-bottom:1px solid #9a9c90}
.editorial-actions a:hover,.project-cta:hover{border-color:var(--ink)}.editorial-actions span,.project-cta span{margin-left:7px}
.home-projects{border-top:1px solid #b9bab1;padding-top:32px}
.featured-projects-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px}
.featured-project .image-placeholder{aspect-ratio:4/3}
.featured-project figcaption{display:flex;gap:14px;align-items:baseline;margin-top:18px}
.featured-project h3{font-size:clamp(22px,2vw,28px)}
.featured-project:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}
.home-purpose{border-top:1px solid #b9bab1;padding-top:32px}
.purpose-rows{margin-top:50px}
.purpose-row{display:grid;grid-template-columns:42px 1fr 1fr;gap:32px;padding-block:32px;border-top:1px solid #c8c9bf;align-items:start}
.purpose-row .project-number{padding-top:7px}.purpose-row h3{font-size:clamp(27px,2.7vw,36px);max-width:420px}
.home-selected{padding-top:32px;border-top:1px solid #b9bab1}
.selected-images{display:grid;grid-template-columns:1fr 1fr;gap:54px 36px;align-items:start}
.selected-image-1,.selected-image-6{grid-column:1/-1}
.selected-image-3{padding-top:70px}.selected-image-4{width:80%;margin-inline:auto}.selected-image-5{padding-top:110px}
.selected-image-6{width:86%;margin-left:auto}
.home-process{border-top:1px solid #b9bab1;padding-top:32px}
.process-steps{display:grid;grid-template-columns:1fr 1fr 1fr;gap:46px;list-style:none;margin:48px 0 0;padding:0}
.process-steps li{padding-top:22px;border-top:1px solid #c8c9bf}
.process-steps h3{font-size:29px;line-height:1.2;margin-block:20px 15px}
.home-contact{border-top:1px solid #b9bab1;text-align:center;padding-block:88px 100px}
.home-contact h2{max-width:900px;margin-inline:auto}.home-contact .home-body{margin:26px auto 0}
.project-cta{display:inline-block;margin-top:28px}
.home-contact-details{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 24px;margin-top:32px;font-size:14px;line-height:1.6;color:var(--muted)}
.home-contact-details a{padding-block:8px}.home-contact-details a:hover{text-decoration:underline;text-underline-offset:5px}
.home-contact-details a[href^="mailto:"]{overflow-wrap:anywhere}
.case-page-intro{padding-block:54px 40px}.case-page-intro .section-label{margin-bottom:20px}.case-study-page h1{font-size:clamp(44px,5.7vw,76px)}.case-page-intro>p:last-child{font-size:14px;color:var(--muted);margin-top:18px}
.case-page-copy{padding-block:64px}.case-page-images{display:grid;grid-template-columns:1fr 1fr;gap:36px}.case-study-page .gallery-return{border-bottom:1px solid #b9bab1;margin-bottom:36px}
@media(max-width:1000px){.home-content{padding-inline:40px}.home-split{gap:44px}.featured-projects-grid{gap:20px}.purpose-row{gap:22px}.process-steps{gap:28px}.hero-copy{padding-bottom:90px}}
@media(max-width:700px){
 .home-page .home-hero{height:90svh;min-height:640px;max-height:900px}.home-hero .site-header{padding:14px 5vw 30px}.home-hero .site-header nav>a:not(.brand){font-size:12px}.home-hero .brand{width:80px}
 .hero-copy{padding:100px 5vw 86px}.hero-copy h1{font-size:clamp(43px,10.7vw,68px);line-height:1.04;letter-spacing:-.04em}.hero-copy p{font-size:16px;line-height:1.6;max-width:440px;margin-top:22px}.hero-actions{gap:24px;margin-top:22px}.hero-actions a{font-size:11px;letter-spacing:.12em;padding-block:12px}.home-hero .film-controls{bottom:16px;right:5vw}
 .home-content{padding-inline:5vw}.home-section{padding-block:54px}.home-section>.section-label{margin-bottom:25px}.home-split{grid-template-columns:1fr;gap:25px}.home-page h2:not(.section-label),.case-study-page h2{font-size:36px}.home-studio .home-body{padding-top:0}
 .home-case,.home-projects,.home-purpose,.home-selected,.home-process{padding-top:26px}.case-title-row{display:block;margin-bottom:28px}.home-case .case-title-row h2{font-size:46px}.case-title-row>p{margin-top:12px}.image-placeholder{padding:15px}.image-placeholder>span{font-size:10px}.home-case>.case-image-link .image-placeholder{aspect-ratio:4/3}.case-copy{margin-top:28px}.case-copy h3{font-size:33px}.case-facts{gap:22px 18px}.editorial-actions{gap:16px 22px;margin-top:28px}.editorial-actions a{font-size:11px}
 .featured-projects-grid{grid-template-columns:1fr;gap:32px}.featured-project .image-placeholder{aspect-ratio:1.6}.featured-project h3{font-size:27px}.featured-project figcaption{margin-top:15px}
 .purpose-rows{margin-top:30px}.purpose-row{grid-template-columns:28px 1fr;gap:14px 16px;padding-block:26px}.purpose-row h3{font-size:29px}.purpose-row .home-body{grid-column:2}.purpose-row .project-number{padding-top:5px}
 .selected-images{grid-template-columns:1fr;gap:24px}.selected-image-3,.selected-image-5{padding-top:0}.selected-image-4,.selected-image-6{width:100%;margin:0}.image-placeholder.portrait{aspect-ratio:4/3}
 .process-steps{grid-template-columns:1fr;gap:27px;margin-top:32px}.process-steps li{display:grid;grid-template-columns:28px 1fr;gap:12px 16px;padding-top:25px}.process-steps .project-number{padding-top:4px}.process-steps h3{font-size:28px;margin:0}.process-steps .home-body{grid-column:2}
 .home-contact{padding-block:54px 58px;text-align:left}.home-contact h2,.home-contact .home-body{margin-left:0}.home-contact .home-body{margin-top:22px}.home-contact-details{justify-content:flex-start;gap:8px 22px;margin-top:25px}
 .case-page-intro{padding-block:34px 30px}.case-page-copy{padding-block:36px}.case-page-images{grid-template-columns:1fr;gap:24px}
}
@media(max-width:360px){.hero-copy h1{font-size:40px}.hero-actions{gap:20px}.home-page h2:not(.section-label){font-size:32px}.case-facts{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.case-image-link:hover .image-placeholder,.featured-project:hover .image-placeholder{transition:none}}

/* Finished homepage imagery; existing section spacing and type are preserved. */
.home-case>.case-image-link>img{display:block;width:100%;height:auto}
.featured-project figure>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.selected-mosaic{max-width:1050px;margin-inline:auto;display:grid;gap:10px}
.mosaic-row{display:grid;grid-template-columns:1.8fr 1.8fr .8fr;gap:10px;aspect-ratio:4.4}
.mosaic-row:nth-child(2),.mosaic-row:nth-child(3){grid-template-columns:1.8fr .8fr 1.8fr}
.mosaic-image{margin:0;min-width:0;min-height:0;overflow:hidden}
.mosaic-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:700px){
 .featured-project figure>img{aspect-ratio:1.6}
 .selected-mosaic{gap:6px}
 .mosaic-row,.mosaic-row:nth-child(2),.mosaic-row:nth-child(3){grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;aspect-ratio:1.65;gap:6px}
 .mosaic-portrait{grid-column:2;grid-row:1/3}
 .mosaic-row:nth-child(2) .mosaic-portrait{grid-column:1}
 .mosaic-row:nth-child(2) .mosaic-image:not(.mosaic-portrait){grid-column:2}
}
