
:root{--navy:#123263;--blue:#215dc1;--muted:#56677f;--line:#d8e1ee;--pale:#f2f6fc;--pad:clamp(22px,6vw,112px);--header:88px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 20px)}body{margin:0;padding-top:var(--header);background:#fff;color:var(--navy);font-family:Manrope,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:6px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}h2{font-size:clamp(36px,4.2vw,64px);line-height:1.14;letter-spacing:-.055em}h2 span{color:var(--blue)}p{max-width:65ch}.skip-link{position:fixed;top:-100px;left:20px;z-index:200;background:#fff;padding:12px}.skip-link:focus{top:8px}
.header{position:fixed;top:0;left:0;right:0;height:var(--header);z-index:100;display:flex;justify-content:space-between;align-items:center;padding:0 var(--pad);background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:24px}.brand img{width:100px}.brand span{font-size:11px;font-weight:600;letter-spacing:.14em}.header nav{display:flex;align-items:center;gap:32px;font-size:14px}.header nav a{padding:10px 0}.header nav a:hover{color:var(--blue)}.header .nav-contact{border:1px solid var(--navy);padding:10px 21px}.menu-button{display:none}.hero{position:relative;isolation:isolate;min-height:min(850px,calc(100svh - var(--header)));background:#f4f8fd;padding:clamp(65px,9vh,110px) var(--pad) 28px;display:flex;flex-direction:column;justify-content:space-between;gap:55px;overflow:hidden}.pixel-field{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 90% 50%,#7dabec 0%,#d3e5fa 35%,#f6f9fe 72%)}.pixel-field canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.hero:after,.contact:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(248,251,255,.98) 0%,rgba(248,251,255,.94) 31%,rgba(248,251,255,.68) 53%,transparent 85%)}.eyebrow,.section-label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600}.hero h1{font-size:clamp(58px,7.3vw,112px);letter-spacing:-.065em;line-height:1.045;margin:32px 0}.hero h1 span{color:var(--blue)}.hero-description{font-size:17px;line-height:1.75;max-width:520px;margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 25px;font-size:14px;font-weight:600;transition:background .2s,color .2s}.primary{background:var(--navy);color:#fff}.primary:hover{background:var(--blue)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;letter-spacing:.025em}.hero-bottom>a{border-bottom:1px solid #8aa0bd;padding:5px 0}.motion-toggle{background:rgba(255,255,255,.85);border:1px solid #a4b8d4;padding:8px 12px;font-size:12px;min-height:44px}.section{padding:95px var(--pad) 105px}.section-label{display:flex;justify-content:space-between;gap:20px;margin-bottom:66px}.section-label>span:last-child{color:var(--muted);letter-spacing:.06em;font-weight:400}.split{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,8vw,140px)}.split>*{min-width:0}.prose{color:var(--muted)}.prose p+p{margin-top:22px}.prose .lead{font-size:24px;line-height:1.5;color:var(--navy);letter-spacing:-.025em}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:75px}.principles article{border-top:1px solid var(--line);padding-top:20px}.small-index{font-size:12px;color:var(--blue)}.principles h3{font-size:18px;margin:20px 0 10px;letter-spacing:-.025em}.principles p{font-size:16px;color:var(--muted)}.method{background:var(--navy);color:white}.method .section-label>span:last-child{color:#b7cae7}.method-layout{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.method h2 span{color:#9cc5ff}.method-heading>p{color:#c4d3e9;max-width:370px;margin-top:32px}.steps{margin:0;padding:0;list-style:none}.steps li{display:grid;grid-template-columns:45px 1fr;gap:15px;padding:26px 0;border-top:1px solid #456087}.steps li:last-child{border-bottom:1px solid #456087}.steps li>span{font-size:12px;color:#a7c7f4;padding-top:6px}.steps h3{font-size:23px;letter-spacing:-.03em;margin-bottom:10px}.steps p{font-size:16px;color:#c4d3e9}.technology{border-bottom:1px solid var(--line)}.tech-note{padding-top:24px;border-top:1px solid var(--line);font-size:14px;color:var(--blue);line-height:1.9}.contact{position:relative;isolation:isolate;overflow:hidden;min-height:530px;display:flex;align-items:center}.contact h2{font-size:clamp(42px,5.5vw,80px);margin:30px 0;line-height:1.1}.contact-content>p:not(.eyebrow){max-width:460px;color:var(--muted);margin-bottom:28px}.email{display:block;font-size:14px;margin-top:22px;overflow-wrap:anywhere}.footer{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:30px;align-items:center;padding:40px var(--pad);font-size:12px;border-top:1px solid var(--line)}.footer img{width:100px}.footer p{color:var(--muted)}
@media(min-width:1600px){.section,.hero,.footer{padding-left:max(var(--pad),calc((100vw - 1440px)/2));padding-right:max(var(--pad),calc((100vw - 1440px)/2))}}
@media(max-width:1100px){.brand span{display:none}.hero h1{font-size:80px}.section-label{margin-bottom:50px}}
@media(max-width:760px){:root{--header:72px}.brand img{width:85px}.menu-button{display:flex;gap:18px;align-items:center;justify-content:space-between;border:0;background:none;min-height:44px;padding:0 0 0 12px;font-size:14px}.menu-button>span{font-size:24px}.menu-button[aria-expanded=true]>span{transform:rotate(45deg)}.header nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:16px var(--pad) 24px;gap:0;box-shadow:0 16px 20px #12326312;border-top:1px solid var(--line);max-height:calc(100dvh - var(--header));overflow-y:auto}.header nav.open{display:flex;flex-direction:column;align-items:stretch}.header nav a{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}.header .nav-contact{border:0;border-bottom:1px solid var(--line);padding:14px 0}.hero{min-height:calc(100svh - var(--header));padding-top:52px;gap:45px}.hero .eyebrow{font-size:12px;letter-spacing:.04em}.hero h1{font-size:clamp(47px,10.7vw,76px);margin:29px 0;line-height:1.07}.hero-description{font-size:16px;max-width:440px;line-height:1.7}.hero:after,.contact:after{background:linear-gradient(90deg,rgba(248,251,255,.97),rgba(248,251,255,.9) 52%,rgba(248,251,255,.48))}.hero-bottom{flex-wrap:wrap;gap:14px;font-size:12px}.hero-bottom>span{display:none}.hero-bottom>a{font-size:12px}.motion-toggle{font-size:12px}.section{padding:65px var(--pad)}.section-label{margin-bottom:38px;font-size:12px}.section-label>span:last-child{display:none}h2{font-size:clamp(32px,7.7vw,46px);line-height:1.18}.split,.method-layout{grid-template-columns:1fr;gap:34px}.prose .lead{font-size:21px}.principles{grid-template-columns:1fr;gap:25px;margin-top:45px}.principles article{display:grid;grid-template-columns:28px 1fr;gap:8px 12px;padding-top:20px}.principles h3{margin:0;font-size:17px}.principles p{grid-column:2}.small-index{padding-top:5px}.method-heading>p{margin-top:23px}.steps li{grid-template-columns:28px 1fr;padding:23px 0}.steps h3{font-size:21px}.contact{min-height:530px}.contact h2{font-size:clamp(37px,8.8vw,64px)}.footer{grid-template-columns:1fr 1fr;padding:30px var(--pad);gap:26px}.footer>span{text-align:right}.footer img{width:85px}}
@media(max-width:360px){.hero h1{font-size:44px}.hero-bottom{align-items:flex-start}.button{font-size:14px;padding:14px 18px}}
.pixel-field{z-index:0}.hero:after,.contact:after{z-index:1}.hero-content,.hero-bottom,.contact-content{position:relative;z-index:2}
.footer{display:flex;flex-direction:column;gap:0;text-align:center;padding:55px var(--pad) 35px;background:#fff}
.footer img{width:175px;margin:0 auto 45px}.footer-positioning,.footer-details{font-family:"Courier New",monospace;text-transform:uppercase;font-size:12px;letter-spacing:.2em;line-height:1.9;max-width:none}
.footer .footer-positioning{color:#526d94;margin-bottom:9px}.footer .footer-details{color:#526d94;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.footer-social{font-size:12px;margin-top:20px;color:var(--muted)}
@media(max-width:760px){.footer{padding:45px var(--pad) 30px}.footer img{width:145px;margin-bottom:32px}.footer-positioning,.footer-details{font-size:12px;letter-spacing:.1em}.footer .footer-details{display:block}.footer-details>span[aria-hidden]{display:none}.footer-details>a{display:block;overflow-wrap:anywhere}}
/* Restrained type scale: one sans for reading, spaced mono for signatures. */
:root{--title:clamp(2.75rem,4.6vw,4rem);--section-title:clamp(2rem,2.9vw,2.625rem)}
body{font-weight:400;line-height:1.75}
.hero h1{font-size:var(--title);font-weight:400;line-height:1.13;letter-spacing:-.04em;margin:30px 0 26px}
h2,.contact h2{font-size:var(--section-title);font-weight:400;line-height:1.23;letter-spacing:-.035em}
.hero-description{font-size:1rem;max-width:490px;line-height:1.8}
.prose .lead{font-size:1.2rem;line-height:1.65;letter-spacing:-.015em}
.steps h3,.principles h3{font-size:1.125rem;font-weight:500;line-height:1.5;letter-spacing:-.015em}
.eyebrow,.section-label,.small-index,.brand span{font-family:"Courier New",monospace;font-size:.75rem;font-weight:400;letter-spacing:.17em;line-height:1.7}
.brand img{width:112px}.brand span{font-size:.75rem;letter-spacing:.12em}
.header nav{font-size:.875rem}.button{font-size:.875rem;font-weight:500}
.section-label{margin-bottom:52px}.section-label>span:last-child{letter-spacing:.1em}
.contact h2{margin:25px 0}.hero{min-height:min(790px,calc(100svh - var(--header)))}
.hero:after,.contact:after{background:linear-gradient(90deg,rgba(248,251,255,.98),rgba(248,251,255,.92) 28%,rgba(248,251,255,.48) 49%,transparent 76%)}
@media(max-width:760px){:root{--title:clamp(2.35rem,8.8vw,3.65rem);--section-title:clamp(1.85rem,6.8vw,2.5rem)}.brand img{width:92px}.hero h1{font-size:var(--title)}.hero .eyebrow{font-size:.75rem;letter-spacing:.1em}.section-label{margin-bottom:32px}.prose .lead{font-size:1.125rem}.steps h3,.principles h3{font-size:1.0625rem}.hero:after,.contact:after{background:linear-gradient(90deg,rgba(248,251,255,.97),rgba(248,251,255,.88) 48%,rgba(248,251,255,.38))}.contact{min-height:470px}.hero{min-height:calc(100svh - var(--header))}}
/* Reference typography, shared by navigation, short headings and signatures. */
:root{--signature:"Courier New",monospace}
.brand{flex-shrink:0}.brand img{flex:none;aspect-ratio:661/160;object-fit:contain;height:auto}
.header nav,.menu-button,.button,.steps h3,.principles h3,.tech-note,.footer-social,.footer-copyright{font-family:var(--signature);font-weight:400;letter-spacing:.1em}
.header nav,.menu-button,.button{font-size:.875rem;letter-spacing:.07em}
.header nav{gap:28px}
.header .nav-contact{border:0;padding:10px 0;background:none}
.steps h3,.principles h3{font-size:1.125rem;line-height:1.45;letter-spacing:.025em}
.tech-note{font-size:.875rem;line-height:1.9;letter-spacing:.07em}
.footer .footer-details{display:block;font-weight:400;letter-spacing:.1em}
.footer-details p{max-width:none}.footer-details a{display:block;margin-top:12px;overflow-wrap:anywhere}
.footer-social,.footer-copyright{font-size:.75rem;line-height:1.9;text-transform:uppercase;letter-spacing:.1em}
.footer-copyright{margin-top:18px}.footer-social{margin-top:12px}
.hero{padding-bottom:65px;justify-content:center}
/* Size and spacing carry hierarchy; all headings retain their light weight. */
.hero h1{line-height:1.12;letter-spacing:-.035em}
.prose .lead{font-size:1.125rem;line-height:1.65}
.principles h3{margin-bottom:12px}.steps h3{margin-bottom:10px}
.steps li>div,.principles article{min-width:0}
.principles p,.steps p{line-height:1.7}
.brand{gap:20px}.brand span{letter-spacing:.1em}
.footer img{width:145px;margin-bottom:30px}
.footer-positioning{letter-spacing:.12em}
@media(max-width:760px){:root{--title:clamp(2.375rem,8.8vw,3.5rem);--section-title:clamp(1.875rem,6.8vw,2.375rem)}.header nav a{font-size:.9375rem}.header .nav-contact{padding:14px 0;border:0}.hero{padding-bottom:52px}.steps h3,.principles h3{font-size:1.0625rem;line-height:1.5;letter-spacing:.015em}.principles h3{margin-bottom:2px}.footer-positioning,.footer-details{letter-spacing:.08em}.footer img{width:125px;margin-bottom:26px}}
.footer{display:grid;grid-template-columns:145px minmax(0,1fr) auto;align-items:start;gap:clamp(28px,4vw,64px);text-align:left;padding:52px var(--pad) 40px}
.footer-brand{display:block;padding-top:3px}.footer .footer-brand img{width:145px;height:auto;margin:0}
.footer-info{min-width:0}.footer .footer-positioning{margin-bottom:16px}
.footer .footer-details{text-align:left}.footer .footer-copyright{margin-top:20px}
.footer-links{display:flex;gap:4px;align-items:center;margin-top:-9px}
.footer-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--navy)}
.footer-icon svg{width:24px;height:24px;flex:none}.footer-icon:hover{color:var(--blue)}
@media(max-width:900px){.footer{grid-template-columns:125px minmax(0,1fr);gap:28px 36px}.footer .footer-brand img{width:125px}.footer-links{grid-column:2;margin-top:-14px;margin-left:-10px}}
@media(max-width:520px){.footer{grid-template-columns:minmax(0,1fr);gap:25px;padding:40px var(--pad) 30px}.footer-links{grid-column:1;margin-top:-9px}.footer .footer-positioning{margin-bottom:14px}.footer .footer-details{letter-spacing:.04em}}
/* Editorial system: architectural headlines, quiet technical labels. */
:root{--signature:'IBM Plex Mono',monospace;--title:clamp(3rem,5.6vw,5rem);--section-title:clamp(2.1rem,3.2vw,2.75rem)}
body{font-family:Inter,Arial,sans-serif;line-height:1.75}
h1,h2,h3,.project-name{font-family:'Space Grotesk',Arial,sans-serif}
.hero h1{font-weight:500;letter-spacing:-.045em;line-height:1.06}
h2,.contact h2{font-weight:400;line-height:1.16}
.eyebrow,.section-label,.small-index,.brand span,.footer-positioning,.footer-details{font-family:var(--signature);font-weight:300}
.header nav,.menu-button,.button{font-weight:400;letter-spacing:.045em}
.hero-description,.prose>p,.contact-content>p:not(.eyebrow){font-size:1.0625rem}
.prose .lead{font-size:1.25rem;line-height:1.6}.prose p+p{margin-top:24px}
.projects{background:#f3f6fa}.projects-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:52px}.projects-heading>p{max-width:340px;color:var(--muted)}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:52px 30px}
.project-card{min-width:0}.project-open{display:block;width:100%;padding:0;border:0;background:none;text-align:left;color:var(--navy)}
.project-frame{display:block;aspect-ratio:3/2;overflow:hidden;background:#e9eef4}.project-frame img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.project-info{display:block;padding-top:18px;border-top:1px solid var(--line)}.project-name{display:block;font-size:1.375rem;line-height:1.3;font-weight:400;letter-spacing:-.025em}
.project-detail{display:block;margin-top:7px;font-family:var(--signature);font-size:.75rem;font-weight:300;line-height:1.7;color:var(--muted);letter-spacing:.02em}
@media(hover:hover){.project-open:hover .project-frame img{transform:scale(1.025)}.project-open:hover .project-name{color:var(--blue)}}
.technology{background:var(--navy);color:#fff}.technology h2 span{color:#adcaff}.technology .prose,.technology .section-label>span:last-child{color:#c8d6eb}.technology .prose .lead{color:#fff}.technology .tech-note{color:#adcaff;border-color:#456087}
.gallery-status{margin-top:24px}.gallery-status[hidden]{display:none}
.gallery-open{overflow:hidden}.project-dialog{width:min(1120px,94vw);max-height:92dvh;border:0;padding:28px;background:#fff;color:var(--navy);overflow:auto}.project-dialog::backdrop{background:rgba(8,24,48,.88)}
.dialog-header{display:flex;justify-content:space-between;gap:24px;align-items:start;margin-bottom:24px}.dialog-header h2{font-size:clamp(1.5rem,3vw,2rem);margin-top:8px}.dialog-header .eyebrow{letter-spacing:.04em}
.dialog-close,.dialog-controls button{background:none;border:0;min-height:44px;padding:8px;font:400 .8125rem var(--signature)}.dialog-close{white-space:nowrap}.dialog-close span{font-size:22px;vertical-align:middle;margin-left:8px}
.project-dialog figure{margin:0}.project-dialog figure img{width:100%;height:58dvh;object-fit:contain;background:#f3f6fa}.project-dialog figcaption{font-size:.875rem;color:var(--muted);margin-top:12px;min-height:1.75em}
.dialog-controls{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font:400 .75rem var(--signature)}.dialog-controls button:disabled{opacity:.35;cursor:default}
@media(max-width:760px){:root{--title:clamp(2.375rem,9.8vw,3.5rem);--section-title:clamp(1.875rem,7.6vw,2.25rem)}.hero-description,.prose>p,.contact-content>p:not(.eyebrow){font-size:1rem}.prose .lead{font-size:1.125rem}.projects-heading{display:block;margin-bottom:32px}.projects-heading>p{margin-top:22px}.project-grid{gap:34px 20px}.project-name{font-size:1.125rem}.project-dialog{padding:18px}.dialog-header{gap:12px}.project-dialog figure img{height:50dvh}}
@media(max-width:580px){.project-grid{grid-template-columns:1fr}.project-name{font-size:1.25rem}.project-frame{aspect-ratio:4/3}.project-info{padding-top:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.services{background:#f3f6fa}.service-block{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(36px,6vw,100px);padding:64px 0;border-top:1px solid var(--line);align-items:start}.service-block:last-of-type{padding-bottom:0}.service-copy h3{font-size:clamp(1.875rem,3vw,2.5rem);line-height:1.16;letter-spacing:-.035em;margin:22px 0}.service-copy>p:not(.eyebrow){color:var(--muted)}.service-list{list-style:none;padding:0;margin:24px 0 28px}.service-list li{border-bottom:1px solid var(--line);padding:10px 0;font-size:.9375rem}.service-contact{display:inline-block;border-bottom:1px solid currentColor;padding:8px 0;font-size:.875rem}.service-contact:hover{color:var(--blue)}.service-cases{gap:28px 18px}.service-cases .project-card:first-child{grid-column:1/-1}.service-cases .project-name{font-size:1.125rem}.service-cases .project-detail{font-size:.8125rem}.case-label{font:300 .75rem var(--signature);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px}.service-note{font-size:.875rem;margin-bottom:20px}.stad-service{align-items:center}.stad-logo{width:165px;margin:24px 0;mix-blend-mode:multiply}.stad-feature{display:block}.stad-feature>img{width:100%;aspect-ratio:4/3;object-fit:cover}.stad-feature>span{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--navy);font:400 .8125rem var(--signature)}.stad-service .button{gap:22px}.stad-brand{display:block;width:135px}.stad-brand img{width:100%;mix-blend-mode:multiply}.stad-intro{padding-top:90px;padding-bottom:80px}.stad-intro h1{font-size:clamp(2.5rem,6vw,5.5rem);line-height:1.05;letter-spacing:-.045em;font-weight:400;margin:30px 0}.stad-intro h1 span{color:var(--blue)}.stad-intro>p:not(.eyebrow){max-width:600px;color:var(--muted);margin-bottom:30px}.stad-page .project-grid{row-gap:50px}
@media(max-width:760px){.service-block{grid-template-columns:1fr;gap:32px;padding:42px 0}.service-copy h3{font-size:2rem}.service-cases{grid-template-columns:repeat(2,minmax(0,1fr))}.service-cases .project-frame{aspect-ratio:3/2}.service-cases .project-name{font-size:1rem}.service-cases .project-card:first-child .project-name{font-size:1.25rem}.stad-feature>span{font-size:.75rem}.stad-intro{padding-top:55px;padding-bottom:55px}.stad-brand{width:110px}}
@media(max-width:360px){.service-cases{grid-template-columns:1fr}}
/* Restore the approved Studio composition, scoped to this section. */
/* Warm accents from the supplied palette; layout and typography are unchanged. */
body:not(.stad-page){--navy:#173c70;--blue:#1760b2;--muted:#5f615f;--line:#dcd5ca;--ivory:#f3f0e8;--sand:#c8b9a3;--bronze:#9b8062;--bronze-ink:#796044;--anthracite:#292a29}
body:not(.stad-page) .services,body:not(.stad-page) .footer{background:var(--ivory)}
body:not(.stad-page) .service-copy>p:not(.eyebrow),body:not(.stad-page) .prose>p:not(.lead){color:var(--muted)}
body:not(.stad-page) .hero-description,body:not(.stad-page) .service-list{color:var(--anthracite)}
body:not(.stad-page) .eyebrow,body:not(.stad-page) .small-index,body:not(.stad-page) .case-label,body:not(.stad-page) .section-label>span:first-child{color:var(--bronze-ink)}
body:not(.stad-page) #services-title span,body:not(.stad-page) .contact h2 span{color:var(--bronze-ink)}
body:not(.stad-page) .primary{background:var(--bronze-ink);color:#fff}
body:not(.stad-page) .primary:hover{background:#614b35}
body:not(.stad-page) .service-contact{color:var(--bronze-ink);border-color:var(--bronze)}
body:not(.stad-page) .service-contact:hover{color:var(--navy);border-color:var(--navy)}
body:not(.stad-page) .technology{background:var(--navy);color:var(--ivory)}
body:not(.stad-page) .technology h2 span,body:not(.stad-page) .technology .section-label>span:first-child,body:not(.stad-page) .technology .tech-note{color:var(--sand)}
body:not(.stad-page) .technology .prose>p:not(.lead),body:not(.stad-page) .technology .section-label>span:last-child{color:#e0e0dc}
body:not(.stad-page) .technology .prose .lead{color:var(--ivory)}
body:not(.stad-page) .technology .tech-note{border-color:#73808e}
body:not(.stad-page) .service-cases{scrollbar-color:var(--bronze) #e4ded4}
body:not(.stad-page) .project-frame,body:not(.stad-page) .project-dialog figure img{background:var(--ivory)}
.stad-banner{display:flex;align-items:center;width:100%;min-height:44px;margin:20px 0 10px}.stad-banner img{display:block;width:100%;height:auto}.stad-banner:hover{opacity:.9}
#studio h2,#studio .prose,#studio .principles p{font-family:Manrope,Arial,sans-serif;font-weight:400}
#studio h2{font-size:clamp(2rem,2.9vw,2.625rem);line-height:1.23;letter-spacing:-.035em}
#studio .prose>p{font-size:1rem;line-height:1.75}#studio .prose .lead{font-size:1.125rem;line-height:1.65}
#studio .section-label,#studio .small-index,#studio .principles h3{font-family:'Courier New',monospace;font-weight:400}
#studio .prose p+p{margin-top:22px}#studio .principles h3{font-size:1.125rem;line-height:1.45;letter-spacing:.025em}
/* Equal service rhythm. STAD is a signature, not a fourth visual hierarchy. */
.service-block,.stad-service{align-items:start;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);padding:56px 0;gap:clamp(36px,6vw,100px)}
.service-copy h3{font-weight:400;font-size:clamp(1.875rem,3vw,2.5rem)}.service-copy>p:not(.eyebrow){font-size:1rem;line-height:1.75}.service-list{margin:22px 0}.service-contact{min-height:44px}
.service-cases{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#8499b8 #e4eaf2;padding-bottom:14px;align-items:start}
.service-cases .project-card{flex:0 0 100%;scroll-snap-align:start}.service-cases .project-frame{aspect-ratio:3/2}.service-cases .project-name,.service-cases .project-card:first-child .project-name{font-size:1.125rem}
.case-label{min-height:24px;margin-bottom:14px}.service-cases .project-info{padding-top:14px}.case-navigation{display:flex;gap:12px;align-items:center;justify-content:flex-end;margin-top:8px;font:400 .75rem var(--signature)}.case-navigation button{min-height:44px;background:none;border:0;padding:8px}.case-navigation button:disabled{opacity:.35;cursor:default}
.stad-signature{display:flex;align-items:center;gap:20px;padding:18px 22px;margin:20px 0 10px;min-height:90px;background:radial-gradient(ellipse at 5% 90%,#529ab9 0%,transparent 44%),radial-gradient(ellipse at 31% 0%,#323151 0%,transparent 46%),radial-gradient(ellipse at 49% 0%,#ed502a 0%,transparent 40%),radial-gradient(ellipse at 58% 0%,#edb56c 0%,transparent 45%),#e6e5e2}.stad-signature img{width:125px;flex:none;mix-blend-mode:multiply}.stad-signature span{font-size:.75rem;line-height:1.6;color:#14233b;margin-left:auto;max-width:170px;background:#e6e5e2cc;padding:4px 7px}
@media(max-width:760px){.service-block,.stad-service{grid-template-columns:1fr;gap:28px;padding:42px 0}#studio h2{font-size:clamp(1.875rem,6.8vw,2.375rem)}#studio .principles h3{font-size:1.0625rem}.stad-signature{padding:16px;gap:12px}.stad-signature img{width:110px}}

/* Explicit access to the independent STAD website */
.stad-banner{flex-direction:column;align-items:stretch;text-decoration:none;gap:10px}
.stad-banner-label{display:flex;align-items:center;justify-content:space-between;font:inherit;font-size:14px;font-weight:400;color:var(--hdd-navy,#173c70);padding:2px 0 8px;border-bottom:1px solid #c8b9a3}
.stad-banner:hover .stad-banner-label{text-decoration:underline;text-underline-offset:4px}
.stad-banner:focus-visible{outline:2px solid #1760b2;outline-offset:5px}

/* Persistent bilingual access, outside the collapsible menu. */
.header .language-switch{display:flex;align-items:center;gap:9px;margin-left:auto;margin-right:28px;flex-shrink:0;font-family:var(--signature);font-size:14px;font-weight:400}
.language-switch a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:28px;color:#5f615f}
.language-switch a[aria-current="page"]{color:#173c70;text-decoration:underline;text-underline-offset:6px}
@media(max-width:760px){.header .language-switch{margin-right:16px;gap:5px}.header .menu-button{margin-left:0}}
@media(max-width:360px){.header .language-switch{margin-right:8px}.header .brand img{width:78px}}

.legal-links{display:flex;flex-wrap:wrap;gap:18px;margin-top:18px;font-size:13px}.legal-links a{text-decoration:underline;text-underline-offset:4px}.legal-dialog{width:min(760px,calc(100vw - 32px));max-height:85svh;padding:clamp(20px,4vw,44px);border:1px solid #c8b9a3;background:#f3f0e8;color:#292a29}.legal-dialog::backdrop{background:rgb(15 30 50 / .6)}.legal-dialog h2{font-size:28px;color:#173c70}.legal-dialog h3{font-size:18px;margin-top:24px}.legal-dialog p{font-size:16px;line-height:1.75}.legal-dialog a{text-decoration:underline}.legal-dialog button{min-height:44px;border:1px solid #796044;background:transparent;padding:8px 16px}.legal-dialog .legal-close{display:block;margin-left:auto}.legal-dialog [hidden]{display:none}.legal-copy{max-width:70ch}.project-role,.project-credits{display:block;font-size:14px;line-height:1.6;margin-top:7px}.policy-fallback{max-width:760px;margin:auto;padding:40px 24px}.policy-fallback h1{font-size:32px}

.contact-dialog{width:min(620px,calc(100vw - 24px));max-height:90dvh;overflow:auto;border:1px solid #c8b9a3;background:#f3f0e8;padding:clamp(20px,4vw,36px);color:#292a29}.contact-dialog::backdrop{background:rgb(15 30 50 / .65)}.contact-dialog h2{font-size:28px;margin:12px 0 24px}.contact-close{display:block;margin-left:auto;background:transparent;border:1px solid #796044;padding:8px 14px;min-height:44px}.contact-form{display:grid;gap:16px}.contact-form label{display:grid;gap:6px;font-size:14px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:12px;border:1px solid #9b9388;background:white;color:#292a29;font:inherit;border-radius:0}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{outline:2px solid #123263;outline-offset:2px}.form-privacy,.form-status{font-size:14px;line-height:1.6}.form-privacy a{text-decoration:underline}.contact-form button:disabled{opacity:.6}.contact-form [hidden]{display:none}

.consent-banner{position:fixed;z-index:1000;bottom:16px;left:16px;right:16px;max-width:940px;margin:auto;padding:22px;background:#f3f0e8;color:#292a29;border:1px solid #796044;box-shadow:0 6px 30px #0002;display:flex;gap:24px;align-items:center}.consent-banner[hidden]{display:none}.consent-banner p{font-size:14px;line-height:1.6;margin:8px 0 0}.consent-banner a{text-decoration:underline}.consent-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.consent-actions button{background:white;color:#123263;border:1px solid #123263;min-height:44px;padding:10px 14px;font:inherit;font-size:14px;cursor:pointer}.analytics-preferences{background:none;border:0;padding:0;font:inherit;font-size:13px;text-decoration:underline;color:inherit;cursor:pointer}.consent-actions [hidden]{display:none}@media(max-width:760px){.consent-banner{display:block;padding:18px;bottom:10px;left:10px;right:10px}.consent-actions{margin-top:16px}}
