[data-anim-root]{--anim-dur:.7s;--anim-step:90ms;--anim-dist:36px;--anim-ease:cubic-bezier(.2, .7, .2, 1)}[data-anim-root][data-anim-speed=slow]{--anim-dur:1.15s;--anim-step:.15s}@media (prefers-reduced-motion:no-preference){[data-anim-root].animations-ready [data-anim]:not([data-anim=stagger]):not(.is-done){transition:opacity var(--anim-dur) ease-out, transform var(--anim-dur) var(--anim-ease)}[data-anim-root].animations-ready [data-anim]:not([data-anim=stagger]):not(.is-in){opacity:0}[data-anim-root].animations-ready [data-anim=slide-up]:not(.is-in){transform:translateY(var(--anim-dist))}[data-anim-root].animations-ready [data-anim=slide-left]:not(.is-in){transform:translateX(var(--anim-dist))}[data-anim-root].animations-ready [data-anim=slide-right]:not(.is-in){transform:translateX(calc(-1 * var(--anim-dist)))}[data-anim-root].animations-ready [data-anim=zoom]:not(.is-in){transform:scale(.93)}[data-anim-root].animations-ready [data-anim=stagger]:not(.is-done) :is([data-anim-part],[data-anim-list]>*){transition:opacity var(--anim-dur) ease-out, transform var(--anim-dur) var(--anim-ease)}[data-anim-root].animations-ready [data-anim=stagger]:not(.is-in) :is([data-anim-part],[data-anim-list]>*){opacity:0;transform:translateY(calc(var(--anim-dist) * .6))}[data-anim-root].animations-ready [data-anim=stagger]:not(.is-done) [data-anim-list]>:nth-child(2){transition-delay:calc(var(--anim-step) * 1)}[data-anim-root].animations-ready [data-anim=stagger]:not(.is-done) [data-anim-list]>:nth-child(3){transition-delay:calc(var(--anim-step) * 2)}[data-anim-root].animations-ready [data-anim=stagger]:not(.is-done) [data-anim-list]>:nth-child(4){transition-delay:calc(var(--anim-step) * 3)}[data-anim-root].animations-ready [data-anim=stagger]:not(.is-done) [data-anim-list]>:nth-child(5){transition-delay:calc(var(--anim-step) * 4)}[data-anim-root].animations-ready [data-anim=stagger]:not(.is-done) [data-anim-list]>:nth-child(6){transition-delay:calc(var(--anim-step) * 5)}[data-anim-root].animations-ready [data-anim=stagger]:not(.is-done) [data-anim-list]>:nth-child(7){transition-delay:calc(var(--anim-step) * 6)}[data-anim-root].animations-ready [data-anim=stagger]:not(.is-done) [data-anim-list]>:nth-child(n+8){transition-delay:calc(var(--anim-step) * 7)}[data-anim-root].animations-ready .is-out,[data-anim-root].animations-ready .is-out *{transition:none!important}}@media (prefers-reduced-motion:reduce){[data-anim-root] [data-anim],[data-anim-root] [data-anim] :is([data-anim-part],[data-anim-list]>*){opacity:1!important;transition:none!important;transform:none!important}}
.site{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;--line:color-mix(in srgb, var(--text) 13%, transparent);--soft:color-mix(in srgb, var(--primary) 9%, var(--bg));font-size:1.0625rem;line-height:1.65;overflow-x:clip;container:site/inline-size}.site *,.site :before,.site :after{box-sizing:border-box}.site a{color:inherit}.site :focus-visible{outline:3px solid var(--accent);outline-offset:3px}.site p{margin:0}.s-skip{z-index:50;background:var(--primary);padding:.6rem 1rem;position:absolute;top:.5rem;left:-9999px;color:var(--on-primary)!important}.s-skip:focus{left:.5rem}.s-wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:clamp(1.1rem,4cqi,2.5rem)}.s-img{object-fit:cover;width:100%;height:100%;display:block}.s-img--empty{background:repeating-linear-gradient(135deg, transparent 0 14px, color-mix(in srgb, var(--muted) 12%, transparent) 14px 15px), var(--surface);min-height:160px}.s-h1,.s-h2,.s-h3{font-family:var(--font-display);font-weight:var(--hw);letter-spacing:var(--ht);text-wrap:balance;margin:0;line-height:1.08}.site[data-upper="1"] .s-h1,.site[data-upper="1"] .s-h2{text-transform:uppercase;line-height:.98}.s-h1{font-size:clamp(2.3rem,5.8cqi,4.4rem)}.s-h2{font-size:clamp(1.75rem,3.4cqi,2.6rem)}.s-h3{font-size:1.22rem;line-height:1.25}.site[data-upper="1"] .s-h1{font-size:clamp(2.6rem,7.5cqi,5.6rem)}.site[data-upper="1"] .s-h2{font-size:clamp(2rem,4.4cqi,3.2rem)}.s-lead{max-width:64ch;color:var(--muted);font-size:1.1rem}.s-lead+.s-lead{margin-top:1rem}.s-kicker{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.8rem;font-weight:700;margin-bottom:.75rem!important}.s-head{gap:.75rem;max-width:760px;margin-bottom:clamp(1.75rem,4cqi,2.75rem);display:grid}.s-head--center{text-align:center;justify-items:center;margin-inline:auto}.s-btn{border-radius:max(var(--radius), 4px);background:var(--primary);border:2px solid var(--primary);cursor:pointer;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.7rem 1.35rem;font-weight:700;text-decoration:none;transition:transform .15s,filter .15s;display:inline-flex;color:var(--on-primary)!important}.s-btn:hover{filter:brightness(1.08)}.s-btn:active{transform:translateY(1px)}.s-btn[aria-disabled=true]{cursor:default}.s-btn--sm{min-height:40px;padding:.4rem 1rem;font-size:.92rem}.s-btn--big{min-height:56px;font-size:1.1rem}.s-btn--ghost{border-color:color-mix(in srgb, var(--text) 30%, transparent);background:0 0;color:var(--text)!important}.s-header{z-index:20;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0}.site[data-mode=preview] .s-header{position:relative}.site[data-dark-header="1"] .s-header{background:var(--primary);color:var(--on-primary);border-bottom:3px solid var(--accent)}.site[data-dark-header="1"] .s-header .s-btn{background:var(--accent);border-color:var(--accent);color:var(--primary)!important}.site[data-dark-header="1"] .s-nav a{color:color-mix(in srgb, var(--on-primary) 78%, transparent)}.s-header__inner{justify-content:space-between;align-items:center;gap:1rem;min-height:68px;display:flex}.s-brand{font-family:var(--font-display);font-weight:var(--hw);letter-spacing:var(--ht);align-items:center;gap:.6rem;min-width:0;font-size:1.12rem;line-height:1.15;text-decoration:none;display:flex}.s-brand span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.site[data-upper="1"] .s-brand{text-transform:uppercase}.s-brand__logo{object-fit:contain;flex-shrink:0;width:40px;height:40px}.s-nav{gap:1.5rem;margin-left:auto;font-size:.95rem;display:flex}.s-nav a{color:var(--muted);white-space:nowrap;text-decoration:none}.s-nav a:hover{color:var(--text)}@container site (max-width:860px){.s-nav{display:none}}.s-hero{position:relative}.s-hero__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.9rem;font-weight:700;margin-bottom:1rem!important}.s-hero__sub{max-width:56ch;color:var(--muted);font-size:1.15rem;margin:1.2rem 0 0!important}.s-hero__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.8rem;display:flex}.s-hero__actions:empty{display:none}.site[data-hero=split] .s-hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:clamp(1.5rem,5cqi,4rem);max-width:1200px;margin-inline:auto;padding:clamp(2.5rem,7cqi,5.5rem) clamp(1.1rem,4cqi,2.5rem);display:grid}.site[data-hero=split] .s-hero__media{aspect-ratio:5/5.5;border-radius:calc(var(--radius) * 1.5);order:2;overflow:hidden}.site[data-hero=split][data-ornament=rule] .s-hero__media{box-shadow:18px 18px 0 -2px var(--accent)}.site[data-hero=split][data-ornament=plus] .s-hero__media{border-radius:999px 999px var(--radius) var(--radius)}.site[data-hero=centered] .s-hero{text-align:center;flex-direction:column;align-items:center;padding:clamp(3rem,9cqi,7rem) clamp(1.1rem,4cqi,2.5rem) 0;display:flex}.site[data-hero=centered] .s-hero__copy{flex-direction:column;align-items:center;max-width:900px;display:flex}.site[data-hero=centered] .s-hero__sub{margin-inline:auto!important}.site[data-hero=centered] .s-hero__actions{justify-content:center}.site[data-hero=centered] .s-hero__media{aspect-ratio:21/9;border-radius:calc(var(--radius) * 1.3);order:2;width:100%;max-width:1160px;margin-top:clamp(2.5rem,6cqi,4rem);overflow:hidden}.site[data-hero=centered][data-ornament=gradient] .s-hero{background:radial-gradient(60% 50% at 15% 10%, color-mix(in srgb, var(--primary) 22%, transparent), transparent 70%), radial-gradient(50% 45% at 90% 20%, color-mix(in srgb, var(--accent) 28%, transparent), transparent 70%)}.site[data-hero=centered][data-ornament=gradient] .s-hero__eyebrow{background:color-mix(in srgb, var(--primary) 12%, transparent);color:var(--primary);letter-spacing:.02em;text-transform:none;border-radius:999px;padding:.35rem .9rem}.site[data-hero=centered][data-ornament=none] .s-hero__media{aspect-ratio:16/7;filter:grayscale()}.site[data-hero=centered][data-ornament=none] .s-h1{font-size:clamp(2.6rem,7.5cqi,6rem)}.site[data-hero=fullbleed] .s-hero,.site[data-hero=poster] .s-hero{color:#fff;background:var(--primary);align-items:end;min-height:min(86vh,820px);display:grid}.site[data-mode=preview][data-hero=fullbleed] .s-hero,.site[data-mode=preview][data-hero=poster] .s-hero{min-height:620px}.site[data-hero=fullbleed] .s-hero__media,.site[data-hero=poster] .s-hero__media{position:absolute;inset:0}.site[data-hero=fullbleed] .s-hero__media:after{content:"";background:linear-gradient(90deg,#000000b8,#00000040 70%),linear-gradient(#0000 60%,#00000059);position:absolute;inset:0}.site[data-hero=fullbleed] .s-hero__copy{width:100%;max-width:1200px;margin-inline:auto;padding:0 clamp(1.1rem,4cqi,2.5rem) clamp(2.5rem,7cqi,5.5rem);position:relative}.site[data-hero=fullbleed] .s-h1{max-width:17ch}.site[data-hero=fullbleed] .s-hero__sub,.site[data-hero=poster] .s-hero__sub{color:#ffffffe0}.site[data-hero=fullbleed] .s-hero .s-btn--ghost,.site[data-hero=poster] .s-hero .s-btn--ghost{border-color:#fff9;color:#fff!important}.site[data-hero=fullbleed][data-ornament=hazard] .s-hero__eyebrow{background:var(--primary);color:var(--on-primary);padding:.3rem .7rem;display:inline-block}.site[data-hero=poster] .s-hero__media:after{content:"";background:linear-gradient(0deg, var(--bg) 2%, #0000008c 45%, #0003);position:absolute;inset:0}.site[data-hero=poster] .s-hero__copy{width:100%;max-width:1200px;margin-inline:auto;padding:clamp(2rem,5cqi,3.5rem) clamp(1.1rem,4cqi,2.5rem);position:relative}.site[data-hero=poster] .s-h1{max-width:14ch;color:var(--text);font-size:clamp(3rem,10cqi,8.5rem);line-height:.92}.site[data-hero=poster] .s-hero__eyebrow{color:var(--primary)}.site[data-hero-img="0"][data-hero=fullbleed] .s-hero,.site[data-hero-img="0"][data-hero=poster] .s-hero{min-height:0;color:var(--on-primary);padding-top:clamp(3rem,8cqi,6rem)}.site[data-hero-img="0"] .s-hero__media{display:none}.site[data-hero-img="0"][data-hero=fullbleed] .s-hero__sub{color:color-mix(in srgb, var(--on-primary) 85%, transparent)}.site[data-hero-img="0"][data-hero=fullbleed] .s-hero .s-btn{background:var(--on-primary);border-color:var(--on-primary);color:var(--primary)!important}.site[data-hero-img="0"][data-hero=fullbleed] .s-hero .s-btn--ghost{background:0 0;color:var(--on-primary)!important}.site[data-hero-img="0"][data-hero=poster] .s-hero{background:var(--bg)}.site[data-hero=band] .s-hero{background:var(--primary);min-height:min(78vh,720px);color:var(--on-primary);grid-template-columns:1fr 1fr;display:grid}.site[data-mode=preview][data-hero=band] .s-hero{min-height:560px}.site[data-hero=band] .s-hero__media{clip-path:polygon(14% 0,100% 0,100% 100%,0 100%);order:2;margin-left:-10%}.site[data-hero=band] .s-hero__copy{z-index:1;align-self:center;padding:clamp(2.5rem,6cqi,4rem) clamp(1.1rem,4cqi,2.5rem) clamp(2.5rem,6cqi,4rem) max(clamp(1.1rem,4cqi,2.5rem),50cqi - 600px + 2.5rem);position:relative}.site[data-hero=band] .s-hero__eyebrow{color:var(--accent);border-left:4px solid var(--accent);padding-left:.7rem}.site[data-hero=band] .s-hero__sub{color:color-mix(in srgb, var(--on-primary) 82%, transparent)}.site[data-hero=band] .s-hero .s-btn{background:var(--accent);border-color:var(--accent);color:#fff!important}.site[data-hero=band] .s-hero .s-btn--ghost{border-color:color-mix(in srgb, var(--on-primary) 50%, transparent);background:0 0;color:var(--on-primary)!important}.site[data-hero=editorial] .s-hero{border-bottom:1px solid var(--text);grid-template-columns:1.5fr .8fr;align-items:end;gap:clamp(1.5rem,5cqi,4.5rem);max-width:1200px;margin-inline:auto;padding:clamp(3rem,8cqi,6rem) clamp(1.1rem,4cqi,2.5rem) clamp(2rem,5cqi,3.5rem);display:grid}.site[data-hero=editorial] .s-hero__media{aspect-ratio:3/4;order:2;overflow:hidden}.site[data-hero=editorial] .s-h1{font-size:clamp(2.6rem,6.4cqi,5.2rem);line-height:1.02}.site[data-hero=editorial] .s-hero__eyebrow{color:var(--muted);letter-spacing:.2em;border-top:1px solid var(--text);padding-top:.8rem;font-size:.78rem}.site[data-hero=framed] .s-hero{padding:clamp(.8rem,2.5cqi,2rem)}.site[data-hero=framed] .s-hero__media{aspect-ratio:21/8;border-radius:calc(var(--radius) * 1.4);border:6px solid var(--surface);overflow:hidden}.site[data-hero=framed] .s-hero__copy{background:var(--bg);border-radius:calc(var(--radius) * 1.4);width:calc(100% - clamp(1rem,6cqi,5rem));max-width:1200px;box-shadow:0 24px 50px -30px color-mix(in srgb, var(--text) 50%, transparent);margin:-4.5rem auto 0;padding:clamp(1.5rem,4cqi,3rem);position:relative}.site[data-hero-img="0"][data-hero=framed] .s-hero__copy{margin-top:1rem}@container site (max-width:760px){.site[data-hero=split] .s-hero,.site[data-hero=editorial] .s-hero,.site[data-hero=band] .s-hero{grid-template-columns:1fr}.site[data-hero=split] .s-hero__media,.site[data-hero=editorial] .s-hero__media{aspect-ratio:4/3;order:0}.site[data-hero=band] .s-hero__media{aspect-ratio:4/3;clip-path:polygon(0 0,100% 0,100% 88%,0 100%);order:0;margin:0}.site[data-hero=centered] .s-hero__media,.site[data-hero=framed] .s-hero__media{aspect-ratio:4/3}.site[data-hero=framed] .s-hero__copy{margin-top:-2rem}}.s-ornament{height:0}.site[data-ornament=rule] .s-ornament{border-top:1px solid var(--accent);border-bottom:3px solid var(--accent);width:calc(100% - 2*clamp(1.1rem,4cqi,2.5rem));max-width:1200px;height:7px;margin:0 auto}.site[data-ornament=hazard] .s-ornament{background:repeating-linear-gradient(-45deg, var(--primary) 0 18px, var(--text) 18px 36px);height:18px}.site[data-ornament=blueprint] .s-ornament{background:var(--accent);height:10px}.site[data-ornament=blueprint] .s-about,.site[data-ornament=blueprint] .s-stats{background-image:linear-gradient(color-mix(in srgb, var(--primary) 9%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--primary) 9%, transparent) 1px, transparent 1px);background-size:28px 28px}.site[data-ornament=plus] .s-ornament{background:linear-gradient(var(--accent), var(--accent)) center / 14px 4px no-repeat, linear-gradient(var(--accent), var(--accent)) center / 4px 14px no-repeat;height:30px;margin-top:1rem}.site[data-ornament=waves] .s-ornament{background:radial-gradient(circle at 12px -6px, transparent 14px, var(--surface) 15px) 0 0 / 24px 22px repeat-x;height:22px}.site[data-ornament=waves] .s-about{background:var(--surface)}.site[data-ornament=route] .s-ornament{background:radial-gradient(circle, var(--primary) 6px, transparent 7px) 0 50% / 26px 26px no-repeat, radial-gradient(circle, var(--primary) 6px, transparent 7px) 100% 50% / 26px 26px no-repeat, repeating-linear-gradient(90deg, var(--accent) 0 14px, transparent 14px 26px) 0 50% / 100% 3px no-repeat;width:calc(100% - 2*clamp(1.1rem,4cqi,2.5rem));max-width:1200px;height:26px;margin:1.5rem auto 0}.site[data-ornament=marquee] .s-ornament{background:var(--primary);height:auto;color:var(--on-primary);margin:1rem -1rem;overflow:hidden;transform:rotate(-1.2deg)}.s-marquee{width:max-content;font-family:var(--font-display);font-weight:var(--hw);text-transform:uppercase;white-space:nowrap;gap:2rem;padding:.9rem 0;font-size:clamp(1.2rem,3cqi,2rem);animation:28s linear infinite s-marquee;display:flex}.s-marquee b{color:var(--accent);margin-inline:.75rem}@keyframes s-marquee{to{transform:translate(-50%)}}.s-section{padding-block:clamp(3.25rem,8cqi,6rem)}.s-about__grid{grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(1.5rem,5cqi,4.5rem);display:grid}.s-about .s-h2{margin-bottom:1.25rem}.s-about__img{aspect-ratio:4/4.6;border-radius:var(--radius)}.s-checks{gap:.6rem;margin:1.6rem 0 0;padding:0;list-style:none;display:grid}.s-checks li{align-items:center;gap:.6rem;font-weight:600;display:flex}.s-checks svg{color:var(--on-primary);background:var(--primary);border-radius:50%;flex-shrink:0;width:24px;height:24px;padding:3px}@container site (max-width:760px){.s-about__grid{grid-template-columns:1fr}.s-about__img{aspect-ratio:4/3}}.s-vision{background:var(--surface)}.s-vision .s-h2{margin-bottom:clamp(1.5rem,4cqi,2.5rem)}.s-vision__grid{grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5cqi,4rem);display:grid}.s-vision__text{font-family:var(--font-display);font-size:clamp(1.35rem,2.6cqi,1.9rem);line-height:1.35;font-weight:var(--hw);letter-spacing:var(--ht)}.s-missions{counter-reset:m;gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.s-missions li{counter-increment:m;grid-template-columns:2.2rem 1fr;gap:.5rem;display:grid}.s-missions li:before{content:counter(m, decimal-leading-zero);font-family:var(--font-display);font-weight:var(--hw);color:var(--primary)}.s-values{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:1rem;margin:clamp(2rem,5cqi,3rem) 0 0;padding:0;list-style:none;display:grid}.s-values li{background:var(--bg);border-radius:var(--radius);border-top:3px solid var(--accent);gap:.3rem;padding:1.2rem;display:grid}.s-values span{color:var(--muted);font-size:.95rem}@container site (max-width:760px){.s-vision__grid{grid-template-columns:1fr}}.s-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:clamp(1rem,2.5cqi,1.5rem);display:grid}.s-card{border-radius:var(--radius);position:relative;overflow:hidden}.s-card__media{aspect-ratio:4/3;overflow:hidden}.s-card__body{align-content:start;gap:.5rem;display:grid}.s-card__num{font-family:var(--font-display);font-weight:var(--hw);color:var(--primary);display:none}.s-card__desc{color:var(--muted);font-size:.98rem}.site[data-cards=boxed] .s-card{background:var(--surface);border:1px solid var(--line)}.site[data-cards=boxed] .s-card__body{padding:1.4rem}.site[data-cards=boxed] .s-card:not(.s-card--img) .s-card__body:before{content:"";border-radius:calc(var(--radius) * .6);background:linear-gradient(135deg, var(--primary), var(--accent));width:44px;height:44px;margin-bottom:.6rem}.site[data-cards=plain] .s-card{border-top:1px solid var(--text);border-radius:0;padding-top:1.2rem}.site[data-cards=plain] .s-card__num{color:var(--accent);font-size:.85rem;display:block}.site[data-cards=line] .s-cards{border-top:2px solid var(--text);grid-template-columns:repeat(2,1fr);gap:0 clamp(1.5rem,5cqi,4rem)}.site[data-cards=line] .s-card{border-bottom:1px solid var(--line);border-radius:0;padding:1.4rem 0}.site[data-cards=line] .s-card__media{display:none}.site[data-cards=line] .s-card__body{grid-template-columns:3rem 1fr;column-gap:.5rem}.site[data-cards=line] .s-card__num{color:var(--accent);grid-row:span 2;display:block}@container site (max-width:700px){.site[data-cards=line] .s-cards{grid-template-columns:1fr}}.site[data-cards=numbered] .s-card{background:var(--surface);border-left:6px solid var(--primary);padding:1.5rem}.site[data-cards=numbered] .s-card__num{margin-bottom:.4rem;font-size:2.6rem;line-height:1;display:block}.site[data-cards=numbered] .s-card__media{margin:-1.5rem -1.5rem 1.2rem}.site[data-cards=tile] .s-card{background:var(--surface);align-items:end;min-height:340px;display:grid}.site[data-cards=tile] .s-card__media{aspect-ratio:auto;position:absolute;inset:0}.site[data-cards=tile] .s-card--img .s-card__media:after{content:"";background:linear-gradient(#0000000d 30%,#000000d9);position:absolute;inset:0}.site[data-cards=tile] .s-card__body{color:#fff;padding:1.4rem;position:relative}.site[data-cards=tile] .s-card:not(.s-card--img) .s-card__body{color:var(--text)}.site[data-cards=tile] .s-card__num{color:var(--primary);display:block}.site[data-cards=tile] .s-card--img .s-card__desc{color:#ffffffd9}.site[data-cards=tile] .s-card:hover .s-img{transform:scale(1.04)}.site[data-cards=tile] .s-img{transition:transform .5s}.s-gallery{gap:clamp(1rem,2.5cqi,1.75rem);display:grid}.s-project{border-radius:var(--radius);position:relative;overflow:hidden}.s-project__media{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden}.s-project__body{gap:.35rem;padding-top:1rem;display:grid}.s-project__meta{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:.82rem;font-weight:700}.s-project__client{font-size:.93rem;font-weight:600}.s-project__desc{color:var(--muted);font-size:.97rem}.site[data-gallery=grid] .s-gallery{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr))}.site[data-gallery=masonry] .s-gallery{columns:3 280px;column-gap:clamp(1rem,2.5cqi,1.75rem);display:block}.site[data-gallery=masonry] .s-project{break-inside:avoid;margin-bottom:clamp(1rem,2.5cqi,1.75rem)}.site[data-gallery=masonry] .s-project:nth-child(3n+1) .s-project__media{aspect-ratio:4/5}.site[data-gallery=masonry] .s-project:nth-child(3n+2) .s-project__media{aspect-ratio:1}.site[data-gallery=list] .s-gallery{border-top:1px solid var(--text);grid-template-columns:1fr;gap:0}.site[data-gallery=list] .s-project{border-bottom:1px solid var(--line);border-radius:0;grid-template-columns:minmax(200px,.8fr) 1.2fr;align-items:center;gap:clamp(1rem,4cqi,3rem);padding:1.5rem 0;display:grid}.site[data-gallery=list] .s-project__body{padding:0}@container site (max-width:640px){.site[data-gallery=list] .s-project{grid-template-columns:1fr}}.site[data-gallery=carousel] .s-gallery{scroll-snap-type:x mandatory;scrollbar-width:thin;max-width:none;padding-bottom:1rem;padding-left:max(clamp(1.1rem,4cqi,2.5rem),50cqi - 600px + 2.5rem);display:flex;overflow-x:auto}.site[data-gallery=carousel] .s-project{scroll-snap-align:start;background:var(--surface);flex:0 0 min(82cqi,420px)}.site[data-gallery=carousel] .s-project__media{border-radius:0}.site[data-gallery=carousel] .s-project__body{padding:1.1rem 1.25rem 1.4rem}.s-clients{background:var(--surface)}.s-logos{grid-template-columns:repeat(auto-fit,minmax(min(46%,170px),1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.s-logo{background:var(--bg);border-radius:var(--radius);border:1px solid var(--line);text-align:center;place-items:center;min-height:86px;padding:1rem;display:grid}.s-logo img{object-fit:contain;filter:grayscale();opacity:.8;max-width:100%;max-height:52px}.s-logo span{font-family:var(--font-display);font-weight:var(--hw);letter-spacing:var(--ht);color:var(--muted);font-size:1.05rem;line-height:1.2}.s-people{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:clamp(1.25rem,3cqi,2rem);margin:0;padding:0;list-style:none;display:grid}.s-person{align-content:start;gap:1rem;display:grid}.s-person__photo{aspect-ratio:1;border-radius:var(--radius);background:linear-gradient(140deg, var(--primary), color-mix(in srgb, var(--primary) 55%, var(--accent)));color:var(--on-primary);font-family:var(--font-display);font-weight:var(--hw);place-items:center;font-size:clamp(2rem,6cqi,3rem);display:grid;overflow:hidden}.site[data-cards=boxed] .s-person__photo,.site[data-hero=split] .s-person__photo{border-radius:50%;width:70%}.s-person__role{color:var(--primary);font-size:.95rem;font-weight:600;margin-top:.2rem!important}.site[data-hero=poster] .s-person__role,.site[data-hero=fullbleed] .s-person__role{color:var(--accent)}.s-person__bio{color:var(--muted);font-size:.95rem;margin-top:.4rem!important}.s-stats{background:var(--primary);color:var(--on-primary)}.site[data-ornament=blueprint] .s-stats{background-color:var(--primary);background-image:linear-gradient(#ffffff14 1px,#0000 1px),linear-gradient(90deg,#ffffff14 1px,#0000 1px)}.s-stats__title{margin-bottom:2rem}.s-stats__list{grid-template-columns:repeat(auto-fit,minmax(min(46%,180px),1fr));gap:clamp(1.25rem,3cqi,2rem);margin:0;display:grid}.s-stat{border-left:2px solid color-mix(in srgb, var(--on-primary) 35%, transparent);flex-direction:column-reverse;gap:.25rem;padding-left:1rem;display:flex}.s-stat dd{font-family:var(--font-display);font-weight:var(--hw);letter-spacing:var(--ht);margin:0;font-size:clamp(2rem,5cqi,3.2rem);line-height:1.05}.s-stat dt{color:color-mix(in srgb, var(--on-primary) 80%, transparent)}.site[data-ornament=none] .s-stats{background:var(--bg);color:var(--text);border-block:1px solid var(--text)}.site[data-ornament=none] .s-stat{border-color:var(--line)}.site[data-ornament=none] .s-stat dt{color:var(--muted)}.s-docs{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}.s-doc{border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);grid-template-columns:auto 1fr;align-items:start;gap:1rem;padding:1.2rem;display:grid}.s-doc strong{line-height:1.3;display:block}.s-doc__seal{border:2px solid var(--accent);width:46px;height:46px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.s-doc__img{aspect-ratio:3/4;border-radius:calc(var(--radius) * .5);width:64px;overflow:hidden}.s-doc__no{margin-top:.3rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88rem;display:block}.s-doc__issuer{color:var(--muted);font-size:.9rem;display:block}.s-testi{background:var(--surface)}.s-testi__list{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(1.25rem,4cqi,2.5rem);display:grid}.s-quote{background:var(--bg);border-radius:var(--radius);align-content:space-between;gap:1rem;margin:0;padding:1.6rem;display:grid}.s-quote blockquote{font-family:var(--font-display);letter-spacing:var(--ht);margin:0;font-size:1.22rem;line-height:1.45}.s-quote blockquote:before{content:"“";color:var(--accent);margin-bottom:.4rem;font-size:3rem;line-height:.6;display:block}.site[data-upper="1"] .s-quote blockquote{font-family:var(--font-body);font-weight:500}.s-quote figcaption{font-size:.95rem;display:grid}.s-quote figcaption span{color:var(--muted)}.s-jobs{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.s-job{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem 2rem;padding:1.4rem 0;display:flex}.s-job__meta{color:var(--accent);font-size:.92rem;font-weight:600;margin-top:.3rem!important}.s-job__desc{color:var(--muted);max-width:70ch;font-size:.97rem;margin-top:.4rem!important}.s-job .s-btn{flex-shrink:0}@container site (max-width:620px){.s-job{flex-direction:column;align-items:flex-start}}.s-articles{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(1.25rem,3cqi,2rem);display:grid}.s-article{align-content:start;gap:1rem;display:grid}.s-article__media{aspect-ratio:3/2;border-radius:var(--radius);overflow:hidden}.s-article__body{gap:.45rem;display:grid}.s-article__date{color:var(--muted);font-size:.85rem}.s-article__excerpt{color:var(--muted);font-size:.97rem}.s-article a{text-underline-offset:4px;text-decoration-thickness:1px}.s-contact{background:var(--primary);color:var(--on-primary)}.s-contact .s-h2{margin-bottom:1rem}.s-contact .s-lead,.s-contact dt{color:color-mix(in srgb, var(--on-primary) 78%, transparent)}.s-contact__grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:clamp(2rem,6cqi,4.5rem);display:grid}.s-contact__list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin:1.5rem 0 0;display:grid}.s-contact__list dt{font-size:.86rem}.s-contact__list dd{overflow-wrap:anywhere;margin:.15rem 0 0;font-weight:600}.s-contact__list a{text-decoration:none}.s-socials{flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 0;padding:0;list-style:none;display:flex}.s-socials a{border:1px solid color-mix(in srgb, var(--on-primary) 40%, transparent);border-radius:999px;padding:.35rem .85rem;font-size:.9rem;text-decoration:none;display:inline-block}.s-contact__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;display:flex}.s-contact .s-btn{background:var(--on-primary);border-color:var(--on-primary);color:var(--primary)!important}.s-contact .s-btn--ghost{border-color:color-mix(in srgb, var(--on-primary) 45%, transparent);background:0 0;color:var(--on-primary)!important}.s-map{border-radius:var(--radius);background:color-mix(in srgb, var(--on-primary) 12%, transparent);min-height:320px;overflow:hidden}.s-map iframe{border:0;width:100%;height:100%;min-height:320px;display:block}.s-map__placeholder{text-align:center;background:repeating-linear-gradient(0deg, transparent 0 39px, color-mix(in srgb, var(--on-primary) 14%, transparent) 39px 40px), repeating-linear-gradient(90deg, transparent 0 39px, color-mix(in srgb, var(--on-primary) 14%, transparent) 39px 40px);place-content:center;gap:.4rem;height:100%;min-height:320px;padding:1.5rem;display:grid}.s-map__placeholder span{font-weight:700}.s-map__placeholder small{opacity:.8}@container site (max-width:760px){.s-contact__grid{grid-template-columns:1fr}}.s-footer{color:var(--muted);border-top:1px solid var(--line);padding-block:2rem;font-size:.9rem}.s-footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;display:flex}.s-footer__brand{font-family:var(--font-display);color:var(--text);font-size:1.05rem}.s-wa-float{right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));z-index:30;background:#25d366;border-radius:50%;place-items:center;width:58px;height:58px;display:grid;position:fixed;box-shadow:0 8px 24px -6px #00000059;color:#fff!important}@media (prefers-reduced-motion:reduce){.site *,.s-marquee{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (prefers-reduced-motion:no-preference){.site.animations-ready [data-anim=stagger]:not(.is-done) :is(.s-wrap>:not(.s-cards,.s-logos,.s-people,.s-stats__list,.s-docs,.s-testi__list,.s-jobs,.s-articles,.s-vision__grid,.s-values),:is(.s-cards,.s-logos,.s-people,.s-stats__list,.s-docs,.s-testi__list,.s-jobs,.s-articles,.s-vision__grid,.s-values)>*){transition:opacity var(--anim-dur) ease-out, transform var(--anim-dur) var(--anim-ease)}.site.animations-ready [data-anim=stagger]:not(.is-in) :is(.s-wrap>:not(.s-cards,.s-logos,.s-people,.s-stats__list,.s-docs,.s-testi__list,.s-jobs,.s-articles,.s-vision__grid,.s-values),:is(.s-cards,.s-logos,.s-people,.s-stats__list,.s-docs,.s-testi__list,.s-jobs,.s-articles,.s-vision__grid,.s-values)>*){opacity:0;transform:translateY(calc(var(--anim-dist) * .6))}.site.animations-ready [data-anim=stagger]:not(.is-done) :is(.s-cards,.s-logos,.s-people,.s-stats__list,.s-docs,.s-testi__list,.s-jobs,.s-articles,.s-vision__grid,.s-values)>:nth-child(2){transition-delay:calc(var(--anim-step) * 1)}.site.animations-ready [data-anim=stagger]:not(.is-done) :is(.s-cards,.s-logos,.s-people,.s-stats__list,.s-docs,.s-testi__list,.s-jobs,.s-articles,.s-vision__grid,.s-values)>:nth-child(3){transition-delay:calc(var(--anim-step) * 2)}.site.animations-ready [data-anim=stagger]:not(.is-done) :is(.s-cards,.s-logos,.s-people,.s-stats__list,.s-docs,.s-testi__list,.s-jobs,.s-articles,.s-vision__grid,.s-values)>:nth-child(4){transition-delay:calc(var(--anim-step) * 3)}.site.animations-ready [data-anim=stagger]:not(.is-done) :is(.s-cards,.s-logos,.s-people,.s-stats__list,.s-docs,.s-testi__list,.s-jobs,.s-articles,.s-vision__grid,.s-values)>:nth-child(5){transition-delay:calc(var(--anim-step) * 4)}.site.animations-ready [data-anim=stagger]:not(.is-done) :is(.s-cards,.s-logos,.s-people,.s-stats__list,.s-docs,.s-testi__list,.s-jobs,.s-articles,.s-vision__grid,.s-values)>:nth-child(6){transition-delay:calc(var(--anim-step) * 5)}.site.animations-ready [data-anim=stagger]:not(.is-done) :is(.s-cards,.s-logos,.s-people,.s-stats__list,.s-docs,.s-testi__list,.s-jobs,.s-articles,.s-vision__grid,.s-values)>:nth-child(n+7){transition-delay:calc(var(--anim-step) * 6)}.site.animations-ready [data-anim=stagger]:not(.is-done) .s-wrap>:nth-child(2){transition-delay:calc(var(--anim-step) * 1)}.site.animations-ready [data-anim=stagger]:not(.is-done) .s-wrap>:nth-child(n+3){transition-delay:calc(var(--anim-step) * 2)}}
