/* Approved DARK palette; geometry and media remain unchanged. */
:root{color-scheme:dark;--page-bg:#191b1a;--text:#eeefea;--muted:#b8bcb6;--divider:#454a46;--contact-bg:#222522;--link-line:#929990;--button-line:#929990;--focus:#9acbf0;--media-bg:#151716;--viewer-bg:#151716;--viewer-text:#eeefea;--viewer-line:#747974;--backdrop:#151716f5;--control-bg:#191b1aee;--control-text:#eeefea;--control-line:#929990}
:root{font-family:Arial,Helvetica,sans-serif;color:var(--text);background:var(--page-bg);font-synthesis:none;--gutter:clamp(20px,3.34vw,64px);--line:var(--divider)}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button{border-radius:0}p,h1,h2,h3,figure{margin:0}a:focus-visible,button:focus-visible{outline:2px solid var(--focus);outline-offset:6px}a:hover{text-decoration:underline;text-underline-offset:5px}section{scroll-margin-top:28px}.content-width{width:calc(100% - var(--gutter)*2);max-width:1680px;margin-inline:auto}.skip-link{position:absolute;top:-100px;left:20px;background:var(--page-bg);padding:16px;z-index:20}.skip-link:focus{top:16px}
.site-header{height:88px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;background:var(--page-bg);position:relative;z-index:5}.wordmark{font-size:25px;font-weight:700;letter-spacing:-1px}.site-header nav{display:flex;gap:36px;font-size:15px}.menu-toggle{display:none}.hero-media{position:relative;width:100%;height:min(56.25vw,calc(100svh - 88px));background:var(--media-bg);overflow:hidden}.hero-media video,.hero-poster{position:absolute;width:100%;height:100%;object-fit:contain;inset:0}.hero-media video{opacity:0}.hero-media.has-frame video{opacity:1}.video-toggle{position:absolute;bottom:24px;right:var(--gutter);min-width:100px;min-height:44px;padding:10px 16px;border:1px solid var(--control-line);background:var(--control-bg);color:var(--control-text);display:flex;align-items:center;justify-content:space-between;gap:18px}.video-status{position:absolute;bottom:24px;left:var(--gutter);font-size:14px;background:var(--control-bg);max-width:calc(100% - 170px)}.video-status:not(:empty){padding:12px}.hero-intro{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;padding-block:44px 76px;align-items:end}h1{font-size:clamp(32px,3.3vw,62px);font-weight:400;letter-spacing:-.045em;line-height:1.07}.hero-detail{justify-self:end;min-width:340px}.hero-detail p{font-size:17px;line-height:1.5}.hero-actions{display:flex;gap:28px;margin-top:24px}.text-link{font-size:14px;border-bottom:1px solid var(--link-line);padding-bottom:9px;display:inline-flex;gap:16px;align-items:center;min-height:44px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;padding-block:30px 36px;border-top:1px solid var(--line)}.section-heading h2{font-weight:400;font-size:28px;letter-spacing:-.03em}.section-heading span{font-size:14px;color:var(--muted)}.gallery{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));column-gap:30px;row-gap:88px;align-items:end}.work{min-width:0;grid-column:span 5}.work--1{grid-column:span 4}.work--2{grid-column:span 6}.work--3,.work--9{grid-column:1/-1}.work--6{grid-column:3/-1}.work--7{grid-column:span 6}.work--8{grid-column:span 4}.work button{display:block;width:100%;border:0;padding:0;background:transparent;text-align:left}.work img{display:block;width:100%;height:auto}.work figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:16px;line-height:1.45;font-size:15px}.work figcaption span:last-child{color:var(--muted);font-size:13px}.services{margin-top:104px;border-top:1px solid var(--line);padding-block:38px 90px;display:grid;grid-template-columns:1fr 3fr;gap:30px}.eyebrow{font-size:14px;font-weight:400;line-height:1.5}.section-body{display:grid;grid-template-columns:1fr 1.2fr;gap:56px}.section-body h2{font-size:clamp(30px,3.1vw,50px);line-height:1.08;font-weight:400;letter-spacing:-.04em}.service-list>div{padding:21px 0;border-bottom:1px solid var(--line)}.service-list>div:first-child{padding-top:0}.service-list h3{font-size:18px;font-weight:400;margin-bottom:10px}.service-list p{font-size:15px;line-height:1.55;color:var(--muted)}.about{padding-block:38px 90px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 3fr;gap:30px}.about-statement{font-size:clamp(25px,2.5vw,40px);line-height:1.24;letter-spacing:-.025em;max-width:1030px}.location{font-size:16px;margin-top:28px;color:var(--muted)}.contact{background:var(--contact-bg);padding-block:40px 58px}.contact h2{font-size:clamp(48px,6.8vw,112px);font-weight:400;letter-spacing:-.055em;line-height:1.02;margin:44px 0}.contact-bottom{display:flex;align-items:end;justify-content:space-between;gap:36px}.contact-bottom p{font-size:16px;line-height:1.6;margin-bottom:18px;max-width:490px}.email{font-size:20px;user-select:text}.email-button{min-height:52px;min-width:190px;border:1px solid var(--button-line);padding:16px 20px;display:flex;justify-content:space-between;gap:40px;font-size:15px}footer{min-height:120px;display:flex;align-items:center;justify-content:space-between;gap:25px}footer>a,footer>span:last-child{font-size:13px}footer .wordmark{font-size:22px}body.viewer-open{overflow:hidden}dialog{width:100vw;height:100dvh;max-width:none;max-height:none;padding:76px 40px 28px;border:0;background:var(--viewer-bg);color:var(--viewer-text);margin:0}dialog::backdrop{background:var(--backdrop)}dialog figure{height:100%;display:flex;flex-direction:column;align-items:center;gap:16px}dialog img{display:block;max-width:100%;width:auto;max-height:calc(100% - 44px);height:auto;object-fit:contain;min-height:0}dialog figcaption{font-size:16px;line-height:1.5;text-align:center}.viewer-close{--line:var(--viewer-line);position:absolute;right:28px;top:18px;padding:10px 14px;min-height:44px;background:transparent;border:1px solid var(--line);font-size:15px;display:flex;gap:24px}
@media(min-width:1800px){.hero-intro{padding-block:54px 88px}.gallery{row-gap:100px}}
@media(max-width:1000px){.hero-intro{grid-template-columns:1.3fr 1fr;gap:26px}.hero-detail{min-width:0}.hero-actions{flex-wrap:wrap;gap:8px 24px}.gallery{gap:64px 24px}.work figcaption{display:block}.work figcaption span{display:block}.work figcaption span:last-child{margin-top:4px}.services,.about{grid-template-columns:1fr 4fr}.section-body{grid-template-columns:1fr;gap:36px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:26px}.service-list>div{padding:0 0 20px}.site-header nav{gap:24px}}
@media(max-width:650px){.site-header{height:72px}.wordmark{font-size:23px}.menu-toggle{display:flex;gap:20px;align-items:center;min-height:44px;background:transparent;border:0;padding:8px 0 8px 14px;font-size:14px}.menu-toggle span{font-size:22px}.site-header nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--page-bg);padding:12px 20px 22px;border-bottom:1px solid var(--line);gap:0}.site-header nav.is-open{display:flex;flex-direction:column}.site-header nav a{padding:14px 0;font-size:18px}.hero-media{height:auto;aspect-ratio:16/9}.video-toggle{right:12px;bottom:12px;font-size:13px;min-width:88px;padding:8px 12px}.video-status{left:12px;bottom:12px;font-size:12px;max-width:calc(100% - 116px)}.hero-intro{display:block;padding-block:28px 46px}h1{font-size:35px;line-height:1.1}.desktop-break{display:none}.hero-detail{margin-top:23px}.hero-detail p{font-size:16px}.hero-detail p br{display:none}.hero-actions{gap:12px 25px;margin-top:18px}.text-link{font-size:13px;gap:12px}.section-heading{padding-block:24px 28px}.section-heading h2{font-size:26px}.section-heading span{display:none}.gallery{display:flex;flex-direction:column;gap:40px;align-items:stretch}.work figcaption{display:flex;font-size:14px;gap:12px;margin-top:12px}.work figcaption span:last-child{font-size:12px;margin-top:0;text-align:right}.services{margin-top:56px;padding-block:25px 46px;display:block}.section-body{margin-top:28px;gap:30px}.section-body h2{font-size:36px}.service-list{display:block}.service-list>div{padding:20px 0}.service-list>div:first-child{padding-top:0}.service-list h3{font-size:18px}.about{display:block;padding-block:25px 48px}.about-statement{margin-top:27px;font-size:27px}.location{font-size:15px;line-height:1.5;margin-top:24px}.contact{padding-block:27px 40px}.contact h2{font-size:54px;margin-block:30px}.contact-bottom{display:block}.contact-bottom p{font-size:15px}.email-button{margin-top:28px;width:100%;min-height:54px}.email{font-size:19px}footer{align-items:start;flex-direction:column;gap:20px;padding-block:34px;min-height:0}dialog{padding:76px 16px 24px}.viewer-close{--line:var(--viewer-line);right:16px}dialog figcaption{font-size:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Two proportional rows; captions never control image alignment. */
.work-pair{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,var(--left-ratio)) minmax(0,var(--right-ratio));column-gap:inherit;align-items:start}
.work-pair>.work{grid-column:auto;align-self:start}
.video-status{color:var(--control-text)}
dialog :focus-visible{outline-color:#9acbf0}
@media(max-width:650px){.work-pair{display:flex;flex-direction:column;gap:40px}.work-pair>.work{width:100%}}

/* v03: only the agreed hero, editorial row and compact contact changes. */
.hero{position:relative}
.editorial-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));column-gap:inherit;grid-template-rows:auto auto}
.editorial-copy{grid-column:1/3;grid-row:1;align-self:center;max-width:260px}
.editorial-copy h2{font-size:clamp(26px,1.67vw,32px);line-height:1.15;font-weight:400;letter-spacing:-.025em}
.editorial-copy p{font-size:15px;line-height:1.65;margin-top:22px;color:var(--muted)}
.editorial-row>.work--6{grid-column:3/-1;grid-row:1/3;display:grid;grid-template-rows:subgrid}
.editorial-row>.work--6>button{grid-row:1}
.editorial-row>.work--6>figcaption{grid-row:2}
.contact{padding-block:32px 44px}
.contact h2{font-size:clamp(48px,4.7vw,72px);margin-block:26px}
@media(min-width:1101px) and (min-height:720px){
 .hero-intro{position:absolute;left:max(var(--gutter),calc((100% - 1680px)/2));bottom:48px;width:620px;max-width:calc(100% - var(--gutter)*2 - 130px);margin:0;padding:0;display:block;color:#eeefea;isolation:isolate}
 .hero-intro::before{content:"";position:absolute;inset:-70px -100px -48px -64px;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.65) 65%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 24%);z-index:-1;pointer-events:none}
 .hero-intro h1{font-size:clamp(44px,3vw,56px);line-height:1.08;letter-spacing:-.04em}
 .hero-detail{min-width:0;width:100%;justify-self:start;margin-top:18px}
 .hero-detail p{font-size:16px;line-height:1.5}
 .hero-detail p br{display:none}
 .hero-actions{margin-top:16px;gap:28px}
 .hero-actions .text-link{border-color:#c2c6bf;color:#eeefea}
 .hero-intro :focus-visible{outline-color:#9acbf0}
 .video-status{top:20px;bottom:auto;max-width:calc(100% - var(--gutter)*2)}
}
@media(max-width:1100px){
 .editorial-row{display:block}
 .editorial-copy{max-width:450px;margin-bottom:28px}
 .editorial-copy p{margin-top:16px}
 .editorial-row>.work--6{display:block}
}
@media(max-width:650px){.contact{padding-block:24px 32px}.contact h2{font-size:38px;margin-block:24px}}

/* Shared Back to top control; About styling below is unchanged. */
.back-to-top{position:fixed;right:28px;bottom:28px;width:128px;height:46px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;background:var(--page-bg);color:var(--text);border:1px solid var(--button-line);font-size:13px;line-height:1;z-index:4}
.back-to-top[hidden]{display:none}
.back-to-top>span{font-size:18px}
@media(max-width:650px){.back-to-top{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}}
.about-profile{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:40px;align-items:start}
.portrait{width:100%;max-width:320px}
.portrait img{display:block;width:100%;height:auto}
.portrait figcaption{margin-top:14px;font-size:17px;line-height:1.5}
.portrait figcaption span{display:block;font-size:14px;color:var(--muted);margin-top:3px}
.about-copy{font-size:17px;line-height:1.65;max-width:660px}
.about-copy p+p{margin-top:18px}
@media(max-width:1000px){.about-profile{grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:28px}.about{grid-template-columns:1fr}}
@media(max-width:650px){.about-profile{display:block;margin-top:25px}.portrait{max-width:280px}.about-copy{font-size:16px;margin-top:26px}}

#services .complete-project-service{padding-block:26px}
#services .complete-project-service p+p{margin-top:9px}
#services .complete-project-service .text-link{display:inline-block;margin-top:14px;font-size:14px}
