:root{--ink:#f1eee7;--muted:#b5b2aa;--graphite:#292a2c;--graphite-deep:#202123;--paper:#e8e4dc;--paper-ink:#282a2b;--line:rgba(241,238,231,.16);--dark-line:rgba(40,42,43,.18);--copper:#c97842;--page-width:min(1440px,calc(100vw - 64px))}*{box-sizing:border-box}html{background:var(--graphite-deep);scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);background:var(--graphite-deep);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Archivo,Inter,ui-sans-serif,system-ui,sans-serif}
/* One sticky viewport owns both logical sequences; neither canvas enters normal flow. */
.cinematic-shell{--exterior-motion-travel:260vh;--interior-motion-travel:280vh;--interior-final-hold:75vh;position:relative;background:var(--graphite);height:calc(100svh + var(--exterior-motion-travel) + var(--interior-motion-travel) + var(--interior-final-hold))}.hero-stage{position:sticky;z-index:2;top:0;width:100%;height:100svh;min-height:620px;overflow:hidden;isolation:isolate;background:var(--graphite)}.canvas-shell{position:absolute;inset:0;z-index:0;overflow:hidden;background:var(--graphite)}#scroll-canvas,#mobile-video,.static-poster{position:absolute;inset:0;display:block;width:100%;height:100%}#scroll-canvas{background:var(--graphite)}#mobile-video{display:none;object-fit:cover;object-position:right center;background:var(--graphite)}.static-poster{display:none;object-fit:cover;object-position:right center}html.no-js #scroll-canvas{display:none}html.no-js .static-poster{display:block}.canvas-shell.is-video #scroll-canvas{display:none}.canvas-shell.is-video #mobile-video{display:block}.hero-stage::before,.hero-stage::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;will-change:opacity}.hero-stage::before{opacity:var(--scrim-left-opacity,1);background:linear-gradient(90deg,rgba(25,26,28,.78),rgba(25,26,28,.52) 28%,rgba(25,26,28,.20) 48%,rgba(25,26,28,.03) 64%,transparent 72%)}.hero-stage::after{opacity:var(--scrim-right-opacity,0);background:linear-gradient(270deg,rgba(25,26,28,.42),rgba(25,26,28,.18) 26%,transparent 55%)}
.site-header{position:relative;z-index:3;width:var(--page-width);height:90px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);opacity:var(--hero-overlay-opacity,1);will-change:opacity}.brand{font-size:.83rem;font-weight:760;letter-spacing:.18em}.site-header nav{display:flex;align-items:center;gap:clamp(1.1rem,2vw,2.6rem)}.site-header nav a{color:var(--muted);font-size:.78rem;letter-spacing:.04em;transition:color 180ms ease}.site-header nav a:hover,.site-header nav a:focus-visible{color:var(--ink)}.hero-layout{position:relative;z-index:3;width:var(--page-width);height:calc(100% - 90px);margin:0 auto;display:flex;align-items:center}.hero-copy{width:min(30rem,32vw);padding:1rem 0;opacity:var(--copy-opacity,1);will-change:opacity}.hero-dynamic{min-height:20rem;transition:opacity 170ms ease}.hero-dynamic.is-changing{opacity:0}.eyebrow{margin-bottom:1.15rem;color:var(--copper);font-size:.68rem;font-weight:700;letter-spacing:.14em;line-height:1.45}h1{max-width:12ch;margin-bottom:1.25rem;font-size:clamp(2.7rem,4.4vw,5.25rem);font-weight:600;letter-spacing:-.062em;line-height:.99;white-space:pre-line}#hero-dynamic[data-phase="1"] h1,#hero-dynamic[data-phase="2"] h1{max-width:100%;font-size:clamp(2.65rem,3.15vw,3.15rem)}.intro{max-width:38ch;margin-bottom:1.3rem;color:#d4d1ca;font-size:clamp(.92rem,1.05vw,1.08rem);line-height:1.65}.services{max-width:33rem;color:var(--muted);font-size:.72rem;letter-spacing:.02em;line-height:1.8}.services span,.text-link span{color:var(--copper)}.services span{padding:0 .22rem}.hero-actions,.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.3rem}.hero-actions{margin-top:2.25rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:.76rem 1.05rem;font-size:.76rem;font-weight:700;letter-spacing:.02em}.button-primary{color:#211c18;background:var(--copper);border:1px solid var(--copper);transition:background-color 180ms ease,border-color 180ms ease}.button-primary:hover,.button-primary:focus-visible{background:#d88a54;border-color:#d88a54}.text-link{border-bottom:1px solid currentColor;padding-bottom:.22rem;font-size:.77rem}.canvas-loader{position:absolute;z-index:4;left:max(32px,calc((100vw - min(1440px,calc(100vw - 64px)))/2));bottom:1.1rem;width:min(12rem,calc(100% - 4rem));color:var(--muted);font-size:.68rem;letter-spacing:.04em;transition:opacity 250ms ease,visibility 250ms ease}.canvas-loader.is-ready{opacity:0;visibility:hidden}.loader-line{display:block;height:1px;margin-bottom:.55rem;overflow:hidden;background:rgba(241,238,231,.23)}.loader-line i{display:block;width:3%;height:100%;background:var(--copper);transition:width 180ms ease}
.canvas-shell{filter:brightness(var(--scene-brightness,.92)) contrast(var(--scene-contrast,.96));will-change:filter}.static-poster[data-src]{display:none}#hero-eyebrow{opacity:var(--hero-eyebrow-opacity,.74)}#hero-title{color:rgba(255,255,255,calc(.82 + var(--hero-heading-opacity,.60) * .18))}#hero-intro,.services{opacity:var(--hero-body-opacity,.64)}.hero-actions{opacity:var(--hero-actions-opacity,.56)}
.interior-canvas-shell{position:absolute;z-index:4;inset:0;width:100%;height:100%;overflow:hidden;visibility:hidden;background:var(--graphite)}#interior-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;background:var(--graphite)}.cinematic-shell.is-interior-active .interior-canvas-shell{visibility:visible}.interior-final-still{position:absolute;z-index:5;inset:0;display:block;width:100%;height:100%;visibility:hidden;object-fit:cover;object-position:center;opacity:var(--interior-final-still-opacity,0);pointer-events:none;will-change:opacity}.cinematic-shell.is-interior-active .interior-final-still{visibility:visible}.interior-copy{position:absolute;z-index:6;left:clamp(32px,6vw,96px);bottom:clamp(3rem,10vh,7rem);width:min(32rem,calc(100vw - 64px));color:var(--ink);opacity:var(--interior-copy-opacity,0);isolation:isolate;will-change:opacity;pointer-events:none}.interior-copy::before{content:"";position:absolute;z-index:-1;inset:-2rem -3rem;background:radial-gradient(ellipse at 28% 60%,rgba(25,26,28,.34),rgba(25,26,28,.14) 46%,transparent 74%);opacity:var(--interior-scrim-opacity,0);pointer-events:none}.interior-copy h2{margin-bottom:.8rem;color:rgba(255,255,255,var(--interior-heading-opacity,.70));font-size:clamp(2.375rem,4vw,4rem);font-weight:600;letter-spacing:-.055em;line-height:1}.interior-copy p:last-child{max-width:32rem;margin:0;color:#e0ddd6;opacity:var(--interior-body-opacity,.58);font-size:clamp(1rem,1.15vw,1.125rem);line-height:1.6}
.section-wrap{width:var(--page-width);margin:0 auto}.section-intro{max-width:48rem}.section-intro h2{max-width:15ch;margin-bottom:1rem;color:var(--paper-ink);font-size:clamp(2.45rem,5vw,5.2rem);font-weight:600;letter-spacing:-.062em;line-height:.98}.section-intro>p:last-child{max-width:42rem;margin:0;color:#5f605d;font-size:1rem;line-height:1.65}.section-intro--light h2,.section-intro--light>p:last-child{color:var(--ink)}.services-section{position:relative;z-index:1;margin:0;padding:clamp(6rem,13vh,11rem) 0;background:var(--paper)}.service-list{margin-top:clamp(3rem,8vh,7rem);border-top:1px solid var(--dark-line)}.service-item{display:grid;grid-template-columns:3.25rem minmax(15rem,.8fr) minmax(18rem,1fr) 1.5rem;gap:1.5rem;align-items:baseline;min-height:8.2rem;padding:1.6rem 0;border-bottom:1px solid var(--dark-line);color:var(--paper-ink);transition:background-color 180ms ease,transform 180ms ease}.service-item:hover{background:rgba(201,120,66,.08);transform:translate3d(.3rem,0,0)}.service-number{color:var(--copper);font-size:.7rem;font-weight:700;letter-spacing:.1em}.service-name{font-family:Archivo,sans-serif;font-size:clamp(1.25rem,1.7vw,1.7rem);font-weight:600;letter-spacing:-.035em}.service-description{max-width:32rem;color:#666761;font-size:.91rem;line-height:1.55}.service-arrow{align-self:center;color:var(--copper);font-size:1rem}.projects-section,.values-section{padding:clamp(6rem,13vh,11rem) 0;background:var(--graphite-deep)}.project-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2vw,1.8rem);margin-top:clamp(3rem,8vh,7rem)}.project-card{grid-column:span 5;display:flex;min-height:26rem;flex-direction:column;justify-content:flex-end;overflow:hidden;background:#303134}.project-card--large{grid-column:span 7;min-height:34rem}.project-card img{width:100%;height:100%;min-height:22rem;object-fit:cover;object-position:center;filter:saturate(.82)}.project-card div{padding:1.1rem 1.2rem 1.35rem;border-top:1px solid rgba(241,238,231,.12)}.project-card p{margin-bottom:.55rem;color:var(--copper);font-size:.66rem;font-weight:700;letter-spacing:.13em}.project-card h3{margin:0;font-size:clamp(1.15rem,1.7vw,1.6rem);font-weight:600;letter-spacing:-.04em}.process-section{padding:clamp(6rem,13vh,11rem) 0;background:#d8d5ce}.process-list{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:clamp(3rem,8vh,7rem) 0 0;padding:0;list-style:none;border-top:1px solid var(--dark-line)}.process-list li{min-height:16rem;padding:1.5rem 1.5rem 1.5rem 0;border-right:1px solid var(--dark-line)}.process-list li+li{padding-left:1.5rem}.process-list li:last-child{border-right:0}.process-list span{display:block;margin-bottom:3.4rem;color:var(--copper);font-size:.7rem;font-weight:700;letter-spacing:.12em}.process-list h3{margin-bottom:.7rem;color:var(--paper-ink);font-size:1.35rem;font-weight:600;letter-spacing:-.035em}.process-list p{max-width:18rem;margin:0;color:#62635f;font-size:.9rem;line-height:1.6}.values-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,.8fr);gap:clamp(3rem,10vw,10rem);align-items:end}.value-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}.value-list li{padding:1rem 0;border-bottom:1px solid var(--line);color:var(--ink);font-family:Archivo,sans-serif;font-size:clamp(1.15rem,1.55vw,1.5rem);letter-spacing:-.035em}.contact-section{padding:clamp(6rem,13vh,11rem) 0;background:#b96e3f;color:#231d19}.contact-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.65fr);gap:clamp(3rem,10vw,11rem);align-items:end}.contact-layout .eyebrow{color:#57321e}.contact-layout h2{max-width:12ch;margin:0;font-size:clamp(2.65rem,5.4vw,5.6rem);font-weight:600;letter-spacing:-.065em;line-height:.96}.contact-layout>div:last-child>p{max-width:28rem;font-size:1rem;line-height:1.65}.contact-section .button-primary{background:#25211e;border-color:#25211e;color:var(--ink)}.contact-section .button-primary:hover{background:#151311;border-color:#151311}.contact-section .text-link span{color:#57321e}.site-footer{padding:2rem 0;background:#191a1c}.footer-inner{width:var(--page-width);margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;gap:1.5rem;align-items:center;color:var(--muted);font-size:.72rem}.footer-links{display:flex;gap:1.5rem}.footer-links a:hover{color:var(--ink)}.footer-inner p{justify-self:end;margin:0}
@media(max-width:980px){:root{--page-width:min(100% - 40px,720px)}.hero-stage{min-height:700px}.hero-copy{width:min(34rem,58vw)}h1{max-width:none;font-size:clamp(2.55rem,8vw,4.4rem)}.intro{max-width:48ch}.service-item{grid-template-columns:2.5rem minmax(12rem,.75fr) minmax(14rem,1fr) 1rem;gap:1rem}.project-card,.project-card--large{grid-column:span 6;min-height:26rem}.values-layout,.contact-layout{grid-template-columns:1fr}}
@media(max-width:620px){:root{--page-width:calc(100% - 32px)}.cinematic-shell{--exterior-motion-travel:200vh;--interior-motion-travel:270vh;--interior-final-hold:75vh}.hero-stage{min-height:670px}.hero-stage::before{opacity:1!important;background:linear-gradient(180deg,rgba(25,26,28,.94),rgba(25,26,28,.88) 40%,rgba(25,26,28,.28) 69%,rgba(25,26,28,.04))}.hero-stage::after{display:none}.site-header{height:72px}.site-header nav{gap:.9rem}.site-header nav a:not(:last-child){display:none}.site-header nav a:last-child{color:var(--ink)}.hero-layout{height:calc(100% - 72px);align-items:flex-start}.hero-copy{width:100%;padding-top:1.55rem}.hero-dynamic{min-height:17rem}.eyebrow{margin-bottom:.85rem;font-size:.61rem}h1{margin-bottom:.95rem;font-size:clamp(2.5rem,13vw,4rem)}.intro{max-width:36ch;font-size:.9rem}.services{font-size:.65rem}.hero-actions{gap:1rem;margin-top:1.25rem}.canvas-loader{left:1rem;bottom:1rem}.interior-copy{left:1rem;bottom:2.2rem;width:min(20rem,calc(100% - 2rem))}.interior-copy h2{font-size:2.1rem}.interior-copy p:last-child{font-size:.88rem}.section-intro h2{font-size:clamp(2.25rem,11vw,3.5rem)}.services-section,.projects-section,.process-section,.values-section,.contact-section{padding:5rem 0}.service-item{grid-template-columns:2rem 1fr 1rem;gap:.75rem;min-height:0;padding:1.3rem 0}.service-description{grid-column:2;font-size:.84rem}.service-arrow{grid-column:3;grid-row:1}.project-grid{grid-template-columns:1fr;gap:1rem}.project-card,.project-card--large{grid-column:auto;min-height:0}.project-card img{min-height:16rem}.process-list{grid-template-columns:1fr}.process-list li,.process-list li+li{min-height:0;padding:1.4rem 0;border-right:0;border-bottom:1px solid var(--dark-line)}.process-list span{margin-bottom:1.5rem}.footer-inner{grid-template-columns:1fr;gap:1rem}.footer-inner p{justify-self:start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cinematic-shell{height:100svh}.interior-canvas-shell,.interior-final-still,.interior-copy{display:none}.canvas-loader{display:none}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* V1 page system: the cinematic stage remains untouched; these rules shape the global shell and content that follows it. */
:root{--page-width:min(1360px,calc(100vw - 72px));--surface:#e8e4dc;--surface-deep:#dcd8d0;--text:#292a2c;--text-soft:#62635f;--dark:#202123;--accent:#c97842;--section-space:clamp(5.5rem,10vw,10rem)}
html{scroll-padding-top:88px}body{background:var(--surface);color:var(--text);text-rendering:optimizeLegibility}main{overflow:clip}.skip-link{position:fixed;z-index:100;top:.75rem;left:.75rem;transform:translateY(-170%);padding:.75rem 1rem;background:var(--ink);color:var(--dark);font-size:.8rem;font-weight:700;transition:transform 160ms ease}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{position:fixed;z-index:30;top:0;left:0;width:100%;height:84px;margin:0;border:0;color:var(--ink);opacity:1;transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease}.site-header__inner{width:var(--page-width);height:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(241,238,231,.15)}.site-header .brand{font-size:.82rem;letter-spacing:.18em;white-space:nowrap}.primary-nav{display:flex;align-items:center;gap:clamp(1.25rem,2.2vw,2.8rem)}.primary-nav a{position:relative;padding:.55rem 0;color:inherit;font-size:.74rem;font-weight:600;letter-spacing:.045em}.primary-nav a::after{position:absolute;right:0;bottom:.25rem;left:0;height:1px;background:currentColor;content:"";transform:scaleX(0);transform-origin:right;transition:transform 180ms ease}.primary-nav a:hover::after,.primary-nav a:focus-visible::after{transform:scaleX(1);transform-origin:left}.site-header.is-solid{color:var(--text);background:rgba(232,228,220,.96)}.site-header.is-solid .site-header__inner{border-color:rgba(40,42,43,.16)}.menu-toggle{display:none;padding:.65rem .2rem;border:0;background:transparent;color:inherit;cursor:pointer}.menu-toggle span[aria-hidden]{display:block;width:22px;height:1px;margin:5px 0;background:currentColor;transition:transform 160ms ease}.site-header.is-menu-open .menu-toggle span[aria-hidden]:first-of-type{transform:translateY(3px) rotate(45deg)}.site-header.is-menu-open .menu-toggle span[aria-hidden]:last-of-type{transform:translateY(-3px) rotate(-45deg)}
.hero-layout{height:100%;padding-top:4.5rem}.hero-copy{width:min(31rem,34vw)}.hero-dynamic{min-height:20rem}.cinematic-shell + .services-section{position:relative}.section-space{padding:var(--section-space) 0}.section-wrap{width:var(--page-width)}.section-intro{max-width:44rem}.section-intro h2{max-width:13ch;margin-bottom:1.25rem;color:var(--text);font-size:clamp(2.55rem,5vw,5.4rem);font-weight:600;letter-spacing:-.066em;line-height:.96}.section-intro>p:last-child{max-width:37rem;color:var(--text-soft);font-size:1.02rem;line-height:1.7}.eyebrow{margin-bottom:1rem;font-size:.67rem;font-weight:700;letter-spacing:.15em}.services-section{background:var(--surface)}.services-layout{display:grid;grid-template-columns:minmax(15rem,.78fr) minmax(30rem,1.22fr);gap:clamp(3rem,9vw,10rem);align-items:start}.services-layout .section-intro{position:sticky;top:8rem}.service-list{margin:0;border-top:1px solid var(--dark-line)}.service-item{min-height:7.55rem;padding:1.35rem 0;grid-template-columns:2.9rem minmax(13rem,.85fr) minmax(14rem,1fr) 1.2rem;gap:1.25rem;align-items:center;transition:background-color 160ms ease,padding 160ms ease}.service-item:hover,.service-item:focus-visible{background:rgba(201,120,66,.065);padding-right:.75rem;padding-left:.75rem}.service-number{font-size:.68rem}.service-name{font-size:clamp(1.18rem,1.7vw,1.65rem);line-height:1.1}.service-description{font-size:.89rem;line-height:1.55}.service-arrow{font-size:1.1rem;transition:transform 160ms ease}.service-item:hover .service-arrow,.service-item:focus-visible .service-arrow{transform:translate3d(.2rem,-.2rem,0)}
.projects-section{background:var(--dark);padding-top:calc(var(--section-space) * .92)}.projects-heading{display:flex;justify-content:space-between;gap:4rem;align-items:end}.projects-heading .section-intro h2{color:var(--ink)}.section-aside{max-width:20rem;margin:0 0 .5rem;color:#b4b2ac;font-size:.92rem;line-height:1.65}.project-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(1rem,2vw,1.75rem);margin-top:clamp(3rem,6vw,6rem)}.project-card{grid-column:span 4;min-height:0;background:transparent;overflow:visible}.project-card--large{grid-column:span 8}.project-card figure{height:clamp(18rem,30vw,31rem);margin:0;overflow:hidden;background:#303134}.project-card:not(.project-card--large) figure{height:clamp(16rem,23vw,24rem)}.project-card img{display:block;width:100%;height:100%;min-height:0;object-fit:cover;filter:saturate(.86);transition:transform 420ms cubic-bezier(.2,.65,.25,1),filter 220ms ease}.project-card:hover img{transform:scale(1.018);filter:saturate(.98)}.project-card div{padding:1.1rem 0 0;border:0}.project-card p{margin-bottom:.5rem;font-size:.66rem}.project-card h3{max-width:16ch;font-size:clamp(1.25rem,1.8vw,1.85rem);line-height:1.05}.process-section{background:var(--surface-deep)}.process-heading{max-width:48rem}.process-list{margin-top:clamp(3rem,7vw,7rem);border-color:rgba(40,42,43,.2)}.process-list li{position:relative;min-height:17rem;padding:1.7rem 1.6rem 1.7rem 0;border-color:rgba(40,42,43,.2)}.process-list li+li{padding-left:1.6rem}.process-list span{margin-bottom:4.1rem;font-size:.68rem}.process-list h3{font-size:1.45rem}.process-list p{font-size:.92rem}.values-section{background:#272829}.values-layout{grid-template-columns:minmax(0,1fr) minmax(20rem,.8fr);gap:clamp(3rem,11vw,12rem);align-items:center}.values-layout .section-intro>p:last-child{color:#b8b6b0}.value-list{border-color:rgba(241,238,231,.18)}.value-list li{display:flex;gap:1.15rem;align-items:baseline;padding:1.25rem 0;color:var(--ink);font-size:clamp(1.25rem,1.8vw,1.85rem);border-color:rgba(241,238,231,.18)}.value-list span{width:2rem;flex:0 0 auto;color:var(--accent);font-family:Inter,ui-sans-serif,sans-serif;font-size:.67rem;font-weight:700;letter-spacing:.1em}.contact-section{background:var(--accent);color:#211d19}.contact-layout{grid-template-columns:minmax(0,1fr) minmax(20rem,.66fr);gap:clamp(3rem,11vw,12rem);align-items:end}.contact-layout h2{font-size:clamp(2.8rem,5.5vw,5.7rem);line-height:.93}.contact-layout>div:last-child>p{font-size:1.04rem;line-height:1.7}.contact-actions{margin-top:2.4rem}.contact-section .button-primary{min-width:10.75rem}.site-footer{padding:2.7rem 0;background:#1d1e1f}.footer-inner{width:var(--page-width);grid-template-columns:1fr auto 1fr;gap:2rem;align-items:end}.footer-note{margin:.65rem 0 0;color:#989892;font-size:.72rem;letter-spacing:.025em}.footer-links{gap:1.35rem}.footer-links a{padding:.3rem 0}.footer-inner>p{font-size:.7rem;line-height:1.4;text-align:right}
.projects-section .project-card h3,.values-section .section-intro h2{color:var(--ink)}
.button:focus-visible,.text-link:focus-visible,.service-item:focus-visible,.project-card:focus-visible,.primary-nav a:focus-visible,.footer-links a:focus-visible{outline:2px solid currentColor;outline-offset:4px}.js [data-reveal]{opacity:0;transform:translate3d(0,14px,0);transition:opacity 540ms ease,transform 540ms cubic-bezier(.2,.65,.25,1)}.js [data-reveal].is-visible{opacity:1;transform:none}
@media(max-width:980px){:root{--page-width:min(100% - 48px,860px)}.hero-copy{width:min(35rem,62vw)}.services-layout{grid-template-columns:1fr;gap:3.5rem}.services-layout .section-intro{position:static}.projects-heading{align-items:start;flex-direction:column;gap:1.5rem}.section-aside{max-width:34rem}.project-card--large{grid-column:span 7}.project-card{grid-column:span 5}.values-layout,.contact-layout{grid-template-columns:1fr;gap:3rem}.footer-inner{grid-template-columns:1fr 1fr}.footer-inner>p{grid-column:1 / -1;justify-self:start;text-align:left}}
@media(max-width:620px){:root{--page-width:calc(100% - 32px);--section-space:5.25rem}html{scroll-padding-top:72px}.site-header{height:68px}.site-header__inner{border-bottom-color:rgba(241,238,231,.12)}.site-header .brand{font-size:.75rem}.menu-toggle{display:block}.primary-nav{position:absolute;top:calc(100% + 1px);right:0;left:0;display:grid;gap:0;padding:0 1rem 1rem;background:rgba(32,33,35,.98);visibility:hidden;opacity:0;transform:translateY(-.5rem);transition:opacity 160ms ease,transform 160ms ease,visibility 160ms ease}.site-header.is-solid .primary-nav{background:rgba(232,228,220,.99)}.site-header.is-menu-open .primary-nav{visibility:visible;opacity:1;transform:none}.site-header .primary-nav a,.site-header nav a:not(:last-child){display:block;padding:1rem 0;border-top:1px solid rgba(241,238,231,.15);color:inherit}.site-header.is-solid .primary-nav a{border-color:rgba(40,42,43,.14)}.hero-layout{height:100%;padding-top:4rem;align-items:flex-start}.hero-copy{width:100%;padding-top:1.65rem}.hero-dynamic{min-height:17rem}.section-intro h2{font-size:clamp(2.35rem,10.8vw,3.55rem)}.section-intro>p:last-child{font-size:.97rem}.service-item{grid-template-columns:2rem 1fr 1rem;gap:.7rem;min-height:0;padding:1.35rem 0}.service-item:hover,.service-item:focus-visible{padding-right:.2rem;padding-left:.2rem}.service-description{grid-column:2 / 4;font-size:.85rem}.service-arrow{grid-column:3;grid-row:1}.project-grid{grid-template-columns:1fr;gap:2.4rem}.project-card,.project-card--large{grid-column:auto}.project-card figure,.project-card:not(.project-card--large) figure{height:min(92vw,28rem)}.project-card h3{max-width:16ch;font-size:1.45rem}.process-list{display:block;margin-top:3.5rem}.process-list li,.process-list li+li{min-height:0;padding:1.55rem 0 1.8rem;border-right:0}.process-list span{margin-bottom:1.6rem}.value-list li{font-size:1.35rem}.contact-actions{gap:1.15rem}.footer-inner{display:grid;grid-template-columns:1fr;gap:1.7rem}.footer-links{flex-wrap:wrap;gap:.7rem 1.25rem}.footer-inner>p{grid-column:auto}.js [data-reveal]{transform:translate3d(0,10px,0)}}
@media(prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1;transform:none;transition:none}.primary-nav,.site-header,.project-card img,.service-item,.service-arrow{transition:none!important}}

/* Real contact details and the intentionally local-only contact form. */
.contact-layout{align-items:start}.contact-details{max-width:42rem}.contact-intro{max-width:34rem;margin:1.75rem 0 2.5rem;font-size:1.04rem;line-height:1.7}.contact-list{display:grid;gap:1.1rem;margin:0;font-style:normal}.contact-list p{display:grid;grid-template-columns:6.6rem minmax(0,1fr);gap:1rem;margin:0}.contact-list span{color:#57321e;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.contact-list a{color:#211d19;line-height:1.55;text-decoration:underline;text-decoration-color:rgba(33,29,25,.34);text-underline-offset:.18em}.contact-section .contact-actions{margin-top:2.35rem}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem 1rem;padding:clamp(1.4rem,2.4vw,2.3rem);border:1px solid rgba(33,29,25,.3);background:rgba(255,255,255,.1)}.form-field{display:grid;gap:.5rem}.form-field--wide,.contact-form>.button,.form-message{grid-column:1 / -1}.form-field label{font-size:.78rem;font-weight:700;letter-spacing:.04em}.form-field input,.form-field select,.form-field textarea{width:100%;min-height:2.85rem;padding:.72rem .78rem;border:1px solid rgba(33,29,25,.45);border-radius:0;background:rgba(255,255,255,.5);color:#211d19;font:inherit;font-size:.95rem;line-height:1.4}.form-field textarea{min-height:8rem;resize:vertical}.form-field select{appearance:auto}.form-field input:focus-visible,.form-field select:focus-visible,.form-field textarea:focus-visible{outline:2px solid #211d19;outline-offset:2px;border-color:#211d19}.form-field input:invalid:not(:placeholder-shown),.form-field select:invalid,.form-field textarea:invalid:not(:placeholder-shown){border-color:#7c2d18}.contact-form>.button{justify-self:start}.form-message{margin:0;padding-top:.25rem;font-size:.9rem;font-weight:600;line-height:1.55}.footer-contact{margin-top:1rem!important;color:#989892;font-size:.72rem;line-height:1.65}.footer-contact a{color:inherit;text-decoration:underline;text-decoration-color:rgba(241,238,231,.3);text-underline-offset:.18em}.footer-contact a:hover,.footer-contact a:focus-visible{color:var(--ink)}
@media(max-width:620px){.contact-details{max-width:none}.contact-list p{grid-template-columns:1fr;gap:.25rem}.contact-form{grid-template-columns:1fr;padding:1.2rem}.form-field--wide,.contact-form>.button,.form-message{grid-column:auto}.contact-form>.button{width:100%}}

.form-field--honeypot{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.contact-form .button[disabled]{cursor:wait;opacity:.68}

/* Visual QA polish: calm the content scale and keep the light interior stage legible. */
.section-intro h2{font-size:clamp(2.35rem,4.35vw,4.7rem)}.services-section{background:linear-gradient(180deg,#d9d5cd 0,var(--surface) 10rem)}.project-card--detail{grid-column:5 / span 4;margin-top:clamp(.5rem,3vw,3rem)}
@supports selector(body:has(.cinematic-shell.is-interior-active)){body:has(.cinematic-shell.is-interior-active) .site-header:not(.is-solid){background:linear-gradient(180deg,rgba(25,26,28,.34),rgba(25,26,28,0))}}
@media(max-width:980px){.project-card--detail{grid-column:span 5;margin-top:0}}
@media(max-width:620px){.project-card--detail{grid-column:auto;margin-top:0}.services-section{background:linear-gradient(180deg,#d9d5cd 0,var(--surface) 5rem)}}

/* Mobile QA: reserve a flexible brand area, keep the menu inside the visual viewport, and prevent iOS input zoom. */
@media(max-width:980px){.form-field input,.form-field select,.form-field textarea{font-size:16px}}
@media(max-width:620px){.site-header__inner{gap:.75rem}.site-header .brand{display:flex;align-items:center;min-width:0;max-width:calc(100% - 3.25rem)}.menu-toggle{display:grid;place-content:center;min-width:44px;min-height:44px}.site-header .primary-nav{display:grid;max-height:calc(100svh - 68px);padding-bottom:max(1rem,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain}}
@supports selector(body:has(.site-header.is-menu-open)){@media(max-width:620px){html:has(.site-header.is-menu-open),body:has(.site-header.is-menu-open){overflow:hidden}}}

/* High-resolution transparent brand lockup; the mobile QA brand bounds remain intact. */
.site-header .brand--logo{display:inline-flex;align-items:center;justify-content:flex-start;width:4.55rem;height:3.2rem;line-height:0;letter-spacing:0}.site-header .brand--logo img{display:block;width:auto;height:100%;max-width:100%;object-fit:contain;object-position:left center;filter:drop-shadow(0 1px 1px rgba(255,255,255,.16))}
@media(max-width:620px){.site-header .brand--logo{width:3.95rem;height:2.75rem}}

/* The original mark stays intact; a restrained plate only separates it from the cinematic dark header. */
.site-header .brand--logo{border:1px solid transparent;border-radius:3px;background-color:transparent;transition:background-color 180ms ease,border-color 180ms ease,padding 180ms ease}.site-header:not(.is-solid) .brand--logo{padding:.18rem .22rem;border-color:rgba(248,247,243,.72);background-color:rgba(248,247,243,.94)}
