:root{--paper:#f8f7f2;--ink:#111820;--muted:#606a72;--line:#d9d9d3;--blue:#35a8d4;--serif:"Instrument Serif",Georgia,serif;--sans:"Geist",Arial,sans-serif;--editorial-sans:"Instrument Sans","Geist",Arial,sans-serif;--mono:"DM Mono",monospace;--shell:min(1180px,calc(100vw - 112px))}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}.shell{width:var(--shell);margin:auto}a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 91%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}.site-header.scrolled{border-color:var(--line)}.nav-row{height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.brand{position:relative;width:max-content;font-size:23px;letter-spacing:-1.2px;line-height:1}.brand strong{font-weight:600}.brand em{font-family:var(--serif);font-size:28px;font-weight:400}.brand small{position:absolute;top:24px;right:1px;font:7px/1 var(--mono);letter-spacing:.16em}.nav-links{display:flex;gap:38px;font-size:13px}.nav-links a,.footer-row a{transition:opacity .2s}.nav-links a:hover,.footer-row a:hover{opacity:.55}.nav-actions{justify-self:end;display:flex;align-items:center;gap:14px}.pill{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--blue);color:white;border-radius:999px;padding:12px 25px;font-size:13px;transition:transform .25s,filter .25s}.pill:hover{transform:translateY(-2px);filter:brightness(.95)}.pill span{transition:transform .25s}.pill:hover span{transform:translateX(3px)}.motion-toggle{border:0;background:transparent;font:10px var(--mono);letter-spacing:.05em;color:var(--muted);display:flex;align-items:center;gap:7px;cursor:pointer;padding:8px}.motion-toggle i{width:23px;height:13px;border:1px solid #a9afb2;border-radius:20px;position:relative}.motion-toggle i:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--blue);top:2px;right:2px;transition:.25s}.motion-toggle[aria-pressed="false"] i:after{right:12px;background:#92989c}
.hero{min-height:500px;padding:58px 0 66px;display:grid;grid-template-columns:1.45fr .75fr;gap:70px;align-items:start}.kicker,.discipline,.meta,.location,.section-label,.studio-meta>p{font-family:var(--mono);letter-spacing:.16em}.kicker{font-size:10px;color:var(--muted);margin:0 0 28px}.hero h1,.section h2,.project-card h3,.process-steps strong{font-family:var(--serif);font-weight:400}.hero h1{font-size:clamp(64px,6.8vw,96px);line-height:.88;letter-spacing:-.035em;margin:0;max-width:760px}.discipline{font-size:12px;margin:27px 0 20px}.discipline b{font-weight:400;color:#92989c;padding:0 8px}.intro{max-width:510px;font-size:15px;margin:0 0 25px}.hero-button{padding:12px 27px}.hero-aside{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start}.aside-note{font:11px/1.55 var(--mono);color:#77828b;margin:65px 0 0}.mini-rule{width:27px;height:1px;background:#77828b;display:block;margin-top:175px;grid-column:1}.architecture-image{grid-column:2;grid-row:1/3;width:100%;height:300px;background:#80a7bf;overflow:hidden;position:relative}.architecture-image:before{content:"";position:absolute;left:-12%;top:44%;width:125%;height:78%;background:#e7e2d9;transform:rotate(-14deg)}.architecture-image:after{content:"";position:absolute;right:-4%;top:31%;width:45%;height:82%;background:#bcbab5;box-shadow:-30px 20px 35px rgba(0,0,0,.15)}.location{grid-column:2;font-size:9px;text-align:right;color:#666f75;margin:0}.section{border-top:1px solid var(--line);padding:35px 0 46px}.section-label{font-size:9px;color:#667078;display:flex;align-items:center;gap:9px;margin-bottom:12px}.section-label span{display:inline-block;width:18px;height:1px;background:#7c858a}.section-head h2,.service-title h2,.process-title h2,.studio-title h2,.contact h2{font-size:clamp(48px,4.2vw,65px);line-height:.9;letter-spacing:-.025em;margin:0}.section-head{margin-bottom:28px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px}.project-card{min-height:275px;background:#ebe7e0;position:relative;overflow:hidden;display:grid;grid-template-columns:1fr 1.15fr}.project-copy{padding:27px 0 25px 28px;z-index:2}.project-card h3{font-size:31px;line-height:.96;margin:0 0 22px}.meta{font-size:8px;margin-bottom:14px}.project-copy>p:last-child{font-size:12px;max-width:210px;line-height:1.5}.device-stage{position:relative;min-height:275px}.tablet{position:absolute;width:230px;height:157px;right:18px;bottom:-5px;background:#151718;border-radius:12px;padding:8px;transform:perspective(600px) rotateY(-7deg) rotateZ(3deg);box-shadow:0 18px 24px rgba(0,0,0,.25)}.tablet-screen{height:100%;background:#f5f3ed;border-radius:5px;position:relative;padding:17px;font-family:var(--serif);overflow:hidden}.tablet-screen strong{position:absolute;left:16px;bottom:25px;font-size:21px;line-height:.78;font-weight:400}.tiny-lines{display:block;width:48px;border-top:2px solid #999;box-shadow:16px 0 0 -1px #999}.art-object{position:absolute;right:24px;bottom:20px;width:38px;height:74px;background:linear-gradient(90deg,#16191a,#4a4d4c,#121414);border-radius:45% 45% 35% 35%}.art-object:before{content:"";position:absolute;top:-8px;left:10px;width:18px;height:16px;background:#222;border-radius:20% 20% 45% 45%}.phone{position:absolute;width:113px;height:225px;right:37px;bottom:-6px;background:#17191a;border-radius:24px;padding:5px;transform:rotate(8deg);box-shadow:0 17px 28px rgba(0,0,0,.25)}.phone-screen{height:100%;border-radius:19px;overflow:hidden;position:relative;background:linear-gradient(#8ed2ed 0 57%,#d6c66d 57%)}.phone-screen:before{content:"";position:absolute;top:4px;left:35%;width:31%;height:7px;border-radius:8px;background:#17191a;z-index:3}.cloud{position:absolute;width:32px;height:10px;background:#f7eee0;border-radius:50%}.c1{top:38px;left:9px}.c2{top:72px;right:7px;width:24px}.sun{position:absolute;top:52px;right:22px;width:13px;height:13px;border-radius:50%;background:#f5d36a}.hill{position:absolute;bottom:-18px;border-radius:50% 50% 0 0}.h1{left:-20px;width:95px;height:85px;background:#6e9c58}.h2{right:-30px;width:110px;height:100px;background:#a3b862}.child{position:absolute;bottom:39px;left:47px;width:19px;height:33px;background:#d6a23e;border-radius:8px}.child:before{content:"";position:absolute;top:-12px;left:4px;width:13px;height:13px;background:#8b5a35;border-radius:50%}.services-layout,.process-layout{display:grid;grid-template-columns:30% 1fr;gap:55px}.service-columns{display:grid;grid-template-columns:repeat(3,1fr);padding-top:23px}.service-columns>div{padding:0 30px;border-left:1px solid var(--line)}.service-columns h3{font:11px var(--mono);letter-spacing:.16em;margin:0 0 15px}.service-columns p{font-size:14px;line-height:1.6;margin:0}.service-note{grid-column:1/4;font:10px var(--mono)!important;margin:30px 0 0 30px!important}.process-flow{align-self:end;padding-bottom:8px}.process-steps{display:flex;align-items:center;justify-content:space-between}.process-steps div{display:flex;flex-direction:column;gap:8px}.process-steps small{font:9px var(--mono);color:#68737a}.process-steps strong{font-size:27px}.process-steps i{height:1px;width:35px;background:#879096;transform-origin:left}.process-flow>p{font:10px var(--mono);margin:24px 0 0}.studio-layout{display:grid;grid-template-columns:30% 1fr .65fr;gap:55px;align-items:end}.studio-copy{font-size:14px;max-width:370px}.studio-copy p{margin:0 0 10px}.studio-meta{border-left:1px solid var(--line);padding-left:48px;font-size:13px}.studio-meta>p{font-size:9px;color:#68737a;line-height:1.6}.studio-meta>span{display:block;width:28px;height:1px;background:#7c858a;margin:24px 0}.studio-meta b{font-weight:400;color:#899196;padding:0 9px}.contact{padding-bottom:30px}.contact-layout{display:grid;grid-template-columns:1.35fr .65fr;align-items:end}.contact h2{font-size:clamp(50px,5vw,72px)}.contact-action{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-bottom:5px}.contact-action .pill{min-width:190px}.email{font-size:13px}.footer-row{display:flex;justify-content:space-between;align-items:center;padding:0 0 26px;font-size:9px;color:#70787e}.footer-row p{margin:0}.footer-row p b{font-weight:400;padding:0 9px}.footer-row>div{display:flex;gap:34px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}.delay-2{transition-delay:.22s}.motion-off .reveal{opacity:1!important;transform:none!important;transition:none!important}.motion-off *{animation:none!important;transition-duration:0s!important}.motion-off html{scroll-behavior:auto}.motion-on .architecture-image:after{animation:shadowDrift 8s ease-in-out infinite alternate}.motion-on .tablet{animation:deviceFloat 6s ease-in-out infinite}.motion-on .phone{animation:phoneFloat 6.5s ease-in-out infinite}.motion-on .process-flow.visible .process-steps i{animation:drawLine .6s ease both}.motion-on .process-flow.visible .process-steps i:nth-of-type(2){animation-delay:.12s}.motion-on .process-flow.visible .process-steps i:nth-of-type(3){animation-delay:.24s}.motion-on .process-flow.visible .process-steps i:nth-of-type(4){animation-delay:.36s}@keyframes shadowDrift{to{transform:translateX(-8px)}}@keyframes deviceFloat{50%{transform:perspective(600px) rotateY(-7deg) rotateZ(2deg) translateY(-5px)}}@keyframes phoneFloat{50%{transform:rotate(7deg) translateY(-6px)}}@keyframes drawLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:980px){:root{--shell:min(100% - 48px,850px)}.nav-row{grid-template-columns:1fr auto}.nav-links{display:none}.hero{grid-template-columns:1.3fr .7fr;gap:35px}.hero h1{font-size:clamp(58px,8vw,78px)}.hero-aside{grid-template-columns:70px 1fr}.aside-note{display:none}.mini-rule{display:none}.architecture-image{grid-column:1/3;height:245px}.location{grid-column:1/3}.work-grid{gap:20px}.project-card{grid-template-columns:1fr;min-height:410px}.device-stage{min-height:190px}.project-copy{padding-bottom:0}.tablet{right:35px}.phone{right:60px}.services-layout,.process-layout{grid-template-columns:28% 1fr;gap:30px}.studio-layout{grid-template-columns:1fr 1fr}.studio-meta{grid-column:2}.contact-layout{grid-template-columns:1fr}.contact-action{margin-top:30px}}
@media(max-width:680px){:root{--shell:calc(100vw - 36px)}.nav-row{height:68px}.nav-actions .pill{padding:10px 16px}.motion-toggle span{display:none}.hero{display:block;padding:55px 0 60px;min-height:auto}.hero h1{font-size:clamp(53px,16vw,74px);line-height:.9}.intro{font-size:14px}.hero-aside{display:none}.section{padding:28px 0 38px}.section-head h2,.service-title h2,.process-title h2,.studio-title h2,.contact h2{font-size:49px}.work-grid{grid-template-columns:1fr}.project-card{min-height:385px}.project-card h3{font-size:30px}.tablet{width:220px;right:24px}.phone{right:48px}.services-layout,.process-layout,.studio-layout{display:block}.service-columns{grid-template-columns:1fr;margin-top:28px}.service-columns>div{border-left:0;border-top:1px solid var(--line);padding:18px 0}.service-note{grid-column:1;margin:20px 0 0!important}.process-flow{margin-top:32px}.process-steps{align-items:flex-start}.process-steps strong{font-size:20px}.process-steps i{width:13px;margin-top:31px}.process-flow>p{line-height:1.6}.studio-copy{margin-top:28px}.studio-meta{border-left:0;border-top:1px solid var(--line);padding:20px 0 0;margin-top:25px}.contact h2{font-size:48px}.footer-row{align-items:flex-end}.footer-row>div{gap:14px}.discipline{font-size:9px;letter-spacing:.13em}.nav-actions{gap:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none!important}*{animation:none!important}}

/* --- Refinement pass: navigation, CTA geometry, footer, motion --- */
:root{--header-h:82px}
section[id]{scroll-margin-top:calc(var(--header-h) + 16px)}
.pill{border-radius:8px;padding:12px 24px}
.nav-actions>.pill{min-width:118px}
.contact-action{align-items:flex-end}
.contact-action .pill{width:190px}

.site-footer{background:var(--blue);color:#fff;margin-top:0;padding:62px 0 24px}
.footer-main{display:grid;grid-template-columns:1fr 1.55fr;gap:90px;padding-bottom:62px}
.footer-intro{max-width:330px}
.footer-brand{position:relative;display:inline-block;font-size:29px;letter-spacing:-1.4px;line-height:1;margin-bottom:30px}
.footer-brand strong{font-weight:600}.footer-brand em{font-family:var(--serif);font-size:35px;font-weight:400}.footer-brand small{position:absolute;top:30px;right:1px;font:7px/1 var(--mono);letter-spacing:.16em}
.footer-intro p{font-size:15px;line-height:1.55;margin:0 0 28px;max-width:280px}
.footer-email{display:inline-flex;gap:12px;align-items:center;font-size:14px;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:5px}.footer-email span{transition:transform .22s}.footer-email:hover span{transform:translateX(3px)}
.footer-nav{display:grid;grid-template-columns:.8fr 1.25fr .8fr;gap:44px}
.footer-nav>div{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.footer-nav h3{font:10px var(--mono);letter-spacing:.16em;text-transform:uppercase;margin:0 0 13px;color:rgba(255,255,255,.68)}
.footer-nav a,.footer-nav span{font-size:13px;line-height:1.5}.footer-nav span{color:rgba(255,255,255,.78)}.footer-nav a{transition:opacity .2s}.footer-nav a:hover{opacity:.65}
.footer-bottom{border-top:1px solid rgba(255,255,255,.32);padding-top:20px;display:flex;justify-content:space-between;gap:30px;font:9px var(--mono);letter-spacing:.06em;color:rgba(255,255,255,.72)}
.footer-bottom p{margin:0}.footer-bottom b{font-weight:400;padding:0 7px}

/* A calmer motion cadence: quick enough to feel responsive, slow enough to stay editorial. */
.reveal{transform:translateY(12px);transition-duration:.58s}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.14s}
.motion-on .architecture-image:after{animation-duration:11s}.motion-on .tablet{animation-duration:8s}.motion-on .phone{animation-duration:8.5s}
.motion-on .process-flow.visible .process-steps i{animation-duration:.42s}

@media(max-width:980px){
  :root{--header-h:74px}
  .nav-row{height:74px}
  .footer-main{grid-template-columns:1fr;gap:48px;padding-bottom:48px}
  .footer-intro{max-width:420px}.footer-nav{grid-template-columns:repeat(3,1fr)}
  .contact-action{align-items:flex-start}
}
@media(max-width:680px){
  :root{--header-h:68px}
  section[id]{scroll-margin-top:calc(var(--header-h) + 10px)}
  .nav-actions>.pill{min-width:auto;padding:10px 14px;border-radius:7px}
  .pill{border-radius:7px}
  .hero{padding-top:42px}.kicker{margin-bottom:22px}.hero h1{font-size:clamp(51px,15vw,68px)}
  .work-grid{gap:18px}.project-card{min-height:365px}.project-copy{padding:24px 22px 0}.device-stage{min-height:175px}
  .tablet{width:205px;height:140px;right:18px}.phone{width:103px;height:205px;right:35px}
  .process-steps{display:grid;grid-template-columns:1fr 20px 1fr;row-gap:20px}.process-steps i{width:14px;margin:30px 3px 0}.process-steps div:nth-of-type(4),.process-steps div:nth-of-type(5){margin-top:0}
  .contact-action{align-items:flex-start}.contact-action .pill{width:auto;min-width:190px}
  .site-footer{padding:48px 0 20px}.footer-main{gap:38px;padding-bottom:38px}.footer-nav{grid-template-columns:1fr 1fr;gap:34px 28px}.footer-nav>div:last-child{grid-column:1/3}.footer-bottom{flex-direction:column;gap:8px}
}

/* --- Refinement pass 2: lower-section rhythm + compact footer --- */
#services,#process,#studio,#contact{padding-top:72px;padding-bottom:78px}
#services .services-layout,#process .process-layout,#studio .studio-layout{min-height:285px}
#contact .contact-layout{min-height:245px}

.site-footer{padding:44px 0 18px}
.footer-main{gap:72px;padding-bottom:40px}
.footer-brand{margin-bottom:22px}
.footer-intro p{margin-bottom:20px}
.footer-nav{gap:36px}
.footer-nav h3{margin-bottom:9px}
.footer-bottom{padding-top:16px}

@media(max-width:980px){
  #services,#process,#studio,#contact{padding-top:60px;padding-bottom:66px}
  #services .services-layout,#process .process-layout,#studio .studio-layout,#contact .contact-layout{min-height:auto}
  .site-footer{padding-top:38px}.footer-main{padding-bottom:34px}
}
@media(max-width:680px){
  #services,#process,#studio,#contact{padding-top:50px;padding-bottom:54px}
  .site-footer{padding:34px 0 16px}.footer-main{gap:30px;padding-bottom:28px}.footer-brand{margin-bottom:18px}.footer-nav{gap:28px 24px}
}

/* --- Refinement pass 3: vertically centre lower-section content --- */
@media (min-width:981px){
  #services,#process,#studio,#contact{display:flex;align-items:center}
  #services>.shell,#process>.shell,#studio>.shell,#contact>.shell{width:var(--shell);margin-left:auto;margin-right:auto}
  #services .services-layout,#process .process-layout,#studio .studio-layout,#contact .contact-layout{min-height:0}
}

/* --- Refinement pass 5: wordmark parity, photographic work imagery, calmer motion --- */
/* Top wordmark uses the footer wordmark typography exactly; nav colour remains unchanged. */
.brand{font-size:29px;letter-spacing:-1.4px;line-height:1}
.brand strong{font-weight:600}
.brand em{font-family:var(--serif);font-size:35px;font-weight:400}
.brand small{top:30px;right:1px;font:7px/1 var(--mono);letter-spacing:.16em}

/* Slightly stronger editorial eyebrow labels. */
.section-label{font-size:10px;letter-spacing:.16em;gap:10px;margin-bottom:14px}
.section-label span{width:20px}

/* Approved project art: real image assets rather than CSS-drawn devices. */
.device-stage{overflow:hidden}
.project-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.018);transition:transform 1.15s cubic-bezier(.2,.7,.2,1)}
.project-card:hover .project-image{transform:scale(1.035)}
.artist-stage .project-image{object-position:center}
.story-stage .project-image{object-position:center}

/* Motion should arrive, then settle. No perpetual floating devices. */
.motion-on .tablet,.motion-on .phone,.motion-on .architecture-image:after{animation:none!important}
.motion-on .project-card.reveal .project-image{transform:scale(1.045) translateY(8px)}
.motion-on .project-card.reveal.visible .project-image{transform:scale(1.018) translateY(0)}
.motion-on .project-card.reveal.visible:hover .project-image{transform:scale(1.035) translateY(0)}
.reveal{transform:translateY(13px);transition-duration:.62s}
.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}

@media(max-width:720px){
  .brand{font-size:25px;letter-spacing:-1.2px}
  .brand em{font-size:30px}.brand small{top:26px;font-size:6px}
  .section-label{font-size:9.5px}
  .project-image{transform:scale(1.01)}
  .motion-on .project-card.reveal .project-image{transform:scale(1.025) translateY(5px)}
  .motion-on .project-card.reveal.visible .project-image{transform:scale(1.01) translateY(0)}
}

/* --- Refinement pass 6: header optical alignment, CTA type, clean mobile work cards --- */
.brand small,.footer-brand small{font-size:8.5px;letter-spacing:.15em}
.brand small{top:31px}.footer-brand small{top:31px}
.nav-row{align-items:center}
.brand,.nav-links,.nav-actions{align-self:center}
.nav-links{align-items:center}
.nav-links a{display:flex;align-items:center;height:42px}
.nav-actions{height:100%}
.pill{font-size:15px;font-weight:500;border-radius:8px}
.hero-button{font-size:14.5px}
.contact-action .email{display:none}
@media(max-width:680px){
  .brand{font-size:25px}.brand em{font-size:30px}.brand small{top:27px;font-size:7.5px}
  .nav-actions .pill{font-size:14px;padding:11px 18px;border-radius:8px}
  .project-card{display:flex;flex-direction:column;min-height:0}
  .project-copy{padding:30px 30px 24px}
  .device-stage{height:260px;min-height:260px;width:100%;overflow:hidden}
  .project-image{inset:0;width:100%;height:100%;object-fit:cover;transform:none}
  .artist-stage .project-image{object-position:center center}
  .story-stage .project-image{object-position:center 48%}
  .motion-on .project-card.reveal .project-image{transform:scale(1.02) translateY(5px)}
  .motion-on .project-card.reveal.visible .project-image{transform:scale(1) translateY(0)}
}

/* --- Refinement pass 7: production motion + deliberate narrow-screen layouts --- */
/* Motion is now automatic and accessibility-led; the testing control is removed from the UI. */
.nav-actions{gap:0}

/* Tablet / narrow desktop: keep service content compact rather than forcing an early phone stack. */
@media (min-width:681px) and (max-width:900px){
  :root{--shell:calc(100vw - 60px)}
  .nav-row{height:76px}
  .brand{font-size:26px}.brand em{font-size:31px}.brand small{top:27px;font-size:7.5px}
  .nav-actions .pill{padding:11px 20px;font-size:14px}
  #services .services-layout{grid-template-columns:27% 1fr;gap:24px}
  #services .service-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
  #services .service-columns>div{padding:0 20px}
  #services .service-columns p{font-size:13px;line-height:1.55}
  #services .service-note{margin-left:20px!important}
  #process .process-layout{grid-template-columns:27% 1fr;gap:24px}
  #process .process-steps{gap:9px}
  #process .process-steps strong{font-size:24px}
  #process .process-steps i{width:24px;flex:0 0 24px}
}

@media (max-width:680px){
  /* A smaller sticky header without sacrificing the approved wordmark/CTA scale. */
  .nav-row{height:64px}
  .nav-actions .pill{font-size:13.5px;padding:10px 16px}

  /* Think / Make / Build: compact editorial stack. */
  #services .service-columns{margin-top:24px}
  #services .service-columns>div{padding:15px 0}
  #services .service-columns h3{margin-bottom:10px}
  #services .service-columns p{font-size:14px;line-height:1.48}
  #services .service-note{margin-top:18px!important;line-height:1.55}

  /* Process: one intentional vertical sequence; never the previous zig-zag grid. */
  #process .process-flow{margin-top:30px}
  #process .process-steps{display:flex;flex-direction:column;align-items:stretch;gap:0}
  #process .process-steps div{display:grid;grid-template-columns:36px 1fr;align-items:baseline;gap:0;padding:4px 0}
  #process .process-steps small{font-size:9px}
  #process .process-steps strong{font-size:27px}
  #process .process-steps i{width:1px;height:24px;margin:4px 0 4px 17px;transform-origin:top;background:#879096}
  #process .process-flow>p{margin-top:18px}
  .motion-on #process .process-flow.visible .process-steps i{animation:none;transform:scaleY(1)}
}

@media (max-width:430px){
  :root{--shell:calc(100vw - 30px)}
  .brand{font-size:23px}.brand em{font-size:28px}.brand small{top:25px;font-size:7px}
  .nav-actions .pill{font-size:13px;padding:10px 14px}
  .section-head h2,.service-title h2,.process-title h2,.studio-title h2,.contact h2{font-size:46px}
}

/* v9 typography: Instrument Sans only for primary descriptive copy. */
.intro,.studio-copy{font-family:var(--editorial-sans)}
\n/* v10 — editorial numbered navigation + destination acknowledgement */\n.nav-links{gap:32px}\n.nav-links a{gap:7px}\n.nav-links a small{font:8px/1 var(--mono);letter-spacing:.08em;color:#899197;transform:translateY(-.5px);transition:color .2s}\n.nav-links a span{font:inherit}\n.nav-links a:hover small{color:var(--blue)}\n.section-label{transition:color .28s ease}\n.section-label span{transition:width .42s cubic-bezier(.2,.75,.25,1),background-color .28s ease,box-shadow .28s ease}\n.section.nav-arrival .section-label{color:var(--blue)}\n.section.nav-arrival .section-label span{width:34px;background:var(--blue);box-shadow:0 0 0 1px color-mix(in srgb,var(--blue) 8%,transparent)}\n@media(prefers-reduced-motion:reduce){.section-label,.section-label span{transition:none}}\n

/* v11 — temporary dot / hairline navigation comparison */
.nav-links{gap:0}
.nav-links a{position:relative;display:flex;align-items:center;height:42px;padding:0 22px}
.nav-links a:first-child{padding-left:0}
.nav-links a:last-child{padding-right:0}
.nav-links a+ a::before{content:"";position:absolute;left:0;top:50%;transform:translate(-50%,-50%);color:#aeb3b4;pointer-events:none}
.nav-links.nav-dot a+ a::before{content:"·";font:12px/1 var(--sans);top:49%}
.nav-links.nav-hairline a+ a::before{width:1px;height:12px;background:#c8c9c5}
.nav-style-test{position:absolute;left:50%;top:66px;transform:translateX(-50%);display:flex;gap:2px;padding:3px;background:color-mix(in srgb,var(--paper) 94%,white);border:1px solid var(--line);border-radius:7px;box-shadow:0 4px 18px rgba(17,24,32,.05);z-index:3}
.nav-style-test button{border:0;background:transparent;color:var(--muted);font:8px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:5px 7px;border-radius:4px;cursor:pointer}
.nav-style-test button.active{background:var(--ink);color:var(--paper)}
.section.nav-arrival .section-label{color:var(--blue)}
.section.nav-arrival .section-label span{width:36px;background:var(--blue)}
.section.nav-arrival h2{animation:destinationWash .78s ease-out both}
@keyframes destinationWash{0%{text-shadow:0 0 0 transparent}18%{text-shadow:0 0 22px color-mix(in srgb,var(--blue) 22%,transparent)}100%{text-shadow:0 0 0 transparent}}
@media(max-width:980px){.nav-style-test{display:none}}
@media(prefers-reduced-motion:reduce){.section.nav-arrival h2{animation:none}}


/* v12 — final dot navigation + destination flash */
.nav-links{gap:0;align-items:center}
.nav-links a{position:relative;display:flex;align-items:center;height:42px;padding:0 26px}
.nav-links a:first-child{padding-left:0}
.nav-links a:last-child{padding-right:0}
.nav-links a + a::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#9da5aa;
  opacity:.82;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.nav-style-test{display:none!important}
.section{transition:background-color .32s ease}
.section-label{transition:color .28s ease}
.section-label span{transition:width .38s cubic-bezier(.2,.75,.25,1),background-color .28s ease}
.section.nav-arrival{animation:sectionArrivalFlash .82s ease-out both}
.section.nav-arrival .section-label{color:var(--blue)}
.section.nav-arrival .section-label span{width:36px;background:var(--blue)}
.section.nav-arrival h2{animation:none}
@keyframes sectionArrivalFlash{
  0%{background-color:color-mix(in srgb,var(--blue) 0%,var(--paper))}
  18%{background-color:color-mix(in srgb,var(--blue) 7%,var(--paper))}
  100%{background-color:var(--paper)}
}
@media(prefers-reduced-motion:reduce){
  .section.nav-arrival{animation:none;background-color:color-mix(in srgb,var(--blue) 5%,var(--paper))}
}


/* v13 — exact sticky-header anchor geometry + minimum final-section scroll allowance */
section[id]{scroll-margin-top:var(--header-h)}
.end-scroll-spacer{height:0;pointer-events:none}


/* v14 — final-section framing: Contact routes from Studio; no artificial end spacer. */
.end-scroll-spacer{display:none!important;height:0!important}
.site-footer{padding-top:50px;padding-bottom:28px}
.footer-main{padding-bottom:44px}
@media(max-width:760px){
  .site-footer{padding-top:42px;padding-bottom:22px}
  .footer-main{padding-bottom:36px}
}

/* v19a: cream header and hero only; original v14 hero dimensions retained. */
.site-header{background:#fbf4e7}
.hero-stage{background:#fbf4e7}

/* V19a staircase insertion: hero-only changes. Original hero height retained. */
.hero-aside{grid-template-columns:1fr;min-width:0;gap:8px}
.hero-aside .aside-note,.hero-aside .mini-rule{display:none}
.staircase-art{grid-column:1;grid-row:1;min-width:0;width:100%;align-self:start}
.staircase-art img{display:block;width:100%;height:auto;object-fit:contain}
.hero-aside .location{grid-column:1;grid-row:2}
@media(max-width:980px){.hero-aside{grid-template-columns:1fr}.staircase-art,.hero-aside .location{grid-column:1}}
@media(max-width:680px){.hero-aside{display:grid;margin-top:30px}.staircase-art{width:100%}.hero-aside .location{text-align:right}}

/* Staircase size-only revision: desktop artwork larger; v19a hero height retained. */
@media (min-width:981px){
 .hero-aside{position:relative;z-index:1;}
 /*.staircase-art{width:205%;max-width:none;margin-left:-85%;margin-top:-12px;} */
 .staircase-art{width:220%;max-width:none;margin-left:-95%;margin-top:-12px;}
 .staircase-art img{width:100%;height:auto;}
}
@media (min-width:681px) and (max-width:980px){
 .staircase-art{width:150%;max-width:none;margin-left:-45%;}
}

/* Legal entity footer: preserve existing footer layout */
.legal-entity{display:inline-block;margin-top:5px;font-size:inherit;opacity:.95}
