/* =====================================================================
   Services page styles, in cascade order. The shared files are the same
   ones the homepage uses; the page's own files are in styles/services/.
   ===================================================================== */
@font-face{font-family:"BDO Grotesk";src:url(/assets/fonts/bdo-grotesk.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Departure Mono";src:url(/assets/fonts/departure-mono.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(/assets/fonts/geist-mono.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{--u:1px;--ink:#000;--midnight:#0D1432;--blue:#3457BA;--breeze:#B0E9FD;--bloom:#FAD7FF;--line:rgba(0,0,0,.15);
  --sans:"BDO Grotesk","Helvetica Neue",Arial,sans-serif;--mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease-out:cubic-bezier(.16,1,.3,1)}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;background:#fff}
body{font-family:var(--sans);color:#000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.b30-main{position:relative;z-index:2;background:transparent}
.hw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.hw-i{display:inline-block;transform:translate3d(0,110%,0);transition:transform 1.25s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 42ms)}
.is-in .hw-i{transform:none}
[data-reveal]{opacity:0;transform:translate3d(0,18px,0);transition:opacity 1s var(--ease-out),transform 1.2s var(--ease-out);transition-delay:var(--rd,120ms)}
[data-reveal].is-in{opacity:1;transform:none}
.sc-wrap{display:inline;white-space:inherit}
.sc-w{display:inline-block;white-space:nowrap}
.sc-c{display:inline-block;text-align:center}
.sc-c.x{opacity:.85}
.sc-c.h{opacity:0}
.b30btn{display:inline-flex;align-items:stretch;height:max(38px,calc(48*var(--u)));color:#000;text-decoration:none;cursor:pointer}
.b30btn__ic{position:relative;display:grid;place-items:center;width:max(38px,calc(48*var(--u)));border:1px solid #000;background:#fff;overflow:hidden;flex:none}
.b30btn__ic svg{width:max(18px,calc(24*var(--u)));height:max(18px,calc(24*var(--u)));display:block}
.b30btn__lbl{display:flex;align-items:center;padding:0 max(12px,calc(16*var(--u)));font:400 max(12px,calc(16*var(--u)))/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
.b30btn--solid .b30btn__lbl{background:#000;color:#fff}
.b30btn--line .b30btn__lbl{border:1px solid #000;border-left:0}
[data-anim] > i{position:relative;overflow:hidden}
@keyframes b30-buzz{0%,100%{transform:translate(0,0) rotate(0)}10%{transform:translate(-1px,0) rotate(-14deg)}20%{transform:translate(1px,-1px) rotate(12deg)}30%{transform:translate(-1px,0) rotate(-10deg)}40%{transform:translate(1px,0) rotate(8deg)}52%{transform:rotate(-5deg)}64%{transform:rotate(3deg)}76%{transform:rotate(-1deg)}}
@keyframes b30-ping{0%{transform:scale(1)}35%{transform:scale(.74)}70%{transform:scale(1.08)}100%{transform:scale(1)}}
@keyframes b30-ring{0%{opacity:.7;transform:scale(.35)}100%{opacity:0;transform:scale(1.35)}}
@keyframes b30-arrow{0%{transform:translateX(0)}48%{transform:translateX(150%)}49%{transform:translateX(-150%)}100%{transform:translateX(0)}}
[data-anim="phone"]:hover :is(i,.b30btn__ic) svg,[data-anim="phone"]:focus-visible :is(i,.b30btn__ic) svg{animation:b30-buzz .62s cubic-bezier(.36,.07,.19,.97) both}
[data-anim="target"]:hover :is(i,.b30btn__ic) svg,[data-anim="target"]:focus-visible :is(i,.b30btn__ic) svg{animation:b30-ping .72s cubic-bezier(.22,1,.36,1) both}
[data-anim="arrow"]:hover :is(i,.b30btn__ic) svg{animation:b30-arrow .7s cubic-bezier(.7,0,.2,1) both}
.b30t{position:relative;padding:calc(164*var(--u)) 0 calc(80*var(--u));overflow:hidden}
.b30t__head{display:flex;justify-content:space-between;align-items:flex-start;margin-left:calc(164*var(--u));width:calc(1582*var(--u))}
.b30t__h{margin:0;width:auto;white-space:nowrap;font-weight:400;font-size:max(30px,calc(50*var(--u)));line-height:1.2;letter-spacing:-.02em}
.b30t__note{font:400 max(11px,calc(14*var(--u)))/1.2 var(--mono);color:var(--midnight);text-transform:uppercase;white-space:nowrap}
.b30t__view{position:relative;margin-top:calc(96*var(--u));padding-left:calc(164*var(--u));height:calc(564*var(--u));cursor:none;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:none}
.b30t__track{position:relative;height:100%}
.b30t__card{--dim:0;position:absolute;left:0;top:0;width:calc(477*var(--u));height:100%;margin:0;transform-origin:0% 50%;will-change:transform;padding:calc(40*var(--u));background:#fff;border:1px solid var(--line);
  clip-path:inset(0 0 100% 0);transition:clip-path .95s cubic-bezier(.65,0,.2,1);transition-delay:calc(var(--k) * 70ms)}
.b30t.is-in .b30t__card,.b30t__view.is-in .b30t__card{clip-path:inset(0 0 0 0)}
.b30t__card blockquote{margin:0;font-size:max(17px,calc(25*var(--u)));line-height:1.2;letter-spacing:-.02em;will-change:transform;
  transform:translate3d(0,30px,0);opacity:0;transition:transform 1.2s var(--ease-out),opacity 1s var(--ease-out);transition-delay:calc(var(--k) * 70ms + 180ms)}
.b30t.is-in .b30t__card blockquote,.b30t__view.is-in .b30t__card blockquote{transform:none;opacity:1}
.b30t__card .q{display:block;will-change:transform}
.b30t__card figcaption{position:absolute;left:calc(40*var(--u));right:calc(40*var(--u));bottom:calc(40*var(--u));display:flex;flex-direction:column}
.b30t__ava{display:block;width:calc(48*var(--u));height:calc(48*var(--u));min-width:32px;min-height:32px;margin-bottom:calc(20*var(--u));background-size:cover;background-position:center}
.b30t__who{font:400 max(14px,calc(20*var(--u)))/1.2 var(--mono);text-transform:uppercase}
.b30t__org{margin-top:calc(6*var(--u));font:400 max(11px,calc(14*var(--u)))/1.2 var(--mono);text-transform:uppercase;opacity:.5}
.b30t__cur{position:fixed;left:0;top:0;z-index:40;width:max(76px,calc(108*var(--u)));height:max(76px,calc(108*var(--u)));margin:calc(max(76px,calc(108*var(--u))) / -2) 0 0 calc(max(76px,calc(108*var(--u))) / -2);
  border-radius:50%;background:#000;color:#fff;display:grid;place-items:center;pointer-events:none;
  font:400 max(11px,calc(13*var(--u)))/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;
  transform:translate3d(-200px,-200px,0) scale(0);will-change:transform}
@media (max-width:899px){.b30t{padding:72px 0 96px}}
@media (max-width:899px){.b30t__head{margin:0 20px;width:auto;flex-direction:column;gap:12px}}
@media (max-width:899px){.b30t__h{width:auto}}
@media (max-width:899px){.b30t__card{width:min(78vw,340px);padding:24px}}
@media (max-width:899px){.b30t__card figcaption{left:24px;right:24px;bottom:24px}}
@media (max-width:899px){.b30t__cur{display:none}}
@media (prefers-reduced-motion:reduce){.hw-i,[data-reveal],.b30t__card,.b30t__card blockquote{transition:none!important;transform:none!important;opacity:1!important;clip-path:none!important}}
.b30-pt{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;background:#0D1432;transform:translate3d(0,100%,0);pointer-events:none;will-change:transform}
.b30-pt__lbl{color:#fff;font:400 14px/1.2 "Geist Mono",ui-monospace,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}
.b30-pt-dim{position:fixed;inset:0;z-index:9997;background:rgba(13,20,50,.5);opacity:0;pointer-events:none}
html.pt-hold::after{content:"";position:fixed;inset:0;background:#0D1432;z-index:9999}
.b30-vcur{position:fixed;left:0;top:0;z-index:40;width:max(76px,calc(108*var(--u)));height:max(76px,calc(108*var(--u)));margin:calc(max(76px,calc(108*var(--u))) / -2) 0 0 calc(max(76px,calc(108*var(--u))) / -2);
  border-radius:50%;background:#000;color:#fff;display:grid;place-items:center;pointer-events:none;
  font:400 max(11px,calc(13*var(--u)))/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;transform:translate3d(-200px,-200px,0) scale(0);will-change:transform}
@media (hover:none){.b30-vcur{display:none}}
.b30-vcur > span{text-align:center;line-height:1.3;width:min-content}   /* a two-word label ("Coming soon") sits centred on two lines */
.b30t__foot{display:flex;align-items:center;gap:calc(24*var(--u));margin:calc(32*var(--u)) 0 0 calc(164*var(--u));width:calc(1582*var(--u));font:400 max(11px,calc(14*var(--u)))/1.2 var(--mono);text-transform:uppercase;color:var(--midnight)}
.b30t__count{flex:none;min-width:7ch}
.b30t__foot{display:none!important}
.b30t__bar{position:relative;flex:1;height:1px;background:rgba(0,0,0,.15);overflow:hidden}
.b30t__bar i{position:absolute;inset:0;background:#000;transform-origin:0 50%;transform:scaleX(0);will-change:transform}
.b30t__hint{flex:none;opacity:.5}
@media (max-width:899px){.b30t__foot{margin:20px 20px 0;width:auto}}
@media (max-width:899px){.b30t__hint{display:none}}
.b30t__card blockquote > .q,.b30t__card figcaption{opacity:calc(1 - var(--cov,0))}
.b30t__card figcaption{visibility:visible}
.tq__text,.tq__flap{position:relative;flex:none;width:calc(477*var(--u));height:100%;box-sizing:border-box}
.tq__text{background:#fff;border:1px solid rgba(0,0,0,.15);padding:calc(39*var(--u))}
.tq__q{margin:0;font-size:max(17px,calc(25*var(--u)));line-height:1.2;letter-spacing:-.02em;color:#000}
.tq__by{position:absolute;left:calc(39*var(--u));right:calc(39*var(--u));bottom:calc(40*var(--u));margin:0;display:flex;flex-direction:column;gap:calc(6*var(--u));font-family:var(--mono);text-transform:uppercase;line-height:1.2}
.tq__who{font-size:max(14px,calc(20*var(--u)))}
.tq__org{font-size:max(11px,calc(14*var(--u)));opacity:.5}
.tq__flap{transform-origin:0 50%;transform-style:preserve-3d;transform:translateZ(1px) rotateY(0deg);
  transition:transform var(--tq-flip,480ms) cubic-bezier(.7,0,.3,1) var(--tq-flip-delay,0ms)}
.tq__face{position:absolute;inset:0;overflow:hidden;border:1px solid rgba(0,0,0,.15);box-sizing:border-box;background:#eee;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.tq__face img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.tq__back{transform:rotateY(180deg)}
.tq__tag{position:absolute;left:calc(24*var(--u));bottom:calc(24*var(--u));padding:6px 10px;background:#fff;color:#000;font:400 max(11px,calc(14*var(--u)))/1.2 var(--mono);text-transform:uppercase;letter-spacing:.04em}
html.dark .tq__text{background:#000;border-color:rgba(255,255,255,.15)}
html.dark .tq__q,html.dark .tq__by{color:#F2F1EE}
html.dark .tq__face{border-color:rgba(255,255,255,.15)}
@media (max-width:899px){.tq__text,.tq__flap{width:min(72vw,320px)}}
@media (max-width:899px){.tq__text{padding:20px}}
@media (max-width:899px){.tq__by{left:20px;right:20px;bottom:20px}}
@media (max-width:899px){.tq__q{font-size:16px}}
::selection{background:#3457BA;color:#fff}
.b30-cube{position:relative;display:flex;align-self:stretch;flex:none;font:inherit;transform-style:preserve-3d;
  transform:translateZ(calc(var(--d, 20px) * -1)) rotateX(0deg);transition:transform .42s cubic-bezier(.65,0,.35,1)}
.b30-cube > .b30-cube__f,.b30-cube > .b30-cube__b{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.b30-cube > .b30-cube__f{transform:translateZ(var(--d, 20px))}
.b30-cube > .b30-cube__b{position:absolute!important;left:0;top:0;height:100%;box-sizing:border-box;transform:rotateX(-90deg) translateZ(var(--d, 20px))}
[data-btn]:hover .b30-cube,[data-btn]:focus-visible .b30-cube{transform:translateZ(calc(var(--d, 20px) * -1)) rotateX(90deg)}
@media (hover:none){[data-btn]:hover .b30-cube{transform:translateZ(calc(var(--d, 20px) * -1))}}
@media (prefers-reduced-motion:reduce){.b30-cube{transition:none}}
.b30btn--line .b30-cube{margin-left:-1px}
.b30btn--line .b30-cube > *{border-left:1px solid currentColor!important}
.b30-alt{display:inline-block;white-space:nowrap;vertical-align:baseline}
.b30-alt span{display:inline-block}
.b30-alt .sc-wrap{display:inline}
.b30-alt.is-mono{display:inline-block!important;font-family:"Departure Mono",var(--mono);letter-spacing:-.02em;line-height:.9;transform:translateX(var(--bx,0px)) scaleX(var(--sx,1));transform-origin:0 50%}
.b30-logo-px{position:absolute;pointer-events:none;opacity:0}
@keyframes b30-live{0%,70%{opacity:1}71%,100%{opacity:.15}}
.b30-cx{position:fixed;inset:0;z-index:9996;overflow:hidden;pointer-events:none;will-change:clip-path}
.b30-cx img{position:absolute;left:0;top:0;max-width:none;display:block;transform-origin:0 0;will-change:transform}
.b30-cxw{position:fixed;inset:0;z-index:9995;background:#fff;opacity:0;pointer-events:none}   /* the page fading to white behind it */
/* arriving with that picture (BaseLayout → core.js): the copy sits over the white, the white leaves a hole where the
   hero is, the hero shows its picture without its own reveal, and its steps + pixels wait to fade in */
.b30-cx.is-arr{z-index:10001}
html.pt-cs{overflow:hidden}
html.pt-cxh::after{clip-path:polygon(evenodd,0 0,100% 0,100% 100%,0 100%,0 0,0 var(--cxt),100% var(--cxt),100% var(--cxb),0 var(--cxb),0 var(--cxt))}
html.pt-cs .cz-hero__img{clip-path:none!important;transition:none!important}
html.pt-cs .cz-step,html.pt-cs .cz-px{opacity:0}
html.pt-wait{background:#fff}
html.pt-wait body,html.pt-wait .b30-cx.is-arr{visibility:hidden}
html.pt-img::after{content:"";position:fixed;inset:0;background:#fff;z-index:9999;transition:opacity .7s cubic-bezier(.22,1,.36,1)}
html.pt-img.pt-img-out::after{opacity:0}
.b30-alt.is-mono .hw{overflow:visible}
.b30-alt{position:relative}
.b30-alt.is-swap{color:transparent}
.b30-alt.is-swap .hw-i{color:transparent}
.b30-alt__ov{position:absolute;left:50%;top:0;white-space:nowrap;color:var(--swap-c,#000);font-family:"Departure Mono",var(--mono);letter-spacing:-.02em;line-height:inherit;
  transform:translateX(-50%) scaleX(var(--sx,1));transform-origin:50% 50%;opacity:0;transition:opacity .14s ease-out;pointer-events:none}
.b30-alt__ov.is-on{opacity:1}
html.dark.pt-px::after{background:#000}
html.dark{--ink:#F2F1EE;--midnight:#E4E8FF;--blue:#7B93FF;--breeze:#0F2638;--bloom:#2E1636;--line:rgba(255,255,255,.2)}
html.dark,html.dark body{background:#000}
html.dark body{color:#F2F1EE}
html.dark .b30btn{color:#F2F1EE}
html.dark .b30btn__ic{border:1px solid #F2F1EE;background:#000}
html.dark .b30btn--solid .b30btn__lbl{background:#F2F1EE;color:#000}
html.dark .b30btn--line .b30btn__lbl{border:1px solid #F2F1EE}
html.dark .b30t__card{background:#000}
html.dark .b30t__cur{background:#F2F1EE;color:#000}
html.dark .b30-pt{background:#E4E8FF}
html.dark .b30-pt__lbl{color:#000}
html.dark .b30-pt-dim{background:rgba(228,232,255,.5)}
html.dark.pt-hold::after{background:#E4E8FF}
html.dark .b30-vcur{background:#F2F1EE;color:#000}
html.dark .b30t__bar{background:rgba(255,255,255,.12)}
html.dark .b30t__bar i{background:#F2F1EE}
html.dark ::selection{background:#7B93FF;color:#000}
html.dark.pt-img::after{background:#000}
html.dark .b30-alt__ov{color:var(--swap-c,#F2F1EE)}
html.dark{color-scheme:dark;background:#000}
html.dark body{background:#000;color:#F2F1EE}
html.dark ::selection{background:#F4EB02;color:#000}
html.dark [fill="#000"]{fill:#F2F1EE}
html.dark{--night:linear-gradient(170deg,#000 0%,#000 52%,#020309 70%,#05081a 86%,#0a0f28 100%) fixed}
@property --mf{syntax:"<percentage>";inherits:true;initial-value:66%}
.pn{position:relative;width:calc(1592*var(--u));margin:0 auto;color:#000}
html.dark .pn{color:#F2F1EE}
.pn .sw2{display:block;transition:opacity .45s ease,transform .6s cubic-bezier(.16,1,.3,1),filter .45s ease}
.pn .sw2 + .sw2{position:absolute;left:0;top:0;width:100%}
.pn .sw2:not(.on){opacity:0;transform:translateY(calc(14*var(--u)));filter:blur(4px);pointer-events:none}
@media (max-width:899px){.pn{width:100%}}
.b30-ptx{position:fixed;inset:0;width:100%;height:100%;z-index:10001;pointer-events:none;display:block}
.b30-ptx.is-blocking{pointer-events:auto}
.b30-tfx{position:fixed;inset:0;width:100%;height:100%;z-index:10002;pointer-events:none}
@media (min-width:900px){.b30t{padding-top:0}}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}
.b30-swipe{position:fixed;inset:0;z-index:2147483000;pointer-events:none;transform:translateX(-100%)}
html.dark{--night:radial-gradient(70% 55% at 80% 105%,rgba(52,87,186,.30),rgba(52,87,186,0) 70%) fixed,
  radial-gradient(60% 50% at 10% 0%,rgba(13,20,50,.9),rgba(13,20,50,0) 70%) fixed,
  linear-gradient(180deg,#000 0%,#02030a 35%,#060b22 70%,#0D1432 100%) fixed}
html.dark,html.dark body{background:var(--night)!important}
@keyframes b30-sheen{0%{background-position:100% 0}60%,100%{background-position:0% 0}}
.b30-rowfog{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  -webkit-mask-image:linear-gradient(to top,#000 0%,transparent 100%);mask-image:linear-gradient(to top,#000 0%,transparent 100%)}
.sw{display:block}
.sw + .sw{position:absolute;left:0;top:0;width:100%}
.sw .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.sw .w > span{display:inline-block;transform:translateY(105%);transition:transform .55s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i) * 22ms)}
.sw.on .w > span{transform:none;transition-delay:calc(140ms + var(--i) * 30ms)}
@keyframes float{0%,100%{transform:translate3d(0,0,0)}33%{transform:translate3d(calc(1.5 * var(--u)),calc(-3 * var(--u)),0)}66%{transform:translate3d(calc(-1.5 * var(--u)),calc(-1.5 * var(--u)),0)}}
@property --hole{syntax:"<length>";inherits:false;initial-value:-300px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.b30sep{position:relative;z-index:3;height:6px;margin:-3px 0;background:transparent;overflow:visible;pointer-events:none}
.b30sep::before{content:"";position:absolute;left:0;right:0;top:2.5px;height:1px;background:rgba(0,0,0,.15);transform:scaleX(0);transition:transform 1.4s cubic-bezier(.65,0,.35,1)}
.b30sep i{position:absolute;top:0;width:6px;height:6px;background:#000;opacity:0;transform:scale(0);transition:opacity .3s ease .9s,transform .55s cubic-bezier(.16,1,.3,1) .9s}
.b30sep i.l{left:calc(161*var(--u))}
.b30sep i.r{right:calc(161*var(--u))}
.b30sep.is-in::before{transform:none}
.b30sep.is-in i{opacity:1;transform:none}
html.dark .b30sep::before{background:rgba(255,255,255,.18)}
html.dark .b30sep i{background:#F2F1EE}
html.dark{--night:radial-gradient(70% 55% at 80% 105%,rgba(84,92,214,.26),rgba(84,92,214,0) 70%) fixed,
  radial-gradient(60% 50% at 10% 0%,rgba(52,87,186,.16),rgba(52,87,186,0) 70%) fixed,
  linear-gradient(180deg,#080C22 0%,#0A0F2A 45%,#0D1432 100%) fixed}
html.dark .b30-rowfog{display:none}
@keyframes b30-drift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes b30-aura1{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(12%,6%,0) scale(1.12)}}
@keyframes b30-aura2{from{transform:translate3d(0,0,0) scale(1.05)}to{transform:translate3d(-14%,8%,0) scale(.94)}}
@keyframes b30-aura3{from{transform:translate3d(-6%,0,0) scale(.95)}to{transform:translate3d(8%,-6%,0) scale(1.1)}}
html.dark .b30-main > section{background:transparent!important}
html,body{overflow-x:clip}
@property --ha{syntax:"<angle>";inherits:false;initial-value:0deg}
.pn .sw2 .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.pn .sw2 .w > i{display:inline-block;font-style:normal;transform:translate3d(0,110%,0);transition:transform .9s cubic-bezier(.16,1,.3,1) var(--wd,0ms)}
.pn.is-in .sw2.on .w > i{transform:none}
.pn .sw2:not(.on) .w > i{transform:translate3d(0,-110%,0);transition-duration:.5s;transition-delay:calc(var(--wd,0ms) * .4)}
.pn .sw2,.pn .sw2:not(.on){opacity:1!important;filter:none!important;transform:none!important;transition:none!important}
.pn .sw2:not(.on){pointer-events:none}
@media (prefers-reduced-motion:reduce){.pn .sw2 .w > i{transition-duration:1ms!important}}
.pn{--pnb:calc(76*var(--u))}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@keyframes nxPulse{0%{box-shadow:0 0 0 calc(5*var(--u)) rgba(52,87,186,.16)}40%{box-shadow:0 0 0 calc(14*var(--u)) rgba(52,87,186,.22)}100%{box-shadow:0 0 0 calc(5*var(--u)) rgba(52,87,186,.16)}}
@keyframes fallHit{0%{background-color:var(--hit)}100%{background-color:#fff}}
@keyframes fallHitD{0%{background-color:var(--hit)}100%{background-color:#0b1029}}
@keyframes fallRing{to{transform:scale(18);opacity:0}}
@keyframes vsFloat{0%,100%{translate:0 0}50%{translate:0 calc(-7*var(--u))}}
@keyframes mqRun{to{transform:translateX(-50%)}}
.pbtn{display:inline-flex;align-items:center;height:calc(32*var(--u));padding:0 calc(12*var(--u));border-radius:calc(8*var(--u));box-sizing:border-box;
  font:400 calc(14*var(--u))/1 var(--mono,"Geist Mono",monospace);letter-spacing:.02em;text-transform:uppercase;text-decoration:none;
  color:rgba(13,20,50,.45);border:1px solid rgba(13,20,50,.14);background:#fff;transition:color .2s ease,border-color .2s ease}
.pbtn:hover{color:#000;border-color:rgba(13,20,50,.3)}
.pbtn.on{background:#000;color:#fff;border-color:#000}
.pbtn.on:hover{color:#fff;background:#1d1d1d}
.pbtn:focus-visible{outline:1px dashed #3457BA;outline-offset:3px}
@media (max-width:899px){.pbtn{height:34px;font-size:12px}}
@property --vs-in{syntax:"<length>";inherits:false;initial-value:0px}
.b30-nowrap{white-space:nowrap}
.b30-alt__ov{bottom:auto!important;padding-bottom:0!important;line-height:inherit!important}
.hw-i{transition:transform 1.45s cubic-bezier(.16,1,.3,1)!important;transition-delay:calc(var(--i,0) * 50ms)!important}
[data-reveal]{transition:opacity 1.2s cubic-bezier(.16,1,.3,1),transform 1.4s cubic-bezier(.16,1,.3,1)!important;transition-delay:var(--rd,120ms)!important}
.b30-alt.is-swap .hw-i{transition:none!important}
@media (prefers-reduced-motion:reduce){.hw-i,[data-reveal]{transition:none!important}}
.b30btn:focus-visible,.b30h__btn:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.b30h__title span.b30h__sk{display:inline-block}
.b30h__title .b30h__sk span{display:inline-block}
.b30h__title .b30h__sk .sc-wrap{display:inline}
.b30h__btn span span{display:inline-block;padding:0;border:0;background:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit}
.b30h__btn span .sc-wrap{display:inline}
.b30h__sk.is-mono{font-family:"Departure Mono",var(--mono);font-size:1.05em;letter-spacing:-.02em;vertical-align:baseline}
.b30h .b30h__glow{will-change:transform,translate,scale}
.b30h__tints{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;
  -webkit-mask-image:linear-gradient(to bottom,transparent 22%,#000 46%);mask-image:linear-gradient(to bottom,transparent 22%,#000 46%)}
.b30h__tint{position:absolute;left:0;top:0;width:calc(820*var(--u));height:calc(820*var(--u));border-radius:50%;opacity:0;mix-blend-mode:multiply;will-change:transform,opacity}
.b30h__tint.a{background:radial-gradient(closest-side,rgba(250,215,255,.62),rgba(250,215,255,0))}
.b30h__tint.b{background:radial-gradient(closest-side,rgba(176,233,253,.55),rgba(176,233,253,0))}
@media (hover:none),(max-width:899px){.b30h__tints{display:none}}
.b30h__btn--line .b30-cube{margin-left:calc(var(--u) * -0.917)}
.b30h__btn--line .b30-cube > *{border-left:calc(var(--u) * 0.917) solid currentColor!important}
.b30h__logo{position:relative}
.b30h__logo.is-px svg{opacity:var(--lx,1);transition:none}
.b30h__logo.is-px .b30-logo-px{opacity:1}
@media (hover:hover) and (pointer:fine){.b30h .b30h__orbit.is-ring,.b30h .b30h__orbit.is-dragging{cursor:none}}
.b30h .b30h__orbit,.b30h .b30h__orbit.is-hovering{cursor:default}
.b30h .b30h__screen{z-index:1}
.b30h .b30h__bezel{z-index:2}
.b30h .b30h__fg{z-index:3}
.b30h{--u: 1px;
  --ink: #000;
  --blue: #3457ba;
  --line: rgba(0, 0, 0, 0.15);
  position: relative;
  background: #fff;
  color: var(--ink);
  font-family: "BDO Grotesk", "Helvetica Neue", Arial, sans-serif;}
.b30h__pin{position: sticky;
  top: var(--pin-top, 0px);           
  height: var(--stage-h, 100vh);
  overflow: hidden;
  z-index: 1;}
.b30h__stage{position: absolute;
  inset: 0;
  transform-origin: 50% var(--view-cy, 50%);
  will-change: transform;}
.b30h__vline{position: absolute;
  width: 1px;
  pointer-events: none;}
.b30h__vline--27{left: calc(var(--u) * 1838);
  top: calc(var(--u) * -26);
  height: calc(var(--u) * 1081);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 22.8%, rgba(0, 0, 0, 0) 100%);}
.b30h__vline--26{left: calc(var(--u) * 82);
  top: 0;
  height: calc(var(--u) * 1055);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15) 22.8%, rgba(0, 0, 0, 0) 100%);
  z-index: 6;}
.b30h__vline--34{left: calc(var(--u) * 960 - 0.5px);
  top: calc(var(--u) * 124);
  height: calc(var(--u) * 801);
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15), rgba(102, 102, 102, 0));
  z-index: 0;
  
  -webkit-mask-image: linear-gradient(to bottom, #000 calc(var(--u) * 347), transparent calc(var(--u) * 347), transparent calc(var(--u) * 472), #000 calc(var(--u) * 472));
          mask-image: linear-gradient(to bottom, #000 calc(var(--u) * 347), transparent calc(var(--u) * 347), transparent calc(var(--u) * 472), #000 calc(var(--u) * 472));}
.b30h__glow{position: absolute;
  display: block;
  pointer-events: none;
  z-index: 1;
  mix-blend-mode: multiply;   
  will-change: opacity;
  user-select: none;}
.b30h__nav{position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: calc(var(--u) * 124);
  border: 1px solid var(--line);
  box-sizing: border-box;
  z-index: 4;}
.b30h__logo{position: absolute;
  left: calc(var(--u) * 163);
  top: 50%;
  width: calc(var(--u) * 258);
  height: calc(var(--u) * 44);
  transform: translateY(-50%);
  display: block;}
.b30h__logo svg{width: 100%; height: 100%; display: block;}
.b30h__links{position: absolute;
  left: calc(50% - var(--u) * 12.5);
  top: calc(50% + var(--u) * 0.5);
  transform: translate(-50%, -50%);
  display: flex;
  gap: calc(var(--u) * 96);
  margin: 0;
  padding: 0;
  list-style: none;}
.b30h__links a,
.b30h__btn span{font-family: "Geist Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;
  text-transform: uppercase;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;}
.b30h__links a{font-size: calc(var(--u) * 14); line-height: 1.2;}
.b30h__btn{display: inline-flex;
  align-items: stretch;
  height: calc(var(--u) * 44);
  color: inherit;
  text-decoration: none;}
.b30h__btn i{display: grid;
  place-items: center;
  width: calc(var(--u) * 44);
  border: calc(var(--u) * 0.917) solid #000;
  box-sizing: border-box;}
.b30h__btn i svg{width: calc(var(--u) * 22); height: calc(var(--u) * 22); display: block;}
.b30h__btn span{display: flex;
  align-items: center;
  padding: 0 calc(var(--u) * 14.667);
  font-size: calc(var(--u) * 14.667);
  letter-spacing: calc(var(--u) * 1.4667);
  line-height: 1.2;}
.b30h__btn--solid{position: absolute; left: auto; right: calc(var(--u) * 253.6); top: 50%; transform: translateY(-50%);}
.b30h__btn--solid span{background: #000; color: #fff; padding: 0 calc(var(--u) * 25.08);}
.b30h__btn--line span{border: calc(var(--u) * 0.917) solid #000;
  border-left: 0;}
.b30h__copy{position: absolute; inset: 0; pointer-events: none; z-index: 5; will-change: opacity;}
.b30h__copy > *{pointer-events: auto;}
.b30h__title{position: absolute;
  left: calc(var(--u) * 165);
  top: calc(var(--u) * 205);
  margin: 0;
  font-weight: 400;
  font-size: calc(var(--u) * 71);
  line-height: 1.2;
  letter-spacing: calc(var(--u) * -1.42);
  white-space: nowrap;}
.b30h__title span{display: block;}
.b30h__intro{position: absolute;
  left: calc(var(--u) * 1073);
  top: calc(var(--u) * 220);
  width: calc(var(--u) * 605);
  display: flex;
  flex-direction: column;
  gap: calc(var(--u) * 32);
  align-items: flex-start;}
.b30h__intro p{margin: 0;
  font-size: calc(var(--u) * 18);
  line-height: 1.2;
  letter-spacing: calc(var(--u) * -0.18);}
.b30h__intro p span{display: block;}
.b30h__scene{position: absolute;
  z-index: 3;
  pointer-events: none;}
.b30h__rig{position: absolute;
  inset: 0;
  transform-origin: 0 0;
  will-change: transform;}
.b30h__fg{position: absolute;
  inset: 0;
  will-change: transform, opacity;}
.b30h__fg img,
.b30h__fg canvas{position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;}
.b30h__fg canvas{opacity: 0;}
.b30h__fg.is-live canvas{opacity: 1;}
.b30h__fg.is-live img{visibility: hidden;}
.b30h__screen{position: absolute;
  overflow: hidden;
  background: #0d1432;}
.b30h__screen video,
.b30h__screen img{position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;}
.b30h__bezel{position: absolute;
  display: block;
  will-change: opacity;}
.b30h__ring{position: absolute;
  display: block;
  overflow: visible;
  pointer-events: none;}
.b30h__orbit{position: absolute;
  border-radius: 50%;
  pointer-events: auto;           
  cursor: grab;
  touch-action: pan-y;            
  -webkit-user-select: none;
          user-select: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 var(--fade-a, 20%), transparent var(--fade-b, 34%));
          mask-image: linear-gradient(to bottom, #000 var(--fade-a, 20%), transparent var(--fade-b, 34%));}
.b30h__orbit.is-dragging{cursor: grabbing;}
.b30h__orbit.is-hovering{cursor: default;}
.b30h__words{position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;}
.b30h__word{font-family: "BDO Grotesk", "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  letter-spacing: -0.01em;          
  dominant-baseline: central;}
.b30h__dim{position: absolute;
  left: 0;
  width: 100%;
  background: #000;
  opacity: 0;
  pointer-events: none;
  z-index: 10;}
.b30h + *{position: relative; z-index: 2;}
@media (max-width: 899px){.b30h__vline{display: none;}}
@media (max-width: 899px){.b30h__nav{position: relative;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    border-left: 0;
    border-right: 0;}}
@media (max-width: 899px){.b30h__logo{position: static; transform: none; width: 132px; height: 22.5px;}}
@media (max-width: 899px){.b30h__links{display: none;}}
@media (max-width: 899px){.b30h__btn--solid{position: static; transform: none;}}
@media (max-width: 899px){.b30h__btn{height: 36px;}}
@media (max-width: 899px){.b30h__btn i{width: 36px; border-width: 1px;}}
@media (max-width: 899px){.b30h__btn i svg{width: 18px; height: 18px;}}
@media (max-width: 899px){.b30h__btn span{font-size: 12px; letter-spacing: 1.2px; padding: 0 12px;}}
@media (max-width: 899px){.b30h__btn--solid span{padding: 0 14px;}}
@media (max-width: 899px){.b30h__btn--line span{border-width: 1px;}}
@media (max-width: 899px){.b30h__copy{position: absolute; inset: auto 0 auto 0; top: 64px; padding: 32px 20px 0;}}
@media (max-width: 899px){.b30h__title{position: static;
    font-size: clamp(36px, 10.5vw, 60px);
    letter-spacing: -0.02em;
    white-space: normal;}}
@media (max-width: 899px){.b30h__intro{position: static; width: auto; max-width: 34em; gap: 20px; margin-top: 20px;}}
@media (max-width: 899px){.b30h__intro p{font-size: 16px; letter-spacing: -0.01em;}}
@media (max-width: 899px){.b30h__intro p span{display: inline;}}
@media (prefers-reduced-motion: reduce){.b30h__stage, .b30h__rig, .b30h__fg{will-change: auto;}}
.b30h__fgsrc{position: absolute; left: 0; top: 0; width: 2px; height: 2px; opacity: 0; pointer-events: none;}
html.dark .b30h__tints{-webkit-mask-image:linear-gradient(to bottom,transparent 22%,#F2F1EE 46%);mask-image:linear-gradient(to bottom,transparent 22%,#F2F1EE 46%)}
html.dark .b30h__tint.a{background:radial-gradient(closest-side,rgba(84,36,98,.62),rgba(84,36,98,0))}
html.dark .b30h__tint.b{background:radial-gradient(closest-side,rgba(22,64,92,.55),rgba(22,64,92,0))}
html.dark .b30h{--ink:#F2F1EE;--blue:#7B93FF;--line:rgba(228,232,255,0.2);background:#000}
html.dark .b30h__vline--27{background:linear-gradient(to bottom, rgba(255,255,255,0.2) 22.8%, rgba(255,255,255,0) 100%)}
html.dark .b30h__vline--26{background:linear-gradient(to bottom, rgba(255,255,255,0.2) 22.8%, rgba(255,255,255,0) 100%)}
html.dark .b30h__vline--34{background:linear-gradient(to bottom, rgba(255,255,255,0.2), rgba(102, 102, 102, 0));-webkit-mask-image:linear-gradient(to bottom, #F2F1EE calc(var(--u) * 347), transparent calc(var(--u) * 347), transparent calc(var(--u) * 472), #F2F1EE calc(var(--u) * 472));mask-image:linear-gradient(to bottom, #F2F1EE calc(var(--u) * 347), transparent calc(var(--u) * 347), transparent calc(var(--u) * 472), #F2F1EE calc(var(--u) * 472))}
html.dark .b30h__btn i{border:calc(var(--u) * 0.917) solid #F2F1EE}
html.dark .b30h__btn--solid span{background:#F2F1EE;color:#000}
html.dark .b30h__btn--line span{border:calc(var(--u) * 0.917) solid #F2F1EE}
html.dark .b30h__screen{background:#E4E8FF}
html.dark .b30h__orbit{-webkit-mask-image:linear-gradient(to bottom, #F2F1EE var(--fade-a, 20%), transparent var(--fade-b, 34%));mask-image:linear-gradient(to bottom, #F2F1EE var(--fade-a, 20%), transparent var(--fade-b, 34%))}
html.dark .b30h__dim{background:#F2F1EE}
html.dark .b30l__bar{background:rgba(255,255,255,0.1)}
html.dark .b30l__fill{background:#F2F1EE}
html.dark .b30l__skip{border:1px solid #F2F1EE;background:#000;color:#F2F1EE}
html.dark .b30l__skip:focus-visible{outline:2px solid #7B93FF}
html.dark .b30l__bar i{background:rgba(255,255,255,0.07)}
html.dark .b30l__bar i.on{background:#F2F1EE}
html.dark .b30l__bar i{background:rgba(255,255,255,0.1)}
html.dark .b30l__bar i.on,html.dark .b30l__bar i.lead{background:#F2F1EE}
html.dark .b30l__label,html.dark .b30l__count{color:rgba(255,255,255,0.5)}
html.dark .b30-scur{background:#000;color:#F2F1EE}
html.dark .b30h__glow{display:none}
html.dark .b30h__glowx{display:none!important}
html:not(.dark) .b30h__glow{visibility:hidden}
html.dark .b30h__stage{background:
  radial-gradient(ellipse 34% 40% at 78% 82%, rgba(108,124,255,.62), transparent 72%),
  radial-gradient(ellipse 30% 30% at 62% 66%, rgba(150,96,214,.40), transparent 72%),
  radial-gradient(ellipse 24% 20% at 52% 58%, rgba(196,108,52,.26), transparent 72%)}
html.dark .b30h__fg img,html.dark .b30h__fg canvas{filter:url(#b30-fgnight)}
html.dark #b30h-ring-fade stop{stop-color:#fff}
html.dark .b30h__ring g{stroke-opacity:.24}
html.dark .b30h__vline{z-index:2;-webkit-mask-image:linear-gradient(to bottom,#000 0,#000 52%,transparent 66%);mask-image:linear-gradient(to bottom,#000 0,#000 52%,transparent 66%)}
html.dark .b30l__bar{background:none}
html.dark .b30-scur{background:#fff;color:#000;mix-blend-mode:normal;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.b30h__glowx .b30h__aur{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.b30h__glowx.has-gl{background:none!important}
html.dark .b30h__glowx.has-gl{display:block!important;mix-blend-mode:screen!important;opacity:1!important;filter:none!important}
html.dark .b30h__glowx.has-gl ~ .b30h__glow,html.dark .b30h__glow.is-gl{display:none!important}
.b30h.is-video .b30h__pin,.b30h.is-video .b30h__pin *{cursor:none}
.b30-scur{position:fixed;left:0;top:0;z-index:40;width:max(76px,calc(108*var(--u)));height:max(76px,calc(108*var(--u)));margin:calc(max(76px,calc(108*var(--u))) / -2) 0 0 calc(max(76px,calc(108*var(--u))) / -2);
  border-radius:50%;background:#fff;color:#000;mix-blend-mode:difference;display:grid;place-items:center;pointer-events:none;
  font:400 max(11px,calc(13*var(--u)))/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;transform:translate3d(-200px,-200px,0) scale(0);will-change:transform}
@media (hover:none),(pointer:coarse){.b30-scur{display:none}}
@media (hover:none),(pointer:coarse){.b30h.is-video .b30h__pin,.b30h.is-video .b30h__pin *{cursor:auto}}
@media (max-width:899px){.b30h__nav .b30h__btn--solid{order:2;margin-left:auto}}
@media (min-width:900px){.b30h__btn--solid{right:calc(var(--u) * 209.6 + max(58px, calc(var(--u) * 80)))}}
.b30h__btn--solid i{border-radius:12px}
.b30h__btn--solid span{border-radius:12px;margin-left:2px}
.b30h__px{position:absolute;top:calc(var(--u) * 121.5);left:calc(var(--u) * (var(--x) - 2) );width:5px;height:5px;background:#000;z-index:7;pointer-events:none}
html.dark .b30h__px{background:#F2F1EE}
@media (max-width:899px){.b30h__px{display:none}}
@media (min-width:900px){.b30h__btn--solid{right:calc(var(--u) * 169.6)}}
html.dark .b30h__vline--34{-webkit-mask-image:linear-gradient(to bottom,#000 calc(var(--u) * 347),transparent calc(var(--u) * 347),transparent calc(var(--u) * 472),#000 calc(var(--u) * 472),transparent calc(var(--u) * 560));mask-image:linear-gradient(to bottom,#000 calc(var(--u) * 347),transparent calc(var(--u) * 347),transparent calc(var(--u) * 472),#000 calc(var(--u) * 472),transparent calc(var(--u) * 560))}
.b30h__nav{border:0!important;
  background-image:repeating-linear-gradient(90deg,var(--line,rgba(0,0,0,.15)) 0 2px,transparent 2px 4px),repeating-linear-gradient(90deg,var(--line,rgba(0,0,0,.15)) 0 2px,transparent 2px 4px),
    repeating-linear-gradient(180deg,var(--line,rgba(0,0,0,.15)) 0 2px,transparent 2px 4px),repeating-linear-gradient(180deg,var(--line,rgba(0,0,0,.15)) 0 2px,transparent 2px 4px)!important;
  background-size:100% 1px,100% 1px,1px 100%,1px 100%!important;background-position:0 0,0 100%,0 0,100% 0!important;background-repeat:no-repeat!important}
html.dark .b30h__vline--26,html.dark .b30h__vline--27{-webkit-mask-image:repeating-linear-gradient(180deg,#000 0 2px,transparent 2px 4px),linear-gradient(to bottom,#000 0,#000 52%,transparent 66%);-webkit-mask-composite:source-in;
  mask-image:repeating-linear-gradient(180deg,#000 0 2px,transparent 2px 4px),linear-gradient(to bottom,#000 0,#000 52%,transparent 66%);mask-composite:intersect}
.b30h__ring circle{stroke-dasharray:2 2}
.b30h__vline--34{-webkit-mask-image:repeating-linear-gradient(180deg,#000 0 2px,transparent 2px 4px),linear-gradient(to bottom,#000 calc(var(--u) * 347),transparent calc(var(--u) * 347),transparent calc(var(--u) * 472),#000 calc(var(--u) * 472))!important;-webkit-mask-composite:source-in!important;
  mask-image:repeating-linear-gradient(180deg,#000 0 2px,transparent 2px 4px),linear-gradient(to bottom,#000 calc(var(--u) * 347),transparent calc(var(--u) * 347),transparent calc(var(--u) * 472),#000 calc(var(--u) * 472))!important;mask-composite:intersect!important}
html.dark .b30h__vline--34{-webkit-mask-image:repeating-linear-gradient(180deg,#000 0 2px,transparent 2px 4px),linear-gradient(to bottom,#000 calc(var(--u) * 347),transparent calc(var(--u) * 347),transparent calc(var(--u) * 472),#000 calc(var(--u) * 472),transparent calc(var(--u) * 560))!important;
  mask-image:repeating-linear-gradient(180deg,#000 0 2px,transparent 2px 4px),linear-gradient(to bottom,#000 calc(var(--u) * 347),transparent calc(var(--u) * 347),transparent calc(var(--u) * 472),#000 calc(var(--u) * 472),transparent calc(var(--u) * 560))!important}
.b30h__aura{position:absolute;left:0;right:0;top:0;height:70%;z-index:0;pointer-events:none;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 0,#000 70%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 70%,transparent 100%)}
.b30h__aura i{position:absolute;border-radius:50%;filter:blur(calc(60*var(--u)));opacity:.62;will-change:transform}
.b30h__aura i:nth-child(1){width:46%;height:70%;left:8%;top:18%;background:radial-gradient(closest-side,rgba(236,246,255,.9),rgba(236,246,255,0));animation:b30-aura1 22s ease-in-out infinite alternate}
.b30h__aura i:nth-child(2){width:40%;height:60%;right:6%;top:24%;background:radial-gradient(closest-side,rgba(244,246,255,.85),rgba(244,246,255,0));animation:b30-aura2 26s ease-in-out infinite alternate}
.b30h__aura i:nth-child(3){width:34%;height:52%;left:33%;top:42%;background:radial-gradient(closest-side,rgba(255,255,255,1),rgba(255,255,255,0));opacity:.7;animation:b30-aura3 18s ease-in-out infinite alternate}
html.dark .b30h__aura{display:none}
@media (prefers-reduced-motion:reduce){.b30h__aura i{animation:none}}
html:not(.dark) .b30h__stage{background:#fff!important}
html:not(.dark) .b30h__glow{margin-top:calc(-120*var(--u))}
html.dark .b30h__glow{display:block!important;mix-blend-mode:normal!important;margin-top:calc(-120*var(--u));opacity:.72!important;filter:saturate(.85) brightness(.9)}
html.dark .b30h__stage{background:var(--night)!important}
.b30h__title .hw,.b30h__title .hw-i{display:inline-block!important}
.b30h__title .b30-alt__ov{display:block}

/* =====================================================================
   Phones (≤ 899px): the header and its Menu — one version for every page
   (from the Our Work mobile design). Desktop is untouched: everything sits in the media queries below.
   ===================================================================== */
@media (min-width:900px){
  .b30m__btn,
.b30m{display:none!important}
}
@media (max-width:899px){
  html body .b30h__nav:not(#_z){position:relative;z-index:20!important;height:80px!important;padding:0 16px 0 20px!important;border-bottom:1px dashed rgba(0,0,0,.15)!important;box-shadow:none!important;background-image:none!important;display:flex!important;align-items:center!important}
  html body .b30h__nav .b30h__btn:not(#_z),
html body .b30h__nav .b30h__links:not(#_z){display:none!important}
  html body .b30h__logo:not(#_z),
.b30m__top .b30h__logo{display:flex!important;align-items:center;height:28px!important;width:auto!important;max-width:none!important;transform:translateY(2px)}
  html body .b30h__logo svg:not(#_z),
.b30m__top .b30h__logo svg{height:28px!important;width:auto!important;max-width:none!important;display:block;flex:none}
  .b30m__btn{all:unset;box-sizing:border-box;display:flex;align-items:center;gap:1.45px;height:32px;margin-left:auto;cursor:pointer;-webkit-tap-highlight-color:transparent;flex:none}
  .b30m__btn > i{width:32px;height:32px;display:grid;place-items:center;box-sizing:border-box;border:.667px solid #000;border-radius:8.7px;background:#fff;color:#000}
  .b30m__btn > b{width:64px;min-width:64px;height:32px;display:grid;place-items:center;box-sizing:border-box;padding:0 10.67px;border-radius:8.7px;background:#000;color:#fff;font:400 13px/1.2 var(--mono,"Geist Mono",monospace);letter-spacing:.1em;text-transform:uppercase}
  .b30m__btn svg{display:block}
  .b30m__btn > i,
.b30m__btn > b{transform:none!important;transition:none!important;flex:none}
  .b30m{position:fixed;inset:0;z-index:2000;background:#fff;display:flex;flex-direction:column;padding:0 20px max(24px,env(safe-area-inset-bottom));box-sizing:border-box;overflow-y:auto;
    clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .5s cubic-bezier(.7,0,.2,1) .12s,visibility 0s linear .62s}
  .b30m.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .55s cubic-bezier(.7,0,.2,1),visibility 0s}
  .b30m__top{display:flex;align-items:center;justify-content:space-between;height:80px;margin:0 -20px;padding:0 16px 0 20px;border-bottom:1px dashed rgba(0,0,0,.15);flex:none}
  .b30m__list{margin:16px 0 0;padding:0;list-style:none}
  .b30m__list a{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:4px;padding:18px 0;border-bottom:1px dashed rgba(0,0,0,.15);color:#000;text-decoration:none;opacity:0;transform:translateY(16px);transition:opacity .25s ease,transform .3s ease}
  .b30m.is-open .b30m__list a{opacity:1;transform:none;transition:opacity .45s ease,transform .6s cubic-bezier(.16,1,.3,1)}
  .b30m.is-open .b30m__list li:nth-child(1) a{transition-delay:.28s}
  .b30m.is-open .b30m__list li:nth-child(2) a{transition-delay:.34s}
  .b30m.is-open .b30m__list li:nth-child(3) a{transition-delay:.4s}
  .b30m.is-open .b30m__list li:nth-child(4) a{transition-delay:.46s}
  .b30m__list em{font:400 12px/1.2 var(--mono,"Geist Mono",monospace);font-style:normal;color:rgba(13,20,50,.56)}
  .b30m__list span{font-size:26px;letter-spacing:-.02em;line-height:1.2}
  .b30m__list svg{width:16px;height:16px;display:block;transition:transform .3s ease}
  .b30m__list a:active svg{transform:translateX(4px)}
  .b30m__list a[aria-current] span{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
  .b30m__cta{padding-top:28px;opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .3s ease}
  .b30m__cta .b30h__btn{display:inline-flex!important}
  .b30m.is-open .b30m__cta{opacity:1;transform:none;transition:opacity .45s ease .44s,transform .6s cubic-bezier(.16,1,.3,1) .44s}
  .b30m__foot{margin-top:auto;padding-top:32px;border-top:1px dashed rgba(0,0,0,.15);display:grid;gap:24px;font:400 12px/1.2 var(--mono,"Geist Mono",monospace);opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .3s ease}
  .b30m.is-open .b30m__foot{opacity:1;transform:none;transition:opacity .45s ease .46s,transform .6s cubic-bezier(.16,1,.3,1) .46s}
  .b30m__foot > div{display:flex;flex-direction:column;align-items:flex-start;gap:10px}
  .b30m__foot h3{margin:0 0 2px;font:inherit;text-transform:uppercase;color:rgba(13,20,50,.56)}
  .b30m__foot a{display:block;color:#000;text-decoration:none;font-size:14px}
}
/* phones: the header always runs the full width of the screen, whatever padding its hero frame has (blog, legal, 404) */
@media (max-width:899px){ html body .b30h__stage > .b30h__nav:not(#_z){margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;width:auto!important;max-width:none!important} }
/* the shared hero frame + header */
.b30h.wk-hero{--u:inherit;--wh:calc(1171*var(--u));height:var(--wh)}
.wk-hero .b30h__pin{position:relative;top:auto;height:var(--wh);overflow:hidden}
.wk-hero .b30h__stage{position:absolute;inset:0;transform:none;will-change:transform}
.wk-hero .b30h__glow{left:0;top:calc(380*var(--u));width:100%;height:calc(1376*var(--u))}
.wk-hero .b30h__vline--26{height:calc(1160*var(--u))}
.wk-hero .b30h__vline--27{height:calc(1186*var(--u))}
.wk-hero .b30h__vline--34,.wk-hero .b30h__px--c{display:none!important}
.wk-hero__dim{position:absolute;inset:0;background:#000;opacity:var(--wk-dim,0);pointer-events:none;z-index:20}
.wk-hero + .b30-main > .b30p:first-child{margin-top:calc(-163*var(--u))}
.svh__title{position:absolute;left:calc(164*var(--u));top:calc(262*var(--u));margin:0;z-index:5;font-weight:400;font-size:max(36px,calc(71*var(--u)));line-height:1.2;letter-spacing:-.02em;white-space:nowrap}
.svh__title > span{display:block}
.svh__intro{position:absolute;left:calc(1337*var(--u));top:calc(846*var(--u));width:calc(419*var(--u));margin:0;z-index:5;font-size:max(14px,calc(18*var(--u)));line-height:1.2;letter-spacing:-.01em;text-align:right}
.svh__idx{position:absolute;left:calc(164*var(--u));top:calc(784*var(--u));z-index:5}
.svh__idx ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:calc(16*var(--u))}
.svh__idx a{display:flex;align-items:center;gap:calc(8*var(--u));color:inherit;text-decoration:none;font-size:max(13px,calc(16*var(--u)));line-height:1.2;letter-spacing:-.02em;transition:opacity .35s var(--ease-out)}
.svh__idx a i{display:block;width:max(7px,calc(10*var(--u)));height:max(7px,calc(10*var(--u)));background:currentColor;flex:none;transition:background .35s var(--ease-out)}
.svh__idx a span{transition:opacity .35s var(--ease-out)}
.svh__idx.is-hov a span{opacity:.4}
.svh__idx.is-hov a.is-on span{opacity:1}
.svh__idx a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.svh__media{position:absolute;left:calc(1269*var(--u));top:calc(276*var(--u));width:calc(487*var(--u));height:calc(338*var(--u));z-index:5;
  display:block;overflow:hidden;cursor:pointer}
.svh__media .wk-media__in img{transform-origin:50% 0}
@media (hover:hover) and (pointer:fine){.svh__media.is-gl{cursor:none}}
@media (max-width:899px){.b30h.wk-hero{--wh:auto;height:auto}}
@media (max-width:899px){.wk-hero .b30h__pin{height:auto}}
@media (max-width:899px){.wk-hero .b30h__stage{position:relative;padding:0 20px 120px}}
@media (max-width:899px){.wk-hero .b30h__nav{position:relative}}
@media (max-width:899px){.wk-hero .b30h__glow{top:auto;bottom:-30vw;left:-40%;width:180%;height:auto}}
@media (max-width:899px){.svh__title,.svh__intro,.svh__idx,.svh__media{position:relative;left:auto;top:auto;width:auto}}
@media (max-width:899px){.svh__title{margin-top:40px;font-size:clamp(36px,10.5vw,60px);white-space:normal}}
@media (max-width:899px){.svh__media{width:100%;height:auto;aspect-ratio:487/338;margin-top:28px}}
@media (max-width:899px){.svh__idx{margin-top:28px}}
@media (max-width:899px){.svh__idx ul{gap:12px}}
@media (max-width:899px){.svh__intro{margin-top:28px;text-align:left;font-size:16px}}
@media (max-width:899px){.wk-hero + .b30-main > .b30p:first-child{margin-top:-70px}}
.svh__media .wk-media__in{position:absolute;inset:0;clip-path:inset(0 0 var(--hide,100%) 0);will-change:clip-path}
.svh__media .wk-media__in img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;visibility:hidden;transform:scale(var(--z,1.14));will-change:transform}
.svh__media .wk-media__in img.is-on{visibility:visible}
.svh__media .wk-media__gl{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.svh__media.is-gl .wk-media__in{visibility:hidden}
.svh__media:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.svh__media .wk-media__word{position:absolute;left:0;top:0;z-index:7;pointer-events:none;color:#fff;mix-blend-mode:difference;
  font:400 max(11px,calc(14.667*var(--u)))/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;opacity:0;transition:opacity .25s ease}
.svh__media .wk-media__word.on{opacity:1}
@media (hover:none){.svh__media .wk-media__word{display:none}}
@media (max-width:899px){.svh__media .wk-media__in{clip-path:none}}
@media (max-width:899px){.svh__media .wk-media__in img{transform:none}}
.wk-hero .b30h__pin::after{content:"";position:absolute;inset:0;z-index:19;pointer-events:none;opacity:0;transition:opacity .4s ease;
  background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,0) 52%,rgba(0,0,0,.38) 78%,rgba(0,0,0,.7) 100%)}
html.dark .wk-hero .b30h__pin::after{opacity:1}
@media (max-width:899px){.wk-hero .b30h__pin::after{display:none}}
.wk-hero .b30h__glowx{position:absolute;left:0;width:100%;top:calc(330*var(--u));height:calc(1080*var(--u));z-index:0;pointer-events:none;margin:0}
html.dark .wk-hero .b30h__glowx:not(.has-gl){display:none!important}
html.dark .wk-hero .b30h__glow{display:none!important}
@media (max-width:899px){.wk-hero .b30h__glowx{top:auto;bottom:0;height:70%}}
html.dark .wk-hero .b30h__pin::after{background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,0) 74%,rgba(0,0,0,.32) 100%)}
@media (min-width:900px){html.dark .wk-hero .b30h__glowx.has-gl{top:calc(430*var(--u))!important;filter:blur(calc(32*var(--u)))!important;opacity:.5!important;
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 30%,#000 100%);mask-image:linear-gradient(180deg,transparent 0,#000 30%,#000 100%);
    transition:opacity 1.1s cubic-bezier(.22,1,.36,1),transform 1.4s cubic-bezier(.22,1,.36,1);transform:translate3d(0,calc(30*var(--u)),0)}}
@media (min-width:900px){html.dark .wk-hero:hover .b30h__glowx.has-gl{opacity:.85!important;transform:none}}
@media (prefers-reduced-motion:reduce){html.dark .wk-hero .b30h__glowx.has-gl{transition:none}}
@media (min-width:900px){html:not(.dark) .wk-hero .b30h__glowx{top:calc(420*var(--u))!important;opacity:.85!important;filter:blur(calc(26*var(--u)))!important;transform:scaleX(1.75);transform-origin:50% 50%;
    -webkit-mask-image:radial-gradient(ellipse 34% 27% at 50% 57%,#000 0,#000 55%,rgba(0,0,0,.45) 80%,transparent 100%);mask-image:radial-gradient(ellipse 34% 27% at 50% 57%,#000 0,#000 55%,rgba(0,0,0,.45) 80%,transparent 100%)}}
.b30-main > section:not(.b30p){background:#fff}
.b30p{position:relative;height:calc(252*var(--u));z-index:3}
.b30p__a{position:absolute;left:calc(164*var(--u));top:0;width:calc(1592*var(--u));height:calc(84*var(--u));background:#fff;display:flex;align-items:center}
.b30p__b{position:absolute;left:calc(82*var(--u));right:calc(82*var(--u));top:calc(82*var(--u));height:calc(84*var(--u));background:#fff}
.b30p__c{position:absolute;left:0;right:0;top:calc(164*var(--u));bottom:-1px;background:#fff}
.b30p__label{flex:none;display:flex;align-items:center;align-self:stretch;width:calc(271*var(--u));padding-left:calc(64*var(--u));font:400 max(11px,calc(14*var(--u)))/1 var(--mono);text-transform:uppercase;color:var(--midnight);white-space:nowrap}
.b30p__mq{position:relative;flex:1;height:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}
.b30p__track{position:absolute;left:0;top:0;height:100%;display:flex;align-items:center;margin:0;padding:0;list-style:none;will-change:transform}
.b30p__logo{flex:none;display:flex;align-items:center;gap:calc(10*var(--u));margin-right:56px;color:#000}
.b30p__logo svg{display:block;height:max(13px,calc(19*var(--u)));fill:currentColor;flex:none}
.b30p__logo span{font:400 max(13px,calc(17*var(--u)))/1 var(--sans);letter-spacing:-.02em;white-space:nowrap}
.b30p__sep{flex:none;width:max(4px,calc(5*var(--u)));height:max(4px,calc(5*var(--u)));margin-right:56px;background:#000}
.b30p__px{position:absolute;left:0;right:0;top:calc(100*var(--u));height:calc(170*var(--u))}
.b30p__row{position:absolute;inset:0;will-change:transform}
.b30p__px i{position:absolute;display:block;width:10px;height:10px}
.b30p__a::before,.b30p__b::before{content:"";position:absolute;top:0;bottom:0;background:#fff;z-index:-1;pointer-events:none}
.b30p__a::before{left:calc(-164*var(--u)*var(--sp,0));right:calc(-164*var(--u)*var(--sp,0))}
.b30p__b::before{left:calc(-82*var(--u)*var(--sp,0));right:calc(-82*var(--u)*var(--sp,0))}
.b30p__px i b{position:absolute;inset:0;background:inherit;display:block}
.b30p__fade{will-change:transform,opacity}
@media (max-width:899px){.b30p{height:auto;padding-bottom:70px}}
@media (max-width:899px){.b30p__a{position:relative;left:0;width:100%;height:56px}}
@media (max-width:899px){.b30p__b,.b30p__c{top:56px;left:0;right:0}}
@media (max-width:899px){.b30p__label{width:auto;padding:0 16px 0 20px}}
@media (max-width:899px){.b30p__px{top:56px;height:70px}}
html.dark .b30p__a{background:#000}
html.dark .b30p__b{background:#000}
html.dark .b30p__c{background:#000}
html.dark .b30p__mq{-webkit-mask-image:linear-gradient(90deg,transparent,#F2F1EE 9%,#F2F1EE 91%,transparent);mask-image:linear-gradient(90deg,transparent,#F2F1EE 9%,#F2F1EE 91%,transparent)}
html.dark .b30p__logo{color:#F2F1EE}
html.dark .b30p__sep{background:#F2F1EE}
html.dark .b30p__a::before,html.dark .b30p__b::before{background:#000}
html.dark .b30p__px i[style*="0e1633"]{background:#C9D1FF!important}
html.dark .b30p__px i[style*="3d5aa9"]{background:#7B93FF!important}
html.dark .b30p__px i[style*="0b5238"]{background:#3DCB8F!important}
.b30p{height:calc(350*var(--u))!important;background:#fff}
.b30p__a{left:0!important;right:0;width:auto!important;height:calc(108*var(--u))!important;padding:0 calc(164*var(--u));box-sizing:border-box;background:#fff}
.b30p__a::before,.b30p__b,.b30p__c::before{display:none!important}
.b30p__label{width:calc(271*var(--u))!important;padding-left:0!important;flex:none}
.b30p__mq{height:100%}
.b30p__c{top:calc(108*var(--u))!important;border-top:1px solid rgba(0,0,0,.15);background:#fff}
.b30p__v{position:absolute;top:0;width:1px;height:100%;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.15) 0,rgba(0,0,0,.15) 62%,rgba(0,0,0,0) 100%)}
.b30p__v.l{left:calc(82*var(--u))}
.b30p__v.r{left:calc(1838*var(--u))}
.b30p__px{top:calc(108*var(--u))!important;height:calc(206*var(--u))!important;z-index:1}
.b30p__px i{width:calc(12.5*var(--u))!important;height:calc(12.5*var(--u))!important;min-width:7px;min-height:7px}
.b30p__row{will-change:transform}
html.dark .b30p,html.dark .b30p__a,html.dark .b30p__c{background:#000}
html.dark .b30p__c{border-top-color:rgba(255,255,255,.18)}
html.dark .b30p__v{background:linear-gradient(180deg,rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 62%,rgba(255,255,255,0) 100%)}
@media (max-width:899px){.b30p{height:auto!important;padding-bottom:110px}}
@media (max-width:899px){.b30p__a{height:56px!important;padding:0 0 0 20px}}
@media (max-width:899px){.b30p__label{width:auto!important;padding-right:16px!important}}
@media (max-width:899px){.b30p__c{top:56px!important}}
@media (max-width:899px){.b30p__px{top:56px!important;height:110px!important}}
@media (max-width:899px){.b30p__v{display:none}}
.b30p__c{border-top:0!important}
.b30p__c::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(0,0,0,.15);z-index:3;pointer-events:none}
html.dark .b30p__c::before{background:rgba(255,255,255,.18)}
.b30p__c::after{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgba(0,0,0,.15);z-index:3;pointer-events:none;
  -webkit-mask-image:repeating-linear-gradient(90deg,#000 0 2px,transparent 2px 4px);mask-image:repeating-linear-gradient(90deg,#000 0 2px,transparent 2px 4px)}
html.dark .b30p__c::after{background:rgba(255,255,255,.18)}
@media (min-width:900px){html:not(.dark) .b30p{background:linear-gradient(180deg,transparent 0,transparent calc(108*var(--u)),#fff calc(108*var(--u)))!important}}
@media (min-width:900px){html.dark section.b30p{background:linear-gradient(180deg,transparent 0,transparent calc(108*var(--u)),#0A0F2A calc(108*var(--u)))!important}}
@media (min-width:900px){.b30p__a{left:var(--spL,0px)!important;right:var(--spR,0px)!important;padding:0 calc(164*var(--u) - var(--spL,0px)) 0 calc(164*var(--u) - var(--spL,0px))!important}}
@media (min-width:900px){html.dark .b30p__a{background:#0A0F2A!important}}
@media (min-width:900px){.b30p__v{top:calc(108*var(--u))!important;height:auto!important;bottom:0}}
@media (min-width:900px){.b30p__c::after{transform:scaleX(var(--hl,0));transform-origin:50% 50%}}
@media (min-width:900px){.b30p__px{top:calc(120*var(--u))!important}}
.b30p__c::after,.b30p__c::before,.b30p__v{display:none!important}
@media (min-width:900px){.b30p__px{top:calc(103*var(--u))!important;translate:none!important}}
.b30p__px i{width:10px!important;height:10px!important;min-width:0!important;min-height:0!important}
@media (min-width:900px){html body section.b30p{position:relative;height:calc(252*var(--u))!important;z-index:3;background:transparent!important;overflow:visible}}
@media (min-width:900px){html body section.b30p .b30p__a{position:absolute;left:calc(164*var(--u)*var(--sp,1))!important;right:auto!important;top:0;width:calc(100% - 328*var(--u)*var(--sp,1))!important;height:calc(84*var(--u))!important;padding:0!important;background:#fff!important;display:flex;align-items:center}}
@media (min-width:900px){html body section.b30p .b30p__b{position:absolute;left:calc(82*var(--u)*var(--sp,1))!important;right:calc(82*var(--u)*var(--sp,1))!important;top:calc(82*var(--u))!important;height:calc(84*var(--u))!important;background:#fff!important;display:block!important}}
@media (min-width:900px){html body section.b30p .b30p__c{position:absolute;left:0!important;right:0!important;top:calc(164*var(--u))!important;bottom:-1px;background:#fff!important;border:0!important}}
@media (min-width:900px){html body section.b30p .b30p__c::after,html body section.b30p .b30p__c::before{display:none!important}}
@media (min-width:900px){html body section.b30p .b30p__label{width:calc(271*var(--u) + 164*var(--u)*(1 - var(--sp,1)))!important;padding-left:calc(64*var(--u) + 164*var(--u)*(1 - var(--sp,1)))!important;padding-right:0!important}}
@media (min-width:900px){html body section.b30p .b30p__px{top:calc(100*var(--u))!important;height:calc(170*var(--u))!important;translate:none!important;z-index:1}}
@media (min-width:900px){html body section.b30p .b30p__px i{width:10px!important;height:10px!important;min-width:0!important;min-height:0!important}}
@media (min-width:900px){html.dark body section.b30p .b30p__a,html.dark body section.b30p .b30p__b,html.dark body section.b30p .b30p__c{background:#0A0F2A!important}}
@media (min-width:900px){html:not(.dark) body section.b30p,html.dark body section.b30p{background:transparent!important}}
@media (min-width:900px){html body section.b30p .b30p__b::before,html body section.b30p .b30p__b::after{display:none!important}}
html.dark body section.b30p .b30p__a,html.dark body section.b30p .b30p__b,html.dark body section.b30p .b30p__c{background:var(--night)!important;box-shadow:none!important;border:0!important}

/* =====================================================================
   Phones (≤ 899px): the partners strip (label + brand pixels) — one version for every page
   (from the Our Work mobile design). Desktop is untouched: everything sits in the media queries below.
   ===================================================================== */
@media (min-width:900px){
  .b30p .b30p__pxm{display:none!important}
}
@media (max-width:899px){
  html body section.b30p:not(#_z){height:160px!important;padding:0!important;background:#fff}
  html body .b30p .b30p__a:not(#_z){position:absolute!important;left:0!important;right:0!important;top:38px!important;width:auto!important;height:20px!important;padding:0 0 0 16px!important;background:transparent!important;display:flex;align-items:center}
  html body .b30p .b30p__mq:not(#_z){display:block!important;flex:1;min-width:0;height:100%!important;margin-left:14px;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%)!important;mask-image:linear-gradient(90deg,transparent 0,#000 40px,#000 calc(100% - 40px),transparent 100%)!important}
  html body .b30p .b30p__logo:not(#_z){gap:6px!important;margin-right:28px!important}
  html body .b30p .b30p__logo svg:not(#_z){height:12px!important;width:auto!important;max-width:22px}
  html body .b30p .b30p__logo span:not(#_z){font-size:13px!important}
  html body .b30p .b30p__sep:not(#_z){width:3px!important;height:3px!important;margin-right:28px!important}
  html body .b30p .b30p__px:not(#_z),
html body .b30p .b30p__b:not(#_z),
html body .b30p .b30p__c:not(#_z){display:none!important}
  html body .b30p .b30p__label:not(#_z){display:flex!important;width:auto!important;padding:0!important;font-size:0!important;white-space:nowrap}
  html body .b30p .b30p__label:not(#_z)::before{content:"Partners";font:400 13px/1.2 var(--mono,"Geist Mono",monospace);text-transform:uppercase;color:#0D1432}
  .b30p .b30p__pxm{position:absolute;left:0;right:0;top:83px;height:70px;pointer-events:none;z-index:1}
  .b30p .b30p__pxm i{position:absolute;width:4.5px;height:4.5px;display:block;opacity:0;will-change:transform;transform:translate3d(var(--rx,0px),var(--ry,0px),0);transition:opacity .45s ease}
  .b30p .b30p__pxm.is-in i{opacity:1}
  .b30p .b30p__pxm i b{position:absolute;inset:0;background:inherit;display:block}
}
.b30-main > .svx{position:relative;margin:calc(196*var(--u)) calc(164*var(--u)) 0;--rh:calc(56*var(--u));--rg:calc(16*var(--u))}
.svx__p{position:relative;padding:calc(101*var(--u)) 0 calc(130*var(--u))}
.svx__p + .svx__p{padding-top:calc(192*var(--u))}
.svx__hd{position:relative;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 0 calc(-6*var(--u))}
.svx__k{margin:0 0 calc(10*var(--u));font-size:max(14px,calc(18*var(--u)));line-height:1.2;letter-spacing:-.01em}
.svx__name{margin:0;font-weight:400;font-size:max(30px,calc(50*var(--u)));line-height:1.2;letter-spacing:-.02em}
.svx__stmt{margin:0;width:calc(400*var(--u));min-width:230px;font-size:max(14px,calc(18*var(--u)));line-height:1.2;letter-spacing:-.01em;text-align:right}
.svx__list{position:relative;margin:calc(104*var(--u)) 0 0;padding:0;list-style:none}
.svx__row{position:relative;height:var(--rh);margin:0}
.svx__row + .svx__row{margin-top:var(--rg)}
.svx__s{position:absolute;top:50%;z-index:3;transform:translateY(-50%);padding:0;margin:0;border:0;background:none;cursor:pointer;color:inherit;white-space:nowrap;
  font:400 max(14px,calc(18*var(--u)))/1.2 var(--sans);letter-spacing:-.01em;opacity:.4;transition:opacity .35s var(--ease-out)}
.svx__s.l{left:0;text-align:left}
.svx__s.r{right:0;text-align:right}
.svx__s:hover,.svx__s.is-on{opacity:1}
.svx__s:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.svx__ln{position:absolute;left:0;bottom:0;height:1px;width:100%;pointer-events:none;z-index:1;
  background:repeating-linear-gradient(90deg,var(--svx-dash,rgba(0,0,0,.15)) 0 2px,transparent 2px 4px)}
.svx__ln.r{width:0}
.svx__pp{position:absolute;left:0;top:0;width:5px;height:5px;background:currentColor;pointer-events:none;z-index:2;opacity:0;transition:opacity .25s linear}
.svx__pp.on{opacity:1}
.svx__ft{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;margin-top:calc(97*var(--u))}
.svx__p:nth-child(n/**/+3) .svx__ft{margin-top:calc(72*var(--u))}
.svx__desc{margin:0;width:calc(220*var(--u));min-width:170px;min-height:2.4em;font-size:max(13px,calc(16*var(--u)));line-height:1.2;letter-spacing:-.02em;text-align:right}
.svx__orb{position:absolute;left:50%;top:0;width:calc(516*var(--u));height:calc(516*var(--u));z-index:2;pointer-events:none;
  transform:translate3d(-50%,calc(var(--oy,0px) - 50%),0);will-change:transform}
.svx__glow{position:absolute;left:50%;top:50%;width:calc(var(--gr,336) * 2 * var(--u));height:calc(var(--gr,336) * 2 * var(--u));transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(closest-side,#fff 0,#fff 74%,rgba(255,255,255,.85) 82%,rgba(255,255,255,0) 100%);filter:blur(calc(6*var(--u)))}
html.dark .svx__glow{background:radial-gradient(closest-side,rgba(10,15,42,.96) 0,rgba(10,15,42,.96) 72%,rgba(10,15,42,0) 100%)}
.svx__px{position:absolute;inset:0;pointer-events:auto;touch-action:pan-y}
.svx__px canvas{position:absolute;display:block;pointer-events:none}
@media (max-width:899px){.b30-main > .svx{margin:56px 20px 0}}
@media (max-width:899px){.svx__orb{display:none}}
@media (max-width:899px){.svx__p,.svx__p + .svx__p{padding:48px 0 24px}}
@media (max-width:899px){.svx__hd{flex-direction:column;align-items:flex-start;gap:12px;margin:0}}
@media (max-width:899px){.svx__stmt{width:auto;text-align:left;font-size:16px}}
@media (max-width:899px){.svx__list{margin-top:28px}}
@media (max-width:899px){.svx__list{display:flex;flex-direction:column}}
@media (max-width:899px){.svx__row{display:contents}}
@media (max-width:899px){.svx__s{order:var(--o)}}
@media (max-width:899px){.svx__s{position:relative;display:block;width:100%;top:auto;transform:none;text-align:left!important;padding:12px 0;font-size:17px;
    background:repeating-linear-gradient(90deg,var(--svx-dash,rgba(0,0,0,.15)) 0 2px,transparent 2px 4px) 0 100%/100% 1px no-repeat}}
@media (max-width:899px){.svx__ln,.svx__pp{display:none}}
@media (max-width:899px){.svx__ft,.svx__p:nth-child(n/**/+3) .svx__ft{margin-top:28px;gap:16px}}
@media (max-width:899px){.svx__desc{font-size:15px}}
html.dark .svx__glow{background:radial-gradient(closest-side,rgba(0,0,0,.4) 0,rgba(0,0,0,.28) 60%,rgba(0,0,0,0) 100%)!important;filter:blur(calc(10*var(--u)))}
.b30-main > .svhello{position:relative;height:calc(1203*var(--u));margin-top:calc(140*var(--u));overflow:hidden;background:#fff}
.svhello__bg{position:absolute;left:0;right:0;top:calc(710*var(--u));bottom:0;background:linear-gradient(180deg,#F9F587 0,#fff 100%)}
.svhello__px{position:absolute;left:0;width:100%;display:block;pointer-events:none;z-index:1}
.svhello__p{position:absolute;left:calc(173*var(--u));top:calc(420*var(--u));width:calc(457*var(--u));margin:0;z-index:3;font-size:max(14px,calc(18*var(--u)));line-height:1.2;letter-spacing:-.01em}
.svhello .b30h__btn{position:absolute;left:calc(173*var(--u));top:calc(550*var(--u));z-index:3}
.svhello__h{position:absolute;left:calc(1174*var(--u));top:calc(680*var(--u));width:calc(590*var(--u));margin:0;z-index:3;text-align:right;
  font-weight:400;font-size:max(28px,calc(50*var(--u)));line-height:1.2;letter-spacing:-.02em}
.svhello__hand{position:absolute;left:calc(-317*var(--u));top:calc(650*var(--u));width:calc(1322*var(--u));z-index:2;pointer-events:none;will-change:transform}
.svhello__hand img{display:block;width:100%;height:auto;transform-origin:85% 15%;will-change:transform}
html.dark .b30-main > .svhello{background:transparent}
html.dark .svhello__p,html.dark .svhello__h{color:#000}
@media (max-width:899px){.b30-main > .svhello{height:auto;min-height:760px;margin-top:72px;padding:170px 20px 0}}
@media (max-width:899px){.svhello__p,.svhello .b30h__btn,.svhello__h{position:relative;left:auto;top:auto;width:auto}}
@media (max-width:899px){.svhello__p{font-size:16px}}
@media (max-width:899px){.svhello .b30h__btn{margin-top:24px}}
@media (max-width:899px){.svhello__h{margin-top:40px;text-align:left;font-size:clamp(30px,8.4vw,44px)}}
@media (max-width:899px){.svhello__hand{position:relative;left:-30%;top:auto;width:150%;margin-top:24px}}
html.dark .b30-main > section.svx,html.dark .b30-main > section.svhello{background:transparent!important}
html.dark .svhello__bg{background:linear-gradient(180deg,#F9F587 0,rgba(249,245,135,.55) 55%,rgba(249,245,135,0) 100%)}
html.dark .svhello .b30h__btn--solid i{border:calc(var(--u) * .917) solid #000!important;background:transparent!important;color:#000}
html.dark .svhello .b30h__btn--solid i svg,html.dark .svhello .b30h__btn--solid i svg path{fill:#000!important}
html.dark .svhello .b30h__btn--solid span{background:#000!important;background-image:none!important;color:#fff!important;border-color:#000!important;animation:none!important;opacity:1!important}
.b30-main > .svhello{height:calc(1330*var(--u))}
.svhello__hand{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 72%,transparent 96%);mask-image:linear-gradient(180deg,#000 0,#000 72%,transparent 96%)}
html.dark .svhello__bg{background:linear-gradient(180deg,#F9F587 0,#F3EA08 22%,#7a7504 46%,#0b0b06 70%,#000 84%,rgba(0,0,0,0) 100%)!important}
@media (max-width:899px){.b30-main > .svhello{height:auto}}
html.dark .svhello__bg{background:linear-gradient(180deg,#F9F587 0,#F3EA08 20%,rgba(200,192,6,.92) 34%,rgba(120,115,10,.72) 50%,rgba(50,48,20,.42) 68%,rgba(10,12,28,.16) 84%,rgba(0,0,0,0) 100%)!important}
.b30h__btn span,.b30btn__lbl,.work .cta .lbl{justify-content:center}
.b30h__btn,.b30btn,.work .cta{height:44px!important}
.b30h__btn i,.b30btn__ic,.work .cta .ic{width:44px!important;height:44px;box-sizing:border-box}
.b30h__btn span,.b30btn__lbl,.work .cta .lbl{height:44px;box-sizing:border-box}
.b30h__btn i,.b30btn__ic,.work .cta .ic{background:transparent!important}
.b30h__btn span,.b30btn__lbl,.work .cta .lbl{padding:0 max(11px,calc(var(--u) * 14.667))!important}

/* =====================================================================
   Phones (≤ 899px): buttons (icon square + label, 36 tall) and text reveals — one version for every page
   (from the Our Work mobile design). Desktop is untouched: everything sits in the media queries below.
   ===================================================================== */
@media (max-width:899px){
  html body :is(.b30btn,.b30h__btn,.work .cta):not(#_z){height:36px!important;min-height:36px!important;align-items:stretch!important;gap:2px!important}
  html body :is(.b30btn .b30btn__ic,.b30h__btn > i,.work .cta .ic):not(#_z){width:36px!important;min-width:36px!important;height:36px!important;padding:0!important;display:grid!important;place-items:center!important;box-sizing:border-box!important}
  html body :is(.b30btn .b30btn__lbl,.b30h__btn > span,.work .cta .lbl):not(#_z){height:36px!important;min-height:36px!important;display:flex!important;align-items:center!important;padding:0 10.67px!important;font:400 13px/1.2 var(--mono,"Geist Mono",monospace)!important;letter-spacing:.1em!important;text-transform:uppercase;box-sizing:border-box!important}
  html body .m-rv:not(#_z){opacity:0;transform:translate3d(0,22px,0);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform 1.1s cubic-bezier(.16,1,.3,1)}
  html body .m-rv.is-in:not(#_z){opacity:1;transform:none}
}
@media (max-width:899px) and (prefers-reduced-motion:reduce){
  html body .m-rv:not(#_z){opacity:1;transform:none;transition:none}
}

/* =====================================================================
   The words that follow the cursor over pictures ("View", "Read", "Explore"…) — everywhere on the site:
   a plain black label with white text, no blending with the picture (the cursors are black too: testimonials.css).
   ===================================================================== */
html body :is(.slot__word,.wk-media__word,.blg-word,.ts__word){mix-blend-mode:normal!important;color:#fff!important;background:#000!important;
  padding:max(6px,calc(8*var(--u))) max(8px,calc(11*var(--u)))!important;border-radius:0!important;line-height:1!important}
/* case-study pictures (homepage + Our Work): only the round View button follows the cursor, no black label inside the picture */
.slot__word,.wk-media__word{display:none!important}
@media (max-width:899px){.b30t__view:not(.tqv){padding-left:20px;height:440px;margin-top:32px;cursor:auto}}
.b30t__view.tqv{position:relative;margin-top:calc(164*var(--u));margin-left:calc(164*var(--u));padding:0;height:calc(564*var(--u));cursor:none;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:0}
.tq{position:absolute;left:0;top:0;display:flex;height:100%;transform-origin:0 50%;transform-style:preserve-3d;
  transition:transform var(--tq-slide,600ms) cubic-bezier(.16,1,.3,1) var(--tq-slide-delay,0ms);translate:0 48px;opacity:0}
.tqv.is-in .tq{translate:0 0;opacity:1;transition:transform var(--tq-slide,600ms) cubic-bezier(.16,1,.3,1) var(--tq-slide-delay,0ms),translate .9s cubic-bezier(.16,1,.3,1) calc(var(--k,0) * 90ms),opacity .6s ease calc(var(--k,0) * 90ms)}
.tq.is-closed .tq__text{visibility:hidden;transition:visibility 0s linear calc(var(--tq-flip,480ms) * .55)}
.tq.is-closed .tq__flap{transform:translateZ(1px) rotateY(-180deg)}
.tq.is-closed{cursor:none}
.tq.is-closed .tq__back img{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.tq.is-closed:hover .tq__back img{transform:scale(1.04)}
@media (max-width:899px){.b30t__view.tqv{margin:40px 0 0 20px;height:440px;cursor:auto}}
@media (prefers-reduced-motion:reduce){.tq,.tq__flap{transition:none!important}}
.ts > .ts__fr{display:none!important}
.ts .ts__sl{position:relative;margin:0 calc(-163 * var(--u));height:calc(736 * var(--u));overflow:hidden;cursor:none;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline:none;
  --dash:rgba(0,0,0,.15);--pix:#000}
html.dark .ts .ts__sl{--dash:rgba(255,255,255,.18);--pix:#F2F1EE}
.ts .ts__sl::before,.ts .ts__sl::after{content:"";position:absolute;left:0;right:0;height:1px;z-index:2;pointer-events:none;background:repeating-linear-gradient(90deg,var(--dash) 0 2px,transparent 2px 4px)}
.ts .ts__sl::before{top:0}
.ts .ts__sl::after{bottom:0}
.ts .ts__sl:focus-visible{outline:2px solid #3457BA;outline-offset:-2px}
.ts .ts__trk{position:absolute;top:0;bottom:0;left:calc(163 * var(--u));display:flex;will-change:transform}
.ts .ts__card{flex:0 0 calc(1346 * var(--u));box-sizing:border-box;height:100%;position:relative;display:flex;align-items:center;justify-content:center}
.ts .ts__card::before,.ts .ts__card::after{content:"";position:absolute;top:0;bottom:0;width:1px;pointer-events:none;background:repeating-linear-gradient(180deg,var(--dash) 0 2px,transparent 2px 4px)}
.ts .ts__card::before{left:0}
.ts .ts__card::after{right:0}
.ts .ts__card + .ts__card::before{display:none}
.ts .ts__in{display:flex;align-items:center;gap:calc(48 * var(--u));width:calc(1248 * var(--u));height:calc(638 * var(--u))}
.ts .ts__txt{flex:0 0 calc(600 * var(--u));height:calc(628 * var(--u));display:flex;flex-direction:column;justify-content:space-between;color:#000}
html.dark .ts .ts__txt{color:#F2F1EE}
.ts .ts__qt{margin:0;font:400 calc(18 * var(--u))/1.2 "BDO Grotesk","Helvetica Neue",Arial,sans-serif;letter-spacing:-.01em}
.ts .ts__qt p{margin:0}
.ts .ts__qt p + p{margin-top:1.2em}
.ts .ts__by2{display:flex;flex-direction:column;gap:calc(16 * var(--u))}
.ts .ts__who2{display:flex;flex-direction:column;gap:calc(4 * var(--u));font-family:"BDO Grotesk","Helvetica Neue",Arial,sans-serif;line-height:1.2}
.ts .ts__nm{font-size:calc(18 * var(--u));letter-spacing:-.01em}
.ts .ts__og{font-size:calc(16 * var(--u));letter-spacing:-.02em;opacity:.5}
.ts .ts__v2 .ts__ver{display:flex;align-items:center;gap:calc(8 * var(--u));margin:0;padding:0;position:static}
.ts .ts__v2 .cl{width:calc(42 * var(--u));height:calc(12 * var(--u));object-fit:contain;display:block}
.ts .ts__v2 .ok{display:flex;align-items:center;gap:calc(4 * var(--u));font:400 calc(12 * var(--u))/1.2 "Geist Mono",ui-monospace,monospace;text-transform:uppercase;opacity:1}
.ts .ts__v2 .ok svg{width:calc(16 * var(--u));height:calc(16 * var(--u));flex:none}
.ts .ts__v2 .ok span{opacity:.5}
.ts .ts__ph{flex:0 0 calc(600 * var(--u));height:calc(628 * var(--u));background:#F3EA08;overflow:hidden}
.ts .ts__ph img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none}
.ts .ts__ph{position:relative}
.ts .ts__ph .ts__gl{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;opacity:0}
.ts .ts__ph.is-gl .ts__gl{opacity:1}
.ts .ts__ph{cursor:none}
.ts .ts__ph img,.ts .ts__ph .ts__gl{transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
.ts .ts__ph:hover img,.ts .ts__ph:hover .ts__gl{transform:scale(1.035)}
.ts .ts__ph .ts__word{z-index:3}
@media (hover:none){.ts .ts__ph .ts__word{display:none}}
.ts .ts__pc{position:absolute;width:6px;height:6px;background:var(--pix);z-index:3;pointer-events:none}
.ts .ts__pc{opacity:0;transition:opacity .3s ease}
.ts .ts__card.on .ts__pc{opacity:1}
.ts .ts__pc.t{top:0}
.ts .ts__pc.b{bottom:0}
.ts .ts__pc.l{left:-2px}
.ts .ts__pc.r{right:-3px}
.ts .ts__card:last-child .ts__pc.r{right:0}
.ts .ts__sl.is-drag{cursor:none}
@media (hover:none){.ts .ts__sl{cursor:auto}}
@media (max-width:899px){.ts .ts__sl{margin:0 -20px;height:auto}}
@media (max-width:899px){.ts .ts__trk{position:relative;left:16px}}
@media (max-width:899px){.ts .ts__card{flex-basis:calc(100vw - 32px);height:auto;padding:20px}}
@media (max-width:899px){.ts .ts__in{flex-direction:column-reverse;width:100%;height:auto;gap:24px}}
@media (max-width:899px){.ts .ts__txt,.ts .ts__ph{flex:none;width:100%;height:auto}}
@media (max-width:899px){.ts .ts__ph{aspect-ratio:600/628}}
@media (max-width:899px){.ts .ts__txt{gap:28px}}
@media (max-width:899px){.ts .ts__qt{font-size:16px}}
@media (max-width:899px){.ts .ts__nm{font-size:16px}}
@media (max-width:899px){.ts .ts__og{font-size:14px}}
@media (max-width:899px){.ts .ts__v2 .cl{width:42px;height:12px}}
@media (max-width:899px){.ts .ts__v2 .ok{font-size:11px}}
@media (max-width:899px){.ts .ts__v2 .ok svg{width:14px;height:14px}}
@media (max-width:899px){.ts .ts__pc.l{left:-2px}}
@media (max-width:899px){.ts .ts__pc.r{right:-3px}}
.ts .ts__sl{height:calc(736 * var(--u) + 6px)}
.ts .ts__sl::before{top:3px}
.ts .ts__sl::after{bottom:3px}
.ts .ts__trk{top:3px;bottom:3px}
.ts .ts__pc.t{top:-3px}
.ts .ts__pc.b{bottom:-3px}
.ts .ts__pc.l{left:-2.5px}
.ts .ts__pc.r{right:-2.5px}
.ts .ts__card:last-child .ts__pc.r{right:0}
@media (max-width:899px){.ts .ts__sl{height:auto;padding:3px 0}}
@media (max-width:899px){.ts .ts__trk{top:0;bottom:0}}
.b30t__view.tqv{margin-left:0!important;width:100%;overflow:visible}
.tqv__probe{visibility:hidden;pointer-events:none}
.tqv__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tqv__stage{position:absolute;inset:0}
.tqc{clip-path:inset(100% 0 0 0)}
.tqv.is-in .tqc{clip-path:inset(0);transition:clip-path 1.05s cubic-bezier(.16,1,.3,1) calc(var(--i,0) * 130ms)}
.tqc .tq__q,.tqc .tq__by{opacity:0;translate:0 26px}
.tqv.is-in .tqc .tq__q{opacity:1;translate:0 0;transition:opacity .8s ease calc(var(--i,0) * 130ms + 300ms),translate 1s cubic-bezier(.16,1,.3,1) calc(var(--i,0) * 130ms + 300ms)}
.tqv.is-in .tqc .tq__by{opacity:1;translate:0 0;transition:opacity .8s ease calc(var(--i,0) * 130ms + 420ms),translate 1s cubic-bezier(.16,1,.3,1) calc(var(--i,0) * 130ms + 420ms)}
@media (prefers-reduced-motion:reduce){.tqc{clip-path:none!important}}
@media (prefers-reduced-motion:reduce){.tqc .tq__q,.tqc .tq__by{opacity:1!important;translate:none!important}}
.tqc{position:absolute;left:0;top:0;height:100%;display:flex;will-change:transform}
.tqc .tq__text{background:#fff}
.tqc__pic{position:relative;flex:none;width:calc(477*var(--u));height:100%;box-sizing:border-box;overflow:hidden;background:#eee;border:1px solid rgba(0,0,0,.15);border-left:0}
.tqc__pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
html.dark .tqc .tq__text{background:#000}
html.dark .tqc__pic{border-color:rgba(255,255,255,.15)}
@media (max-width:899px){.tqc__pic{width:min(72vw,320px)}}
.tqc__pic.is-gl{background:transparent}
.tqc__pic canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.tqc__pic.is-gl img{visibility:hidden}
html.dark .tqc .tq__text{background:rgba(255,255,255,.03)!important;border-color:rgba(255,255,255,.12)!important}
html.dark .tqc__pic{border-color:rgba(255,255,255,.12)}
.ts{padding:calc(160 * var(--u)) calc(163 * var(--u));display:flex;flex-direction:column;gap:calc(116 * var(--u))}
.ts__top{display:flex;flex-direction:column;gap:calc(48 * var(--u))}
.ts__row1{display:flex;justify-content:space-between;align-items:flex-start;line-height:1.2}
.ts__h{margin:0;width:calc(429 * var(--u));font-weight:400;font-size:calc(50 * var(--u));letter-spacing:calc(-1 * var(--u));line-height:1.2}
.ts__eye{margin:0;font:400 calc(14 * var(--u))/1.2 var(--mono);text-transform:uppercase;color:var(--mid);white-space:nowrap;display:flex;gap:calc(12 * var(--u))}
.ts__count{font-variant-numeric:tabular-nums;opacity:.5}
.ts__btn{display:inline-flex;gap:calc(2 * var(--u));align-items:center;text-decoration:none;color:#000;align-self:flex-start}
.ts__btn .ic{width:calc(44 * var(--u));height:calc(44 * var(--u));min-width:34px;min-height:34px;border:max(.917px,calc(.917 * var(--u))) solid var(--line);border-radius:calc(12 * var(--u));display:grid;place-items:center}
.ts__btn .ic svg{width:calc(22 * var(--u));height:calc(22 * var(--u));min-width:17px;min-height:17px}
.ts__btn .lb{height:calc(44 * var(--u));min-height:34px;display:flex;align-items:center;padding:0 calc(14.667 * var(--u));border:max(.917px,calc(.917 * var(--u))) solid var(--line);border-radius:calc(12 * var(--u));
  font:400 max(11px,calc(14.667 * var(--u)))/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;transition:background .3s ease,color .3s ease}
.ts__btn:hover .lb{background:#000;color:#fff}
.ts__btn:focus-visible{outline:2px solid #3457BA;outline-offset:4px;border-radius:12px}
.ts__main{display:flex;gap:calc(127 * var(--u));align-items:center}
.ts__l{width:calc(856 * var(--u));height:calc(628 * var(--u));display:flex;flex-direction:column;justify-content:space-between;position:relative}
.ts__q{margin:0;position:relative;font-size:calc(25 * var(--u));line-height:1.2;letter-spacing:calc(-.5 * var(--u))}
.ts__q p{margin:0}
.ts__q p + p{margin-top:1.2em}
.ts__q .hq{position:absolute;margin-left:-.45em}
.ts__by{display:flex;flex-direction:column;gap:calc(16 * var(--u));width:calc(193 * var(--u))}
.ts__who{display:flex;flex-direction:column;gap:calc(4 * var(--u));font-family:var(--mono);text-transform:uppercase;line-height:1.2}
.ts__name{font-size:calc(20 * var(--u));white-space:nowrap}
.ts__org{font-size:calc(16 * var(--u));opacity:.5;white-space:nowrap}
.ts__ver{display:flex;gap:calc(8 * var(--u));align-items:center}
.ts__ver .cl{height:calc(12 * var(--u));width:calc(42 * var(--u));display:block}
.ts__ver .ok{display:flex;gap:calc(4 * var(--u));align-items:center;font:400 calc(12 * var(--u))/1.2 var(--mono);text-transform:uppercase}
.ts__ver .ok svg{width:calc(16 * var(--u));height:calc(16 * var(--u))}
.ts__ver .ok span{opacity:.5}
.ts__pic{position:relative;width:calc(609 * var(--u));height:calc(628 * var(--u));flex:none;overflow:hidden}
.ts__main{cursor:none;position:relative}
.ts__word{position:absolute;left:0;top:0;z-index:3;pointer-events:none;color:#fff;mix-blend-mode:difference;
  font:400 max(11px,calc(14.667 * var(--u)))/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;
  opacity:0;transition:opacity .25s ease}
.ts__word.on{opacity:1}
.ts__pic{cursor:none}
.ts__pic canvas,.ts__pic img{position:absolute;inset:0;width:100%;height:100%;display:block}
.ts__pic img{object-fit:cover;opacity:0}
.ts__pic.no-gl img{opacity:1}
.ts__cur{position:fixed;left:0;top:0;width:calc(96 * var(--u));height:calc(96 * var(--u));min-width:72px;min-height:72px;margin:calc(-48 * var(--u)) 0 0 calc(-48 * var(--u));border-radius:50%;background:#000;color:#fff;
  display:grid;place-items:center;pointer-events:none;z-index:50;transform:scale(0);transition:transform .35s cubic-bezier(.16,1,.3,1);font:400 max(10px,calc(12 * var(--u)))/1 var(--mono);text-transform:uppercase;letter-spacing:.06em}
.ts__cur.on{transform:scale(1)}
.ts__idx{position:absolute;right:0;bottom:calc(10 * var(--u));display:flex;gap:calc(8 * var(--u));z-index:2}
.ts__th{all:unset;position:relative;width:calc(44 * var(--u));height:calc(44 * var(--u));min-width:34px;min-height:34px;cursor:pointer;border-radius:calc(12 * var(--u));overflow:visible}
.ts__th img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;border-radius:calc(12 * var(--u));box-shadow:0 0 0 max(.917px,calc(.917 * var(--u))) rgba(0,0,0,.15);transition:filter .45s ease,opacity .45s ease}
.ts__th:not([aria-selected="true"]) img{filter:grayscale(1) contrast(.95);opacity:.5}
.ts__th:hover img,.ts__th:focus-visible img{filter:none;opacity:1}
.ts__th::after{content:"";position:absolute;left:calc(6 * var(--u));right:calc(6 * var(--u));bottom:calc(-10 * var(--u));height:max(1px,calc(1.5 * var(--u)));background:#000;transform-origin:0 50%;transform:scaleX(var(--p,0));opacity:0;transition:opacity .3s ease}
.ts__th[aria-selected="true"]::after{opacity:1}
.ts__th .nm{position:absolute;right:0;bottom:calc(100% + 12 * var(--u));white-space:nowrap;font:400 max(10px,calc(12 * var(--u)))/1 var(--mono);text-transform:uppercase;color:var(--mid);opacity:0;translate:0 4px;pointer-events:none;transition:opacity .25s ease,translate .3s cubic-bezier(.16,1,.3,1)}
.ts__th:hover .nm,.ts__th:focus-visible .nm{opacity:1;translate:0 0}
.ts__th:focus-visible{outline:2px solid #3457BA;outline-offset:3px;border-radius:calc(12 * var(--u))}
.ts__cur b{font-weight:400;display:block;text-align:center}
.ts__cur small{display:block;margin-top:calc(6 * var(--u));font-size:.8em;opacity:.55;text-align:center;font-variant-numeric:tabular-nums}
.ts .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){.ts .w{transition:none!important}}
.ts__q{transition:opacity .45s ease,transform .6s cubic-bezier(.16,1,.3,1)}
.ts__q.is-out{opacity:0;transform:translate3d(0,-8px,0);transition:opacity .28s ease,transform .32s ease}
.ts__q .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.16em;margin-bottom:-.16em}
.ts__q .w > span{display:inline-block;transition:transform .95s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i) * 6ms)}
.ts__q.is-pre .w > span{transform:translate3d(0,110%,0);transition:none}
.ts__who{overflow:hidden}
.ts__who > span{display:block;transition:transform .8s cubic-bezier(.16,1,.3,1) .12s,opacity .5s ease .12s}
.ts__who > span + span{transition-delay:.2s}
.ts__who.is-out > span{opacity:0;transition:opacity .25s ease}
.ts__who.is-pre > span{transform:translate3d(0,100%,0);opacity:0;transition:none}
@media (prefers-reduced-motion:reduce){.ts__q,.ts__q .w > span,.ts__who > span{transition:none!important}}
.ts{background:#fff;color:#000;padding-top:calc(72*var(--u))!important;padding-bottom:calc(96*var(--u))!important;gap:calc(64*var(--u))!important}
.ts__top{gap:calc(32*var(--u))!important}
.ts .hw-i{transition-duration:1.25s}
.ts__ver .cl{height:calc(13*var(--u))!important;width:auto!important;min-height:10px}
html.dark .ts{background:var(--night,#000)!important;color:#F2F1EE}
html.dark .ts__btn{color:#F2F1EE}
html.dark .ts__btn svg{stroke:#F2F1EE}
html.dark .ts__btn svg circle[fill]{fill:#F2F1EE}
html.dark .ts__eye,html.dark .ts__th .nm{color:#E4E8FF}
html.dark .ts__th::after{background:#F2F1EE}
html.dark .ts__ver .cl{filter:brightness(0) invert(1)}
@media (max-width:899px){.ts{padding:72px 20px!important;gap:48px}}
@media (max-width:899px){.ts__h{width:auto!important;font-size:34px!important}}
@media (max-width:899px){.ts__eye{font-size:12px!important}}
@media (max-width:899px){.ts__main{flex-direction:column-reverse;gap:28px;align-items:stretch}}
@media (max-width:899px){.ts__l{width:auto!important;height:auto!important;gap:32px}}
@media (max-width:899px){.ts__pic{width:100%!important;height:auto!important;aspect-ratio:609/628}}
@media (max-width:899px){.ts__q{font-size:19px!important}}
@media (max-width:899px){.ts__name{font-size:16px!important}}
@media (max-width:899px){.ts__org{font-size:13px!important}}
@media (max-width:899px){.ts__idx{position:static}}
@media (max-width:899px){.ts__by{width:auto!important}}
html.dark .ts{color:#F2F1EE}
html.dark .ts__q,html.dark .ts__name,html.dark .ts__h,html.dark .ts__lbl{color:#F2F1EE}
html.dark .ts__org{color:rgba(242,241,238,.6)}
@media (min-width:900px){.ts{position:relative;overflow:hidden;padding-top:calc(560*var(--u))!important;padding-bottom:calc(201*var(--u))!important;gap:calc(82*var(--u))!important;background:#fff}}
@media (min-width:900px){.ts > *{position:relative;z-index:2}}
@media (min-width:900px){.ts > .ts__sky,.ts > .ts__curtain,.ts > .ts__fr{position:absolute}}
@media (min-width:900px){.ts__sky{left:0;right:0;top:calc(140*var(--u));height:calc(712*var(--u));pointer-events:none;z-index:0!important;will-change:transform;
    background:linear-gradient(180deg,#A2DEF2 0%,rgba(209,224,212,.5) 32.043%,rgba(209,224,212,0) 58.261%)}}
@media (min-width:900px){.ts__curtain{left:0;right:0;top:calc(-260*var(--u));height:calc(607*var(--u));z-index:1!important;pointer-events:none;will-change:transform;
    background:linear-gradient(#fff,#fff) 0 0/100% calc(400*var(--u)) no-repeat}}
@media (min-width:900px){.ts__skyband{position:absolute;left:0;bottom:0;width:100%;height:calc(207*var(--u));display:block}}
@media (min-width:900px){.ts__fr{left:0;right:0;top:0;bottom:0;pointer-events:none;z-index:1!important}}
@media (min-width:900px){.ts__fr .fl{position:absolute}}
@media (min-width:900px){.ts__fr .fl.h{height:1px;transform:scaleX(0);transform-origin:50% 50%;transition:transform 1.4s cubic-bezier(.65,0,.35,1);
    background:linear-gradient(90deg,rgba(0,0,0,0) 0,rgba(0,0,0,.15) 8.5%,rgba(0,0,0,.15) 91.5%,rgba(0,0,0,0) 100%)}}
@media (min-width:900px){.ts__fr .fl.h.t{left:0;right:0;top:var(--ft)}}
@media (min-width:900px){.ts__fr .fl.h.b{left:calc(12*var(--u));right:calc(14*var(--u));top:var(--fb)}}
@media (min-width:900px){.ts__fr .fl.v{top:calc(var(--ft) - 90*var(--u));bottom:0;width:1px;opacity:0;transition:opacity 1.2s ease .3s;
    background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.15) 12%,rgba(0,0,0,.15) 72%,rgba(0,0,0,0) 100%)}}
@media (min-width:900px){.ts__fr .fl.v.l{left:var(--xl)}}
@media (min-width:900px){.ts__fr .fl.v.r{left:var(--xr)}}
@media (min-width:900px){.ts__fr .sq{position:absolute;width:5px;height:5px;background:#000;opacity:0;transform:scale(0);transition:opacity .3s ease 1s,transform .55s cubic-bezier(.16,1,.3,1) 1s}}
@media (min-width:900px){.ts__fr .sq.t{top:calc(var(--ft) - 2px)}}
@media (min-width:900px){.ts__fr .sq.b{top:calc(var(--fb) - 2px)}}
@media (min-width:900px){.ts__fr .sq.l{left:calc(var(--xl) - 2px)}}
@media (min-width:900px){.ts__fr .sq.r{left:calc(var(--xr) - 2px)}}
@media (min-width:900px){.ts.ts-in .ts__fr .fl.h{transform:none}}
@media (min-width:900px){.ts.ts-in .ts__fr .fl.v{opacity:1}}
@media (min-width:900px){.ts.ts-in .ts__fr .sq{opacity:1;transform:none}}
@media (min-width:900px){html.dark .ts__fr .fl.h{background:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.18) 8.5%,rgba(255,255,255,.18) 91.5%,rgba(255,255,255,0) 100%)}}
@media (min-width:900px){html.dark .ts__fr .fl.v{background:linear-gradient(180deg,rgba(255,255,255,0) 0,rgba(255,255,255,.18) 12%,rgba(255,255,255,.18) 72%,rgba(255,255,255,0) 100%)}}
@media (min-width:900px){html.dark .ts__fr .sq{background:#F2F1EE}}
@media (min-width:900px){html.dark .ts__sky{opacity:.3}}
@media (min-width:900px){html.dark .ts__curtain{background:none}}
@media (prefers-reduced-motion:reduce){.ts__fr .fl,.ts__fr .sq{transition:none!important}}
.ts__idx{display:none!important}
@media (min-width:900px){.ts__main{justify-content:space-between}}
@media (min-width:900px){.ts__pic{margin-left:auto!important;margin-right:-1px!important}}
@media (min-width:900px){.ts__l{box-sizing:border-box;padding:8px 0 8px 9px!important}}
@media (min-width:900px){.ts > .ts__fr{z-index:3!important}}
.ts__by{position:relative;width:100%;box-sizing:border-box;padding-right:calc(32*var(--u))}
.ts__num{position:absolute;right:calc(24*var(--u));top:0;font:400 calc(14*var(--u))/1.2 var(--mono,"Geist Mono",monospace);letter-spacing:.02em;color:#0D1432}
html.dark .ts__num{color:#F2F1EE}
.ts > .ts__sky,.ts > .ts__curtain{display:none!important}
@media (min-width:900px){.ts{padding-top:calc(220*var(--u))!important}}
@media (min-width:900px){.ts .ts__main{margin-top:calc(52*var(--u))!important}}
@media (min-width:900px){.ts .ts__pic{clip-path:inset(0 3px 0 0)}}
.b30-vcur,.b30-scur,.b30t__cur,.ts__cur{border-radius:0!important;background:#000!important;color:#fff!important;mix-blend-mode:normal!important;box-shadow:none!important;
  -webkit-mask:none!important;mask:none!important;clip-path:polygon(25.000% 0.000%,75.000% 0.000%,75.000% 8.333%,83.333% 8.333%,83.333% 16.667%,91.667% 16.667%,91.667% 25.000%,100.000% 25.000%,100.000% 75.000%,91.667% 75.000%,91.667% 83.333%,83.333% 83.333%,83.333% 91.667%,75.000% 91.667%,75.000% 100.000%,25.000% 100.000%,25.000% 91.667%,16.667% 91.667%,16.667% 83.333%,8.333% 83.333%,8.333% 75.000%,0.000% 75.000%,0.000% 25.000%,8.333% 25.000%,8.333% 16.667%,16.667% 16.667%,16.667% 8.333%,25.000% 8.333%)}
.ts .ts__sl{height:calc(580*var(--u))!important;padding:0!important;margin-top:calc(14*var(--u))!important}
.ts .ts__sl::before,.ts .ts__sl::after,.ts .ts__pc{display:none!important}
.ts .ts__trk{top:0!important;bottom:0!important;gap:0}
.ts .ts__card + .ts__card{box-shadow:inset 0 1px 0 rgba(13,20,50,.1),inset 0 -1px 0 rgba(13,20,50,.1),inset -1px 0 0 rgba(13,20,50,.1)}
html.dark .ts .ts__card + .ts__card{box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -1px 0 rgba(255,255,255,.12),inset -1px 0 0 rgba(255,255,255,.12)}
.ts .ts__card{flex:0 0 calc(1132*var(--u))!important;height:calc(580*var(--u))!important;box-shadow:inset 0 0 0 1px rgba(13,20,50,.1);background:#fff;align-items:stretch!important;justify-content:stretch!important;overflow:hidden}
.ts .ts__card::before,.ts .ts__card::after{display:none!important}
html.dark .ts .ts__card{background:transparent;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}
.ts .ts__in{width:100%!important;height:100%!important;gap:0!important;align-items:stretch!important}
.ts .ts__txt{flex:1 1 auto!important;height:auto!important;box-sizing:border-box;padding:calc(28*var(--u)) calc(24*var(--u)) calc(24*var(--u))}
.ts .ts__qt{font-size:calc(18*var(--u))!important;max-width:calc(520*var(--u))}
.ts .ts__ph{flex:0 0 calc(536*var(--u))!important;height:100%!important}
@media (max-width:899px){.ts .ts__sl{height:auto!important}}
@media (max-width:899px){.ts .ts__card{flex-basis:calc(100vw - 40px)!important;height:auto!important}}
@media (max-width:899px){.ts .ts__in{flex-direction:column}}
@media (max-width:899px){.ts .ts__ph{flex:none!important;width:100%;aspect-ratio:536/580;height:auto!important}}
section.ts{overflow-x:clip}
.ts .ts__sl{position:relative;overflow:visible!important}
.ts .ts__sl::before,.ts .ts__sl::after{content:""!important;display:block!important;position:absolute;left:calc(50% - 50vw)!important;width:100vw!important;right:auto!important;height:1px!important;z-index:3;pointer-events:none;
  background:repeating-linear-gradient(90deg,rgba(0,0,0,.15) 0 2px,transparent 2px 4px)!important;border:0!important;transform:none!important}
.ts .ts__sl::before{top:0!important;bottom:auto!important}
.ts .ts__sl::after{bottom:0!important;top:auto!important}
.ts .ts__sl{--vw-left:0px}
.ts .ts__card,.ts .ts__card + .ts__card{box-shadow:none!important;
  background:#fff repeating-linear-gradient(180deg,rgba(0,0,0,.15) 0 2px,transparent 2px 4px) 100% 0/1px 100% no-repeat!important}
.ts .ts__card:first-child{background:#fff repeating-linear-gradient(180deg,rgba(0,0,0,.15) 0 2px,transparent 2px 4px) 0 0/1px 100% no-repeat,repeating-linear-gradient(180deg,rgba(0,0,0,.15) 0 2px,transparent 2px 4px) 100% 0/1px 100% no-repeat!important}
html.dark .ts .ts__sl::before,html.dark .ts .ts__sl::after{background:repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 2px,transparent 2px 4px)!important}
html.dark .ts .ts__card,html.dark .ts .ts__card + .ts__card{background:transparent repeating-linear-gradient(180deg,rgba(255,255,255,.16) 0 2px,transparent 2px 4px) 100% 0/1px 100% no-repeat!important}
html.dark .ts .ts__card:first-child{background:transparent repeating-linear-gradient(180deg,rgba(255,255,255,.16) 0 2px,transparent 2px 4px) 0 0/1px 100% no-repeat,repeating-linear-gradient(180deg,rgba(255,255,255,.16) 0 2px,transparent 2px 4px) 100% 0/1px 100% no-repeat!important}
section.ts{overflow-x:clip}
.ts .ts__sl{position:relative}
.ts .ts__sl::before,.ts .ts__sl::after{content:""!important;display:block!important;position:absolute!important;left:-100vw!important;right:-100vw!important;width:auto!important;height:1px!important;z-index:3;pointer-events:none;
  background:repeating-linear-gradient(90deg,rgba(0,0,0,.15) 0 2px,transparent 2px 4px)!important;border:0!important;opacity:1!important}
.ts .ts__sl::before{top:0!important;bottom:auto!important}
.ts .ts__sl::after{bottom:0!important;top:auto!important}
html.dark .ts .ts__sl::before,html.dark .ts .ts__sl::after{background:repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 2px,transparent 2px 4px)!important}
.ts .ts__card,.ts .ts__card + .ts__card,html.dark .ts .ts__card,html.dark .ts .ts__card + .ts__card{box-shadow:none!important;
  background-image:repeating-linear-gradient(180deg,rgba(0,0,0,.15) 0 2px,transparent 2px 4px)!important;background-size:1px 100%!important;background-position:100% 0!important;background-repeat:no-repeat!important}
.ts .ts__card:first-child{background-image:repeating-linear-gradient(180deg,rgba(0,0,0,.15) 0 2px,transparent 2px 4px),repeating-linear-gradient(180deg,rgba(0,0,0,.15) 0 2px,transparent 2px 4px)!important;
  background-size:1px 100%,1px 100%!important;background-position:0 0,100% 0!important}
html.dark .ts .ts__card{background-image:repeating-linear-gradient(180deg,rgba(255,255,255,.16) 0 2px,transparent 2px 4px)!important}
html.dark .ts .ts__card:first-child{background-image:repeating-linear-gradient(180deg,rgba(255,255,255,.16) 0 2px,transparent 2px 4px),repeating-linear-gradient(180deg,rgba(255,255,255,.16) 0 2px,transparent 2px 4px)!important}
.ts__cur{z-index:9000!important}
.ts .ts__ph img,.ts .ts__ph .ts__gl{transition:filter .5s ease}
@media (min-width:900px){section.ts{padding-bottom:calc(120*var(--u))!important}}
@media (min-width:900px){section.ts{padding-top:calc(110*var(--u))!important}}
@media (min-width:900px){section.ts{padding-top:calc(320*var(--u))!important}}
@media (min-width:900px){section.ts{padding-top:calc(264*var(--u))!important}}
@media (min-width:900px){section.ts{padding-top:calc(200*var(--u))!important}}
@media (min-width:900px){section.ts{padding-top:calc(152*var(--u))!important}}
.ts__top > [data-btn]{align-self:flex-start;width:max-content!important;flex:none}
.ts .ts__card [data-reveal]{will-change:opacity,transform}

/* =====================================================================
   Phones (≤ 899px): the testimonials (the swipe deck) — one version for every page
   (from the Our Work mobile design). Desktop is untouched: everything sits in the media queries below.
   ===================================================================== */
@media (max-width:899px){
  html body .b30-main > section.ts:not(#_z){margin-top:0!important;padding-bottom:0!important}
  html body .tsm .tsm__deck:not(#_z){align-items:flex-start!important;transition:height .45s cubic-bezier(.16,1,.3,1)!important;overflow-y:hidden}
  html body .tsm .tsm__a:not(#_z){margin-top:0!important}
  .ts .ts__card .ts__qt{font-size:16px!important;max-width:none!important}
  .ts .ts__card .ts__in{height:auto!important}
  .ts .ts__card .ts__in{display:grid!important;grid-template-columns:72px 1fr;grid-template-rows:1fr auto;column-gap:14px!important;row-gap:24px!important;gap:24px 14px!important;align-items:center}
  .ts .ts__card .ts__txt{display:contents!important}
  .ts .ts__card .ts__qt{grid-column:1 / -1;grid-row:1;align-self:start}
  .ts .ts__card .ts__ph{grid-column:1;grid-row:2;width:72px!important;height:72px!important;aspect-ratio:1 / 1!important;overflow:hidden}
  .ts .ts__card .ts__ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
  .ts .ts__card .ts__by2{grid-column:2;grid-row:2;align-self:center;gap:6px;margin:0}
  .ts .ts__card .ts__ver{display:flex;align-items:center;gap:5px}
  .ts .ts__card .ts__ver .ok{margin:0!important;gap:3px}
  .ts .ts__card .ts__ver .cl{margin:0!important}
  .ts.ts{padding-bottom:40px!important}
  .ts .ts__row1{display:flex!important;flex-direction:column-reverse!important;align-items:flex-start!important;gap:8px!important}
  .ts .ts__row1 .ts__eye{position:static!important;margin:0!important}
  .ts .ts__top{gap:24px!important;margin-bottom:32px!important}
  .ts .ts__sl{display:none!important}
  .ts .ts__top .b30btn,
.ts .ts__top [data-btn]{display:none!important}
  .ts .ts__row1{flex-direction:column-reverse!important;gap:12px!important}
  .ts .ts__h{font-size:32px!important;line-height:1.2!important;letter-spacing:-.02em!important}
  .ts .ts__row1 .ts__eye{font:400 12px/1.2 var(--mono,"Geist Mono",monospace)!important;color:rgba(13,20,50,.56)!important;text-transform:uppercase}
  .ts.ts{padding-top:64px!important;padding-bottom:64px!important}
  .ts .ts__top{margin-bottom:32px!important}
  .tsm{margin:0 -20px}
  .tsm__deck{display:flex;align-items:stretch;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:20px;padding:0 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none;overscroll-behavior-x:contain}
  .tsm__deck::-webkit-scrollbar{display:none}
  .tsm__c{flex:0 0 calc(100% - 56px);max-width:360px;scroll-snap-align:start;box-sizing:border-box;border:1px solid rgba(0,0,0,.12);background:#fff;padding:24px;display:flex;flex-direction:column}
  .tsm__c:last-child{margin-right:20px}
  .tsm__c + .tsm__c{margin-left:-1px}
  .tsm__mk{width:22px;height:18px;display:block;margin-bottom:18px}
  .tsm__q{margin:0;font-size:16px;line-height:1.35;letter-spacing:-.01em;color:#000}
  .tsm__q p{margin:0}
  .tsm__q p + p{margin-top:.8em}
  .tsm__q p.more{display:none}
  .tsm__c.is-open .tsm__q p.more{display:block}
  .tsm__rm{all:unset;cursor:pointer;display:inline;font:inherit;color:rgba(13,20,50,.5);white-space:nowrap;-webkit-tap-highlight-color:transparent}
  .tsm__q .full{display:none}
  .tsm__c.is-open .tsm__q .short{display:none}
  .tsm__c.is-open .tsm__q .full{display:block}
  .tsm__a{display:flex;align-items:center;gap:16px;margin-top:auto;padding-top:20px;border-top:1px solid rgba(0,0,0,.08)}
  .tsm__ph{flex:none;width:76px;height:92px;overflow:hidden;background:#f3ea08}
  .tsm__ph img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}
  .tsm__who{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}
  .tsm__n{font-size:16px;line-height:1.2;letter-spacing:-.01em;color:#000}
  .tsm__o{font-size:13px;line-height:1.25;color:rgba(0,0,0,.55)}
  .tsm__who .ts__ver{display:flex;align-items:center;gap:5px;margin-top:8px}
  .tsm__who .ts__ver .cl{height:12px!important;width:auto!important}
  .tsm__who .ts__ver .ok{display:inline-flex!important;align-items:center;gap:3px!important;font:400 10px/1 var(--mono,"Geist Mono",monospace)!important;text-transform:uppercase;color:rgba(0,0,0,.55)!important}
  .tsm__who .ts__ver .ok svg{width:11px!important;height:11px!important}
  .tsm__ctl{display:flex;align-items:center;gap:14px;padding:24px 20px 0}
  .tsm__q{margin-bottom:28px!important}
  .tsm__k{font:400 12px/1.2 var(--mono,"Geist Mono",monospace);color:#0d1432;white-space:nowrap;min-width:52px}
  .tsm__bar{flex:1;height:1px;background:rgba(0,0,0,.12);position:relative;overflow:hidden}
  .tsm__bar b{position:absolute;left:0;top:0;bottom:0;background:#000;transition:transform .35s ease}
  .tsm__nav{display:none!important}
  .tsm__ctl{justify-content:center}
  .tsm__dots{display:flex;align-items:center;gap:8px}
  .tsm__dots button{all:unset;position:relative;display:block;width:6px;height:6px;border-radius:3px;background:#000;opacity:.2;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:width .35s cubic-bezier(.65,0,.35,1),opacity .35s ease}
  .tsm__dots button::after{content:"";position:absolute;inset:-14px -4px}
  .tsm__dots button[aria-current="true"]{width:20px;opacity:1}
  .tsm__nav button{all:unset;box-sizing:border-box;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(0,0,0,.85);border-radius:12px;background:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .tsm__nav button[disabled]{opacity:.3;pointer-events:none}
  .tsm__nav svg{width:14px;height:14px;display:block}
  .tsm__nav button:active{transform:scale(.96)}
  .ts.ts{padding-top:104px!important}
  .tsm__q,
.tsm__q p{line-height:1.4!important}
  .tsm__o{font-size:14px!important;line-height:1.2!important;letter-spacing:-.02em}
  .tsm__who .ts__ver .ok{color:rgba(13,20,50,.56)!important}
  html body section.ts .ts__top:not(#_z),
html body section.ts .ts__row1:not(#_z){text-align:center!important;align-items:center!important;justify-content:center!important}
  html body section.ts .ts__h:not(#_z){font-size:26px!important;line-height:1.2!important;letter-spacing:-.02em!important;text-align:center!important;max-width:272px;margin-left:auto!important;margin-right:auto!important}
  html body section.ts .ts__eye:not(#_z){font:400 12px/1.2 var(--mono,"Geist Mono",monospace)!important;opacity:.6;text-align:center!important;width:100%}
  html body .tsm__deck:not(#_z){align-items:flex-start!important}
  html body .tsm__c:not(#_z){padding:22px 20px 20px!important}
  html body .tsm__q:not(#_z),
html body .tsm__q p:not(#_z){font-size:14px!important;line-height:1.3!important;letter-spacing:-.02em!important}
  html body .tsm__q:not(#_z){margin-bottom:20px!important}
  html body .tsm__a:not(#_z){padding-top:16px!important;margin-top:0!important}
  html body .tsm__n:not(#_z){font-size:14px!important;line-height:1.2!important;letter-spacing:-.01em!important}
  html body .tsm__o:not(#_z){font-size:11px!important;line-height:1.2!important;letter-spacing:-.02em!important;color:rgba(0,0,0,.5)!important}
  html body .tsm__who .ts__ver:not(#_z){margin-top:6px!important}
  html body .tsm__ctl:not(#_z){padding-top:20px!important}
  html body section.ts:not(#_z){padding-bottom:40px!important}
  html body .ts__pc:not(#_z){width:4px!important;height:4px!important}
  html body section.ts .ts__lede:not(#_z){display:block!important;margin:0 auto!important;max-width:287px;font-size:15px;line-height:1.2;letter-spacing:-.01em;text-align:center;color:#000}
  html body section.ts .ts__top:not(#_z){gap:20px!important}
  html body section.ts .ts__top > .b30btn:not(#_z){display:flex!important;width:auto!important;height:36px!important;opacity:1!important;visibility:visible!important;position:static!important;margin:4px auto 0!important;align-self:center!important;overflow:visible!important}
  html body section.ts .ts__top > .b30btn .b30btn__ic:not(#_z),
html body section.ts .ts__top > .b30btn .b30btn__lbl:not(#_z){background:transparent!important;color:#000!important;border:.67px solid rgba(0,0,0,.15)!important;border-radius:8.7px!important}
  html body section.ts .ts__top > .b30btn .b30btn__ic svg *:not(#_z){fill:#000!important}
  html body .tsm__mk:not(#_z){display:none!important}
  html body .tsm__c:not(#_z){border:1px dashed rgba(0,0,0,.18)!important;background:transparent!important}
  html body .tsm__c + .tsm__c:not(#_z){margin-left:-1px!important}
  html body .tsm__a:not(#_z){border-top:1px dashed rgba(0,0,0,.15)!important}
  html body .tsm__dots:not(#_z){gap:16px!important}
  html body .tsm__dots button:not(#_z){width:5px!important;height:5px!important;border-radius:0!important;opacity:.4!important}
  html body .tsm__dots button[aria-current="true"]:not(#_z){width:5px!important;opacity:1!important}
  html body section.ts .ts__lede:not(#_z){display:none!important}
  html body section.ts .ts__row1:not(#_z){flex-direction:column-reverse!important;align-items:center!important;gap:32px!important}
  html body section.ts .ts__eye:not(#_z){text-align:center!important;margin:0 auto!important;width:auto!important;align-self:center!important;position:static!important}
  html body section.ts .ts__top:not(#_z){gap:24px!important}
  html body .tsm:not(#_z){position:relative;margin:48px -20px 0!important}
  html body .tsm__deck:not(#_z){padding:0 20px!important;scroll-padding-left:20px!important;align-items:stretch!important;gap:0!important}
  html body .tsm__c:not(#_z){flex:0 0 calc(100vw - 40px)!important;max-width:none!important;min-height:527px;border:0!important;padding:22px 25px 30px!important;align-items:center!important;text-align:center!important;background:transparent!important}
  html body .tsm__c + .tsm__c:not(#_z){margin-left:0!important}
  html body .tsm__q:not(#_z){margin:0!important;width:100%;max-width:300px}
  html body .tsm__q:not(#_z),
html body .tsm__q p:not(#_z){text-align:center!important}
  html body .tsm__q .short:not(#_z){display:none!important}
  html body .tsm__q .full:not(#_z){display:block!important}
  html body .tsm__q .tsm__rm:not(#_z){display:none!important}
  html body .tsm__q p + p:not(#_z){margin-top:1.3em!important}
  html body .tsm__a:not(#_z){flex-direction:column!important;align-items:center!important;gap:25px!important;border:0!important;padding:0!important;margin:30px 0 0!important}
  html body .tsm__ph:not(#_z){width:102px!important;height:105px!important}
  html body .tsm__who:not(#_z){align-items:center!important;gap:3.6px!important;text-align:center}
  html body .tsm__who .ts__ver:not(#_z){margin-top:9px!important;justify-content:center}
  html body .tsm__fr:not(#_z){position:absolute;pointer-events:none;z-index:2}
  html body .tsm__fr.h:not(#_z){left:0;right:0;height:0;border-top:1px dashed rgba(0,0,0,.15)}
  html body .tsm__fr.h.t:not(#_z){top:0}
  html body .tsm__fr.h.b:not(#_z){bottom:var(--fb,0px)}
  html body .tsm__fr.v:not(#_z){top:-55px;bottom:calc(var(--fb,0px) - 55px);width:0;border-left:1px dashed rgba(0,0,0,.15)}
  html body .tsm__fr.v.l:not(#_z){left:20px}
  html body .tsm__fr.v.r:not(#_z){right:20px}
  html body .tsm__fr.p:not(#_z){width:4px;height:4px;background:#000}
  html body .tsm__ctl:not(#_z){padding-top:24px!important}
  html body section.ts:not(#_z)::before,
html body section.ts:not(#_z)::after,
html body section.ts .ts__top:not(#_z)::before,
html body section.ts .ts__top:not(#_z)::after,
html body section.ts .ts__row1:not(#_z)::before,
html body section.ts .ts__row1:not(#_z)::after{display:none!important}
  html body .tsm__c:not(#_z){min-height:0!important;padding-bottom:37px!important}
  html body .tsm__deck:not(#_z){align-items:flex-start!important;transition:height .45s cubic-bezier(.16,1,.3,1)}
  html body .tsm__deck:not(#_z){margin:0 20px!important;padding:0!important;scroll-padding-left:0!important;align-items:stretch!important;height:auto!important;transition:none!important}
  html body .tsm__c:not(#_z){flex:0 0 100%!important}
  html body .tsm__c:last-child:not(#_z){margin-right:0!important}
  html body .tsm__q .w-f:not(#_z){display:none}
  html body .tsm__c.is-more .tsm__q .w-s:not(#_z){display:none}
  html body .tsm__c.is-more .tsm__q .w-f:not(#_z){display:block}
  html body .tsm__q:not(#_z),
html body .tsm__q p:not(#_z){text-align:left!important}
  html body .tsm__q:not(#_z){max-width:none!important}
  html body .tsm__more:not(#_z){all:unset;cursor:pointer;color:rgba(13,20,50,.5);white-space:nowrap}
  html body .tsm__c:not(#_z){align-items:stretch!important;text-align:left!important;padding:24px 20px 24px!important}
  html body .tsm__a:not(#_z){flex-direction:row!important;align-items:center!important;gap:16px!important;margin:auto 0 0!important;padding:20px 0 0!important;border-top:1px dashed rgba(0,0,0,.15)!important}
  html body .tsm__q:not(#_z){margin-bottom:24px!important}
  html body .tsm__ph:not(#_z){width:76px!important;height:78px!important}
  html body .tsm__who:not(#_z){align-items:flex-start!important;text-align:left!important}
  html body .tsm__who .ts__ver:not(#_z){justify-content:flex-start!important}
  html body .tsm__fr.v:not(#_z){-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 55px,#000 calc(100% - 55px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 55px,#000 calc(100% - 55px),transparent 100%);
    border-left:0!important;background:repeating-linear-gradient(180deg,rgba(0,0,0,.15) 0 3px,transparent 3px 6px);width:1px!important}
  html body .tsm__c:not(#_z){padding:12px 20px 12px!important}
  html body .tsm__q:not(#_z){margin-bottom:12px!important}
  html body .tsm__a:not(#_z){padding-top:12px!important}
  html body .tsm__ph:not(#_z){width:56px!important;height:58px!important}
  html body .tsm__fr.p:not(#_z){display:none!important}
}
/* over a portrait the round Next button stays as it is: no black "Next" label inside the picture */
.ts .ts__ph .ts__word{display:none!important}
/* the Clutch badge is a link to our Clutch profile: it keeps its look */
a.ts__ver{color:inherit;text-decoration:none;cursor:pointer}
.mq{position:relative;overflow:hidden;padding:0;margin:0}
.mq__t{display:flex;width:max-content;animation:mqRun var(--mq-dur,46s) linear infinite;will-change:transform}
.mq__s{display:block;flex:none;width:calc(var(--mq-w,4258.36)*var(--u));height:calc(var(--mq-h,228)*var(--u));overflow:visible}   /* each page's drawing sets its own size and loop time (components/closing/Strip.astro) */
.mq__s path{fill:none;stroke:rgba(0,0,0,.3);stroke-width:1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke;shape-rendering:crispEdges}
@media (prefers-reduced-motion:reduce){.mq__t{animation:none}}
.cta3{position:relative;padding:0 calc(164*var(--u));display:flex;flex-direction:column;gap:calc(48*var(--u))}
.cta3__h{margin:0;font-weight:400;font-size:calc(50*var(--u));letter-spacing:calc(-1*var(--u));line-height:1.2}
@media (max-width:899px){.cta3{padding:0 20px}}
@media (max-width:899px){.cta3__h{font-size:34px}}
@media (max-width:899px){.mq__s{height:110px;width:auto}}
.mq{margin-top:calc(120*var(--u))!important}
.cta3{margin-top:calc(164*var(--u))!important}
@media (max-width:899px){.mq{margin-top:48px!important}}
@media (max-width:899px){.cta3{margin-top:64px!important}}
.cta3{align-items:center;text-align:center;padding:calc(120*var(--u)) calc(164*var(--u))!important;gap:0!important}
.cta3__rule{position:absolute;left:0;right:0;height:1px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.15) 0 2px,transparent 2px 4px)}
.cta3__rule.t{top:0}
.cta3__rule.b{bottom:0}
.cta3__px{position:absolute;width:6px;height:6px;margin:-2.5px;background:#000}
.cta3__eye{margin:0 0 calc(28*var(--u));font:400 calc(13*var(--u))/1 var(--mono,"Geist Mono",monospace);letter-spacing:.04em;text-transform:uppercase;color:#0D1432}
.cta3__h{text-align:center}
.cta3__btns{display:flex;gap:calc(8*var(--u));margin-top:calc(40*var(--u))}
.cta3__meta{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(12*var(--u));margin:calc(48*var(--u)) 0 0;font:400 calc(12*var(--u))/1.4 var(--mono,"Geist Mono",monospace);letter-spacing:.04em;text-transform:uppercase;color:rgba(13,20,50,.5)}
.cta3__meta a{color:inherit;text-decoration:none;transition:color .2s ease}
.cta3__meta a:hover{color:#000}
@media (max-width:899px){.cta3{padding:56px 20px!important}}
@media (max-width:899px){.cta3__px{display:none}}
@media (max-width:899px){.cta3__meta{font-size:11px}}
.cta3{margin-top:calc(240*var(--u))!important}
.cta3__btns{gap:calc(12*var(--u))!important}
.cta3__btns .ts__btn{align-self:auto}
.cta3__v{position:absolute;top:calc(-160*var(--u));bottom:calc(-160*var(--u));width:1px;pointer-events:none;
  background:repeating-linear-gradient(180deg,rgba(0,0,0,.15) 0 2px,transparent 2px 4px);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 calc(160*var(--u)),#000 calc(100% - 160*var(--u)),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 calc(160*var(--u)),#000 calc(100% - 160*var(--u)),transparent 100%)}
.cta3__v.l{left:calc(164*var(--u))}
.cta3__v.r{right:calc(164*var(--u))}
@media (max-width:899px){.cta3__v{display:none}}
.cta3{padding:0 calc(164*var(--u)) calc(120*var(--u))!important}
.cta3__eye.ts__eye{margin:0 0 calc(28*var(--u))!important;justify-content:center;letter-spacing:normal!important;font:400 calc(14*var(--u))/1.2 var(--mono)!important;color:var(--mid)!important}
@media (max-width:899px){.cta3{padding:0 20px 72px!important}}
.cta3__btns .b30btn{height:max(38px,calc(48*var(--u)))}
.mq__fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.cta3__h .b30-alt{display:inline-block;text-align:center}
.cta3__btns > [data-btn]{width:max-content!important;flex:none}

/* =====================================================================
   Phones (≤ 899px): the "Sketch…" strip and the call to action — one version for every page
   (from the Our Work mobile design). Desktop is untouched: everything sits in the media queries below.
   ===================================================================== */
@media (max-width:899px){
  html body .b30-main > section.cta3:not(#_z){margin-top:56px!important;padding-top:0!important}
  .cta3 .cta3__eye.ts__eye{font-size:12px!important;margin-bottom:20px!important}
  .cta3.cta3{margin-top:24px!important;padding-top:40px!important}
  .cta3 .cta3__eye.ts__eye{margin-bottom:6px!important}
  .cta3 .cta3__btns{margin-top:28px!important}
  .cta3 .cta3__h{font-size:32px!important;line-height:1.2!important;letter-spacing:-.02em!important}
  .cta3 .cta3__eye.ts__eye{font:400 12px/1.2 var(--mono,"Geist Mono",monospace)!important;color:rgba(13,20,50,.56)!important;margin-bottom:12px!important}
  html body .cta3__h:not(#_z){font-size:26px!important;line-height:1.2!important;letter-spacing:-.02em!important;max-width:311px;margin-left:auto!important;margin-right:auto!important}
  html body .cta3__eye:not(#_z){font-size:12px!important;opacity:.6}
  html body :is(#services .b30s__mobile,section.b30sb,section.ts .ts__top,.nx-sec .nx__top,section.cta3):not(#_z){padding-left:20px!important;padding-right:20px!important}
  html body section.cta3:not(#_z){margin-top:-62px!important}
  html body section.cta3:not(#_z){margin-top:-45px!important}
  html body section.cta3:not(#_z){margin-top:-38px!important}
  html body section.cta3:not(#_z){margin-top:-6px!important;padding-bottom:104px!important}
}
/* desktop: the closing call to action ("Building something? Or fixing something broken?") sits 210 px under the
   section above it, with 60 px under it — on every page */
@media (min-width:900px){
  html body .b30-main > section.cta3:not(#_z):not(#_y),html body section.cta3:not(#_z):not(#_y){margin-top:210px!important;padding-bottom:60px!important}
}
/* after the testimonials: the Sketch/Make/Break/Scale strip and the call to action */
.b30-main > .b30c{background:linear-gradient(#fff,#fff) calc(82*var(--u)) 0/calc(100% - 164*var(--u)) calc(100% - 2px) no-repeat,linear-gradient(#fff,#fff) 0 0/100% calc(548*var(--u)) no-repeat}
.b30c{position:relative;height:calc(860*var(--u))}
.b30c{--cp:1}
.b30c__st{position:absolute;bottom:-2px;width:calc(82*var(--u) + 2px);transform-origin:50% 100%;transform:scaleY(var(--cp));will-change:transform}
.b30c__st.o{height:calc(312*var(--u));background:linear-gradient(180deg,rgba(250,215,255,0) 0,#FAD7FF calc(167*var(--u)),#B4E3F7 calc(167*var(--u)))}
.b30c__st.i{height:calc(231*var(--u));background:linear-gradient(180deg,rgba(250,215,255,0) 0,#B4E3F7 calc(167*var(--u)),#B4E3F7 100%)}
.b30c__st.o.l{left:0}
.b30c__st.o.r{right:0}
.b30c__st.o{z-index:1}
.b30c__st.i.l{left:calc(82*var(--u) - 1px);transform:scaleY(calc(var(--cp) * .92 + .08))}
.b30c__st.i.r{right:calc(82*var(--u) - 1px);transform:scaleY(calc(var(--cp) * .92 + .08))}
.b30c__in{position:absolute;left:calc(164*var(--u));right:calc(164*var(--u));top:calc(330*var(--u));z-index:2;display:flex;flex-direction:column;align-items:center}
.b30c__k{margin:0 0 calc(40*var(--u));font:400 max(11px,calc(14*var(--u)))/1.2 var(--mono);text-transform:uppercase;color:var(--midnight)}
.b30c__txt{position:relative;width:calc(1060*var(--u));margin:0;font-weight:400;font-size:calc(56*var(--u));line-height:1.18;letter-spacing:-.025em;text-align:center}
.b30c__btns{display:flex;gap:max(10px,calc(16*var(--u)));margin-top:calc(64*var(--u))}
.b30c__ln{position:relative;left:50%;display:flex;justify-content:space-between;white-space:nowrap;transform:translateX(-50%);will-change:width}
.b30c__ln.one{justify-content:center}
.b30c__ln > span{flex:none;position:relative;opacity:var(--f,1);transition:opacity .25s linear}
.b30c__ln > span.hl{z-index:0}
.b30c__ln > span.hl::before{content:"";position:absolute;left:-.08em;right:-.08em;top:.06em;bottom:.02em;background:#B0E9FD;z-index:-1;
  clip-path:inset(0 100% 0 0);transition:clip-path .7s steps(7,end)}
.b30c__ln > span.hl.is-lit::before{clip-path:inset(0 0 0 0)}
.b30c__wing{position:absolute;bottom:0;height:calc(312*var(--u));width:calc(164*var(--u) + 2px);background:#fff;z-index:1;pointer-events:none;
  transform:scaleX(var(--wp,0));will-change:transform}
.b30c.is-open .b30c__wing{display:none}
.b30c__wing.l{left:0;transform-origin:100% 50%}
.b30c__wing.r{right:0;transform-origin:0 50%}
@media (max-width:899px){.b30c{height:auto;padding:110px 20px 150px}}
@media (max-width:899px){.b30c__in{position:relative;left:auto;right:auto;top:auto}}
@media (max-width:899px){.b30c__txt{width:auto;font-size:clamp(26px,7vw,40px)}}
@media (max-width:899px){.b30c__btns{flex-wrap:wrap;justify-content:center}}
@media (max-width:899px){.b30c__st,.b30c__wing{display:none}}
.b30c__meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:calc(28*var(--u));margin-top:calc(72*var(--u));font:400 max(11px,calc(14*var(--u)))/1.2 var(--mono);text-transform:uppercase;color:var(--midnight)}
.b30c__meta a{color:#000;text-decoration:none;border-bottom:1px solid rgba(0,0,0,.15);padding-bottom:3px;transition:border-color .3s}
.b30c__meta a:hover{border-color:#000}
.b30c__meta i{display:block;width:max(4px,calc(5*var(--u)));height:max(4px,calc(5*var(--u)));background:#000}
.b30c__live{display:inline-flex;align-items:center;gap:10px}
.b30c__live b{display:block;width:max(6px,calc(8*var(--u)));height:max(6px,calc(8*var(--u)));background:#3457BA;animation:b30-live 2.4s steps(1,end) infinite}
@media (max-width:899px){.b30c__meta{margin-top:36px;gap:14px 18px}}
@media (prefers-reduced-motion:reduce){.b30c__live b{animation:none}}
.b30c__txt .b30c__ln{display:block;position:static;left:auto;width:auto;transform:none;text-align:center;white-space:nowrap}
.b30c__txt .b30c__ln > span{display:inline-block;opacity:1;will-change:transform}
.b30c.wk-cta-proof{height:calc(var(--ctah,760)*var(--u))}
.b30-main > .b30c.wk-cta-proof{background:#fff;margin-top:calc(110*var(--u))}
.wk-cta-proof .b30c__in{display:none}
.wk-cta-stage{position:relative;height:100%}
.wk-cta__px{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;z-index:2}
.wk-cta__t{position:absolute;left:0;right:0;margin:0;font-size:calc(200*var(--u));text-align:center;white-space:nowrap;font-weight:400;color:#000;line-height:.92;letter-spacing:-.035em;z-index:3;visibility:hidden}
.wk-cta__ln{display:block}
@media (max-width:899px){.b30c.wk-cta-proof{padding:0;min-height:0}}
html.dark .b30-main > .b30c{background:linear-gradient(#000,#000) calc(82*var(--u)) 0/calc(100% - 164*var(--u)) calc(100% - 2px) no-repeat,linear-gradient(#000,#000) 0 0/100% calc(548*var(--u)) no-repeat}
html.dark .b30c__ln > span.hl::before{background:#0F2638}
html.dark .b30c__wing{background:#000}
html.dark .b30c__meta a{color:#F2F1EE;border-bottom:1px solid rgba(255,255,255,.2)}
html.dark .b30c__meta a:hover{border-color:#F2F1EE}
html.dark .b30c__meta i{background:#F2F1EE}
html.dark .b30c__live b{background:#7B93FF}
html.dark .b30c__wing{display:none!important}
html.dark .b30c__st.o{background:linear-gradient(180deg,rgba(55,56,115,0) 0,#373873 calc(167*var(--u)),#283B6F calc(167*var(--u)))}
html.dark .b30c__st.i{background:linear-gradient(180deg,rgba(55,56,115,0) 0,#283B6F calc(167*var(--u)),#283B6F 100%)}
html.dark .b30c .b30btn__ic{background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.18)!important}
html.dark .b30c .b30btn__lbl{background:transparent!important;border-color:rgba(255,255,255,.18)!important;color:#F2F1EE!important}
html body .b30c .cta2{top:calc(48.5*var(--u))!important;gap:0!important}
.cta2__h{font-size:calc(100*var(--u))!important;line-height:1.2!important;letter-spacing:-.02em!important}
.cta2 .b30btn{display:none!important}
.cta2__h.is-px{color:transparent!important}
.cta2__h.is-px *{color:transparent!important}
.cta-px{position:absolute;left:0;right:0;width:100%;display:block;pointer-events:none;z-index:4}
@media (max-width:899px){.cta2__h{font-size:clamp(34px,8.6vw,56px)!important;letter-spacing:-.02em!important}}
.cta2__h.cta-scrub .hw{overflow:visible!important}
.cta2__h.cta-scrub .hw-i{display:inline-block;transition:none!important;transform:translate3d(0,var(--y,0),0) scale(var(--s,1))!important;transform-origin:50% 100%;opacity:1!important;will-change:transform}
.cta2__h.cta-scrub,.cta2__h.cta-scrub .hw{overflow:visible!important;clip-path:none!important}
.cta2__h.cta-scrub .hc{display:inline-block;white-space:pre;transform:translate3d(0,var(--y,0),0) skewX(var(--k,0deg));transform-origin:50% 100%;opacity:var(--o,1);filter:blur(var(--b,0px));will-change:transform,opacity,filter}
.cta2__h.cta-scrub{overflow:visible}
#contact .wk-cta-stage,#contact{overflow-x:clip}
.cta-px{display:none!important}
#contact.b30c{position:relative;z-index:2;clip-path:inset(-200vh -40px calc(-166 * var(--u)) -40px)}
@media (max-width:899px){#contact.b30c{clip-path:inset(-200vh -40px 0 -40px)}}
.wk-cta__px{inset:auto;left:0;top:0;right:0;width:100%}
.b30c.wk-cta-proof,.wk-cta-stage{overflow:visible!important}
.wk-cta__t{visibility:visible!important}
.wk-cta__px{display:none!important}
.wk-cta-proof .wk-cta__t{font-size:calc(140*var(--u))!important}
.wk-cta__ln{will-change:transform}
.pg__cities .tm{font:400 calc(14 * var(--u))/1 var(--mono);color:var(--midnight);font-variant-numeric:tabular-nums}
.b30c.wk-cta-proof{height:calc(var(--ctah,1000)*var(--u))}
.wk-cta-proof .wk-cta__t{display:none!important}
.cta2{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;gap:calc(64*var(--u))}
.cta2__h{margin:0;font-weight:400;font-size:calc(71*var(--u));line-height:1.2;letter-spacing:calc(-1.42*var(--u));text-align:center;color:#000}
.cta2__h .ln{display:block;white-space:nowrap}
html.dark .cta2__h{color:#F2F1EE}
@media (max-width:899px){.b30c.wk-cta-proof{height:auto!important;min-height:0;padding:96px 0 140px}}
@media (max-width:899px){.cta2{position:relative;top:auto;transform:none;gap:32px}}
@media (max-width:899px){.cta2__h{font-size:clamp(28px,8vw,44px)}}
@media (max-width:899px){.cta2__h .ln{white-space:normal}}
.b30-main > .b30c.wk-cta-proof{margin-top:calc(30*var(--u))!important}
.cta2{top:calc(190*var(--u))!important;transform:none!important}
#contact.b30c{clip-path:none!important}
.cta2__h.cta-letters .hw-i{transform:none!important;opacity:1!important}
.cta2__h.cta-letters .hc{display:inline-block;white-space:pre;transform:translate3d(var(--x,0),var(--y,0),0) rotate(var(--r,0deg));will-change:transform}
#contact.b30c{clip-path:none!important}
.cta2__h.cta-slide .hw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.cta2__h.cta-slide .hw-i{display:inline-block;transform:translate3d(0,110%,0)!important;opacity:1!important;transition:transform .9s cubic-bezier(.16,1,.3,1) var(--d,0ms)!important}
.cta2__h.cta-slide.is-up .hw-i{transform:none!important}
.cta2__h.cta-slide .hc{transform:none!important}
#contact.b30c.wk-cta-proof,#contact.b30c{height:calc(1000*var(--u))!important}
#contact .wk-cta-stage > .cta2,#contact .wk-cta-stage > .wk-cta__px,#contact .wk-cta-stage > .wk-cta__t{display:none!important}
.fall{position:absolute;inset:0;overflow:hidden;z-index:4;touch-action:pan-y}
.fall__b{position:absolute;left:0;top:0;box-sizing:border-box;background:#fff;border:1px solid rgba(0,0,0,.15);will-change:transform;cursor:grab;user-select:none;-webkit-user-select:none}
.fall__b.w{display:flex;align-items:center;justify-content:center;border:1px dashed rgba(0,0,0,.15);font:400 calc(100*var(--u))/1 var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.03em;color:#000;white-space:nowrap;padding:0 calc(32*var(--u))}
.fall.is-drag,.fall.is-drag .fall__b{cursor:grabbing}
html.dark .fall__b{background:#0b1029;border-color:rgba(255,255,255,.15)}
html.dark .fall__b.w{color:#F2F1EE;border-color:rgba(255,255,255,.2)}
@media (max-width:899px){#contact.b30c.wk-cta-proof,#contact.b30c{height:620px!important}}
@media (max-width:899px){.fall__b.w{font-size:44px;padding:0 16px}}
#contact.b30c.wk-cta-proof,#contact.b30c{height:calc(834*var(--u))!important;position:relative;z-index:8}
#contact .fall{bottom:calc(-166*var(--u))!important;height:auto}
.fall__b.w.mono{font-family:"Departure Mono",ui-monospace,monospace;font-size:calc(108*var(--u));letter-spacing:-.02em}
@media (max-width:899px){#contact.b30c.wk-cta-proof,#contact.b30c{height:620px!important}}
@media (max-width:899px){#contact .fall{bottom:0!important}}
@media (max-width:899px){.fall__b.w.mono{font-size:48px}}
#contact.b30c.wk-cta-proof,#contact.b30c{height:calc(700*var(--u))!important}
.fall__b{transition:background-color .9s ease}
.fall__b.hit{animation:fallHit .9s ease-out}
html.dark .fall__b.hit{animation-name:fallHitD}
.fall__ring{position:absolute;width:calc(24*var(--u));height:calc(24*var(--u));margin:calc(-12*var(--u)) 0 0 calc(-12*var(--u));border:1px dashed rgba(0,0,0,.35);border-radius:50%;pointer-events:none;animation:fallRing .7s cubic-bezier(.16,1,.3,1) forwards}
html.dark .fall__ring{border-color:rgba(255,255,255,.4)}
.fall__b.hit{animation:none!important}
#contact .fall{clip-path:polygon(0 0,100% 0,100% calc(100% - 166*var(--u)),calc(100% - 82*var(--u)) calc(100% - 166*var(--u)),calc(100% - 82*var(--u)) calc(100% - 83*var(--u)),calc(100% - 164*var(--u)) calc(100% - 83*var(--u)),calc(100% - 164*var(--u)) 100%,calc(164*var(--u)) 100%,calc(164*var(--u)) calc(100% - 83*var(--u)),calc(82*var(--u)) calc(100% - 83*var(--u)),calc(82*var(--u)) calc(100% - 166*var(--u)),0 calc(100% - 166*var(--u)))}
@media (max-width:899px){#contact .fall{clip-path:none}}
.fall__b.cube{background:none!important;border:0!important;overflow:visible}
.fall__b.cube svg{position:absolute;left:0;display:block;overflow:visible;pointer-events:none}
.fall__b.cube path{fill:none;stroke:rgba(0,0,0,.15);stroke-width:1;vector-effect:non-scaling-stroke;shape-rendering:crispEdges}
html.dark .fall__b.cube path{stroke:rgba(255,255,255,.18)}
.fall__b.w{z-index:2}
.fall__b{border-style:dashed!important}
.fall__b{touch-action:none}
.fall__b.is-held{z-index:3;cursor:grabbing}
#contact.b30c.wk-cta-proof,#contact.b30c{height:calc(640*var(--u))!important}
#contact .fall{display:none!important}
.tm{position:absolute;inset:0;z-index:4;pointer-events:none}
.tm__l{position:absolute;left:50%;margin:0;white-space:nowrap;font:400 calc(100*var(--u))/1 var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.03em;color:#000;
  transform:translate3d(calc(-50% + var(--dx,0px)),0,0);will-change:transform}
.tm__l.a{top:calc(196*var(--u))}
.tm__l.b{top:calc(196*var(--u) + 118*var(--u))}
.tm__l .mono{font-family:"Departure Mono",ui-monospace,monospace;font-size:1.06em;letter-spacing:-.02em}
html.dark .tm__l{color:#F2F1EE}
@media (max-width:899px){#contact.b30c.wk-cta-proof,#contact.b30c{height:420px!important}}
@media (max-width:899px){.tm__l{font-size:44px}}
@media (max-width:899px){.tm__l.a{top:120px}}
@media (max-width:899px){.tm__l.b{top:176px}}
#contact{position:relative;z-index:8;background:#fff}
html.dark #contact{background:var(--night)}
#contact{overflow:visible!important}
.ct-steps{position:absolute;left:0;right:0;top:100%;height:calc(168*var(--u));pointer-events:none;z-index:9}
@media (max-width:899px){.ct-steps{display:none}}
.tm__l{--dx:0px!important}
.tm__l .tw{display:inline-block;will-change:transform}
.tm__l .tw{transform:translate3d(var(--sx,0px),0,0);opacity:0;transition:transform 1.8s cubic-bezier(.22,1,.36,1) var(--wd,0ms),opacity 1.2s ease var(--wd,0ms)}
.tm.is-in .tm__l .tw{transform:none;opacity:1}
.tm.is-measure .tm__l .tw{transform:none!important;transition:none!important}
.tm__l .tw,.tm.is-in .tm__l .tw{opacity:1!important;transform:translate3d(calc(var(--sx,0px) * var(--k,1)),0,0)!important;transition:transform .2s ease-in-out!important}
.tm.is-measure .tm__l .tw{transform:none!important;transition:none!important}
.tm__l .tw,.tm.is-in .tm__l .tw{--k:1;opacity:1!important;transform:translate3d(calc(var(--sx,0px) * var(--k,1)),0,0)!important;transition:transform 1.5s cubic-bezier(.25,.46,.45,.94) var(--wd,0ms)!important}
.tm.is-go .tm__l .tw{--k:0}
.tm.is-measure .tm__l .tw{transform:none!important;transition:none!important}
.tm.is-drift .tm__l .tw{transform:none!important;transition:none!important}
.tm__px{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.tm{overflow:visible}
.tw1{position:absolute;left:50%;top:50%;margin:0;transform:translate(-50%,-50%);white-space:nowrap;font:400 calc(140*var(--u))/1 var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.03em;color:#000}
.tw1__w.mono{font-family:"Departure Mono",ui-monospace,monospace;font-size:1.06em;letter-spacing:-.02em}
html.dark .tw1{color:#F2F1EE}
@media (max-width:899px){.tw1{font-size:64px}}
#contact .tm,#contact .tw1{display:none!important}
#contact.b30c.wk-cta-proof,#contact.b30c{height:calc(160*var(--u))!important}
@media (max-width:899px){#contact.b30c.wk-cta-proof,#contact.b30c{height:80px!important}}
#contact .tw1{display:none!important}
#contact.b30c.wk-cta-proof,#contact.b30c{height:calc(220*var(--u))!important}
#contact.b30c.wk-cta-proof,#contact.b30c{height:calc(72*var(--u))!important}
@media (max-width:899px){#contact.b30c.wk-cta-proof,#contact.b30c{height:40px!important}}
#contact.b30c.wk-cta-proof,#contact.b30c{height:calc(90*var(--u))!important}
#contact.b30c.wk-cta-proof,#contact.b30c{height:calc(10*var(--u))!important}

/* =====================================================================
   Phones (≤ 899px): the closing band — one version for every page
   (from the Our Work mobile design). Desktop is untouched: everything sits in the media queries below.
   ===================================================================== */
@media (max-width:899px){
  html body .b30-main > #contact.b30c:not(#_z),
html body .b30-main > #contact.b30c.wk-cta-proof:not(#_z){height:44px!important;min-height:0!important;margin-top:0!important;padding:0!important}
}
.b30f{margin-top:-2px}
.b30f{position:relative;z-index:1;height:calc(1151*var(--u));overflow:hidden;background:#b4e3f7}
.b30f__in{position:absolute;inset:0}
.b30f__dim{position:absolute;inset:0;z-index:3;background:#000;opacity:0;pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,transparent calc(150*var(--u)),#000 calc(260*var(--u)));
          mask-image:linear-gradient(to bottom,transparent 0,transparent calc(150*var(--u)),#000 calc(260*var(--u)))}
.b30f .bt-footer,.b30f__c{will-change:transform}
.b30f__cap{position:absolute;left:0;right:0;top:0;height:calc(260*var(--u));z-index:1;pointer-events:none;background:linear-gradient(180deg,#B4E3F7 0,#B4E3F7 38%,rgba(180,227,247,0) 100%)}
.b30f__top{position:absolute;left:0;right:0;top:0;height:calc(150*var(--u));background:#B4E3F7}
.b30f .bt-footer{position:absolute;left:0;right:0;top:calc(146*var(--u));height:calc(1005*var(--u));overflow:hidden;isolation:isolate;
  background:linear-gradient(180deg,#B0E0F5 0%,#DAEFFA 45%,#E6E8FA 62%,#C3BDEE 80%,#8F9BE3 100%)}
.bt-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0}
.bt-fallback{display:none}
.b30f__c{position:absolute;inset:0;z-index:2;pointer-events:none}
.b30f__c > *{pointer-events:auto}
.b30f__h{position:absolute;left:calc(164*var(--u));top:calc(295*var(--u));margin:0;width:calc(470*var(--u));font-weight:400;font-size:max(22px,calc(36*var(--u)));line-height:1.2;letter-spacing:-.02em}
.b30f__col{position:absolute;display:flex;flex-direction:column;align-items:flex-start;gap:calc(12*var(--u));font:400 max(11px,calc(14*var(--u)))/1.2 var(--mono);text-transform:uppercase}
.b30f__col a{color:#000;text-decoration:none}
.b30f__col address{font-style:normal;width:calc(250*var(--u))}
.b30f__t{opacity:.5;margin-bottom:calc(4*var(--u))}
.b30f__cta{position:absolute;left:calc(164*var(--u));top:calc(531*var(--u));opacity:0;transform:translate3d(0,12px,0);transition:opacity .8s var(--ease-out) .35s,transform 1s var(--ease-out) .35s}
.b30f.is-rev .b30f__cta{opacity:1;transform:none}
.b30f__bar{position:absolute;left:calc(162*var(--u));top:calc(1053*var(--u));width:calc(1594*var(--u));padding-top:calc(33*var(--u));border-top:1px solid rgba(0,0,0,.15);
  display:flex;justify-content:space-between;font:400 max(10px,calc(14*var(--u)))/1.2 var(--mono);text-transform:uppercase;z-index:2}
.b30f__bar a{color:#000;text-decoration:none}
.b30f__legal{display:flex;align-items:center;gap:calc(40*var(--u))}
.b30f__legal i{display:block;width:1px;height:calc(16*var(--u));background:rgba(0,0,0,.15)}
.b30f [data-fascii]{visibility:hidden}
.b30f [data-fascii].ascii-run{visibility:visible}
@media (max-width:899px){.b30f{height:auto;overflow:visible}}
@media (max-width:899px){.b30f__in{position:relative;display:flex;flex-direction:column}}
@media (max-width:899px){.b30f__c{order:1}}
@media (max-width:899px){.b30f .bt-footer{order:2}}
@media (max-width:899px){.b30f__col address{width:auto}}
@media (max-width:899px){.b30f__top,.b30f__cap,.b30f__dim{display:none}}
@media (max-width:899px){.b30f .bt-footer{position:relative;top:auto;height:62vw;min-height:260px}}
@media (max-width:899px){.b30f__c{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:32px 20px;padding:56px 20px 32px}}
@media (max-width:899px){.b30f__h,.b30f__col,.b30f__cta,.b30f__bar{position:relative;left:auto!important;top:auto!important;width:auto}}
@media (max-width:899px){.b30f__h{grid-column:1/-1}}
@media (max-width:899px){.b30f__cta{grid-column:1/-1}}
@media (max-width:899px){.b30f__bar{grid-column:1/-1;flex-direction:column;gap:10px;padding-top:16px}}
.b30f .b30btn__ic{background:transparent}
@media (prefers-reduced-motion:reduce){.b30f__cta{opacity:1;transform:none}}
.b30f .b30-alt__ov{--swap-c:#000}
html.dark .b30f{background:#283B6F;color:#F2F1EE;--black:#F2F1EE;--white:#000}
html.dark .b30f__top{background:#283B6F}
html.dark .b30f__cap{background:linear-gradient(180deg,#283B6F 0,#283B6F 38%,rgba(40,59,111,0) 100%)}
html.dark .b30f__col a,html.dark .b30f__bar a{color:#F2F1EE}
html.dark .b30f__bar{border-top-color:rgba(255,255,255,.22)}
html.dark .b30f__legal i{background:#F2F1EE}
html.dark .b30f .b30btn,html.dark .b30f .b30btn *{color:#F2F1EE;border-color:#F2F1EE}
html.dark .b30f .b30btn__ic{background:transparent}
html.dark .b30f [fill="#000"]{fill:#F2F1EE}
html.dark .b30f__st{background:var(--night)!important}
html.dark footer.b30f.b30f{background-color:#263A6E!important}
.b30f__cta .b30btn__ic{border:1px solid #000;border-radius:12px;background:transparent}
.b30f__cta .b30btn__lbl{border-radius:12px;margin-left:2px}
.b30h__btn--line i,.b30btn:not(.b30f__cta) .b30btn__ic{border:1px solid var(--line,rgba(0,0,0,.15))!important;border-radius:12px;background:transparent}
.b30h__btn--line span,.b30btn:not(.b30f__cta) .b30btn__lbl{border:1px solid var(--line,rgba(0,0,0,.15))!important;border-radius:12px;background:transparent;color:#000;margin-left:2px}
.b30h__btn--line:hover span,.b30h__btn--line:hover i,.b30btn:not(.b30f__cta):hover .b30btn__ic,.b30btn:not(.b30f__cta):hover .b30btn__lbl{border-color:rgba(0,0,0,.4)!important}
.b30f__h{font-size:max(24px,calc(44*var(--u)));width:calc(620*var(--u));letter-spacing:-.03em;line-height:1.12}
.b30f__h .b30f__h2{display:block}
@media (min-width:900px){.b30f__col[aria-label="Socials"]{left:auto!important;right:calc(164*var(--u));align-items:flex-end;text-align:right}}
.b30c__st,.b30c__wing,.b30f__dim,.b30f__top,.b30f__cap{display:none!important}
.b30f{height:calc(1235*var(--u))!important;background:transparent!important;margin-top:0!important}
.b30f__in{top:calc(207*var(--u))!important;background:#B3E2F7}
.b30fb{position:absolute;left:0;top:0;width:100%;height:calc(208*var(--u));z-index:2;pointer-events:none;display:block;--fb-top:#B4E3F7;--fb-bot:#A3D3F2}
html.dark .b30fb{--fb-top:#1d2c57;--fb-bot:#283B6F}
.b30f .bt-footer{top:0!important;height:calc(1028*var(--u))!important}
.b30f__in::before{display:none}
html.dark .b30f__in::before{display:none}
.b30f .bt-footer,.b30f__c{transform:none!important}
.b30f__h{top:calc(197*var(--u))!important}
.b30f__col[aria-label]{top:calc(199*var(--u))!important}
.b30f__col[style*="top:calc(485"]{top:calc(390*var(--u))!important}
.b30f__col[style*="top:calc(480"]{top:calc(385*var(--u))!important}
.b30f__cta{top:calc(429*var(--u))!important}
.b30f__bar{top:calc(932*var(--u))!important;padding-top:calc(52*var(--u))!important;border-top:0!important}
.b30f__ln{position:absolute;z-index:3;pointer-events:none;
  filter:drop-shadow(0 0 3px rgba(255,255,255,.75)) drop-shadow(0 0 10px rgba(199,217,255,.45))}
.b30f__ln.h{left:0;right:0;top:calc(932*var(--u));height:1px;background:#fff}
.b30f__ln.v{top:calc(781*var(--u));bottom:0;width:1px}
.b30f__ln.v.l{left:calc(82*var(--u));background:linear-gradient(180deg,rgba(255,255,255,0) 0,#fff 100%)}
.b30f__ln.v.r{left:calc(1838*var(--u));background:linear-gradient(180deg,rgba(255,255,255,0) 0,#fff 64.4%,#fff 100%)}
.b30f__ln.sq{top:calc(932*var(--u) - 2.5px);width:6px;height:6px;background:#fff}
.b30f__ln.sq.l{left:calc(82*var(--u) - 2.5px)}
.b30f__ln.sq.r{left:calc(1838*var(--u) - 2.5px)}
@media (max-width:899px){.b30f{height:auto!important}}
@media (max-width:899px){.b30f__in{top:0!important}}
@media (max-width:899px){.b30f .bt-footer{height:auto!important}}
@media (max-width:899px){.b30f__ln,.b30fb{display:none}}
@media (max-width:899px){.b30f__bar{border-top:1px solid rgba(255,255,255,.8)!important;padding-top:16px!important}}
@media (max-width:899px){.b30f__h,.b30f__col,.b30f__cta,.b30f__bar{top:auto!important}}
@media (min-width:900px){.b30f__col[aria-label="Socials"]{left:calc(1651*var(--u))!important;right:auto!important;align-items:flex-start!important;text-align:left!important}}
html.dark .b30f__in{background:#121b45}
html.dark .b30fb{--fb-top:#121B46;--fb-bot:#283B6F}
.work .row::before,.work .row::after,.vision .vz-ln,.b30f__ln.h,.ts__fr .fl.h,.b30p__c::before{-webkit-mask-image:repeating-linear-gradient(90deg,#000 0 2px,transparent 2px 4px);mask-image:repeating-linear-gradient(90deg,#000 0 2px,transparent 2px 4px)}
.b30p__v,.vision .vz-vl,.b30f__ln.v,.ts__fr .fl.v,.b30f__legal i,.b30h__vline--26,.b30h__vline--27{-webkit-mask-image:repeating-linear-gradient(180deg,#000 0 2px,transparent 2px 4px);mask-image:repeating-linear-gradient(180deg,#000 0 2px,transparent 2px 4px)}
.b30f__in::before{display:block!important;content:"";position:absolute;left:0;right:0;top:-1px;height:calc(340*var(--u));z-index:1;pointer-events:none;
  background:linear-gradient(180deg,#A3D3F2 0,rgba(163,211,242,.7) 18%,rgba(163,211,242,.3) 44%,rgba(163,211,242,0) 100%)}
html.dark .b30f__in::before{display:none!important}
html.dark .b30f__in::after{background:linear-gradient(180deg,rgba(14,22,51,0) 0%,rgba(14,22,51,.6) 50%,#0E1633 100%)}
@media (min-width:900px){.b30f{height:calc(1028*var(--u))!important}}
@media (min-width:900px){.b30f__in{top:0!important;will-change:transform}}
.b30fb{display:none!important}
.b30f__in::before{display:none!important}
.b30f__stripe{position:absolute;z-index:6;top:-1px;height:calc(108*var(--u) + 1px);left:var(--fsL,0px);right:var(--fsR,0px);background:#fff;pointer-events:none}
html.dark .b30f__stripe{background:#0A0F2A}
@media (max-width:899px){.b30f__stripe{display:none}}
.b30f__stripe{display:none!important}
.b30f__st{position:absolute;z-index:6;background:#fff;pointer-events:none}
.b30f__st.b{left:calc(82*var(--u)*var(--fb,0));right:calc(82*var(--u)*var(--fb,0));top:-1px;height:calc((84*var(--u) + 1px)*var(--hb,1))}
.b30f__st.a{left:calc(164*var(--u)*var(--fa,0));right:calc(164*var(--u)*var(--fa,0));top:calc(82*var(--u)*var(--hb,1) - 1px);height:calc((84*var(--u) + 1px)*var(--ha,1))}
html.dark .b30f__st{background:#0A0F2A}
@media (max-width:899px){.b30f__st{display:none}}
.b30f__st.b{height:calc(84*var(--u) + 1px)!important}
.b30f__st.a{top:calc(82*var(--u) - 1px)!important;height:calc(84*var(--u) + 1px)!important}
.b30f__h,.b30f__col,.b30f__cta{translate:none!important;opacity:1!important}
@media (min-width:900px){html body .b30f{--fx:calc(max(1028*var(--u),100vh) - 1028*var(--u) + 166*var(--u));height:calc(1028*var(--u) + var(--fx))!important;background:linear-gradient(180deg,#ADDDF3 0,#B3E2F7 100%)!important}}
@media (min-width:900px){html body .b30f .b30f__in{top:auto!important;bottom:0!important;height:calc(1028*var(--u))!important}}
@media (min-width:900px){html.dark body .b30f{background:#121B46!important}}
html.dark body .b30f{background:linear-gradient(180deg,#0b1130 0,#0f1838 22%,#19275a 48%,#263A6E 75%)!important}
html.dark .b30f__in{background:transparent!important}
html.dark .b30f .b30f__in::after{display:none!important}
html.dark .b30f__stripe{background:var(--night)!important}
html.dark .b30f .bt-footer{-webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.5) calc(160*var(--u)),#000 calc(320*var(--u)));mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.5) calc(160*var(--u)),#000 calc(320*var(--u)))}
#footer.b30f{position:relative;z-index:1;will-change:transform}

/* =====================================================================
   Phones (≤ 899px): the footer — one version for every page
   (from the Our Work mobile design). Desktop is untouched: everything sits in the media queries below.
   ===================================================================== */
@media (max-width:899px){
  html body .b30f .b30f__c:not(#_z){display:grid!important;grid-template-columns:1fr 1fr!important;gap:40px 20px!important;padding:64px 20px 0!important;position:relative!important;inset:auto!important;transform:none!important;height:auto!important;pointer-events:auto!important;z-index:2!important}
  html body .b30f .b30f__h:not(#_z){grid-column:1/-1!important;width:auto!important;max-width:320px!important;font-size:26px!important;line-height:1.2!important;letter-spacing:-.02em!important;position:relative!important;left:auto!important;top:auto!important;margin:0!important}
  html body .b30f .b30f__h .b30f__h2:not(#_z){display:block!important}
  html body .b30f .b30f__c > .b30f__col:not(#_z){position:relative!important;left:auto!important;right:auto!important;top:auto!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;text-align:left!important;gap:2px!important;font-size:12px!important;line-height:1.3!important;min-width:0!important}
  html body .b30f .b30f__col .b30f__t:not(#_z){opacity:.6;margin:0 0 6px!important}
  html body .b30f .b30f__col a:not(#_z){display:block!important;padding:8px 0!important;font-size:12px!important;line-height:1.3!important;overflow-wrap:anywhere}
  html body .b30f .b30f__col address:not(#_z){font-style:normal!important;width:auto!important;max-width:24ch!important;padding:8px 0!important}
  html body .b30f .b30f__cta:not(#_z){grid-column:1/-1!important;position:relative!important;left:auto!important;top:auto!important;transform:none!important;opacity:1!important;justify-self:start!important;width:auto!important;margin:8px 0 0!important}
  html body .b30f .b30f__bar:not(#_z){grid-column:1/-1!important;position:relative!important;left:auto!important;top:auto!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:14px!important;padding:24px 0 0!important;margin:0!important;border-top:1px dashed rgba(0,0,0,.15)!important;font-size:11px!important}
  html body .b30f .b30f__legal:not(#_z){display:flex!important;align-items:center!important;gap:14px!important}
  html body .b30f .b30f__legal a:not(#_z){padding:6px 0!important}
  html body .b30f .b30f__legal i:not(#_z){display:block!important;width:0!important;height:14px!important;background:none!important;border-left:1px dashed rgba(0,0,0,.45)!important}
  html body .b30f .bt-footer:not(#_z){margin-top:-99px!important;position:relative;z-index:1}
}
html.dark .b30-theme{color:var(--ink,#F2F1EE)}
.b30-theme{all:unset;position:absolute;left:auto;right:calc(var(--u) * 169.6);top:50%;transform:translateY(-50%);width:calc(var(--u) * 44);height:calc(var(--u) * 44);min-width:32px;min-height:32px;
  box-sizing:border-box;border:calc(var(--u) * 0.917) solid currentColor;cursor:pointer;color:var(--ink,#000);z-index:6;overflow:hidden;isolation:isolate}
.b30-sky{position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#fff 0%,#fff 30%,#FFE7A6 38%,#FFB86B 46%,#F27A8E 54%,#9B4FB8 62%,#3D1566 72%,#1C0833 86%,#140525 100%);
  background-size:100% 600%;background-position:50% 0%;transition:background-position 1.1s cubic-bezier(.65,0,.35,1)}
.b30-theme svg{position:absolute;left:15%;top:15%;width:70%;height:70%;display:block;z-index:2;image-rendering:pixelated;
  transition:transform 1s cubic-bezier(.65,0,.35,1),filter 1s ease,opacity .6s ease}
.b30-theme .b30-stars{left:0;top:0;width:100%;height:100%;z-index:1;opacity:0;transition:opacity .8s ease}
.b30-theme .b30-sun{transform:none}
.b30-theme .b30-moon{transform:translate(-50%,125%)}
.b30-theme:hover:not(.is-hold) .b30-sky{background-position:50% 100%}
.b30-theme:hover:not(.is-hold) .b30-sun{transform:translate(50%,125%);filter:saturate(1.5) hue-rotate(-14deg) brightness(.92)}
.b30-theme:hover:not(.is-hold) .b30-moon{transform:none;transition-delay:.18s}
.b30-theme:hover:not(.is-hold) .b30-stars{opacity:1;transition-delay:.45s}
html.dark .b30-theme .b30-sky{background-position:50% 100%}
html.dark .b30-theme .b30-stars{opacity:1}
html.dark .b30-theme .b30-moon{transform:none}
html.dark .b30-theme .b30-sun{transform:translate(-50%,125%)}
html.dark .b30-theme:hover:not(.is-hold) .b30-sky{background-position:50% 0%}
html.dark .b30-theme:hover:not(.is-hold) .b30-moon{transform:translate(50%,125%);filter:brightness(.8)}
html.dark .b30-theme:hover:not(.is-hold) .b30-sun{transform:none;transition-delay:.18s}
html.dark .b30-theme:hover:not(.is-hold) .b30-stars{opacity:0;transition-delay:0s}
@media (prefers-reduced-motion:reduce){.b30-theme svg,.b30-sky,.b30-theme .b30-stars{transition:none}}
.b30-theme:focus-visible{outline:2px solid #7B93FF;outline-offset:3px}
@media (max-width:899px){.b30-theme{position:relative;right:auto;transform:none;order:3;margin:0 0 0 12px;width:36px;height:36px}}
.b30-stars{position:fixed;inset:0;width:100%;height:100%;z-index:30;pointer-events:none;display:none}
html.dark .b30-stars{display:block}
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){html.dark .b30-stars{display:none}}
.b30-theme{--tw:max(58px,calc(var(--u) * 80));--th:max(32px,calc(var(--u) * 44));width:var(--tw);height:var(--th);
  border:1px solid rgba(0,0,0,.15)!important;background:#fff!important}
html.dark .b30-theme{border-color:rgba(255,255,255,.15)!important;background:#000!important}
.b30-theme .b30-sky,.b30-theme .b30-stars{display:none}
.b30-theme .b30-tk{position:absolute;left:3px;top:3px;width:calc(var(--th) - 8px);height:calc(var(--th) - 8px);box-sizing:border-box;
  border:1px solid rgba(0,0,0,.15);background:#fff;transition:transform .55s cubic-bezier(.65,0,.35,1),background-color .55s ease,border-color .55s ease}
.b30-theme:hover:not(.is-hold) .b30-tk{transform:translateX(3px)}
html.dark .b30-theme .b30-tk{transform:translateX(calc(var(--tw) - var(--th)));background:#161616;border-color:rgba(255,255,255,.15)}
html.dark .b30-theme:hover:not(.is-hold) .b30-tk{transform:translateX(calc(var(--tw) - var(--th) - 3px))}
.b30-theme .b30-tk svg{position:absolute;left:14%;top:14%;width:72%;height:72%;transform:none!important;filter:none!important;transition:opacity .35s ease}
.b30-theme .b30-tk .b30-km{opacity:0}
html.dark .b30-theme .b30-tk .b30-ks{opacity:0}
html.dark .b30-theme .b30-tk .b30-km{opacity:1}
.b30-theme .b30-tg{position:absolute;top:calc(50% - 6px);width:12px;height:12px;left:calc((var(--tw) + var(--th)) / 2 - 9px);color:#000;opacity:.3;
  transform:none!important;filter:none!important;transition:opacity .35s ease}
.b30-theme .b30-tg--sun{left:calc((var(--th) - 2px) / 2 - 7px);opacity:0}
html.dark .b30-theme .b30-tg{color:#F2F1EE}
html.dark .b30-theme .b30-tg--moon{opacity:0}
html.dark .b30-theme .b30-tg--sun{opacity:.3}
@media (max-width:899px){.b30-theme{width:var(--tw);height:var(--th)}}
.b30-theme.switch{--w:44px;--h:24px;position:absolute!important;top:50%!important;transform:translateY(-50%) rotate(90deg)!important;right:calc(var(--u) * 41 - 22px)!important;width:44px!important;height:24px!important;
  min-width:0!important;min-height:0!important;border:0!important;border-radius:22px!important;background:none!important;box-shadow:none!important;overflow:visible!important;color:inherit}
.b30-theme.switch::before,.b30-theme.switch::after{display:none!important;content:none!important}
.b30-theme.switch > :not(.housing):not(.half){display:none!important}
.b30-theme.switch{--w: 88px;                  
    --h: 44px;                  
    --r: calc(var(--h) / 2);
    --tilt: 3deg;

    
    --face-in:  #f4f5f5;        
    --face-out: #e8eaea;        
    --groove:   rgba(40, 44, 44, .28);
    --lip:      rgba(255, 255, 255, .9);
    --copper-a: #d9a088;
    --copper-b: #f6e0d2;
    --glow:     rgba(255, 168, 130, .55);

    
    --t: 320ms;
    --snap: cubic-bezier(.25, .9, .3, 1.15);
    --soft: cubic-bezier(.4, 0, .2, 1);

    position: relative;
    display: inline-block;
    width: var(--w);
    height: var(--h);
    padding: 0;
    border: 0;
    border-radius: var(--r);
    background: none;
    cursor: pointer;
    vertical-align: middle;
    -webkit-tap-highlight-color: transparent;
    outline: none;}
.b30-theme.switch, .b30-theme.switch *{box-sizing: border-box;}
.b30-theme.switch:focus-visible{outline: 2px solid rgba(40, 44, 44, .35);
    outline-offset: 6px;}
.b30-theme.switch .housing{position: absolute;
    inset: 0;
    border-radius: var(--r);
    box-shadow:
      0 0 0 1px var(--groove),
      0 0 0 1.75px var(--lip);}
.b30-theme.switch .half{position: absolute;
    top: 0;
    bottom: 0;
    width: 50%;
    z-index: 1;}
.b30-theme.switch .half.left{left: 0;}
.b30-theme.switch .half.right{right: 0;}
.b30-theme.switch .half span{position: absolute; inset: 0; display: block;}
.b30-theme.switch .left span{border-radius: var(--r) 0 0 var(--r); transform-origin: 100% 50%;}
.b30-theme.switch .right span{border-radius: 0 var(--r) var(--r) 0; transform-origin: 0% 50%;}
.b30-theme.switch .left{--dir: to left;}
.b30-theme.switch .right{--dir: to right;}
.b30-theme.switch .fx{position: absolute; inset: 0;}
.b30-theme.switch .right .fx{clip-path: polygon(-500% -500%, 600% -500%, 600% 600%, -500% 600%, -500% 100%, 0 100%, 0 0, -500% 0);}
.b30-theme.switch .left .fx{clip-path: polygon(-500% -500%, 600% -500%, 600% 0, 100% 0, 100% 100%, 600% 100%, 600% 600%, -500% 600%);}
.b30-theme.switch .cast, .b30-theme.switch .rim, .b30-theme.switch .glow{opacity: 0;
    transition: opacity var(--t) var(--soft), transform var(--t) var(--snap);}
.b30-theme.switch .cast.core{background: linear-gradient(var(--dir), rgba(40, 36, 32, .05) 0%, rgba(40, 36, 32, .55) 40%); filter: blur(calc(var(--h) * .02));}
.b30-theme.switch .cast.mid{background: linear-gradient(var(--dir), rgba(40, 40, 38, .08) 0%, rgba(40, 40, 38, .32) 55%); filter: blur(calc(var(--h) * .05));}
.b30-theme.switch .cast.soft{background: linear-gradient(var(--dir), rgba(40, 44, 42, 0) 5%, rgba(40, 44, 42, .2) 75%); filter: blur(calc(var(--h) * .13));}
.b30-theme.switch .glow{background: linear-gradient(var(--dir), rgba(255, 158, 118, 0) 10%, var(--glow) 85%); filter: blur(calc(var(--h) * .08));}
.b30-theme.switch .rim{background: linear-gradient(var(--dir), rgba(236, 208, 190, 0) 35%, var(--copper-b) 70%, var(--copper-a) 92%, #b77a64);}
.b30-theme.switch .face{background-color: var(--face-in);
    transition:
      transform var(--t) var(--snap),
      background-color var(--t) var(--soft),
      box-shadow var(--t) var(--soft);}
.b30-theme.switch .left .face{transform: perspective(calc(var(--w) * 4)) rotateY(.6deg);
    box-shadow:
      inset 2.5px 0 2px -1.5px rgba(0, 0, 0, .2),       
      inset 0 1px 1px -.5px rgba(0, 0, 0, .12),         
      inset 0 -1px 1px -.5px rgba(0, 0, 0, .14),         
      inset 0 0 0 0 rgba(255, 238, 228, 0),
      inset 0 0 0 0 rgba(0, 0, 0, 0);}
.b30-theme.switch .right .face{transform: perspective(calc(var(--w) * 4)) rotateY(-.6deg);
    box-shadow:
      inset -2.5px 0 2px -1.5px rgba(0, 0, 0, .2),
      inset 0 1px 1px -.5px rgba(0, 0, 0, .12),
      inset 0 -1px 1px -.5px rgba(0, 0, 0, .14),
      inset 0 0 0 0 rgba(255, 238, 228, 0),
      inset 0 0 0 0 rgba(0, 0, 0, 0);}
.b30-theme.switch.is-on .right,
  .b30-theme.switch:not(.is-on) .left{z-index: 2;}
.b30-theme.switch.is-on .right .face{background-color: var(--face-out);
    transform: perspective(calc(var(--w) * 4)) rotateY(calc(var(--tilt) * -1));
    box-shadow:
      inset 0 0 0 0 rgba(0, 0, 0, 0),
      inset 0 0 0 0 rgba(0, 0, 0, 0),
      inset 0 0 0 0 rgba(0, 0, 0, 0),
      inset -.8px .8px 0 -.2px rgba(255, 255, 255, 1),  
      inset -2px 0 3px -2px rgba(160, 100, 75, .18);}
.b30-theme.switch:not(.is-on) .left .face{background-color: var(--face-out);
    transform: perspective(calc(var(--w) * 4)) rotateY(var(--tilt));
    box-shadow:
      inset 0 0 0 0 rgba(0, 0, 0, 0),
      inset 0 0 0 0 rgba(0, 0, 0, 0),
      inset 0 0 0 0 rgba(0, 0, 0, 0),
      inset .8px .8px 0 -.2px rgba(255, 255, 255, 1),
      inset 2px 0 3px -2px rgba(160, 100, 75, .18);}
.b30-theme.switch.is-on .right .cast.core{opacity: 1; transform: translateY(calc(var(--h) * .035)) skewY(3deg);}
.b30-theme.switch.is-on .right .cast.mid{opacity: 1; transform: translateY(calc(var(--h) * .08))  skewY(6deg);}
.b30-theme.switch.is-on .right .cast.soft{opacity: 1; transform: translate(calc(var(--h) * .02), calc(var(--h) * .06)) skewY(11deg);}
.b30-theme.switch.is-on .right .rim{opacity: 1; transform: perspective(calc(var(--w) * 4)) translate(calc(var(--h) * .022), calc(var(--h) * -.006)) rotateY(calc(var(--tilt) * -1));}
.b30-theme.switch.is-on .right .glow{opacity: 1; transform: translate(calc(var(--h) * .04), calc(var(--h) * -.045));}
.b30-theme.switch:not(.is-on) .left .cast.core{opacity: 1; transform: translateY(calc(var(--h) * .035)) skewY(-3deg);}
.b30-theme.switch:not(.is-on) .left .cast.mid{opacity: 1; transform: translateY(calc(var(--h) * .08))  skewY(-6deg);}
.b30-theme.switch:not(.is-on) .left .cast.soft{opacity: 1; transform: translate(calc(var(--h) * -.02), calc(var(--h) * .06)) skewY(-11deg);}
.b30-theme.switch:not(.is-on) .left .rim{opacity: 1; transform: perspective(calc(var(--w) * 4)) translate(calc(var(--h) * -.022), calc(var(--h) * -.006)) rotateY(var(--tilt));}
.b30-theme.switch:not(.is-on) .left .glow{opacity: 1; transform: translate(calc(var(--h) * -.04), calc(var(--h) * -.045));}
.b30-theme.switch:active .face{transition-duration: 90ms;}
.b30-theme.switch.is-on:active .right .face{transform: perspective(calc(var(--w) * 4)) rotateY(calc(var(--tilt) * -.6));}
.b30-theme.switch:not(.is-on):active .left .face{transform: perspective(calc(var(--w) * 4)) rotateY(calc(var(--tilt) * .6));}
@media (prefers-reduced-motion: reduce){.b30-theme.switch{--t: 1ms;}}
html.dark .b30-theme.switch{--face-in:#141b3c;--face-out:#1c2552;--groove:rgba(255,255,255,.16);--lip:rgba(0,0,0,.55);--copper-a:#6f86e6;--copper-b:#b9c6ff;--glow:rgba(123,147,255,.55)}
html.dark .b30-theme.switch .glow{background:linear-gradient(var(--dir),rgba(123,147,255,0) 10%,var(--glow) 85%)}
html.dark .b30-theme.switch .rim{background:linear-gradient(var(--dir),rgba(185,198,255,0) 35%,var(--copper-b) 70%,var(--copper-a) 92%,#4d63c4)}
.b30-theme.switch{--w:44px!important;--h:24px!important;--r:12px!important}
@media (max-width:899px){.b30-theme.switch{position:relative!important;top:auto!important;transform:none!important;right:auto!important;width:68px!important;height:34px!important}}
.b30-theme{display:none!important}
html.dark .b30-main > section:not(.b30p){background:#000}
html.dark .b30-main > .b30c.wk-cta-proof{background:#000}
html.dark .wk-cta__t{color:#F2F1EE}
html.dark body,html.dark .b30h,html.dark .b30p__a,html.dark .b30p__b,html.dark .b30p__c,html.dark .b30p__a::before,html.dark .b30p__b::before,
html.dark .work,html.dark .b30s__tail,html.dark .b30sb,html.dark .vision,html.dark .b30-main > .b30c.wk-cta-proof{background:var(--night)!important}
html.dark .b30t,html.dark .b30t__card,html.dark .og,html.dark .og__seg{background:transparent!important}
html.dark .wk-cta__px{filter:drop-shadow(0 0 12px rgba(175,185,255,.3))}
html.dark .b30h__btn--line i,html.dark .b30h__btn--line span,html.dark .b30btn:not(.b30f__cta) .b30btn__ic,html.dark .b30btn:not(.b30f__cta) .b30btn__lbl,html.dark .work .cta .ic,html.dark .work .cta .lbl{border-color:rgba(255,255,255,.18)!important;background:#000;color:#F2F1EE}
html.dark .b30h__btn--solid span,html.dark .b30sb .b30btn .b30btn__lbl,html.dark .b30f__cta .b30btn__lbl{background:linear-gradient(110deg,rgba(52,87,186,.10) 0%,rgba(52,87,186,.10) 30%,rgba(84,121,224,.42) 50%,rgba(52,87,186,.10) 70%,rgba(52,87,186,.10) 100%)!important;
  background-size:260% 100%!important;animation:b30-sheen 5.5s ease-in-out infinite;color:#F2F1EE!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:none}
html.dark .b30h__btn--solid i,html.dark .b30sb .b30btn .b30btn__ic,html.dark .b30f__cta .b30btn__ic{border:1px solid rgba(255,255,255,.18)!important;background:rgba(255,255,255,.035)!important}
html.dark .b30h__btn--solid:hover span,html.dark .b30sb .b30btn:hover .b30btn__lbl,html.dark .b30f__cta:hover .b30btn__lbl{border-color:rgba(255,255,255,.36)!important}
@media (prefers-reduced-motion:reduce){html.dark .b30h__btn--solid span,html.dark .b30sb .b30btn .b30btn__lbl,html.dark .b30f__cta .b30btn__lbl{animation:none}}
html.dark .b30h__btn--line i,html.dark .b30h__btn--line span,html.dark .work .cta .ic,html.dark .work .cta .lbl{background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.14)!important;color:#F2F1EE;box-shadow:0 0 22px -8px rgba(52,87,186,.55)}
html.dark .b30h__btn--line:hover i,html.dark .b30h__btn--line:hover span,html.dark .work .cta:hover .ic,html.dark .work .cta:hover .lbl{border-color:rgba(255,255,255,.32)!important}
html.dark .b30-main > section.b30sb,html.dark .b30-main > section.vision,html.dark .b30-main > section.ts,html.dark .b30-main > section.pg,html.dark .b30-main > section.b30c.wk-cta-proof,
html.dark section.b30sb,html.dark section.vision,html.dark section.ts,html.dark section.pg,html.dark section.b30c,html.dark .b30p__a,html.dark .b30p__c,html.dark .pg__stage,html.dark .pg__grid,html.dark .wk-cta-stage,html.dark .cta2{background:transparent!important}
html.dark section.b30p,html.dark section.work{background:var(--night)!important}
html.dark .b30-vcur,html.dark .b30-scur,html.dark .b30t__cur,html.dark .ts__cur{background:#F2F1EE!important;color:#000!important}
html.dark.dark{--night:
  radial-gradient(75% 60% at 88% 108%,rgba(52,70,170,.24),rgba(52,70,170,0) 70%) fixed,
  linear-gradient(155deg,#000 0%,#000 30%,#010205 50%,#02040c 62%,#050817 72%,#0a0f2a 88%,#0D1432 100%) fixed}
html.dark.dark,html.dark.dark body{background:var(--night)!important}
html.dark.dark .b30-main > section,html.dark.dark section.vision.vision{background:var(--night)!important}
html.dark.dark section.b30p{background:transparent!important}
html.dark{--svx-dash:rgba(255,255,255,.18)}
html.dark.dark{--night:
  radial-gradient(75% 60% at 88% 108%,rgba(52,70,170,.24),rgba(52,70,170,0) 70%) fixed,
  linear-gradient(155deg,#000 0%,#000 30%,#010205 50%,#02040c 62%,#050817 72%,#0a0f2a 88%,#0D1432 100%) fixed}
html.dark.dark,html.dark.dark body{background:var(--night)!important}
html.dark .b30-main{position:relative;z-index:2}
/* the homepage's "every section paints the night" rule doesn't apply here: these sections let the page's own night show through */
html.dark.dark .b30-main > section.svx,html.dark.dark .b30-main > section.svhello{background:transparent!important}

/* =====================================================================
   Services page — Oct 2026 update
   ===================================================================== */
/* light only: the dark theme and its switch are gone from this page */
.b30-theme,.b30-stars{display:none!important}

/* hero colour (Figma B30 › 5184:662): white at the top, a soft hill of light rising at the lower right —
   pale yellow, peach, rose, violet, and the brand blue at its foot — that shifts its colour very slowly, on a loop */
.wk-hero .b30h__glow,.wk-hero .b30h__glowx{display:none!important}
.svh__sky{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#fff}
.svh__sky i{position:absolute;left:calc(1238*var(--u) - 1900*var(--u));top:calc(1060*var(--u) - 960*var(--u));width:calc(3800*var(--u));height:calc(1920*var(--u));
  border-radius:50%;will-change:transform,opacity;backface-visibility:hidden}
/* the base light, as drawn in Figma */
.svh__sky .a{background:radial-gradient(closest-side,
  #4C5EC3 0%,#5F67C4 5%,#7A70C2 9.5%,#A584BE 14%,#CB9CBA 19%,#E7B9BC 24%,#F5D3C4 30%,#FBE5CD 36%,#FDF2DA 43%,#FFF9EE 52%,#FFFDF8 60%,rgba(255,255,255,0) 70%);
  animation:svhSkyA 22s ease-in-out infinite alternate}
/* the same hill, a cooler mix (more violet and blue, less peach) — it breathes in and out over the base */
.svh__sky .b{background:radial-gradient(closest-side,
  #3F57C0 0%,#5463C6 6%,#7372C9 11%,#9E86C8 16%,#C6A1C6 21%,#E2C0CC 27%,#F1D8D6 33%,#F8E9E2 40%,#FCF5F0 48%,#FEFBF8 58%,rgba(255,255,255,0) 68%);
  opacity:0;animation:svhSkyB 15s ease-in-out infinite alternate}
/* and a warmer one (rose and apricot), out of step with the other */
.svh__sky .c{background:radial-gradient(closest-side,
  #5A5DC0 0%,#7468C0 5%,#9774BC 10%,#C185B6 15%,#E3A2B1 20%,#F4C2B6 26%,#FAD9C0 33%,#FDE9CC 40%,#FEF5E0 48%,#FFFBF2 58%,rgba(255,255,255,0) 68%);
  opacity:0;animation:svhSkyC 19s ease-in-out -6s infinite alternate}
@keyframes svhSkyA{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(calc(-60*var(--u)),calc(-14*var(--u)),0) scale(1.035)}}
@keyframes svhSkyB{0%,15%{opacity:0;transform:translate3d(calc(40*var(--u)),0,0) scale(.99)}100%{opacity:.85;transform:translate3d(calc(-30*var(--u)),calc(-10*var(--u)),0) scale(1.03)}}
@keyframes svhSkyC{0%,20%{opacity:0;transform:translate3d(calc(-50*var(--u)),calc(6*var(--u)),0) scale(1.02)}100%{opacity:.75;transform:translate3d(calc(50*var(--u)),calc(-8*var(--u)),0) scale(.985)}}
@media (prefers-reduced-motion:reduce){.svh__sky i{animation:none!important}}
@media (max-width:899px){.svh__sky i{left:calc(50% - 900px);top:auto;bottom:-560px;width:1800px;height:1000px}}
/* hero: the heading and the picture sit 56 higher; the right-hand upright stays above the hero colour */
@media (min-width:900px){
  .wk-hero .svh__title{top:calc(206*var(--u))!important}
  .wk-hero .svh__media{top:calc(220*var(--u))!important}
}
.wk-hero .b30h__vline--27{z-index:6!important}
/* closing CTA: 80 less air under "Get in touch" */
@media (min-width:900px){ .cta3{padding-bottom:calc(40*var(--u))!important} }

/* the closing band keeps 90 here (with 40 under "Get in touch": 130 to the footer's steps) */
@media (min-width:900px){ #contact.b30c.wk-cta-proof,#contact.b30c{height:calc(90*var(--u))!important} }
/* this page's own dark sky (last) */
/* The phone layer shared by the services, blog and case-study pages (from the mobile designs, block m-ref).
   Phones only (≤ 899px): every rule sits inside max-width:899px, so desktop is untouched. */
/* ===== Mobile fixes. Every rule is inside max-width:899px, so 900px and up (desktop) is untouched ===== */
@media (max-width:899px){
/* Work: odd rows kept the desktop 3-column placement (the :not(.flip) selector out-ranked the mobile one) */
.work .row:not(.flip) .media,.work .row:not(.flip) .text{grid-column:1;grid-row:auto}
.work .work-head.grid3{grid-template-columns:1fr}

/* Services: the four mobile cards were hidden by the cube-only rule */
#services .b30s__mobile .m-cards .b30s__face{visibility:visible!important}

/* Partners network: header was locked to 76px (later desktop rule), so the orbit sat on the text */
.nx-sec .nx .nx__top{height:auto!important}
.nx-sec .nx__eye{font-size:12px;line-height:1.2}
.nx-sec .nx__switch{position:relative!important;left:auto!important;right:auto!important;top:auto!important;align-self:flex-start;gap:8px!important;font-size:12px!important}
.nx-sec .nx__switch button{width:96px!important;height:32px!important;padding:0 12px!important;border-radius:8px}

/* Testimonials: quote was 3.7px and capped at 106px wide */



/* each card: the quote, then the client side by side with a small portrait (not stacked) */










/* CTA eyebrow ("Let's talk") was 2.8px */


/* Contact stage is empty on mobile but kept its desktop padding: ~230px of blank white above the footer */


/* Footer: heading squeezed to 126px; button pushed down onto the address */




/* ---------- round 2 ---------- */
/* Hero: the copy sits lower, in the free band between the nav and the scene (the scene is bottom-anchored, ~90vw tall) */
.b30h .b30h__copy{padding-top:clamp(32px,calc((100svh - 102vw - 324px) * .55),150px)}

/* Partners bar: just the ticker (no label), logos sized for a phone */









/* Brand pixels (mobile layout from the reference): 25 squares of 7px on a staggered grid, built by script; each row
   drifts sideways at its own pace as the band scrolls past. The desktop pattern is hidden here. */










/* Selected work: kicker + year / image / headline / description / case-study button */
.work .row,.work .row.flip{grid-template-columns:1fr auto;grid-template-areas:"k y" "m m" "h h" "d d" "c c";gap:0;align-items:start}
.work .row .text,.work .row .media,.work .row .mhead,.work .row .mhead > div{display:contents}
.work .row .kicker{grid-area:k;align-self:center;margin:0 16px 16px 0}
.work .row .mhead .yr{grid-area:y;align-self:center;margin-bottom:16px}
.work .row .slot{grid-area:m}
.work .row .mhead h3{grid-area:h;margin-top:24px;max-width:none}
.work .row .desc{grid-area:d;margin-top:14px;max-width:none}
.work .row .desc .num{display:none}
.work .row .cta{grid-area:c;justify-self:start;margin-top:24px}

/* Network: the frame for the rings (built ~2.6x larger on phones, so only their upper arcs show, as on desktop) */
.nx-sec .nx__grid{aspect-ratio:auto!important;height:440px!important}
/* the ring names and logos at the rings' size */
.nx-sec .nx-orbit__g{--u:calc(100vw / 1920 * 2.6)}
/* Network (global): the globe takes the finger both ways (turn and tip), as the mouse does on desktop */
.nx-sec:not(.is-partner) .nx__gl{touch-action:none}
/* Network (global): globe labels readable */
.nx-sec .nx__loc{font-size:11px!important}
.nx-sec .nx__loc i{width:8px!important;height:8px!important;margin:-4px 0 0 -4px!important;box-shadow:0 0 0 5px rgba(52,87,186,.16)!important}
.nx-sec .nx__loc b{left:12px!important;top:-12px!important;padding:5px 8px!important}
.nx-sec .nx__loc b em{margin-left:6px!important}
/* Network (global): no info card in the corner when a location is tapped */
.nx-sec .nx__card{display:none!important}

/* Testimonials to the marquee: less air */











/* the strip slides as on desktop; the letters at a phone size */


/* Services: the band is drawn by a canvas that builds as you arrive (as on desktop) */
#services .b30s__mobile.has-pxm .b30s__band{display:none!important}
#services .b30s__mobile.has-pxm{background:linear-gradient(180deg,transparent 0,transparent 188px,var(--b30s-mid) 188px,var(--b30s-mid) 100%)!important}
#services .b30s__pxm{position:absolute;left:0;width:100%;z-index:0;pointer-events:none;display:block}
#services .b30s__mobile.has-pxm > :not(.b30s__pxm){position:relative;z-index:1;top:auto!important;left:auto!important}
/* Services: the pinned hands + cube scene */
#services .b30s__mobile.has-m3{padding-bottom:0!important}
#services .b30s__mobile.has-m3 .m-scene,#services .b30s__mobile.has-m3 .m-cards{display:none}
#services .m3{height:100svh;min-height:640px;max-height:900px;margin:24px -20px 0;position:relative}
#services .m3__st{position:relative;top:0;height:100%;overflow:hidden;background:linear-gradient(180deg,var(--b30s-mid) 0%,#e6f6fd 45%,#fff 92%);touch-action:pan-y}
#services .m3__h{position:absolute;left:0;top:0;max-width:none;height:auto;transform-origin:50% 50%;will-change:transform;z-index:2;pointer-events:none;user-select:none}
#services .m3__h.r{transform-origin:0 30%}#services .m3__h.h{transform-origin:100% 70%}
#services .m3__box{position:absolute;left:0;top:0;width:var(--S);height:var(--S);transform-origin:50% 50%;perspective:1400px;z-index:3;will-change:transform}
#services .m3__cube{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.65,0,.35,1)}
#services .m3 .b30s__face.m3__f{position:absolute!important;inset:0!important;aspect-ratio:auto!important;margin:0;box-sizing:border-box;padding:22px!important;border:0!important;
  background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 18%),radial-gradient(125% 105% at 50% 42%,#fff 60%,#eef6fc 100%)!important;
  transform:rotateY(calc(var(--i) * 90deg)) translateZ(calc(var(--S) / 2));backface-visibility:hidden;-webkit-backface-visibility:hidden;visibility:visible!important;filter:none!important;pointer-events:none}
#services .m3 .b30s__face.m3__f:nth-child(even){background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,0) 18%),radial-gradient(125% 105% at 50% 42%,#fafcfe 55%,#e8f1f9 100%)!important}
#services .m3.is-live .b30s__face.m3__f.is-front{pointer-events:auto}
#services .m3 .m3__f > *{opacity:var(--fc,0)}
#services .m3 .m3__f .svc__name{font-size:clamp(26px,7.6vw,34px);white-space:normal;margin-top:2px}
#services .m3 .m3__f .svc__go{font-size:9px!important;padding:3px 6px!important;height:auto!important;min-height:0!important;line-height:1.2!important;letter-spacing:.04em}
#services .m3 .m3__f .svc__head{align-items:flex-start}
#services .m3 .m3__f .svc__body{margin-top:14px}
#services .m3 .m3__f .svc__list{margin-top:14px}
#services .m3 .m3__f .svc__desc{font-size:14px;line-height:1.25}
#services .m3 .m3__f .svc__list li{font-size:11.5px;padding-block:4px}
#services .m3 .m3__f .svc__head,#services .m3 .m3__f .svc__body{gap:10px}
/* the four marks under the box: short upright lines, as on desktop (the current one solid) */
#services .m3__ticks{position:absolute;left:50%;top:calc(50% + var(--S) / 2 + 28px);transform:translateX(-50%);display:flex;gap:0;z-index:4;opacity:0;transition:opacity .4s ease}
#services .m3.is-live .m3__ticks{opacity:1}
#services .m3__ticks button{all:unset;width:24px;height:30px;display:grid;place-items:center;cursor:pointer}
#services .m3__ticks i{display:block;width:1.5px;height:10px;background:#000;opacity:.2;transition:opacity .3s ease}
#services .m3__ticks button[aria-pressed="true"] i{opacity:1}
#services .m3__st{cursor:pointer}
#services .m3__box{height:var(--Sh,var(--S))}
#services .m3__ticks{top:calc(50% + var(--Sh,var(--S)) / 2 + 28px)}
/* Globe labels near the right edge open leftward */
.nx-sec .nx__loc.m-flip b{left:auto!important;right:12px!important}

/* Vision: a phone on the floating rock, in the desktop clouds and the desktop pink panel */
section.vision.vision{--pw:min(56vw,230px);--ph:calc(var(--pw) * 2.05);--dt:240px;--sw:108vw;--sh:calc(var(--sw) * .483);--st:calc(var(--dt) + var(--ph) - var(--sh) * .13);height:calc(56px + var(--st) + var(--sh) + 24px)!important;overflow-x:clip}
.vision .vs-panel{background:linear-gradient(180deg,#fff 0%,#FAD7FF 42%,#F8DDFC 80%,#fff 100%)!important}
.vision .vs-dev{top:var(--dt)!important;width:var(--pw)!important;height:var(--ph)!important;--hh:var(--ph)!important;z-index:3}
.vision .vs-frame{border-width:6px!important;border-radius:36px!important;-webkit-mask-image:none!important;mask-image:none!important}
.vision .vs-dev .vs-os{left:7px!important;top:7px!important;right:7px!important;bottom:7px!important;border-radius:30px!important;--u:.5px}
.vision .vs-dev .vs-os::before{content:"";position:absolute;left:50%;top:9px;width:56px;height:16px;border-radius:9px;background:#000;transform:translateX(-50%);z-index:9;pointer-events:none}
.vision .vs-os .vs-scr{top:30px}
.vision .vs-os .vs-ic{width:64px}
.vision .vs-os .vs-ic svg{width:26px;height:26px}
.vision .vs-os .vs-ic span{font-size:8px;letter-spacing:.03em;padding:2px 3px;text-align:center;line-height:1.15;white-space:normal}
.vision .vs-os .vs-ic[style*="left:calc(35"]{left:6px!important}.vision .vs-os .vs-ic[style*="left:calc(141"]{left:74px!important}
.vision .vs-os .vs-ic[style*="left:calc(247"]{left:142px!important}.vision .vs-os .vs-ic[style*="left:calc(353"]{left:6px!important;top:96px!important}
.vision .vs-os .vs-back{font-size:10px;left:14px}
.vision .vs-os .vs-h{font-size:15px;top:22px}
.vision .vs-os .vs-x{width:16px;height:16px;right:16px;top:8px}
.vision .vs-os .vs-pic figcaption{font-size:10px}
/* "A little less chaos": the four cards stack down the phone instead of a 2 × 2 grid */
.vision .vs-os .s-img .vs-cw{left:8%!important;width:84%!important;height:auto!important}
.vision .vs-os .s-img .vs-cw:nth-of-type(1){top:46px!important;z-index:1}.vision .vs-os .s-img .vs-cw:nth-of-type(2){top:122px!important;z-index:2}
.vision .vs-os .s-img .vs-cw:nth-of-type(3){top:198px!important;z-index:3}.vision .vs-os .s-img .vs-cw:nth-of-type(4){top:274px!important;z-index:4}
.vision .vs-os .s-img .vs-card{width:100%;padding:9px 10px;gap:4px}
.vision .vs-os .s-img .vs-card b{font-size:15px}.vision .vs-os .s-img .vs-card span{font-size:9.5px;line-height:1.25}
/* the old open-bottom tablet's progressive blur is not used on the phone */
.vision .vs-dev .vs-bl{display:none!important}
/* the rock, its top tucked behind the phone's foot */
.vision .vs-stone{display:block!important;position:absolute!important;left:50%!important;width:var(--sw)!important;height:auto!important;top:var(--st)!important;
  transform:translateX(-50%) translateZ(0)!important;will-change:transform;z-index:2;pointer-events:none;opacity:1;clip-path:none!important;image-rendering:auto!important}
.vision .vs-cloudm{position:absolute;left:-30vw;width:160vw;pointer-events:none;display:block}
.vision .vs-cloudm.back{z-index:1;top:calc(var(--dt) + var(--ph) * .3);height:calc(var(--st) + var(--sh) + 40px - var(--dt) - var(--ph) * .3)}
.vision .vs-cloudm.front{z-index:4;top:calc(var(--st) + var(--sh) * .25);height:calc(var(--sh) * .95)}

/* Footer: the sky (clouds + wordmark) runs behind the whole footer, as on desktop, so nothing meets at a hard edge */




/* Heading word swap on tap: the longer word may reflow the line instead of running off the screen */
.b30-nowrap{white-space:normal!important}.b30-tmpbr{display:none}

/* Hero: a faint on-brand tint in the top corners only (sky blue left, the vision pink right) */
html:not(.dark) .b30h .b30h__stage{background:
  radial-gradient(90% 34% at 0% 0%,rgba(176,233,253,.22) 0%,rgba(176,233,253,0) 100%),
  radial-gradient(80% 30% at 100% 0%,rgba(250,215,255,.2) 0%,rgba(250,215,255,0) 100%),
  #fff!important}

/* Vision phone: a three-button nav bar at the foot of the screen (back · home · next), so no screen is a dead end */
.vision .vs-os .vs-scr{bottom:44px}
.vision .vs-os .s-view .vs-pic img{object-fit:contain;background:#fff}
.vision .vs-os .vs-x2{display:none}
.vision .vs-navm{position:absolute;left:0;right:0;bottom:0;height:44px;display:flex;justify-content:space-around;align-items:center;z-index:8;background:#fff;border-top:1px dashed rgba(0,0,0,.15);border-radius:0 0 30px 30px}
.vision .vs-navm button{all:unset;width:44px;height:36px;display:grid;place-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.vision .vs-navm button[disabled]{opacity:.25;pointer-events:none}
.vision .vs-navm svg{width:14px;height:14px;display:block}
.vision .vs-navm button:active svg{transform:scale(.86)}

/* Hero: copy and button centred */
.b30h .b30h__copy{text-align:center}
.b30h .b30h__title{margin-inline:auto}
.b30h .b30h__intro{align-items:center}
.b30h .b30h__intro p{margin-inline:auto}

/* Nav (phones), per the mobile Figma: 64 px bar, 20 px sides, a hairline under it; MENU = 36 px icon square + black label, flush */
































/* "Stop briefing…": centred, like the hero */
.b30sb.b30sb{align-items:center}
.b30sb .b30sb__h{text-align:center;align-self:stretch;width:auto}
.b30sb .b30sb__l{align-items:center;text-align:center}
.b30sb .b30sb__l p{margin-inline:auto}

/* Testimonials: the eyebrow above the heading, then the button; even spacing */




/* "Building something?": an even rhythm (marquee · eyebrow · heading · button) */




/* Vision phone: a status bar (time, signal, wi-fi, battery) and a faint wallpaper on the home screen */
.vision .vs-sbar{position:absolute;left:0;right:0;top:0;height:34px;display:flex;justify-content:space-between;align-items:center;padding:0 20px 0 24px;z-index:9;pointer-events:none;
  font:600 11px/1 "BDO Grotesk","Helvetica Neue",Arial,sans-serif;letter-spacing:.01em;color:#000}
.vision .vs-sbar .r{display:flex;gap:4px;align-items:center}
.vision .vs-sbar svg{display:block;height:9px;width:auto}
.vision .vs-os[data-screen="home"]{background:linear-gradient(180deg,#eaf7fd 0%,#fff 46%,#fdf3ff 100%)}

/* ===== Mobile type scale and spacing from the Figma (B30 · Mobile 420) =====
   H3 40 · H4 32 · H5 24 (BDO Grotesk, 1.2, −2 %) · body 16 (−1 %) / 14 · mono 14 / 12 / 10 (caps), eyebrows rgba(13,20,50,.56) */
.b30h .b30h__title{font-size:40px!important;line-height:1.2!important;letter-spacing:-.02em!important}
.b30h .b30h__intro p{font-size:16px!important;line-height:1.2!important;letter-spacing:-.01em!important}
.b30h .b30h__intro{gap:24px!important;margin-top:16px!important}

/* Selected work: the Figma work card (meta · title · button · image · number + story), more air between projects */
.work.work{padding-top:64px!important;padding-bottom:24px!important}
.work .work-head h2{font-size:40px!important;line-height:1.2!important;letter-spacing:-.02em!important}
.work .work-head p{font-size:16px!important;line-height:1.2!important;letter-spacing:-.01em!important;max-width:none!important}
.work .work-head{gap:16px!important;padding-bottom:24px!important}
.work .work-head p{color:rgba(0,0,0,.78)}
/* Case studies, audited for a phone. One project = one read: meta → title → picture → story → action,
   on an 8 px rhythm (16 · 24 · 24 · 28), the picture larger (4 : 3), the story at a reading size with air between lines,
   and the same 48 px above and below every divider. */
.work .row,.work .row.flip{grid-template-areas:"k y" "h h" "m m" "d d" "c c"!important;padding:40px 0 48px!important;border-top:0}
.work .row + .row{margin-top:0}

.work .row .kicker,.work .row .mhead .yr{font:400 12px/1.2 var(--mono,"Geist Mono",monospace)!important;margin:0 0 16px!important;letter-spacing:0!important}
.work .row .kicker{text-transform:uppercase;color:#000;padding-right:16px}.work .row .mhead .yr{color:rgba(13,20,50,.56)}
.work .row .mhead h3{font-size:24px!important;line-height:1.2!important;letter-spacing:-.02em!important;margin:0!important;max-width:none!important}
.work .row .slot{margin-top:24px!important;aspect-ratio:4 / 3;height:auto!important}
.work .row .slot img,.work .row .slot video,.work .row .slot canvas{width:100%!important;height:100%!important;object-fit:cover}
.work .row .desc{margin-top:24px!important;display:flex;flex-direction:column;gap:10px}
.work .row .desc .num{display:block!important;font:400 12px/1.2 var(--mono,"Geist Mono",monospace)!important;color:rgba(13,20,50,.56)}
.work .row .desc p{font-size:15px!important;line-height:1.45!important;letter-spacing:-.01em!important;margin:0;color:rgba(0,0,0,.78);max-width:34em}
.work .row .cta{margin:28px 0 0!important}
.work .row .cta .ic{width:36px!important;height:36px!important;border-radius:10px!important}
.work .row .cta .ic svg{left:9px!important;top:9px!important;width:18px!important;height:18px!important}
.work .row .cta .lbl{height:36px!important;width:auto!important;padding:0 14px!important;border-radius:10px!important;font-size:11px!important;letter-spacing:.06em!important}

/* Services: the cube faces as the Figma service card (01 · name H4 · story 14 · capabilities mono 12) */
#services .m3 .b30s__face.m3__f{padding:22px!important}
#services .m3 .m3__f .svc__num{font:400 12px/1.2 var(--mono,"Geist Mono",monospace)!important;color:rgba(13,20,50,.56)!important}
#services .m3 .m3__f .svc__name{font-size:32px!important;line-height:1.2!important;letter-spacing:-.02em!important;margin-top:8px!important}
#services .m3 .m3__f .svc__desc{font-size:14px!important;line-height:1.2!important;letter-spacing:-.02em!important;margin-top:16px!important}
#services .m3 .m3__f .svc__list{margin-top:12px!important}
#services .m3 .m3__f .svc__list li{font:400 12px/1.2 var(--mono,"Geist Mono",monospace)!important;padding:7px 0!important;border-bottom:1px solid rgba(0,0,0,.2)!important;text-transform:uppercase}
#services .m3 .m3__f .svc__body{margin-top:0!important}
/* the hands sit just under the intro (the scene slides up under it), not a screen further down */
#services .b30s__mobile.has-m3 .b30s__intro,#services .b30s__mobile.has-m3 .b30s__title{z-index:3!important}
#services .m3{margin-top:-14svh!important}
#services .b30s__title{font-size:40px!important;line-height:1.2!important;letter-spacing:-.02em!important}

/* "Stop briefing…": H4, centred, even gaps */
.b30sb.b30sb{padding-top:72px!important;padding-bottom:88px!important;gap:24px!important}
.b30sb .b30sb__h{font-size:32px!important;line-height:1.2!important;letter-spacing:-.02em!important;margin:0!important}
.b30sb .b30sb__l{gap:24px!important;margin:0!important}
.b30sb .b30sb__l p{font-size:16px!important;line-height:1.2!important;letter-spacing:-.01em!important;margin:0!important}
.b30sb [data-speed]{translate:none!important}

/* Vision phone: the four pictures are redrawn for the phone (no ×); the "little less chaos" × goes too (the nav bar has Back) */
.vision .vs-os .s-img .vs-x{display:none!important}
.vision .vs-os .s-view .vs-pic img{object-fit:cover!important}

/* Network: centred, H4 */
.nx-sec .nx__top{align-items:center!important;text-align:center!important}
.nx-sec .nx__eye{text-align:center}
.nx-sec .nx__h{font-size:32px!important;line-height:1.2!important;letter-spacing:-.02em!important;text-align:center!important;margin-inline:auto!important}
.nx-sec .nx__h{white-space:nowrap!important}
.nx-sec .nx__b{font-size:16px!important;line-height:1.2!important;letter-spacing:-.01em!important;text-align:center!important;margin-inline:auto!important}
.nx-sec .nx__switch{align-self:center!important;margin-inline:auto!important}

/* Testimonials: the Figma deck — swipe cards (quote · photo · name · company), "01 / 04" and a progress line */








/* "Building something?": H4 */



/* Footer: Figma columns (Services · Company · Socials, then New business · Address), H5 heading; every link a full-size tap target */











/* socials as three icon buttons (the page's 44 px rounded button) */








/* © line at the very bottom, under the wordmark, as on desktop */

/* Privacy · Terms move up, under the buttons; only the © line stays under the wordmark */










/* Testimonials (audited): the words lead, the person signs. One card per screen-width with the next one peeking,
   explicit ← → controls beside a counter and progress line, full reviews on demand. */





























/* testimonials: four dots; the current one stretches into a short bar */










/* more air above the sections that open a new idea */
.nx-sec .nx{padding-top:72px!important}


/* Vision: no dotted underlines beneath the heading's three lines */
.vision .vs-ul{display:none!important}

/* Vision phone: Breakdown at the phone's full width, scrolling inside the screen */
.vision .vs-os .s-view .vs-pic[data-pic="breakdown"]{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.vision .vs-os .s-view .vs-pic[data-pic="breakdown"] img{height:auto!important;object-fit:contain!important;display:block}
/* Vision phone: the Sketch to Scale screen */
.vision .vs-os[data-screen="sts"] .s-sts{opacity:1;visibility:visible;transform:none;transition:opacity .28s ease,transform .38s cubic-bezier(.16,1,.3,1),visibility 0s}
.vision .s-sts{padding:16px 14px 0;box-sizing:border-box;font-family:"BDO Grotesk","Helvetica Neue",Arial,sans-serif}
.vision .s-sts .sts__h{margin:0;font-size:17px;line-height:1.2;letter-spacing:-.02em;color:#000}
.vision .s-sts .sts__s{margin:4px 0 12px;font:400 9px/1.2 var(--mono,"Geist Mono",monospace);text-transform:uppercase;color:rgba(13,20,50,.5)}
.vision .s-sts .sts__l{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.vision .s-sts li{display:grid;grid-template-columns:22px 1fr;gap:2px 8px;padding:8px 10px;background:#fff;border:1px solid rgba(0,0,0,.1);transition:background .35s ease,border-color .35s ease,transform .35s cubic-bezier(.16,1,.3,1)}
.vision .s-sts li.on{background:var(--c);border-color:transparent;transform:translateX(3px)}
.vision .s-sts li b{font:400 9px/1.6 var(--mono,"Geist Mono",monospace);color:rgba(13,20,50,.5)}
.vision .s-sts li span{display:flex;flex-direction:column;gap:2px}
.vision .s-sts li strong{font-weight:400;font-family:inherit;font-size:14px;line-height:1.1;letter-spacing:-.02em;color:#000}
.vision .s-sts li em{font-style:normal;font-family:inherit;font-size:9.5px;line-height:1.25;color:rgba(0,0,0,.6)}
.vision .s-sts li i{grid-column:1 / -1;height:2px;background:rgba(0,0,0,.08);margin-top:5px;overflow:hidden;display:block}
.vision .s-sts li i u{display:block;height:100%;width:0;background:#000}
.vision .s-sts li.on i u{width:100%;transition:width 1.55s linear}


/* Nav: the wordmark at its own size (116 px), optically centred on the 36 px MENU button */






/* Hero: no room under the button (short screens) → no wheel */
.b30h.no-wheel .b30h__orbit{visibility:hidden!important;opacity:0!important}

/* ---- Typography pass: one scale on phones ----
   H3 40 · H4 32 · H5 24 (1.2, -2%) · body 16 / 14 (1.2; paragraphs 1.4) · labels Geist Mono 12 uppercase, no extra
   spacing, rgba(13,20,50,.56) · button labels 12, .1em · footer links Geist Mono 14 as typed */
html section.vision.vision{--vs-fs:40px}
#services .b30s__lede{font-size:16px!important;line-height:1.2!important;letter-spacing:-.01em!important}
.work .row .desc p{font-size:16px!important;line-height:1.4!important}


/* labels */
#services .b30s__label{font:400 12px/1.2 var(--mono,"Geist Mono",monospace)!important;letter-spacing:0!important;color:rgba(13,20,50,.56)!important}
.nx-sec .nx__eye{letter-spacing:0!important;color:rgba(13,20,50,.56)!important}

.work .row .desc .num{letter-spacing:0!important}


#services .m3 .m3__f .svc__go{font-size:10px!important;color:rgba(13,20,50,.56)!important;letter-spacing:0!important}


/* button labels */
.work .row .cta .lbl{font-size:12px!important;letter-spacing:.1em!important}

.nx-sec .nx__switch button{letter-spacing:.1em!important}
/* footer and menu links: Geist Mono 14, as typed */


}
@media (min-width:900px){.vision .vs-cloudm{display:none!important}}

@media (min-width:900px){.vision .vs-sbar,.vision .vs-navm,#services .m3,#services .b30s__pxm{display:none!important}}
@media (max-width:899px){#services .m3__px{position:absolute;left:0;top:0;z-index:4;pointer-events:none;will-change:transform,opacity}}
/* (from the designs' site block, phones only) */
@media (max-width:899px){
  /* blog: the featured post's title uses the full width */
  html body .blg-feat .blg-feat__row > a,html body .blg-feat a:has(> .blg-feat__t){flex:1 1 100%!important;width:100%!important;max-width:none!important;min-width:0!important}
  html body .blg-feat .blg-feat__t{width:auto!important;max-width:none!important}
  html:root,html body{overflow-x:clip}
}
/* phones (≤ 899px): the shared phone layer */
/* Phones, on top of the phone layer: the Figma type, 20px sides, 36px buttons, the footer (from the mobile designs, block b30-m5).
   Phones only (≤ 899px): every rule sits inside max-width:899px, so desktop is untouched. */
/* ===== Phones (≤ 899 px), on top of the phone layer: the Figma type, 20 px sides, 36 px buttons, our own footer ===== */
@media (max-width:899px){
  /* --- type, per the Figma (H1 32 · H2 26 · H5 19 · body 15 · small 14, all 1.2 / −2 %, body −1 %; labels Geist Mono 12) --- */
  html body .b30h__title:not(#_z){font-size:32px!important;line-height:1.2!important;letter-spacing:-.02em!important}
  html body .b30h__intro p:not(#_z){font-size:15px!important;line-height:1.2!important;letter-spacing:-.01em!important;max-width:313px!important;margin-left:auto!important;margin-right:auto!important}
  html body .work .work-head h2:not(#_z){font-size:26px!important;line-height:1.2!important;letter-spacing:-.02em!important}
  html body .work .work-head p:not(#_z){font-size:15px!important;line-height:1.2!important;letter-spacing:-.01em!important;max-width:302px}
  html body .work .row h3:not(#_z){font-size:19px!important;line-height:1.2!important;letter-spacing:-.02em!important}
  html body .work .row .desc p:not(.num):not(#_z){font:400 14px/1.3 var(--sans,"BDO Grotesk",sans-serif)!important;letter-spacing:-.02em!important;text-transform:none!important}
  /* services: label, title, lede — centred */
  html body #services .b30s__mobile:not(#_z){display:flex!important;flex-direction:column!important}
  html body #services .b30s__mobile > .b30s__title:not(#_z){order:2;font-size:32px!important;line-height:1.2!important;letter-spacing:-.02em!important;text-align:center!important;margin:0 0 20px!important}
  html body #services .b30s__mobile > .b30s__title br:not(#_z){display:none}
  html body #services .b30s__mobile > .b30s__intro:not(#_z){display:contents!important}
  html body #services .b30s__mobile .b30s__label:not(#_z){order:1;font:400 12px/1.2 var(--mono,"Geist Mono",monospace)!important;text-transform:uppercase;opacity:.6;text-align:center!important;margin:0 0 32px!important}
  html body #services .b30s__mobile .b30s__lede:not(#_z){order:3;font-size:15px!important;line-height:1.2!important;letter-spacing:-.01em!important;text-align:center!important;max-width:287px!important;margin:0 auto!important}
  html body #services .b30s__mobile > .m3:not(#_z){order:4}
  html body #services .b30s__mobile > :is(.m-scene,.m-cards):not(#_z){order:5}
  html body .b30sb__h:not(#_z){font-size:26px!important;line-height:1.2!important;letter-spacing:-.02em!important}
  html body .b30sb__l p:not(#_z){font-size:15px!important;line-height:1.2!important;letter-spacing:-.01em!important;max-width:287px;margin-left:auto!important;margin-right:auto!important}
  html body .vision .vs-big:not(#_z){font-size:32px!important;line-height:1.2!important;letter-spacing:-.02em!important;max-width:315px!important;margin:0 auto!important}
  
  
  
  html body .nx-sec .nx__h:not(#_z){font-size:26px!important;line-height:1.2!important;letter-spacing:-.02em!important;max-width:350px;margin-left:auto!important;margin-right:auto!important}
  html body .nx-sec .nx__b:not(#_z){font-size:14px!important;line-height:1.3!important;letter-spacing:-.02em!important;max-width:311px!important;margin-left:auto!important;margin-right:auto!important}
  html body .nx-sec .nx__eye:not(#_z){font-size:12px!important;opacity:.6}
  
  
  /* --- 20 px either side, every section --- */
  
  /* --- every button 36 px tall (the icon square and the label) --- */
  
  
  
}
@media (max-width:899px){
  /* --- our footer: the heading, the links in two columns (each link a comfortable tap), Get in touch, the legal line --- */
  
  
  
  
  
  
  
  
  
  
  
  
}
@media (max-width:899px){
  /* the wordmark sits 72 px under the legal line */
  
  
}
@media (max-width:899px){
  /* --- hero: the services wheel at the Figma size (416 across) with more of its arc showing --- */
  html body .b30h .b30h__orbit:not(#_z),html body .b30h .b30h__ring:not(#_z){scale:.916}
  html body .b30h .b30h__orbit:not(#_z){--fade-a:30%!important;--fade-b:44%!important}

  /* --- testimonials: Figma type (quote 14 / 1.3, name 14, company 11), each card only as tall as its words --- */
  
  
  
  
  
  
  
  
  

  /* --- vision: only the vertical lines run the section; the two horizontal lines (with their corner pixels) cross the rock --- */
  html body .vision .vs-rule:not(#_z),html body .vision .vs-rules:not(#_z),html body .vision .vs-px:not(#_z),html body .vision .pg-vx:not(#_z){display:none!important}
  html body .vision .vs-rk:not(#_z){position:absolute;left:0;right:0;height:0;border-top:1px dashed rgba(0,0,0,.15);z-index:3;pointer-events:none}
  html body .vision .vs-rk i:not(#_z){position:absolute;top:-3px;width:5px;height:5px;background:#000}
}
@media (max-width:899px){
  html body section.pg:not(#_z),html body .b30-main > section.pg:not(#_z){margin-top:0!important}
}
@media (max-width:899px){
  
  html body .nx-sec:not(#_z){padding-top:0!important}
}
@media (max-width:899px){
  /* --- selected work: 56 between the intro and the first project; no (01) numbers --- */
  html body .work .work-body:not(#_z){margin-top:-14px!important}
  html body .work .row .desc .num:not(#_z){display:none!important}
  /* --- every pixel 4 px --- */
  html body .work .rpx:not(#_z){width:4px!important;height:4px!important;margin:1px 0 0 1px!important}
  html body .vision .vs-rk i:not(#_z){width:4px!important;height:4px!important;top:-2px!important}
  html body #nx-grid[data-opt] .nx__px:not(#_z){width:4px!important;height:4px!important;margin:-1.5px 0 0 -1.5px!important}
  html body .b30h__px:not(#_z){width:4px!important;height:4px!important}

  /* --- scroll reveals on phones: pictures uncover from the bottom, text rises in --- */
  
  
  html body .work .slot.m-rv:not(#_z){opacity:1;transform:none;clip-path:inset(100% 0 0 0);transition:clip-path 1.2s cubic-bezier(.16,1,.3,1)}
  html body .work .slot.m-rv img:not(#_z){transform:scale(1.14);transition:transform 1.6s cubic-bezier(.16,1,.3,1)}
  html body .work .slot.m-rv.is-in:not(#_z){clip-path:inset(0 0 0 0)}
  html body .work .slot.m-rv.is-in img:not(#_z){transform:none}

  /* --- services: the Figma colours and sizes (band #B4E3F7, section #B4E3F7 → white; card 264, name 23.4, story 12, list 10) --- */
  html body #services .b30s__mobile.has-pxm:not(#_z){background:linear-gradient(180deg,transparent 0,transparent 188px,#B4E3F7 188px,#B4E3F7 63%,#fff 100%)!important}
  html body #services .m3__st:not(#_z){background:transparent!important}
  html body #services .m3 .b30s__face.m3__f:not(#_z){padding:20.6px!important;background:#fff!important;box-shadow:0 0 23.4px rgba(176,233,253,.5)}
  html body #services .m3 .m3__f .svc__num:not(#_z){font-size:8px!important;opacity:.6}
  html body #services .m3 .m3__f .svc__name:not(#_z){font-size:23.4px!important;line-height:1.2!important;letter-spacing:-.02em!important;margin-top:0!important}
  html body #services .m3 .m3__f .svc__go:not(#_z){font-size:10px!important;padding:3.7px!important;height:18px!important;opacity:.5;border:.47px solid rgba(0,0,0,.2)!important;border-radius:3.7px!important}
  html body #services .m3 .m3__f .svc__desc:not(#_z){font-size:12px!important;line-height:1.2!important;letter-spacing:-.02em!important}
  html body #services .m3 .m3__f .svc__list li:not(#_z){font-size:10px!important;line-height:1.2!important;padding-block:1.9px!important}
  html body #services .m3 .m3__f .svc__body:not(#_z){margin-top:auto!important}
  html body #services .m3 .m3__f .svc__body:not(#_z),html body #services .m3 .m3__f .svc__list:not(#_z){gap:0!important}
  html body #services .m3 .m3__f .svc__list:not(#_z){margin-top:15px!important}
  html body #services .m3 .m3__f:not(#_z){display:flex!important;flex-direction:column!important}

  /* --- vision: a dashed line 64 above the heading; the side lines fade in under it and out at the foot --- */
  html body .vision .vs-tl:not(#_z){position:absolute;left:0;right:0;height:0;border-top:1px dashed rgba(0,0,0,.15);z-index:3;pointer-events:none}
  html body .vision .vs-tl i:not(#_z){position:absolute;top:-2px;width:4px;height:4px;background:#000}
  html body .vision :is(.vs-side,.vs-vl):not(#_z){-webkit-mask-image:linear-gradient(180deg,transparent 0,transparent var(--vtl,48px),#000 calc(var(--vtl,48px) + 1px),#000 82%,transparent 100%)!important;mask-image:linear-gradient(180deg,transparent 0,transparent var(--vtl,48px),#000 calc(var(--vtl,48px) + 1px),#000 82%,transparent 100%)!important}

  /* --- testimonials: the Figma head (label · heading · copy · outlined Get in touch); dashed card frames; square dots --- */
  
  
  
  
  
  
  
  
  
  
  
  

  /* --- our network: the Partners / Global switch always under the body copy --- */
  html body .nx-sec .nx__top > .nx__switch:not(#_z){display:flex!important;visibility:visible!important;opacity:1!important;position:static!important;transform:none!important;pointer-events:auto!important;gap:6px!important;justify-content:center!important;margin:0 auto!important;height:auto!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;width:auto!important}
  html body .nx-sec .nx__top > .nx__switch .nx__thumb:not(#_z){display:none!important}
  html body .nx-sec .nx__top > .nx__switch > button:not(#_z){all:unset;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;height:21px!important;padding:0 8px!important;border-radius:6px!important;
    font:400 10px/1.2 var(--mono,"Geist Mono",monospace)!important;text-transform:uppercase!important;letter-spacing:0!important;border:1px solid rgba(0,0,0,.15)!important;background:#fff!important;color:#000!important;cursor:pointer!important;min-width:64px!important}
  html body .nx-sec .nx__top > .nx__switch > button[aria-pressed="true"]:not(#_z){background:#000!important;border-color:#000!important;color:#fff!important}
}

@media (max-width:899px){
  /* --- services: the page's own scene (see #b30-m5js) --- */
  html body #services .b30s__mobile.has-mc > :not(.mc):not(.b30s__pxm):not(.b30s__band):not(#_z){display:none!important}
  html body #services .b30s__mobile.has-mc:not(#_z){display:block!important;padding:0!important;margin:0!important}
  html body #services .mc:not(#_z){position:relative;left:0;width:100%;overflow:hidden}
  html body #services .mc__k:not(#_z){position:absolute;left:0;top:0;width:390px;height:989px;transform-origin:0 0}
  html body #services .mc__hd:not(#_z){position:absolute;left:40px;top:116px;width:311px;display:flex;flex-direction:column;align-items:center;text-align:center;color:#000}
  html body #services .mc__eye:not(#_z){margin:0 0 32px;font:400 12px/1.2 var(--mono,"Geist Mono",monospace);text-transform:uppercase;opacity:.6}
  html body #services .mc__h:not(#_z){margin:0 0 20px;font:400 32px/1.2 var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.02em;white-space:nowrap}
  html body #services .mc__p:not(#_z){margin:0;max-width:287px;font:400 15px/1.2 var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.01em}
  html body #services .mc__hand:not(#_z){position:absolute;left:0;top:0;width:auto;height:auto;transform-origin:0 0;z-index:3;pointer-events:none;user-select:none;will-change:transform}
  html body #services .mc__hand.r:not(#_z){width:367px}html body #services .mc__hand.h:not(#_z){width:299px}
  html body #services .mc__pxs:not(#_z){position:absolute;inset:0;z-index:2;pointer-events:none}
  html body #services .mc__pxs i:not(#_z){position:absolute;display:block;will-change:transform,opacity}
  html body #services .mc__box:not(#_z){position:absolute;left:0;top:0;width:264px;height:264px;transform-origin:50% 50%;perspective:1200px;z-index:4;will-change:transform}
  html body #services .mc__cube:not(#_z){position:absolute;inset:0;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.65,0,.35,1)}
  html body #services .mc .b30s__face.mc__f:not(#_z){position:absolute!important;inset:0!important;margin:0!important;padding:20.6px!important;box-sizing:border-box!important;aspect-ratio:auto!important;border:0!important;
    background:#fff!important;transform:rotateY(calc(var(--i) * 90deg)) translateZ(132px);backface-visibility:hidden;-webkit-backface-visibility:hidden;visibility:visible!important;filter:none!important;
    display:flex!important;flex-direction:column!important;justify-content:space-between!important;pointer-events:none;box-shadow:0 0 23.4px rgba(176,233,253,.5)}
  html body #services .mc.is-live .mc__f.is-front:not(#_z){pointer-events:auto}
  html body #services .mc .mc__f > *:not(#_z){opacity:var(--fc,0)}
  html body #services .mc .mc__f .svc__head:not(#_z){position:relative;display:flex;justify-content:space-between;align-items:flex-start;padding-top:9.8px!important}
  html body #services .mc .mc__f .svc__num:not(#_z){position:absolute!important;left:3.3px!important;top:0!important;font:400 8px/1.2 var(--mono,"Geist Mono",monospace)!important;opacity:.6;color:#0D1432;margin:0!important}
  html body #services .mc .mc__f .svc__name:not(#_z){font:400 23.4px/1.2 var(--sans,"BDO Grotesk",sans-serif)!important;letter-spacing:-.02em!important;white-space:nowrap!important;margin:0!important}
  html body #services .mc .mc__f .svc__go:not(#_z){display:flex;align-items:center;height:18px;padding:0 3.7px;border:.47px solid rgba(0,0,0,.15);border-radius:3.7px;font:400 10px/1 var(--mono,"Geist Mono",monospace);text-transform:uppercase;color:rgba(0,0,0,.5);text-decoration:none}
  html body #services .mc .mc__f .svc__desc:not(#_z){font:400 12px/1.2 var(--sans,"BDO Grotesk",sans-serif)!important;letter-spacing:-.02em!important;margin:0 0 15px!important;min-height:0!important;max-width:none!important}
  html body #services .mc .mc__f .svc__list:not(#_z){margin:0!important}
  html body #services .mc .mc__f .svc__list li:not(#_z){font:400 10px/1.2 var(--mono,"Geist Mono",monospace)!important;padding:0 0 1.9px!important;margin:0 0 1.9px!important}
  html body #services .mc .mc__f .svc__list li:not(#_z)::after{animation:none!important;transform:none!important}
  html body #services .mc__dots:not(#_z){position:absolute;left:0;right:0;top:778px;display:flex;justify-content:center;gap:4px;z-index:5;opacity:0;transition:opacity .4s ease}
  html body #services .mc.is-live .mc__dots:not(#_z){opacity:1}
  html body #services .mc__dots button:not(#_z){all:unset;width:20px;height:24px;display:grid;place-items:center;cursor:pointer}
  html body #services .mc__dots button:not(#_z)::before{content:"";width:4px;height:4px;background:#000;opacity:.3;transition:opacity .3s}
  html body #services .mc__dots button[aria-pressed="true"]:not(#_z)::before{opacity:1}
  html body #services .mc__k:not(#_z){touch-action:pan-y}
}
@media (max-width:899px){
  /* --- hero: the services wheel's two circles drawn as the page's dashed outline, and the wheel lifted clear of the screen --- */
  html body .b30h .b30h__ring circle:not(#_z){stroke:rgba(0,0,0,.15)!important;stroke-width:1px!important;vector-effect:non-scaling-stroke;stroke-dasharray:3 3}
  html body .b30h .b30h__ring:not(#_z){-webkit-mask-image:linear-gradient(180deg,#000 26%,transparent 42%);mask-image:linear-gradient(180deg,#000 26%,transparent 42%)}
  html body .b30h .b30h__orbit:not(#_z),html body .b30h .b30h__ring:not(#_z){translate:0 var(--ringY,0px)}
  html body .b30h.no-wheel .b30h__orbit:not(#_z){visibility:visible!important;opacity:1!important}

  /* --- selected work: 24 between the category and the title; 96 between the last project and services --- */
  html body .work .row .kicker:not(#_z){margin-bottom:24px!important}
  html body .work .row h3:not(#_z){margin-top:0!important}
  html body .work .row .mhead:not(#_z){margin-top:0!important}

  /* --- vision: room under the rock so its clouds aren't cut --- */
  html body section.vision.vision:not(#_z){height:1085px!important}

  /* --- testimonials: eyebrow · heading · button, centred; one framed band (two dashed verticals, two dashed horizontals, corner
         pixels), each review laid out as in the Figma: the words, the portrait under them, then the name and Clutch --- */
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  

  /* --- our network: the two buttons the same size, 24 tall, less padding --- */
  html body .nx-sec .nx__top > .nx__switch > button:not(#_z){height:24px!important;width:76px!important;min-width:76px!important;padding:0!important}

  /* --- outlines: the page's dashed hairline everywhere --- */
  html body .work .row:not(#_z)::before,html body .work .row:not(#_z)::after{border-color:rgba(0,0,0,.15)!important}
}
@media (max-width:899px){
  html body .work .row .kicker:not(#_z){margin-bottom:0!important}
  html body .work .row h3:not(#_z){margin-top:16px!important}
  html body section#services:not(#_z){margin-top:200px!important}
  
}
@media (max-width:899px){
  html body .b30h .b30h__ring circle:not(#_z){stroke-dasharray:10 10!important}
  
}
@media (max-width:899px){
  /* services: the hands in front of the growing box, the loose pixels under the hands */
  html body #services .mc__pxs:not(#_z){z-index:2!important}
  html body #services .mc__box:not(#_z){z-index:3!important}
  html body #services .mc__hand:not(#_z){z-index:5!important}
  /* testimonials: each frame as tall as its words, with the Figma air (22 above, 37 below) */
  
  /* let's talk: the same air above and below */
  
}

@media (max-width:899px){
  /* header: the page's dashed hairline under the bar */
  
  /* testimonials: the reviews swipe inside the frame (between its two verticals), all one height */
  
  
  
  /* our network: 32 more between the Partners / Global buttons and the graphic */
  html body .nx-sec #nx-grid:not(#_z){margin-top:32px!important}
}
@media (max-width:899px){
  /* hero wheel: the page's dashed hairline */
  html body .b30h .b30h__ring circle:not(#_z){stroke:rgba(0,0,0,.15)!important;stroke-dasharray:10.1 10.1!important}
  /* vision: the phone 24 above the rock, no status bar; the side lines dashed like the rest */
  html body .vision .vs-stone:not(#_z){margin-top:62px!important}
  html body .vision .vs-sbar:not(#_z){display:none!important}
  html body .vision :is(.vs-side,.vs-vl):not(#_z){background:repeating-linear-gradient(180deg,rgba(0,0,0,.15) 0 3px,transparent 3px 6px)!important;width:1px!important}
  /* testimonials: 120 words, then Read more; the portrait and the name side by side under a dashed rule */
  
  
  
  
  
  
  
  
  
  
  /* every vertical line that runs past its frame melts into the background at both ends */
  
}
@media (max-width:899px){
  html body .b30h .b30h__ring:not(#_z){z-index:4!important;pointer-events:none!important}
  html body .b30h .b30h__ring circle:not(#_z){stroke-dasharray:3 3!important}
}
@media (max-width:899px){
  html body .b30h .b30h__ring g:not(#_z),html body .b30h .b30h__ring circle:not(#_z){opacity:1!important;stroke-opacity:1!important}
}
@media (max-width:899px){
  /* partner pixels: 5 × 5, crisp */
  
  
  /* header: the logo 28 tall */
  
  /* case studies: each project sticks as the next one slides over it */
  html body .work:not(#_z),html body .work .wrap:not(#_z),html body .work .work-body:not(#_z),html body .work #rows:not(#_z){overflow:visible!important}
  html body .work .row:not(#_z){position:relative!important;top:auto!important}
  /* testimonials: 64 shorter; no corner pixels */
  
  
  
  
  
  /* our network: the frame's four corner pixels */
  html body .nx-sec #nx-grid > .nx__px:not(#_z){display:block!important;visibility:visible!important;opacity:1!important}
}
@media (max-width:899px){
  /* the menu: the same logo as the header (28 tall, same place) and the same button size (Menu and Close the same width) */
  
  
  
  /* one white stripe in the footer (as on desktop): a white hairline across, white pixels where it meets the two side lines, which fade up */
  
  
  
  
  
  /* …and one in the hero: the header's hairline gets the desktop's pixels where the side lines would meet it */
  html body .b30h .m-hst:not(#_z){position:absolute;left:0;right:0;top:64px;height:0;z-index:41;pointer-events:none}
  html body .b30h .m-hst i:not(#_z){position:absolute;top:-2px;width:4px;height:4px;background:#000}
  html body .b30h .m-hst i.l:not(#_z){left:18px}html body .b30h .m-hst i.c:not(#_z){left:calc(50% - 2px)}html body .b30h .m-hst i.r:not(#_z){right:18px}
}

@media (max-width:899px){
  /* hero wheel: the words show over more of the arc (they sit a little lower now the band is wider) */
  html body .b30h .b30h__orbit:not(#_z){--fade-a:42%!important;--fade-b:58%!important}
  html body .b30h .b30h__ring:not(#_z){-webkit-mask-image:linear-gradient(180deg,#000 38%,transparent 56%)!important;mask-image:linear-gradient(180deg,#000 38%,transparent 56%)!important}
  /* partner pixels: they fade in at full size (no growing from small) */
  
  
  /* the last CTA: 32 more above and below */
  
}
@media (max-width:899px){
  /* hero wheel: the circles may run past the drawing's box (no mask; they fade by their own stroke), words untouched and draggable */
  html body .b30h .b30h__ring:not(#_z){overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important}
  html body .b30h .b30h__ring circle:not(#_z){stroke:url(#m-ring-fade)!important;stroke-opacity:1!important;stroke-width:1px!important;vector-effect:non-scaling-stroke;stroke-dasharray:3 3!important}
  html body .b30h .b30h__ring g:not(#_z){stroke-opacity:1!important}
  html body .b30h .b30h__words:not(#_z){transform:none!important}
  html body .b30h .b30h__orbit:not(#_z){pointer-events:auto!important;touch-action:pan-y!important;visibility:visible!important;opacity:1!important}
  html body .b30h.no-wheel .b30h__orbit:not(#_z),html body .b30h.no-wheel .b30h__ring:not(#_z){visibility:visible!important;opacity:1!important;display:block!important}
  /* footer: no white stripe */
  
}
@media (max-width:899px){
  /* one roundness for every button box (10, as the Menu button) */
  html body :is(.b30btn > span,.b30h__btn > i,.b30h__btn > span,.b30f__cta > *,.b30m__btn > *,.svm-cta .ic,.svm-cta .lb,.cta3 .b30btn > *):not(#_z){border-radius:10px!important}
}
/* phones: type, sides, buttons, footer (on top of the layer) */
/* Services page on phones (from the Services mobile design, block svm).
   Phones only (≤ 899px): every rule sits inside max-width:899px, so desktop is untouched. */
/* ===== SERVICES PAGE — phones (≤ 899 px), from the Figma "Services" mobile frame (5412:12698). Desktop untouched. ===== */
@media (max-width:899px){
  /* --- hero: heading, intro, the four disciplines, then the case-study picture full width --- */
  html body section.wk-hero:not(#_z){height:auto!important;min-height:0!important}
  html body section.wk-hero .b30h__pin:not(#_z){position:relative!important;height:auto!important;top:auto!important}
  html body section.wk-hero .b30h__stage:not(#_z){position:relative!important;height:auto!important;min-height:0!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:139px 20px 0!important;transform:none!important;overflow:hidden!important;background:#fff!important}
  html body section.wk-hero :is(.svh__sky,.b30h__glow,.b30h__glowx,.b30h__vline,.b30h__px,.wk-hero__dim,.b30h__dim):not(#_z){display:none!important}
  html body section.wk-hero .b30h__nav:not(#_z){position:absolute!important;left:0!important;right:0!important;top:0!important}
  html body section.wk-hero .svh__title:not(#_z){order:1;position:static!important;margin:0!important;width:auto!important;max-width:313px!important;font:400 32px/1.2 var(--sans,"BDO Grotesk",sans-serif)!important;letter-spacing:-.02em!important;text-align:left!important;color:#000!important;transform:none!important}
  html body section.wk-hero .svh__title > span:not(#_z){display:block!important}
  html body section.wk-hero .svh__intro:not(#_z){order:2;position:static!important;margin:16px 0 0!important;max-width:313px!important;font:400 15px/1.2 var(--sans,"BDO Grotesk",sans-serif)!important;letter-spacing:-.01em!important;text-align:left!important;color:#000!important;transform:none!important;width:auto!important}
  html body section.wk-hero .svh__idx:not(#_z){order:3;position:static!important;margin:40px 0 0!important;width:100%!important;transform:none!important}
  html body section.wk-hero .svh__idx ul:not(#_z){display:flex!important;flex-direction:column!important;gap:0!important;margin:0!important;padding:0!important;list-style:none!important}
  html body section.wk-hero .svh__idx li:not(#_z){margin:0!important;padding:0!important;border-top:.5px dashed rgba(0,0,0,.15)!important;border-bottom:.5px dashed rgba(0,0,0,.15)!important;height:44px!important;display:flex!important;align-items:center!important}
  html body section.wk-hero .svh__idx li + li:not(#_z){border-top:0!important}
  html body section.wk-hero .svh__idx a:not(#_z){display:flex!important;align-items:center!important;gap:8px!important;font:400 14px/1.3 var(--sans,"BDO Grotesk",sans-serif)!important;letter-spacing:-.02em!important;color:#000!important;text-transform:none!important;padding:0!important;height:auto!important;background:none!important;border:0!important}
  html body section.wk-hero .svh__idx a i:not(#_z){display:block!important;width:8px!important;height:8px!important;background:#000!important;border-radius:0!important;flex:none!important;margin:0!important;transform:none!important}
  html body section.wk-hero .svh__media:not(#_z){order:4;position:relative!important;inset:auto!important;display:block!important;margin:30px -20px 0!important;width:auto!important;height:272px!important;transform:none!important;opacity:1!important;visibility:visible!important;overflow:hidden!important;border:0!important;clip-path:none!important}
  html body section.wk-hero .svh__media .wk-media__in:not(#_z){clip-path:none!important;position:absolute!important;inset:0!important}
  html body section.wk-hero .svh__media .wk-media__in img:not(#_z){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;opacity:0!important}
  html body section.wk-hero .svh__media .wk-media__in img.is-on:not(#_z){opacity:1!important}
  html body section.wk-hero .svh__media .wk-media__word:not(#_z){display:none!important}

  /* --- the services --- */
  html body section.svx:not(#_z){padding:76px 20px 0!important;margin:0!important;height:auto!important}
  html body section.svx .svx__orb:not(#_z),html body section.svx .svx__list:not(#_z),html body section.svx .svx__ft:not(#_z){display:none!important}
  html body section.svx .svx__p:not(#_z){position:relative!important;display:block!important;margin:0 0 96px!important;padding:0!important;min-height:0!important;height:auto!important;width:auto!important}
  html body section.svx .svx__p:last-of-type:not(#_z){margin-bottom:0!important}
  html body section.svx .svx__hd:not(#_z){position:static!important;display:block!important;margin:0 0 32px!important;padding:0!important;width:auto!important}
  html body section.svx .svx__k:not(#_z){font:400 12px/1.3 var(--mono,"Geist Mono",monospace)!important;margin:0 0 12px!important;color:#000!important;opacity:1}
  html body section.svx .svx__name:not(#_z){font:400 26px/1.2 var(--sans,"BDO Grotesk",sans-serif)!important;letter-spacing:-.02em!important;margin:0!important;color:#000!important}
  html body section.svx .svx__stmt:not(#_z){font:400 15px/1.2 var(--sans,"BDO Grotesk",sans-serif)!important;letter-spacing:-.01em!important;margin:16px 0 0!important;max-width:341px!important;text-align:left!important;color:#000!important;position:static!important;width:auto!important}
  /* the picture box: 350 wide, 180 tall, a field of pixels with the service's icon in the middle; it sticks at the top while its list scrolls */
  html body .svm-box:not(#_z){position:-webkit-sticky;position:sticky;top:0;z-index:3;height:180px;margin:0 0 12px;background:#fff;overflow:hidden}
  html body .svm-box .svm-rect:not(#_z){position:absolute;inset:0;width:100%;height:100%;display:block}
  html body .svm-box .sv-px:not(#_z){position:absolute;inset:0}
  html body .svm-box .sv-px canvas:not(#_z){position:absolute;display:block}
  html body .svm-list:not(#_z){list-style:none;margin:0;padding:0}
  html body .svm-list li:not(#_z){margin:0;padding:0}
  html body .svm-s:not(#_z){all:unset;box-sizing:border-box;display:block;width:100%;padding:13.5px 8px;border-top:.5px dashed rgba(0,0,0,.15);border-bottom:.5px dashed rgba(0,0,0,.15);cursor:pointer;-webkit-tap-highlight-color:transparent}
  html body .svm-list li + li .svm-s:not(#_z){border-top:0}
  html body .svm-s .t:not(#_z){display:block;font:400 14px/1.3 var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.02em;color:#000;transition:color .3s ease}
  html body .svm-s .d:not(#_z){display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.16,1,.3,1),opacity .4s ease,margin .4s cubic-bezier(.16,1,.3,1);opacity:0;margin-top:0}
  html body .svm-s .d > span:not(#_z){overflow:hidden;font:400 11px/1.2 var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.01em;color:#000}
  html body .svm-p.has-on .svm-s:not(.is-on) .t:not(#_z){color:rgba(0,0,0,.45)}
  html body .svm-s.is-on .d:not(#_z){grid-template-rows:1fr;opacity:1;margin-top:6px}
  html body .svm-cta:not(#_z){display:flex;gap:1.45px;margin:32px 0 0;height:36px;text-decoration:none;color:#000}
  html body .svm-cta .ic:not(#_z){flex:none;width:36px;height:36px;display:grid;place-items:center;border:.67px solid rgba(0,0,0,.15);border-radius:8.7px;box-sizing:border-box}
  html body .svm-cta .ic svg:not(#_z){width:16px;height:16px;display:block}
  html body .svm-cta .lb:not(#_z){flex:1;display:flex;align-items:center;justify-content:center;border:.67px solid rgba(0,0,0,.15);border-radius:8.7px;box-sizing:border-box;font:400 13px/1 var(--mono,"Geist Mono",monospace);letter-spacing:.1em;text-transform:uppercase}

  /* --- "Good things happen…": the homepage's pixel band in yellow, the yellow fading to white, the hand from the left --- */
  html body section.svhello:not(#_z){position:relative!important;height:777px!important;min-height:0!important;margin:225px 0 0!important;padding:0!important;background:linear-gradient(180deg,#F2E907 1%,#fff 84%)!important;overflow:visible!important}
  html body section.svhello :is(.svhello__bg,.svhello__px):not(#_z){display:none!important}
  html body section.svhello .svm-yb:not(#_z){position:absolute;left:0;width:100%;pointer-events:none;display:block;z-index:0}
  html body section.svhello .svhello__h:not(#_z){position:absolute!important;left:20px!important;right:20px!important;top:88px!important;margin:0!important;width:auto!important;font:400 32px/1.2 var(--sans,"BDO Grotesk",sans-serif)!important;letter-spacing:-.02em!important;text-align:center!important;color:#000!important;z-index:2;transform:none!important}
  html body section.svhello .svhello__hand:not(#_z){position:absolute!important;left:-311px!important;top:243px!important;width:701px!important;height:278px!important;margin:0!important;z-index:1;transform:none!important;overflow:hidden}
  html body section.svhello .svhello__hand img:not(#_z){position:absolute;left:0;bottom:0;width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 100%!important;max-width:none!important}
  html body section.svhello .svhello__p:not(#_z){position:absolute!important;left:40px!important;right:40px!important;top:510px!important;margin:0!important;width:auto!important;font:400 15px/1.2 var(--sans,"BDO Grotesk",sans-serif)!important;letter-spacing:-.01em!important;text-align:center!important;color:#000!important;z-index:2;transform:none!important}
  html body section.svhello > .b30h__btn:not(#_z){position:absolute!important;left:50%!important;top:614px!important;margin:0!important;translate:-50% 0;z-index:2}
}
@media (max-width:899px){
  html body section.svhello .svhello__h:not(#_z){height:auto!important;max-height:none!important;overflow:visible!important;white-space:normal!important}
  html body section.svhello .svhello__h .hw:not(#_z){overflow:visible!important}
}
@media (max-width:899px){
  html body section.svhello > .b30h__btn > span:not(#_z){width:auto!important;min-width:0!important;white-space:nowrap!important}
  html body section.svhello .svhello__hand:not(#_z){height:auto!important;top:auto!important;bottom:256px!important;overflow:visible!important}
  html body section.svhello .svhello__hand img:not(#_z){position:relative!important;height:auto!important;object-fit:contain!important}
}
@media (max-width:899px){
  html body section.svhello .svhello__hand:not(#_z){bottom:148px!important}
  html body section.svhello > .b30h__btn > span:not(#_z){width:max-content!important;padding:0 12px!important}
}
@media (max-width:899px){
  html body section.svhello > .b30h__btn:not(#_z){width:auto!important}
  html body section.svhello > .b30h__btn > span:not(#_z){flex:none!important;min-width:max-content!important}
}
@media (max-width:899px){
  html:root:not(#_z),html body:not(#_z){overflow-x:clip!important}
  html body section.svhello:not(#_z){overflow-x:clip!important;overflow-y:visible!important}
}
@media (max-width:899px){
  html body section#services.svx.svx:not(#_z){padding-top:0!important;margin-top:38px!important}   /* 96 under the partners' pixels */
}
@media (max-width:899px){
  /* hero: no picture; the four disciplines on a full screen, with the brand colour rising from the bottom */
  html body section.wk-hero .svh__media:not(#_z){display:none!important}
  html body section.wk-hero .b30h__stage:not(#_z){min-height:max(680px,100svh)!important;padding-bottom:48px!important;
    background:radial-gradient(130% 55% at 72% 104%,rgba(108,102,214,.9) 0%,rgba(160,152,232,.6) 28%,rgba(250,215,255,.45) 50%,rgba(255,236,206,.5) 66%,rgba(255,255,255,0) 86%),radial-gradient(90% 40% at 8% 100%,rgba(176,233,253,.7) 0%,rgba(176,233,253,0) 70%),#fff!important}
  /* the picture box: soft edges, and a short fade under it so the rows slide away beneath it */
  html body .svm-stk:not(#_z){position:relative}
  html body .svm-box:not(#_z){overflow:visible!important;margin-bottom:12px!important}
  html body .svm-box .svm-rect:not(#_z){-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%),linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%);-webkit-mask-composite:source-in;
    mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%),linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%);mask-composite:intersect}
  html body .svm-box:not(#_z)::after{content:"";position:absolute;left:0;right:0;top:100%;height:36px;background:linear-gradient(180deg,#fff 0,rgba(255,255,255,0) 100%);pointer-events:none}
  html body .svm-tail .svm-s:not(#_z){border-top:0!important}
  /* buttons: the yellow section's Get in touch in the same outline style as every other button on the page */
  html body section.svhello > .b30h__btn > i:not(#_z),html body section.svhello > .b30h__btn > span:not(#_z){background:#fff!important;color:#000!important;border:.67px solid rgba(0,0,0,.15)!important;border-radius:8.7px!important;box-sizing:border-box!important}
  html body section.svhello > .b30h__btn > i svg *:not(#_z){fill:#000!important}
  html body section.svhello > .b30h__btn:not(#_z){gap:1.45px!important}
  /* Let's talk: as much air above as below */
  
}
@media (max-width:899px){
  html body section.wk-hero .b30h__stage:not(#_z){background:radial-gradient(140% 62% at 72% 106%,rgba(98,92,214,.95) 0%,rgba(150,142,232,.75) 26%,rgba(250,215,255,.6) 48%,rgba(255,232,196,.6) 64%,rgba(255,255,255,0) 86%),radial-gradient(95% 45% at 6% 102%,rgba(176,233,253,.85) 0%,rgba(176,233,253,0) 70%),#fff!important}
}
@media (max-width:899px){
  /* hero: pinned; the page slides up over it */
  html.svm-pin body section.wk-hero:not(#_z){position:-webkit-sticky!important;position:sticky!important;top:0!important;z-index:0!important}
  html.svm-pin body main.b30-main:not(#_z){position:relative!important;z-index:1!important;background:#fff}
  html.svm-pin body main.b30-main > section.b30p:not(#_z){background:#fff!important}
  /* hero: the four disciplines as a 2 × 2 of tiles in the lower half, over the colour */
  html body section.wk-hero .b30h__stage:not(#_z){height:max(680px,100svh)!important}
  html body section.wk-hero .svh__idx.svm-tiles:not(#_z){margin-top:auto!important;margin-bottom:0!important}
  html body section.wk-hero .svm-tiles ul:not(#_z){display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;border-top:1px dashed rgba(0,0,0,.15)!important;border-left:1px dashed rgba(0,0,0,.15)!important}
  html body section.wk-hero .svm-tiles li:not(#_z){height:auto!important;display:block!important;border:0!important;border-right:1px dashed rgba(0,0,0,.15)!important;border-bottom:1px dashed rgba(0,0,0,.15)!important}
  html body section.wk-hero .svm-tiles a:not(#_z){position:relative!important;display:grid!important;grid-template-columns:1fr auto!important;grid-template-rows:auto 1fr auto!important;align-items:start!important;gap:0!important;height:150px!important;padding:12px!important;box-sizing:border-box!important;background:rgba(255,255,255,.55)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  html body section.wk-hero .svm-tiles a > i:not(#_z){display:none!important}
  html body section.wk-hero .svm-tiles .k:not(#_z){grid-column:1;grid-row:1;font:400 11px/1.2 var(--mono,"Geist Mono",monospace);opacity:.6}
  html body section.wk-hero .svm-tiles .ic:not(#_z){grid-column:2;grid-row:1 / span 2;width:72px;height:72px;display:block;animation:svm-float 5s ease-in-out infinite}
  html body section.wk-hero .svm-tiles li:nth-child(2) .ic:not(#_z){animation-delay:-1.2s}html body section.wk-hero .svm-tiles li:nth-child(3) .ic:not(#_z){animation-delay:-2.5s}html body section.wk-hero .svm-tiles li:nth-child(4) .ic:not(#_z){animation-delay:-3.7s}
  html body section.wk-hero .svm-tiles .nm:not(#_z){grid-column:1 / span 2;grid-row:3;align-self:end;font:400 15px/1.2 var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.01em}
  html body section.wk-hero .svm-tiles .ct:not(#_z){grid-column:1 / span 2;grid-row:4;margin-top:4px;font:400 11px/1.2 var(--mono,"Geist Mono",monospace);text-transform:uppercase;opacity:.6}
  @keyframes svm-float{0%:not(#_z),100%:not(#_z){transform:translateY(0)}50%:not(#_z){transform:translateY(-4px)}}
  /* services: one line per service, all black; the one shown in the box gets a black pixel before it */
  html body .svm-s:not(#_z){display:flex!important;align-items:center;gap:0}
  html body .svm-s > i:not(#_z){display:block;width:0;height:8px;background:#000;margin-right:0;transition:width .3s cubic-bezier(.16,1,.3,1),margin .3s cubic-bezier(.16,1,.3,1)}
  html body .svm-s.is-on > i:not(#_z){width:8px;margin-right:8px}
  html body .svm-p.has-on .svm-s:not(.is-on) .t:not(#_z),html body .svm-s .t:not(#_z){color:#000!important}
  /* "Good things happen…": its button centred, in the solid style */
  html body section.svhello > .b30h__btn:not(#_z){left:0!important;right:0!important;margin:0 auto!important;width:max-content!important;translate:none!important}
  html body section.svhello > .b30h__btn > i:not(#_z){background:#fff!important;border:1px solid #000!important}
  html body section.svhello > .b30h__btn > span:not(#_z){background:#000!important;color:#fff!important;border:1px solid #000!important}
  html body section.svhello > .b30h__btn > i svg *:not(#_z){fill:#000!important}
}
@media (max-width:899px){
  html body :is(.b30btn > span,.b30h__btn > i,.b30h__btn > span,.b30f__cta > *,.b30m__btn > *,.svm-cta .ic,.svm-cta .lb,.cta3 .b30btn > *,section.svhello > .b30h__btn > *):not(#_z){border-radius:10px!important}
}
@media (max-width:899px){
  html body section.svhello > .b30h__btn > i:not(#_z),html body section.svhello > .b30h__btn > span:not(#_z){border-radius:10px!important}
}
@media (max-width:899px){
  html body main.b30-main > section#partners.b30p:not(#_z){margin-top:0!important}
}
@media (max-width:899px){
  /* hero tiles: the number with a pixel in the discipline's colour; the services walking through under the name */
  html body section.wk-hero .svm-tiles .ct:not(#_z){display:none!important}
  html body section.wk-hero .svm-tiles .k:not(#_z){display:flex;align-items:center;gap:6px}
  html body section.wk-hero .svm-tiles .k i:not(#_z){display:block;width:5px;height:5px}
  html body section.wk-hero .svm-tiles .tk:not(#_z){grid-column:1 / span 2;grid-row:4;position:relative;display:block;height:14px;margin-top:6px;overflow:hidden}
  html body section.wk-hero .svm-tiles .tk__i:not(#_z){position:absolute;left:0;top:0;white-space:nowrap;font:400 11px/14px var(--mono,"Geist Mono",monospace);text-transform:uppercase;letter-spacing:.02em;opacity:.6;transition:transform .5s cubic-bezier(.16,1,.3,1),opacity .5s ease}
  html body section.wk-hero .svm-tiles .tk__i.is-in:not(#_z){transform:translateY(100%);opacity:0}
  html body section.wk-hero .svm-tiles .tk__i.is-out:not(#_z){transform:translateY(-100%);opacity:0}
  /* hero: the shade that comes over it as the page slides up */
  html body section.wk-hero .svm-ov:not(#_z){position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;z-index:30}
  html body section.wk-hero :is(.svh__title,.svh__intro,.svh__idx):not(#_z){will-change:transform}
  /* picture box: two dashed horizontals across the page and two dashed uprights running past the box, fading at their ends */
  html body .svm-fr:not(#_z){position:absolute;pointer-events:none;z-index:2;display:block}
  html body .svm-fr.h:not(#_z){left:-20px;right:-20px;height:0;border-top:1px dashed rgba(0,0,0,.15)}
  html body .svm-fr.h.t:not(#_z){top:0}html body .svm-fr.h.b:not(#_z){bottom:0}
  html body .svm-fr.v:not(#_z){top:-28px;bottom:-28px;width:1px;background:repeating-linear-gradient(180deg,rgba(0,0,0,.15) 0 3px,transparent 3px 6px);
    -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%)}
  html body .svm-fr.v.l:not(#_z){left:0}html body .svm-fr.v.r:not(#_z){right:0}
  html body .svm-box:not(#_z)::after{top:calc(100% + 1px)!important}
  /* the pixel that marks the service shown: 5 px */
  html body .svm-s > i:not(#_z){height:5px!important}
  html body .svm-s.is-on > i:not(#_z){width:5px!important}
}
@media (max-width:899px){
  html body section.wk-hero .svm-tiles a > .k > i:not(#_z){display:block!important;width:5px!important;height:5px!important;background:var(--pc)!important;opacity:1!important;border-radius:0!important;margin:0!important}
  html body section.wk-hero .svm-tiles .tk:not(#_z){height:28px!important}
  html body section.wk-hero .svm-tiles .tk__i:not(#_z){white-space:normal!important;right:0;line-height:14px!important}
  html body section.wk-hero .svm-tiles a:not(#_z){height:158px!important}
  html body section.wk-hero :is(.svh__title,.svh__intro,.svh__idx):not(#_z){will-change:translate}
}
@media (max-width:899px){
  /* hero tiles: the discipline's pixel in full colour, 5 × 5 on whole pixels (only the number is greyed) */
  html body section.wk-hero .svm-tiles .k:not(#_z){opacity:1!important;color:rgba(0,0,0,.6)!important}
  html body section.wk-hero .svm-tiles a > .k > i:not(#_z){width:5px!important;height:5px!important;flex:none!important}
  html body section.wk-hero .svm-tiles .ic:not(#_z){image-rendering:pixelated}
}
@media (max-width:899px){
  /* hero (Figma): one screen — heading, intro, the four disciplines (Design active), the active discipline's shots filling the rest */
  html body section.wk-hero .b30h__stage:not(#_z){height:100svh!important;min-height:600px!important;padding:120px 20px 0!important;background:#fff!important}
  html body section.wk-hero .svh__idx:not(#_z){margin-top:32px!important}
  html body section.wk-hero .svh__idx li a i:not(#_z){transition:background .3s ease}
  html body section.wk-hero .svh__idx li.is-on a i:not(#_z){background:var(--c)!important}
  html body section.wk-hero .svh__idx li:not(.is-on) a:not(#_z){color:rgba(0,0,0,.5)!important}
  html body section.wk-hero .svh__media.svh__media:not(#_z){display:block!important;flex:1 1 auto!important;height:auto!important;min-height:150px!important;margin:24px -20px 0!important}
  html body section.wk-hero .svh__media .wk-media__gl:not(#_z),html body section.wk-hero .svh__media .wk-media__word:not(#_z){display:none!important}
  html body section.wk-hero .svh__media.is-m .wk-media__in img:not(#_z){opacity:0!important;transition:opacity .5s ease!important}
  html body section.wk-hero .svh__media.is-m .wk-media__in img.is-m-on:not(#_z){opacity:1!important}
  /* the yellow section's hand, a little smaller (85%) */
  html body section.svhello .svhello__hand:not(#_z){width:596px!important;left:-264px!important}
}
@media (max-width:899px){
  html body section.wk-hero .svh__media.is-m .wk-media__in:not(#_z),html body section.wk-hero .svh__media.is-m .wk-media__in img:not(#_z){visibility:visible!important;display:block!important}
}
@media (max-width:899px){
  /* hero: the picture 320 tall (the hero is as tall as its content); the active discipline marked by black type only, every square black */
  html body section.wk-hero .b30h__stage:not(#_z){height:auto!important;min-height:0!important}
  html body section.wk-hero .svh__media.svh__media:not(#_z){flex:none!important;height:320px!important;min-height:0!important}
  html body section.wk-hero .svh__idx li.is-on a i:not(#_z),html body section.wk-hero .svh__idx li a i:not(#_z){background:#000!important}
  /* "Good things happen…": 40 less between the heading and the hand (everything under it moves up with it) */
  html body section.svhello:not(#_z){height:737px!important}
  html body section.svhello .svhello__hand:not(#_z){bottom:188px!important}
  html body section.svhello .svhello__p:not(#_z){top:470px!important}
  html body section.svhello > .b30h__btn:not(#_z){top:574px!important}
}
/* phones: the services page (last) */
