/* =====================================================================
   Homepage styles, in cascade order. The order matters: later files
   override earlier ones, so add new files in the right place.
   ===================================================================== */
@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} }
.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}
}
.work .row:last-child::after{display:none}
.work .slot{cursor:none}
@media (hover:none){.work .slot{cursor:pointer}}
.work .cta .b30-cube{margin-left:-.75px}
.work .cta .b30-cube > *{border-left:.75px solid var(--black,#000)!important}
.work{--black:#000; --white:#fff; --midnight:#0D1432; --line:rgba(0,0,0,.15);
  --sans:"BDO Grotesk","Hanken Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --pad:clamp(32px,5.7vw,96px);
  --ease:cubic-bezier(.7,0,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1)}
.work .lenis.lenis-smooth{scroll-behavior:auto!important}
.work .spacer{height:70vh;display:flex;align-items:center;justify-content:center;font:400 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:rgba(0,0,0,.3)}
.work .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.work{background:var(--white);padding:clamp(96px,14vw,226px) 0 clamp(96px,10vw,160px);overflow-x:clip}
.work .wrap{width:min(1592px,100% - clamp(40px,8vw,128px));margin-inline:auto}
.work .grid3{display:grid;grid-template-columns:516fr 292fr 784fr}
.work-head{align-items:center;margin-bottom:clamp(64px,8vw,140px)}
.work-head p{grid-column:1}
.work-head h2{grid-column:3}
.work-head p{margin:0;max-width:301px;font-size:18px;line-height:1.2;letter-spacing:-.01em}
.work-head h2{margin:0;font-weight:400;font-size:clamp(44px,4.4vw,71px);line-height:1.2;letter-spacing:-.02em;white-space:nowrap;cursor:default}
.work-body{position:relative}
.work .row{position:relative;display:grid;grid-template-columns:516fr 292fr 784fr;padding-block:clamp(56px,5vw,96px)}
.work .row.flip{grid-template-columns:784fr 292fr 516fr}
.work .row::before,.work .row::after{content:"";position:absolute;left:0;right:0;height:1px;background:var(--line);
  transform-origin:left;transform:scaleX(0);transition:transform .8s var(--ease-out)}
.work .row::before{top:0}
.work .row::after{bottom:0}
.work .row+.row::before{display:none}
.work .row.in::before,.work .row.in::after{transform:scaleX(1)}
.work .row:not(.flip) .text{grid-column:1}
.work .row:not(.flip) .media{grid-column:3}
.work .row.flip .media{grid-column:1;grid-row:1}
.work .row.flip .text{grid-column:3;grid-row:1;text-align:right;align-items:flex-end}
.work .text{display:flex;flex-direction:column;justify-content:space-between;min-width:0;position:relative;z-index:5}
.work .kicker{font:400 14px/1.2 var(--mono);text-transform:uppercase}
.work .desc{max-width:393px;font-size:16px;line-height:1.2;letter-spacing:-.02em}
.work .desc p{margin:0}
.work .desc .num{margin-bottom:12px;opacity:0;transition:opacity .5s var(--ease-out) .1s}
.work .row.in .desc .num{opacity:1}
.work .media{min-width:0;position:relative;z-index:5}
.work .mhead{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:clamp(48px,6.25vw,120px)}
.work .mhead h3{margin:0;font-weight:400;font-size:clamp(28px,1.9vw,36px);line-height:1.2;letter-spacing:-.02em;max-width:514px}
.work .mhead .yr{font:400 14px/1.2 var(--mono);color:var(--midnight);text-transform:uppercase;flex:none}
.work .slot{width:100%;aspect-ratio:784/480;position:relative;overflow:hidden;background:#eef0f4}
.work .slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.work .slot .slot__vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:3;pointer-events:none}   /* a card video (home.js `video`): loops over the picture, filling the frame */
.work .slot.vtex .slot__vid{opacity:0}   /* mouse devices: the video is drawn through the picture effect instead (public/js/work.js, FINE_VID) */
.work:not(.is-gl) .row .slot img{clip-path:inset(0 0 100% 0);transition:clip-path 1.3s cubic-bezier(.16,1,.3,1) .1s}
.work:not(.is-gl) .row.in .slot img{clip-path:inset(0)}
@media (prefers-reduced-motion:reduce){.work:not(.is-gl) .row .slot img{clip-path:none;transition:none}}
.work.is-gl .slot{background:transparent}
.work.is-gl .slot img{visibility:hidden}
.work [data-ascii] .aw{display:inline-block;white-space:nowrap}
.work [data-ascii] .ch{position:relative;display:inline-block;opacity:0}
.work [data-ascii] .ch.on{opacity:1}
.work [data-ascii] .ch.g{color:transparent}
.work [data-ascii] .ch.g::after{content:attr(data-g);position:absolute;left:50%;top:0;transform:translateX(-50%);
  color:var(--black);font-family:var(--mono);font-size:.82em;line-height:1.46}
.work [data-ascii].done .ch{opacity:1}
.work .rise .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.work .rise .w>span{display:inline-block;transform:translateY(105%);transition:transform .7s var(--ease-out);transition-delay:calc(var(--i)*8ms + 120ms)}
.work h3.rise .w>span{transition-delay:calc(var(--i)*18ms + 40ms)}
.work .row.in .rise .w>span{transform:none}
.work .cta{display:inline-flex;margin-top:31px;color:var(--black);text-decoration:none;
  opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease-out) .3s,transform .6s var(--ease-out) .3s}
.work .row.in .cta{opacity:1;transform:none}
.work .cta .ic{position:relative;width:36px;height:36px;border:.75px solid var(--black);background:var(--white);overflow:hidden;flex:none}
.work .cta .ic svg{position:absolute;left:9px;top:9px;width:18px;height:18px;transition:transform .55s var(--ease)}
.work .cta .ic svg+svg{transform:translateX(-28px)}
.work .cta:hover .ic svg:first-child,.work .cta:focus-visible .ic svg:first-child{transform:translateX(28px)}
.work .cta:hover .ic svg+svg,.work .cta:focus-visible .ic svg+svg{transform:none}
.work .cta .lbl{display:flex;align-items:center;height:36px;padding:6px 12px;border:.75px solid var(--black);border-left:0;
  font:400 12px/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;white-space:pre}
.work .cta:focus-visible{outline:2px solid #3457BA;outline-offset:4px}
.work .slot canvas{position:absolute;inset:0;width:100%;height:100%;display:block;transition:transform 1.1s var(--ease-out)}
.work .slot:hover canvas,.work .slot:hover img{transform:scale(1.035)}
.work .slot img{transition:transform 1.1s var(--ease-out)}
.work .text{will-change:translate}
.work.is-gl .slot{cursor:pointer}
@media (max-width:899px){.work-head{grid-template-columns:1fr;gap:20px}}
@media (max-width:899px){.work-head p,.work-head h2{grid-column:1}}
@media (max-width:899px){.work-head h2{order:-1;font-size:clamp(40px,11vw,56px);white-space:normal}}
@media (max-width:899px){.work .row,.work .row.flip{grid-template-columns:1fr;gap:32px;padding-block:40px}}
@media (max-width:899px){.work .row .media,.work .row.flip .media,.work .row .text,.work .row.flip .text{grid-column:1;grid-row:auto;text-align:left;align-items:flex-start}}
@media (max-width:899px){.work .row .media{order:1}}
@media (max-width:899px){.work .row .text{order:2;gap:24px}}
@media (max-width:899px){.work .mhead{margin-bottom:28px}}
@media (prefers-reduced-motion:reduce){.work .rise .w>span,.work .cta,.work .row::before,.work .row::after{transition:none!important}}
html.dark .work{--black:#F2F1EE;--white:#000;--midnight:#E4E8FF;--line:rgba(255,255,255,.2)}
html.dark .work .spacer{color:rgba(255,255,255,.3)}
html.dark .work{background:var(--white)}
html.dark .work .slot{background:#16171B}
html.dark .work [data-ascii] .ch.g::after{color:var(--black)}
html.dark .work .cta{color:var(--black)}
html.dark .work .cta .ic{background:var(--white)}
html.dark .work .cta:focus-visible{outline:2px solid #7B93FF}
html.dark .work .row::after,html.dark .work .row::before{background:rgba(255,255,255,.38)}
.work .cta .ic{box-sizing:border-box;border:1px solid var(--line)!important;border-radius:12px}
.work .cta .lbl{box-sizing:border-box;border:1px solid var(--line)!important;border-radius:12px;margin-left:2px}
.work .cta:hover .ic,.work .cta:hover .lbl{border-color:rgba(0,0,0,.4)!important}
.work .cta .ic svg{left:13px;top:13px;width:18px;height:18px}
.work .cta .ic svg+svg{transform:translateX(-44px)}
.work .cta:hover .ic svg:first-child,.work .cta:focus-visible .ic svg:first-child{transform:translateX(44px)}
.work .cta:hover .ic svg+svg,.work .cta:focus-visible .ic svg+svg{transform:none}
.work .cta .lbl{font-size:14px}
.wk-ch{display:inline-block;text-align:center;white-space:pre}
.work .row{background:var(--white)}
html.dark .work .row{background:transparent}
.work.is-stack .row{position:sticky;background:var(--white)}
.work.is-stack .row+.row::before{display:block}
html.dark .work.is-stack .row{background:var(--night)}
.work .row.is-back::before,.work .row.is-back::after{opacity:0;transition:opacity .3s ease}
.work.is-stack .row > :not(.b30-rowfog){transform:translateY(var(--back,0px))}
.work{padding-top:calc(150*var(--u))!important}
.work .rpx{position:absolute;width:6px;height:6px;background:#000;z-index:6;pointer-events:none;opacity:0;transform:scale(0);transition:opacity .3s ease .55s,transform .5s cubic-bezier(.16,1,.3,1) .55s}
.work .rpx.l{left:-3px}
.work .rpx.r{right:-3px}
.work .rpx.t{top:-2.5px}
.work .rpx.b{bottom:-2.5px}
.work .row.in .rpx{opacity:1;transform:none}
.work .row+.row .rpx.t{display:none}
.work.is-stack .row+.row .rpx.t{display:block}
.work .row:last-child .rpx.b{display:none}
.work .row.is-back .rpx{opacity:0!important;transition:opacity .3s ease}
html.dark .work .rpx{background:#F2F1EE}
.work .slot,.work.is-gl .slot{cursor:none}
.work .slot__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}
.work .slot__word.on{opacity:1}
@media (hover:none){.work .slot{cursor:pointer}}
@media (hover:none){.work .slot__word{display:none}}
.work .row,.work .row *{cursor:none}
.work .row a,.work .row a *{cursor:pointer!important}
@media (hover:none){.work .row,.work .row *{cursor:auto}}
.work .slot,.work.is-gl .slot,html.dark .work .slot{background:transparent!important}
.b30s .b30s__head{background:transparent}
.b30-main > .b30s{margin-top:calc(320*var(--u))}
.b30s .b30s__head > .b30s__band{display:none}
.b30s .b30s__headworld{z-index:5}
.b30s__pxform{position:absolute;left:0;width:100%;pointer-events:none;z-index:4;display:block}
.b30s .b30s__ghost{inset:auto;left:0;top:0;width:564px;height:564px;visibility:hidden;pointer-events:none;will-change:transform,filter,opacity;z-index:0}
.b30s__ticks{position:absolute;left:0;top:0;width:73px;height:10px;display:flex;justify-content:space-between;pointer-events:none;z-index:6}
.b30s__ticks i{display:block;width:calc(var(--px,1) * 1px);height:10px;background:#000;opacity:0;transform:translateY(14px);
  transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .5s ease;transition-delay:calc(var(--k) * 70ms)}
.b30s__ticks.is-on i{opacity:.2;transform:none}
.b30s__ticks.is-on i.is-cur{opacity:1}
@media (max-width:899px){.b30s__ticks,.b30s .b30s__ghost{display:none}}
.b30s__fx{position:absolute;left:0;top:0;width:40px;height:40px;background:#fff;visibility:hidden;pointer-events:none;z-index:0;will-change:transform,opacity}
@media (max-width:899px){.b30s__fx{display:none}}
.b30s__gc{position:absolute;left:0;top:0;width:564px;height:564px;transform-style:preserve-3d;visibility:hidden;z-index:3;cursor:pointer;will-change:transform;outline:none}
.b30s__gc > .b30s__face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:box-shadow .4s}
.b30s__gb{transform:rotateY(180deg);padding:0;outline:1px solid rgba(0,0,0,.15);outline-offset:-1px}
.b30s__gb .n,.b30s__gb .t{position:absolute;left:68px;white-space:nowrap}
.b30s__gb .n{top:68px;font:400 34px/1.2 "Geist Mono",ui-monospace,Menlo,monospace;color:var(--midnight);opacity:.6}
.b30s__gb .t{bottom:62px;font-weight:400;font-size:70px;line-height:1.1;letter-spacing:-.02em;color:#000}
.b30s__gc:not(.is-open) > .b30s__face{filter:blur(1.1px)}
@media (max-width:899px){.b30s__gc{display:none}}
.b30s .b30s__box,.b30s .b30s__cam,.b30s .b30s__face{will-change:auto}
.b30s{--font-sans: "BDO Grotesk", "Helvetica Neue", Arial, sans-serif; --font-mono: "Geist Mono", ui-monospace, Menlo, monospace}
.b30s .demo-neighbour{height: 90vh; background: #1e1e1e; color: rgba(255,255,255,.5);
    display: grid; place-items: center; font: 14px/1.2 var(--font-mono); text-transform: uppercase;}
.b30s .demo-neighbour--after{background: #fff; color: rgba(13,20,50,.4); height: 60vh;}
.b30s{--b30-breeze: #B4E3F7; --b30-midnight: #0D1432;   
    --b30s-mid: #CBEBF9;          
    --b30s-mono: var(--font-mono);
    position: relative; font-family: var(--font-sans); color: #000;}
.b30s *,.b30s *::before,.b30s *::after{box-sizing: border-box;}
.b30s__band{position: absolute; left: 0; width: 100%; z-index: 4; pointer-events: none; display: block;}
.b30s__head{position: relative; overflow: visible;
    background: linear-gradient(180deg, var(--b30-breeze) 0%, var(--b30-breeze) 84.4%, var(--b30s-mid) 100%);}
.b30s__headworld{position: absolute; left: 0; top: 0; width: 1920px; height: 506px; transform-origin: 0 0;}
.b30s__title{position: absolute; left: 160px; top: 273px; width: 420px; margin: 0; font-weight: 400;
    font-size: 71px; line-height: 1.1; letter-spacing: -1.42px;}
.b30s__intro{position: absolute; left: 970px; top: 273px; width: 381px;}
.b30s__label{margin: 0; font: 400 14px/1.2 var(--b30s-mono); text-transform: uppercase; color: var(--b30-midnight); opacity: .6;}
.b30s__lede{margin: 153px 0 0; font-size: 18px; line-height: 1.2; letter-spacing: -.18px;}
.b30s__track{position: relative;}
.b30s__stage{position: sticky; top: 0; height: 100vh; height: 100svh;
    overflow-x: clip; overflow-y: visible; z-index: 2;
    background: linear-gradient(180deg, var(--b30s-mid) 0%, #fff 100%);}
.b30s__world{position: absolute; left: 0; top: 0; width: 1920px; transform-origin: 0 0;}
.b30s__abs{position: absolute; left: 0; top: 0; transform-origin: 0 0; will-change: transform;}
.b30s__tail{background: #fff;}
.b30s__hand{position: absolute; left: 0; top: 0; transform-origin: 0 0; pointer-events: none; user-select: none; will-change: transform;}
.b30s__handimg{display: block; width: 100%; height: 100%; pointer-events: none; user-select: none; will-change: transform;}
.b30s__handimg.robot{transform-origin: 0% 30%; animation: b30s-float-robot 7s ease-in-out -1.5s infinite;}
.b30s__hand > .b30s__handimg{position: relative;}
.b30s__hand > .b30s__handimg.robot{left: -14px;}
.b30s__hand > .b30s__handimg.human{left: 14px;}
.b30s__handimg.human{transform-origin: 100% 40%; animation: b30s-float-human 8.5s ease-in-out -4s infinite;}
@keyframes b30s-float-robot{
    0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
    30% { transform: translate3d(5px, -4px, 0) rotate(-0.45deg); }
    65% { transform: translate3d(-3px, 3px, 0) rotate(0.3deg); }
  }
@keyframes b30s-float-human{
    0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
    35% { transform: translate3d(-5px, 4px, 0) rotate(0.4deg); }
    70% { transform: translate3d(3px, -3px, 0) rotate(-0.3deg); }
  }
.b30s.is-offscreen .b30s__handimg{animation-play-state: paused;}
.b30s__deco i{position: absolute; display: block; width: 40px; height: 40px; background: #fff;}
.b30s__deco b{position: absolute; display: grid; place-items: center; width: 40px; height: 40px;
    border: 1.2px solid rgba(0,0,0,.15); font: 400 16.9px/1.2 var(--b30s-mono); color: var(--b30-midnight);}
.b30s__deco b span{opacity: .6;}
.b30s__deco b.sm{font-size: 14px;}
@media (prefers-reduced-motion: reduce){.b30s__deco i,.b30s__deco b,.b30s__handimg{animation: none !important;}}
.b30s__box{position: absolute; left: 0; top: 0; width: 564px; height: 564px; transform-origin: 50% 50%;
    perspective: 1100px; perspective-origin: 50% 50%; will-change: transform;}
.b30s__cam{position: absolute; inset: 0; transform-style: preserve-3d; transform-origin: 50% 50%; will-change: transform;}
.b30s__face{position: absolute; inset: 0; background: #fff; padding: 44px;
    display: flex; flex-direction: column; justify-content: space-between;
    backface-visibility: hidden; -webkit-backface-visibility: hidden; will-change: transform, opacity;}
.b30s__edge{position: absolute; inset: 0; pointer-events: none; opacity: 0; border: 1.25px solid rgba(0,0,0,.15);}
.b30s .svc__head{position: relative; padding-top: 21px;}
.b30s .svc__num{position: absolute; left: 7px; top: 0; margin: 0; font: 400 14px/1.2 var(--b30s-mono); color: var(--b30-midnight); opacity: .6;}
.b30s .svc__name{margin: 0; font-weight: 400; font-size: 50px; line-height: 1.2; letter-spacing: -1px; white-space: nowrap;}
.b30s .svc__desc{margin: 0 0 32px; font-size: 18px; line-height: 1.2; letter-spacing: -.18px; min-height: 43px; max-width: 463.5px;}
.b30s .svc__list{list-style: none; margin: 0; padding: 0;}
.b30s .svc__list li{position: relative; font: 400 14px/1.2 var(--b30s-mono); text-transform: uppercase; padding-bottom: 4px; margin-bottom: 4px;}
.b30s .svc__list li::after{content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: rgba(13,20,50,.18); transform-origin: 0 50%;}
.b30s__face.is-landed .svc__list li::after{animation: b30s-rule .7s cubic-bezier(.2, .7, .2, 1) calc(var(--i, 0) * 70ms) both;}
@keyframes b30s-rule{ from { transform: scaleX(0); } to { transform: scaleX(1); } }
.b30s__box.is-idle .b30s__cam{animation: b30s-spark 2.6s ease-in-out infinite;}
@keyframes b30s-spark{ 0%, 100% { transform: scale(1); } 50% { transform: scale(1.18); } }
@media (prefers-reduced-motion: reduce){.b30s__face.is-landed .svc__list li::after,.b30s__box.is-idle .b30s__cam{animation: none;}}
.b30s__mobile{display: none;}
@media (max-width: 899px){.b30s__head,.b30s__track,.b30s__tail{display: none;}}
@media (max-width: 899px){.b30s__mobile{display: block; position: relative; background: linear-gradient(180deg, var(--b30-breeze) 0%, #fff 70%);
      padding: calc(206 / 1920 * 100vw + 56px) 20px 64px;}}
@media (max-width: 899px){.b30s__mobile .b30s__band{top: calc(-206 / 1920 * 100vw) !important; height: calc(413 / 1920 * 100vw) !important;}}
@media (max-width: 899px){.b30s__mobile .b30s__title{position: static; width: auto; font-size: clamp(40px, 11vw, 56px);}}
@media (max-width: 899px){.b30s__mobile .b30s__intro{position: static; width: auto; margin-top: 24px;}}
@media (max-width: 899px){.b30s__mobile .b30s__lede{margin-top: 12px; max-width: 34ch;}}
@media (max-width: 899px){.b30s .m-scene{position: relative; margin: 32px -20px 24px; aspect-ratio: 1920 / 470; overflow: hidden;}}
@media (max-width: 899px){.b30s .m-cards{display: grid; gap: 16px;}}
@media (max-width: 899px){.b30s .m-cards .b30s__face{position: relative; inset: auto; aspect-ratio: 1; padding: 28px; border: 1px solid rgba(0,0,0,.15);}}
@media (max-width: 899px){.b30s .m-cards .svc__name{font-size: clamp(32px, 9vw, 44px); white-space: normal;}}
html.dark .b30s__ticks i{background:#F2F1EE}
html.dark .b30s__fx{background:#000}
html.dark .b30s__gb{outline:1px solid rgba(255,255,255,.08)}
html.dark .b30s__gb .t{color:#F2F1EE}
html.dark .b30s .demo-neighbour{background:#EDEDED;color:rgba(0,0,0,.5)}
html.dark .b30s .demo-neighbour--after{background:#000;color:rgba(228,232,255,.4)}
html.dark .b30s{--b30-breeze:#0F2638;--b30-midnight:#E4E8FF;--b30s-mid:#10283A;color:#F2F1EE}
html.dark .b30s__stage{background:linear-gradient(180deg, var(--b30s-mid) 0%, #000 100%)}
html.dark .b30s__tail{background:#000}
html.dark .b30s__deco i{background:#000}
html.dark .b30s__deco b{border:1.2px solid rgba(255,255,255,.2)}
html.dark .b30s__face{background:#000}
html.dark .b30s__edge{border:1.25px solid rgba(255,255,255,.2)}
html.dark .b30s .svc__list li::after{background:rgba(228,232,255,.18)}
@media (max-width: 899px){html.dark .b30s__mobile{background:linear-gradient(180deg, var(--b30-breeze) 0%, #000 70%)}}
@media (max-width: 899px){html.dark .b30s .m-cards .b30s__face{border:1px solid rgba(255,255,255,.12)}}
html.dark .b30s__handimg.human{filter:brightness(.84) saturate(.78) hue-rotate(-6deg)}
html.dark .b30s__ticks i{width:2px!important;height:14px;background:#fff;box-shadow:0 0 8px rgba(150,170,255,.55)}
html.dark .b30s{--b30-breeze:#0B112B;--b30s-mid:#0B112B;background:var(--night)!important}
html.dark .b30s__stage{background:linear-gradient(180deg,#0B112B 0%,#0a0f27 30%,rgba(8,12,32,.6) 60%,transparent 88%)}
html.dark .b30s__deco i,html.dark .b30s__fx{background:#F2F1EE}
html.dark .b30s__face{background:#F2F1EE}
html.dark .b30s__face,html.dark .b30s__face *{color:#0A0A0A!important}
html.dark .b30s__face [class*="label"],html.dark .b30s__face .n,html.dark .b30s__face .svc__num{color:rgba(10,10,10,.6)!important}
html.dark .b30s__mobile{background:linear-gradient(180deg,#0B112B 0%,rgba(11,17,43,.5) 50%,transparent 85%)}
#services.is-leaving:not(.is-tickout) .b30s__ticks.is-on i{transform:none!important;opacity:.35!important}
#services.is-leaving:not(.is-tickout) .b30s__ticks.is-on i.is-cur{opacity:1!important}
#services.is-tickout .b30s__ticks.is-on i{transform:scaleY(0)!important;opacity:0!important;transition:transform .35s ease calc(var(--k,0) * 90ms),opacity .35s ease calc(var(--k,0) * 90ms)!important}
html.dark .b30s__ticks i,html.dark .b30s__ticks i.is-cur{background:#F2F1EE!important}
html.dark .b30s__ticks.is-names > i.is-cur{color:#F2F1EE!important}
.b30s__ticks i{width:calc(var(--px,1) * 2px);height:12px}
.b30s__ticks.is-on i{opacity:.35}
.b30s .svc__go{position:absolute;right:0;top:0;height:24px;display:flex;align-items:center;padding:0 8px;box-sizing:border-box;border:1px solid rgba(0,0,0,.1);border-radius:8px;
  font:400 12px/1.2 var(--b30s-mono);text-transform:uppercase;color:rgba(0,0,0,.5);text-decoration:none;pointer-events:auto;z-index:2;transition:color .3s ease,border-color .3s ease}
.b30s .svc__go:hover,.b30s .svc__go:focus-visible{color:#000;border-color:rgba(0,0,0,.35)}
.b30s .svc__go:focus-visible{outline:2px solid #3457BA;outline-offset:3px}
.b30s .svc__list li::after{background:rgba(0,0,0,.1)}
.b30s__swz{position:absolute;left:0;top:0;width:140px;height:44px;z-index:7;pointer-events:none}
.b30s__swz.is-live{pointer-events:auto}
.b30s__sw{position:absolute;left:50%;top:50%;height:40px;padding:0 18px;transform:translate(-50%,-50%);box-sizing:border-box;display:flex;align-items:center;gap:14px;white-space:nowrap;
  border:1px solid rgba(0,0,0,.15);border-radius:12px;background:#fff;visibility:hidden;
  clip-path:inset(19px 48% 19px 48% round 2px);
  transition:clip-path .38s cubic-bezier(.65,0,.35,1),visibility 0s linear .38s}
.b30s__swz.is-open .b30s__sw{visibility:visible;clip-path:inset(0 0 0 0 round 12px);
  transition:clip-path .5s cubic-bezier(.65,0,.35,1) .16s,visibility 0s linear .16s}
.b30s__sw > i{flex:none;width:4px;height:4px;background:#000;opacity:.25}
.b30s__swi{all:unset;flex:none;font:400 10px/1 var(--b30s-mono);text-transform:uppercase;letter-spacing:.04em;color:rgba(0,0,0,.35);cursor:pointer;transition:color .25s ease}
.b30s__swi:hover,.b30s__swi.is-on{color:#000}
.b30s__swi:focus-visible{outline:2px solid #3457BA;outline-offset:4px}
.b30s__ticks.is-on i{transition:transform .22s cubic-bezier(.65,0,.35,1) .3s,opacity .3s ease}
.b30s__ticks.is-on.is-hid i{transform:scaleY(0);transition:transform .2s cubic-bezier(.65,0,.35,1)}
.b30s__ticks{transition:opacity .25s ease}
@media (max-width:899px){.b30s__swz{display:none}}
html.dark .b30s{--b30-breeze:#3457BA;--b30s-mid:#3457BA}
html.dark .b30s .b30-alt__ov{color:#F2F1EE!important}
html.dark .b30s__stage{background:linear-gradient(180deg,#3457BA 0%,#2c4797 26%,rgba(26,42,104,.65) 58%,transparent 90%)!important}
.b30s__cubeT{position:absolute;inset:0;transform-style:preserve-3d;transition:translate .9s cubic-bezier(.16,1,.3,1);pointer-events:none;visibility:hidden}
.b30s__cube{position:absolute;inset:0;transform-style:preserve-3d;--half:282px;transition:transform .95s cubic-bezier(.65,0,.35,1)}
.b30s__cside{position:absolute!important;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;opacity:1!important;visibility:visible!important;
  background:#fff!important;border:0!important;box-shadow:none!important;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
.b30s__cside{background:linear-gradient(180deg,rgba(255,255,255,1) 0%,rgba(255,255,255,0) 18%),radial-gradient(125% 105% at 50% 42%,#fff 60%,#eef6fc 100%)!important;box-shadow:none!important}
.b30s__cside.s1,.b30s__cside.s3{background:linear-gradient(180deg,rgba(255,255,255,1) 0%,rgba(255,255,255,0) 18%),radial-gradient(125% 105% at 50% 42%,#fafcfe 55%,#e8f1f9 100%)!important}
.b30s__cmark{display:none}
.b30s__cube .b30s__cside .svc__head,.b30s__cube .b30s__cside .svc__body{position:relative;z-index:1}
.b30s__cside .svc__go{pointer-events:auto}
#services .b30s__cubeT{visibility:visible}
#services.is-cube .b30s__cubeT{pointer-events:auto}
#services .b30s__face:not(.b30s__cside){visibility:hidden!important}
#services.is-cube .b30s__stage.is-nav{cursor:none}
.b30s__ticks.is-names{height:44px!important;display:block!important;position:absolute;pointer-events:auto;translate:0 26px;opacity:0;
  transition:opacity .6s ease,translate .9s cubic-bezier(.16,1,.3,1)}
.b30s__ticks.is-names.is-on{opacity:1;translate:0 0}
.b30s__pill{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.b30s__pill .b30s__pout{fill:none;stroke:rgba(0,0,0,.14);stroke-width:1}
.b30s__pill .b30s__pin{fill:#fff}
.b30s__pfill{display:none}
.b30s__ticks.is-names > i{position:absolute!important;top:0;height:44px!important;z-index:1;display:flex!important;align-items:center;justify-content:center;
  background:none!important;opacity:1!important;transform:none!important;font:400 12px/1.2 "Geist Mono",var(--b30s-mono,monospace);font-style:normal;text-transform:uppercase;
  color:rgba(0,0,0,.2);cursor:pointer;white-space:nowrap;transition:color .6s ease}
.b30s__ticks.is-names > i::before{display:none}
.b30s__ticks.is-names > i::after{content:attr(data-n)}
.b30s__ticks.is-names > i.is-cur{color:#000}
.b30s__ticks.is-names > i:hover{color:rgba(0,0,0,.6)}
.b30s__ticks.is-names > i:focus-visible{outline:2px solid #3457BA;outline-offset:-4px;border-radius:9px}
.b30s__stage{background:linear-gradient(180deg,var(--b30s-mid) 0%,color-mix(in srgb,var(--b30s-mid) 62%,#fff) 80%,#fff 100%)!important}
html.dark .b30s__pill .b30s__pout{stroke:rgba(255,255,255,.2)}
html.dark .b30s__pill .b30s__pin{fill:#F2F1EE;filter:drop-shadow(0 0 8px rgba(123,147,255,.45))}
html.dark .b30s__ticks.is-names > i{color:rgba(242,241,238,.3)!important;background:none!important;height:44px!important;box-shadow:none!important}
html.dark .b30s__ticks.is-names > i.is-cur{color:#000!important}
.b30s__ticks.is-names{opacity:0;transition:opacity .5s ease}
.b30s__ticks.is-names.is-on{opacity:1}
#services .b30s__cside > *{transition:opacity .6s ease .1s}
#services:not(.is-cube) .b30s__cside > *,#services:not(.is-cube) .b30s__cside *{opacity:0!important;transition:none}
#services .b30s__gc,#services .b30s__ghost,#services .b30s__fx{visibility:hidden!important}
.b30s__ticks.is-names{opacity:0!important;translate:0 34px!important;transition:opacity .5s ease,translate .9s cubic-bezier(.16,1,.3,1)!important}
#services.is-cube:not(.is-leaving) .b30s__ticks.is-names{opacity:1!important;translate:0 0!important;transition:opacity .7s ease .55s,translate 1s cubic-bezier(.16,1,.3,1) .55s!important}
#services.is-cube .b30s__stage.is-drag{cursor:grabbing}
#services.is-cube .b30s__stage{-webkit-user-select:none;user-select:none}
#services.is-leaving .b30s__ticks.is-on i{transform:scaleY(0)!important;opacity:0!important;transition:transform .35s ease calc(var(--k,0) * 90ms),opacity .35s ease calc(var(--k,0) * 90ms)!important}
.b30s__cglow{position:absolute;inset:0;transform:translateZ(-2px);pointer-events:none;opacity:0;transition:opacity .6s ease}
#services .b30s__box{filter:drop-shadow(0 0 100px rgba(176,233,253,.5))}
html.dark #services .b30s__box{filter:drop-shadow(0 0 14px rgba(185,195,255,.55)) drop-shadow(0 0 46px rgba(123,147,255,.3))}
.b30s__sw{width:564px;padding:0 26px;justify-content:space-between;border:0!important;height:44px}
.b30s__swi{font-size:13px}
.b30s__sw > i{width:5px;height:5px}
.b30s__swz{filter:drop-shadow(0 0 14px rgba(176,233,253,.45))}
html.dark .b30s__sw{background:#F2F1EE}
html.dark .b30s__swz{filter:drop-shadow(0 0 12px rgba(185,195,255,.32)) drop-shadow(0 0 30px rgba(123,147,255,.16))}
html:not(.dark) .b30s{--b30-breeze:#93D9F6;--b30s-mid:#B0E9FD}
html:not(.dark) .b30s .b30s__head{background:linear-gradient(180deg,#93D9F6 0%,#A2E1FA 45%,#B0E9FD 100%)!important}
html:not(.dark) .b30s__stage{background:linear-gradient(180deg,#B0E9FD 0%,#FFFFFF 100%)!important}
.b30sb{position:relative;display:flex;justify-content:space-between;align-items:flex-start;padding:calc(300*var(--u)) calc(168*var(--u)) calc(220*var(--u))}
.b30sb__l{width:calc(379*var(--u));display:flex;flex-direction:column;align-items:flex-start;gap:calc(62*var(--u))}
.b30sb__l p{margin:0;font-size:max(15px,calc(18*var(--u)));line-height:1.2;letter-spacing:-.01em}
.b30sb__h{margin:0;width:calc(560*var(--u));text-align:right;font-weight:400;font-size:max(28px,calc(50*var(--u)));line-height:1.2;letter-spacing:-.02em}
@media (max-width:899px){.b30sb{flex-direction:column-reverse;gap:32px;padding:72px 20px 96px}}
@media (max-width:899px){.b30sb__l,.b30sb__h{width:auto}}
@media (max-width:899px){.b30sb__h{text-align:left}}
@media (min-width:900px){.b30sb{padding-bottom:calc(164*var(--u))}}
.b30sb .b30btn .b30btn__ic{border:1px solid #000!important}
.b30sb .b30btn .b30btn__lbl{background:#000!important;color:#fff!important;border:1px solid #000!important}
html.dark .b30sb .b30btn .b30btn__ic{border-color:#F2F1EE!important}
html.dark .b30sb .b30btn .b30btn__lbl{background:#F2F1EE!important;color:#000!important;border-color:#F2F1EE!important}
.vision .demo-spacer{height:60vh;display:grid;place-items:center;font:400 15px/1.4 "BDO Grotesk",Helvetica,Arial,sans-serif;color:#0D1432;opacity:.5}
.vision{--vz-pad:96px;               
    position:relative;box-sizing:border-box;height:1000px;padding:0 var(--vz-pad);
    background:#fff;overflow:hidden;isolation:isolate;}
.vision.vz-live{cursor:none}
.vision .vz-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.vision .vz-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.vision .vz-cursor,.vision .vz-cursor-label{position:absolute;left:0;top:0;z-index:2;pointer-events:none;
    width:var(--vz-cs,120px);height:var(--vz-cs,120px);
    margin:calc(var(--vz-cs,120px) / -2) 0 0 calc(var(--vz-cs,120px) / -2);
    opacity:0;
    transition:opacity .18s ease;
    will-change:transform;}
.vision .vz-cursor{box-sizing:border-box;border-radius:50%;background:rgba(255,255,255,.2);border:1px solid rgba(0,0,0,.15)}
.vision .vz-cursor-label{display:grid;place-items:center;color:#000;
    font:400 clamp(11px,calc(var(--vz-cs,120px) * .11),14px)/1 "Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
    letter-spacing:.04em;}
.vision .vz-on{opacity:1}
@media (max-width:1279px){.vision{--vz-pad:64px}}
@media (max-width:1023px){.vision{height:auto;aspect-ratio:4/3;min-height:520px}}
@media (max-width:767px){.vision{--vz-pad:20px;aspect-ratio:auto;height:560px;min-height:0}}
html.dark .vision .demo-spacer{color:#E4E8FF}
html.dark .vision{background:#000}
html.dark .vision .vz-cursor{background:rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.2)}
html.dark .vision .vz-cursor-label{color:#F2F1EE}
html.dark .vision canvas{filter:drop-shadow(0 0 10px rgba(185,195,255,.32))}
section.vision.vision{height:calc(1600*var(--u))!important;padding:0!important;margin:0!important;background:#fff;overflow:hidden;cursor:auto!important;
  --vs-p:0;--vs-fs:calc(100*var(--u));--vs-top:calc(175*var(--u));--vs-ink:#000;--vs-rule:rgba(0,0,0,.15);--vs-paper:#fff;--vs-sky:#B0E9FD}
html.dark section.vision.vision{--vs-ink:#F2F1EE;--vs-rule:rgba(255,255,255,.18);--vs-paper:#000;--vs-sky:#16264f;background:var(--night,#000)!important}
.vision .vs-side{position:absolute;top:0;height:calc(1295*var(--u));width:1px;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,0),#000 50%,rgba(0,0,0,0));
  -webkit-mask:repeating-linear-gradient(180deg,#000 0 2px,transparent 2px 4px);mask:repeating-linear-gradient(180deg,#000 0 2px,transparent 2px 4px)}
html.dark .vision .vs-side{background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.6) 50%,rgba(255,255,255,0))}
.vision .vs-side.l{left:calc(164*var(--u))}
.vision .vs-side.r{left:calc(1755*var(--u))}
.vision .vs-panel{position:absolute;left:0;right:0;top:var(--vs-top);bottom:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,var(--vs-paper) 0%,var(--vs-paper) 50%,var(--vs-sky) 100%);
  clip-path:inset(0 calc(164*var(--u)*(1 - var(--vs-p))) 0 calc(165*var(--u)*(1 - var(--vs-p))));will-change:clip-path}
.vision .vs-copy{position:absolute;left:0;right:0;top:calc(252*var(--u));display:flex;justify-content:center}
.vision .vs-big{position:relative;z-index:1;margin:0;width:calc(890*var(--u));font:400 var(--vs-fs)/1.2 "BDO Grotesk","Helvetica Neue",Arial,sans-serif;
  letter-spacing:-.02em;text-align:center;color:var(--vs-ink);opacity:0;translate:0 calc(24*var(--u));transition:opacity .9s ease .15s,translate 1.1s cubic-bezier(.16,1,.3,1) .15s}
.vision.vz-in .vs-big{opacity:1;translate:0 0}
.vision .vs-copy::before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:repeating-linear-gradient(90deg,var(--vs-rule) 0 2px,transparent 2px 4px);
  -webkit-mask:repeating-linear-gradient(180deg,transparent 0 calc(var(--vs-fs) * 1.01),#000 calc(var(--vs-fs) * 1.01) calc(var(--vs-fs) * 1.01 + 1px),transparent calc(var(--vs-fs) * 1.01 + 1px) calc(var(--vs-fs) * 1.2));
          mask:repeating-linear-gradient(180deg,transparent 0 calc(var(--vs-fs) * 1.01),#000 calc(var(--vs-fs) * 1.01) calc(var(--vs-fs) * 1.01 + 1px),transparent calc(var(--vs-fs) * 1.01 + 1px) calc(var(--vs-fs) * 1.2))}
.vision .vs-dev{position:absolute;left:50%;top:calc(752*var(--u));width:calc(1068*var(--u));height:calc(765*var(--u));translate:-50% 0;--pad:calc(160*var(--u));--hh:calc(765*var(--u))}
.vision .vs-frame{position:absolute;inset:0;box-sizing:border-box;background:var(--vs-paper);border:calc(10*var(--u)) solid var(--vs-ink);border-radius:calc(32*var(--u)) calc(32*var(--u)) 0 0}
.vision .vs-bl{position:absolute;inset:calc(-1 * var(--pad));pointer-events:none;
  -webkit-mask:linear-gradient(180deg,transparent calc(var(--pad) + var(--hh) * var(--s0)),#000 calc(var(--pad) + var(--hh) * var(--s1)));
          mask:linear-gradient(180deg,transparent calc(var(--pad) + var(--hh) * var(--s0)),#000 calc(var(--pad) + var(--hh) * var(--s1)))}
.vision .vs-bl.b1{--s0:.347;--s1:.46;-webkit-backdrop-filter:blur(calc(4*var(--u)));backdrop-filter:blur(calc(4*var(--u)))}
.vision .vs-bl.b2{--s0:.42;--s1:.58;-webkit-backdrop-filter:blur(calc(10*var(--u)));backdrop-filter:blur(calc(10*var(--u)))}
.vision .vs-bl.b3{--s0:.52;--s1:.69;-webkit-backdrop-filter:blur(calc(22*var(--u)));backdrop-filter:blur(calc(22*var(--u)))}
.vision .vs-bl.b4{--s0:.63;--s1:.805;-webkit-backdrop-filter:blur(calc(46*var(--u)));backdrop-filter:blur(calc(46*var(--u)))}
.vision .vs-rule{position:absolute;height:1px;z-index:3;pointer-events:none;background:repeating-linear-gradient(90deg,var(--vs-rule) 0 2px,transparent 2px 4px);
  transform:scaleX(0);transform-origin:50% 50%;transition:transform 1.4s cubic-bezier(.65,0,.35,1)}
.vision .vs-rule.t{left:0;right:0;top:var(--vs-top)}
.vision .vs-rule.b{left:calc(12*var(--u));right:calc(13*var(--u));bottom:0}
.vision .vs-px{position:absolute;top:calc(172*var(--u));width:6px;height:6px;z-index:3;background:var(--vs-ink);pointer-events:none;
  opacity:0;transform:scale(0);transition:opacity .3s ease 1s,transform .55s cubic-bezier(.16,1,.3,1) 1s}
.vision .vs-px.l{left:calc(162*var(--u))}
.vision .vs-px.r{left:calc(1753*var(--u))}
.vision.vz-in .vs-rule{transform:none}
.vision.vz-in .vs-px{opacity:1;transform:none}
@media (max-width:899px){section.vision.vision{height:780px!important;--vs-top:56px;--vs-fs:clamp(36px,10vw,56px)}}
@media (max-width:899px){.vision .vs-side{height:100%}}
@media (max-width:899px){.vision .vs-side.l{left:16px}}
@media (max-width:899px){.vision .vs-side.r{left:auto;right:16px}}
@media (max-width:899px){.vision .vs-panel{clip-path:inset(0 calc(16px*(1 - var(--vs-p))) 0 calc(16px*(1 - var(--vs-p))))}}
@media (max-width:899px){.vision .vs-copy{top:56px}}
@media (max-width:899px){.vision .vs-big{width:88vw}}
@media (max-width:899px){.vision .vs-dev{top:330px;width:78vw;height:420px}}
@media (max-width:899px){.vision .vs-dev{--hh:420px;--pad:80px}}
@media (max-width:899px){.vision .vs-frame{border-width:6px;border-radius:20px 20px 0 0}}
@media (max-width:899px){.vision .vs-px{top:53px}}
@media (max-width:899px){.vision .vs-px.l{left:13px}}
@media (max-width:899px){.vision .vs-px.r{left:auto;right:13px}}
@media (max-width:899px){.vision .vs-rule.b{left:0;right:0}}
@media (prefers-reduced-motion:reduce){.vision .vs-big,.vision .vs-rule,.vision .vs-px{transition:none}}
.vision .vs-vl{position:absolute;top:0;bottom:0;width:1px;z-index:3;pointer-events:none;background:linear-gradient(180deg,transparent 0,var(--vs-rule) var(--vs-top));
  -webkit-mask:repeating-linear-gradient(180deg,#000 0 2px,transparent 2px 4px);mask:repeating-linear-gradient(180deg,#000 0 2px,transparent 2px 4px);
  opacity:0;transition:opacity 1.2s ease .3s}
.vision .vs-vl.l{left:calc(164*var(--u))}
.vision .vs-vl.r{left:calc(1755*var(--u))}
.vision.vz-in .vs-vl{opacity:1}
.vision .vs-px.b{top:auto;bottom:-3px}
.vision .vs-big{opacity:1!important;translate:none!important;transition:none!important}
.vision .vs-copy.is-split::before{display:none}
.vision .vs-big .vs-ln{display:block;white-space:nowrap}
.vision .vs-big .vs-ch{display:inline-block;white-space:pre;opacity:var(--o,1);translate:0 var(--y,0)}
.vision .vs-ul{position:absolute;left:0;right:0;height:1px;z-index:0;pointer-events:none;background:repeating-linear-gradient(90deg,var(--vs-rule) 0 2px,transparent 2px 4px);
  transform-origin:0 50%;transform:scaleX(var(--d,1))}
@media (max-width:899px){.vision .vs-vl.l{left:16px}}
@media (max-width:899px){.vision .vs-vl.r{left:auto;right:16px}}
@media (max-width:899px){.vision .vs-px.b.l{left:13px}}
@media (max-width:899px){.vision .vs-px.b.r{left:auto;right:13px}}
section.vision.vision{--vs-ct:calc(252*var(--u))}
.vision .vs-copy{top:var(--vs-ct)}
.vision .vs-rules{position:absolute;left:0;right:0;top:calc(var(--vs-top) + var(--vs-ct));z-index:2;pointer-events:none}
.vision .vs-ul{transform:none!important}
.vision .vs-rule,.vision.vz-in .vs-rule{transform:none!important;transition:none!important}
.vision .vs-vl,.vision.vz-in .vs-vl{opacity:1!important;transition:none!important}
.vision .vs-px,.vision.vz-in .vs-px{opacity:1!important;transform:none!important;transition:none!important}
.vision .vs-rule.b{bottom:3px}
.vision .vs-px.b{bottom:0}
.vision .vs-panel{bottom:3px;transition:clip-path 1.4s cubic-bezier(.65,0,.35,1)}
section.vision.vision,section.vision.vision.vs-open{--vs-p:1}
section.vision.vision .vs-panel{transition:none!important}
@media (max-width:899px){section.vision.vision{--vs-ct:56px}}
.vision .vs-dev{transform:translateY(var(--vs-dy,0px)) scale(var(--vs-ds,1));transform-origin:50% 100%;will-change:transform}
@media (prefers-reduced-motion:reduce){.vision .vs-panel{transition:none}}
section.vision.vision{overflow:visible!important;position:relative;z-index:2}
html.dark section.vision.vision{--vs-sky:#2A4596}
html.dark .vision .vs-panel{background:linear-gradient(180deg,rgba(13,20,50,0) 0%,rgba(13,20,50,.55) 38%,#1E3373 76%,#2A4596 100%)!important}
html.dark section.vision.vision{background:transparent!important}
html.dark .vision .vs-frame{background:transparent}
@media (min-width:900px){.vision{margin-top:0;height:calc(476px + 272*var(--u))}}
@media (min-width:900px){.vision{margin-bottom:calc(156*var(--u))}}
.vision{height:calc(1222*var(--u))!important;margin:0!important;--vz-pad:calc(164*var(--u))!important;padding:0 var(--vz-pad)!important;background:#fff}
.vision .vz-ln{position:absolute;left:0;right:0;height:1px;background:rgba(0,0,0,.15);pointer-events:none;transform:scaleX(0);transform-origin:50% 50%;transition:transform 1.4s cubic-bezier(.65,0,.35,1)}
.vision .vz-ln.t{top:14.65%}
.vision .vz-ln.b{top:85.35%}
.vision .vz-sq{position:absolute;width:6px;height:6px;background:#000;pointer-events:none;opacity:0;transform:scale(0);transition:opacity .3s ease 1s,transform .55s cubic-bezier(.16,1,.3,1) 1s}
.vision .vz-sq.t{top:calc(14.65% - 2.5px)}
.vision .vz-sq.b{top:calc(85.35% - 2.5px)}
.vision .vz-sq.l{left:calc(164*var(--u) - 2.5px)}
.vision .vz-sq.r{right:calc(164*var(--u) - 2.5px)}
.vision .vz-vl{position:absolute;top:0;bottom:0;width:1px;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,0) 0,rgba(0,0,0,.15) 14.65%,rgba(0,0,0,.15) 85.35%,rgba(0,0,0,0) 100%);opacity:0;transition:opacity 1.2s ease .3s}
.vision .vz-vl.l{left:calc(164*var(--u))}
.vision .vz-vl.r{right:calc(164*var(--u))}
.vision.vz-in .vz-ln{transform:none}
.vision.vz-in .vz-sq{opacity:1;transform:none}
.vision.vz-in .vz-vl{opacity:1}
html.dark .vision .vz-ln{background:rgba(255,255,255,.18)}
html.dark .vision .vz-sq{background:#F2F1EE}
html.dark .vision .vz-vl{background:linear-gradient(180deg,rgba(255,255,255,0) 0,rgba(255,255,255,.18) 14.65%,rgba(255,255,255,.18) 85.35%,rgba(255,255,255,0) 100%)}
@media (max-width:1023px){.vision{height:auto!important;aspect-ratio:4/3;min-height:560px}}
@media (max-width:767px){.vision{--vz-pad:20px!important;aspect-ratio:auto;height:620px!important}}
@media (max-width:767px){.vision .vz-sq.l{left:17px}}
@media (max-width:767px){.vision .vz-sq.r{right:17px}}
.vision{cursor:crosshair;touch-action:pan-y}
.vision .vz-sq,.vision .vz-ln,.vision .vz-vl{z-index:3}
.vision{cursor:auto!important}
.vz-scene{position:absolute;overflow:hidden;z-index:1;background:#0E0F1A;top:calc(14.65% + 1px);bottom:calc(14.65% + 1px);left:calc(164*var(--u) + 1px);right:calc(164*var(--u) + 1px)}
.vz-scene picture{position:absolute;inset:0;display:block}
.vz-scene img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;user-select:none;will-change:transform}
.vz-sky{transform-origin:50% 40%;animation:vz-breathe 18s ease-in-out infinite alternate}
@keyframes vz-breathe{from{scale:1}to{scale:1.035}}
@media (prefers-reduced-motion:reduce){.vz-sky{animation:none}}
.vz-cl.l{transform-origin:0% 100%}
.vz-cl.r{transform-origin:100% 100%}
.vz-say{position:absolute;left:0;right:0;top:50%;margin:0;transform-origin:50% 50%;translate:0 -58%;text-align:center;color:#fff;will-change:transform,opacity;
  font:400 calc(120*var(--u))/1.08 "BDO Grotesk","Helvetica Neue",Arial,sans-serif;letter-spacing:-0.02em}
@media (max-width:899px){.vz-say{font-size:44px}}
.vision .vz-vl{display:none!important}
.vision .vz-vl{display:block!important;transition:opacity .45s ease 0s!important}
@media (min-width:900px){section.vision.vision{height:calc(1846*var(--u))!important}}
@media (min-width:900px){section.vision.vision .vs-panel{background:linear-gradient(180deg,#fff 0%,#FAD7FF 50%,#fff 100%)!important;bottom:0!important}}
@media (min-width:900px){.vision .vs-bl{display:none!important}}
@media (min-width:900px){.vision .vs-dev{top:calc(719*var(--u))!important;width:calc(960*var(--u))!important;height:calc(640*var(--u))!important;--hh:calc(640*var(--u))!important}}
@media (min-width:900px){.vision .vs-frame{position:absolute;inset:0;box-sizing:border-box;background:#fff;border:calc(10*var(--u)) solid #000!important;border-radius:calc(26*var(--u))!important;
    box-shadow:0 0 calc(80*var(--u)) calc(10*var(--u)) rgba(255,255,255,.7)}}
@media (min-width:900px){html.dark section.vision.vision .vs-panel{background:linear-gradient(180deg,rgba(13,20,50,0) 0%,#1E3373 50%,rgba(13,20,50,0) 100%)!important}}
@media (min-width:900px){html.dark .vision .vs-frame{background:transparent!important;border-color:#F2F1EE!important;box-shadow:none}}
@media (min-width:900px){section.vision.vision{height:calc(2019*var(--u))!important}}
@media (min-width:900px){.vision .vs-dev{top:calc(892*var(--u))!important}}
@media (min-width:900px){.vision .vs-vl{-webkit-mask:linear-gradient(180deg,#000 0,#000 25%,transparent 50%);mask:linear-gradient(180deg,#000 0,#000 25%,transparent 50%)}}
@media (min-width:900px){.vision .vs-side{-webkit-mask:linear-gradient(180deg,#000 0,#000 25%,transparent 50%);mask:linear-gradient(180deg,#000 0,#000 25%,transparent 50%)}}
@media (min-width:900px){.vision .vs-vl{background:repeating-linear-gradient(180deg,var(--vs-rule) 0 2px,transparent 2px 4px)!important;
    -webkit-mask:linear-gradient(180deg,transparent 0,#000 var(--vs-top),#000 25%,transparent 50%)!important;mask:linear-gradient(180deg,transparent 0,#000 var(--vs-top),#000 25%,transparent 50%)!important}}
@media (min-width:900px){.vision .vs-side{display:none!important}}
@media (min-width:900px){section.vision.vision{height:calc(1878*var(--u))!important}}
@media (min-width:900px){section.vision.vision{height:calc(2142*var(--u))!important}}
@media (min-width:900px){.vision .vs-stone{position:absolute;left:calc(592*var(--u) - var(--sx,0px));top:calc(1581*var(--u) - var(--sy,0px));width:calc(736*var(--u));height:auto;z-index:2;pointer-events:none;user-select:none;
    image-rendering:pixelated;opacity:0;transform:translate3d(0,calc(24*var(--u)),0);transition:opacity 1s ease,transform 1.2s cubic-bezier(.16,1,.3,1)}}
@media (min-width:900px){.vision .vs-stone.is-in{opacity:1;transform:none}}
@media (min-width:900px){.vision .vs-dev{z-index:3}}
@media (min-width:900px){html.dark .vision .vs-stone{clip-path:inset(calc(132*var(--u)) 0 0 0)}}
@media (max-width:899px){.vision .vs-stone{display:none}}
@media (min-width:900px){.vision .vs-dev{width:calc(804*var(--u))!important;height:calc(540*var(--u))!important;--hh:calc(540*var(--u))!important}}
@media (min-width:900px){.vision .vs-stone{left:calc(472*var(--u) - var(--sx,0px))!important;top:calc(1618*var(--u) - var(--sy,0px))!important;width:calc(975*var(--u))!important;image-rendering:auto!important}}
@media (min-width:900px){html.dark .vision .vs-stone{clip-path:none!important}}
@media (min-width:900px){.vs-cloud{position:absolute;left:calc(0px - var(--sx,0px));top:calc(1350*var(--u) - var(--sy,0px));width:calc(1920*var(--u));height:calc(792*var(--u));pointer-events:none;display:block}}
@media (min-width:900px){.vs-cloud.back{z-index:1}}
@media (min-width:900px){.vs-cloud.front{z-index:4}}
@media (max-width:899px){.vs-cloud{display:none}}
@media (min-width:900px){.vs-rf{position:absolute;pointer-events:none}}
@media (min-width:900px){.vs-rf.h{left:calc(0px - var(--sx,0px));width:calc(1920*var(--u));height:1px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.15) 0 2px,transparent 2px 4px)}}
@media (min-width:900px){.vs-rf.v{width:1px;top:calc(1680*var(--u) - var(--sy,0px));height:calc(334*var(--u));background:repeating-linear-gradient(180deg,rgba(0,0,0,.15) 0 2px,transparent 2px 4px);z-index:1}}
@media (min-width:900px){.vs-rf.t{top:calc(1680*var(--u) - var(--sy,0px));z-index:1}}
@media (min-width:900px){.vs-rf.b{top:calc(2014*var(--u) - var(--sy,0px));z-index:5}}
@media (min-width:900px){.vs-rf.l{left:calc(468*var(--u) - var(--sx,0px))}}
@media (min-width:900px){.vs-rf.r{left:calc(1447*var(--u) - var(--sx,0px))}}
@media (min-width:900px){.vs-rf.px{width:6px;height:6px;margin:-2.5px 0 0 -2.5px;background:#000;z-index:5}}
@media (min-width:900px){html.dark .vs-rf.h{background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 2px,transparent 2px 4px)}}
@media (min-width:900px){html.dark .vs-rf.v{background:repeating-linear-gradient(180deg,rgba(255,255,255,.18) 0 2px,transparent 2px 4px)}}
@media (min-width:900px){html.dark .vs-rf.px{background:#F2F1EE}}
@media (min-width:900px){.vs-rockgl{position:absolute;pointer-events:none;z-index:2;opacity:0}}
@media (min-width:900px){.vs-rockgl.on{opacity:1}}
@media (min-width:900px){.vision .vs-stone.is-gl{opacity:0!important;transition:none!important}}
@media (min-width:900px){.vision .vs-stone{pointer-events:auto!important}}
@media (max-width:899px){.vs-rf,.vs-rockgl{display:none}}
@media (min-width:900px){.vs-rockfx{position:absolute;pointer-events:none;z-index:2;opacity:0}}
@media (min-width:900px){.vs-rockfx.on{opacity:1}}
@media (min-width:900px){.vision .vs-stone.is-fx{opacity:0!important;transition:none!important}}
@media (min-width:900px){.vision .vs-stone{image-rendering:pixelated}}
@media (max-width:899px){.vs-rockfx{display:none}}
.vision .vs-dev{transform:translateY(var(--vs-dy,0px)) scale(var(--vs-ds,1)) rotate(var(--vs-rot,0deg))!important}
@media (min-width:900px) and (prefers-reduced-motion:no-preference){.vision .vs-dev,.vision .vs-stone,.vs-rockfx{animation:vsFloat 6.5s ease-in-out infinite}}
.vision .vs-dev{translate:-50% calc(var(--bob-t,0px) + var(--vs-in,0px))!important}
.vision .vs-stone,.vision .vs-rockfx{translate:0 var(--bob-r,0px)}
.vision .vs-os{position:absolute;left:calc(10*var(--u));top:calc(10*var(--u));right:calc(10*var(--u));bottom:calc(10*var(--u));border-radius:calc(25*var(--u));overflow:hidden;background:#fff;z-index:2;pointer-events:auto;
  font-family:var(--mono,"Geist Mono",monospace);color:#000;-webkit-user-select:none;user-select:none}
.vs-scr{position:absolute;inset:0;opacity:0;visibility:hidden;transform:scale(.985);transition:opacity .28s ease,transform .38s cubic-bezier(.16,1,.3,1),visibility 0s linear .38s}
.vs-os[data-screen="home"] .s-home,.vs-os[data-screen="proc"] .s-proc,.vs-os[data-screen="img"] .s-img{opacity:1;visibility:visible;transform:none;transition:opacity .28s ease,transform .38s cubic-bezier(.16,1,.3,1),visibility 0s}
.vs-ic{all:unset;position:absolute;top:calc(46*var(--u));width:calc(80*var(--u));padding:calc(8*var(--u)) 0 calc(6*var(--u));display:flex;flex-direction:column;align-items:center;gap:calc(10*var(--u));cursor:pointer;border-radius:calc(6*var(--u));transition:background-color .2s ease}
.vs-ic svg{width:calc(34*var(--u));height:calc(34*var(--u));display:block;image-rendering:pixelated}
.vs-ic span{font:400 calc(11*var(--u))/1 var(--mono,"Geist Mono",monospace);letter-spacing:.06em;text-transform:uppercase;padding:calc(3*var(--u)) calc(4*var(--u));border-radius:calc(3*var(--u))}
.vs-ic:hover{background:rgba(52,87,186,.07)}
.vs-ic.sel span{background:#3457BA;color:#fff}
.vs-ic:focus-visible{outline:1px dashed #3457BA;outline-offset:2px}
.vs-back{all:unset;position:absolute;left:calc(18*var(--u));top:calc(7*var(--u));height:calc(22*var(--u));display:flex;align-items:center;gap:calc(6*var(--u));cursor:pointer;font:400 calc(12*var(--u))/1 var(--mono,"Geist Mono",monospace);letter-spacing:.06em;text-transform:uppercase}
.vs-back svg{width:calc(16*var(--u));height:calc(16*var(--u));transition:transform .25s cubic-bezier(.16,1,.3,1)}
.vs-back:hover svg{transform:translateX(calc(-3*var(--u)))}
.vs-rule{position:absolute;left:0;right:0;top:calc(35*var(--u));height:1px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.15) 0 2px,transparent 2px 4px)}
.s-proc .vs-ic{top:calc(46*var(--u))}
.vs-h{position:absolute;left:calc(50% - 3*var(--u));top:calc(64*var(--u));transform:translateX(-50%);margin:0;white-space:nowrap;font:700 calc(20*var(--u))/1.2 var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.02em}
.vs-cw{position:absolute;display:flex;align-items:center;justify-content:center}
.s-img .vs-cw:nth-of-type(2){z-index:1}
.s-img .vs-cw:nth-of-type(3){z-index:3}
.s-img .vs-cw:nth-of-type(4){z-index:2}
.s-img .vs-cw:nth-of-type(5){z-index:4}
.vs-card{flex:none;box-sizing:border-box;width:calc(330*var(--u));padding:calc(16*var(--u));display:flex;flex-direction:column;gap:calc(18*var(--u));font-family:var(--sans,"BDO Grotesk",sans-serif);color:#000}
.vs-card b{font:400 calc(24*var(--u))/1.2 var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.02em}
.vs-card span{font:400 calc(14*var(--u))/1.2 var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.02em}
.vs-x{all:unset;position:absolute;right:calc(28*var(--u));top:calc(26*var(--u));width:calc(20*var(--u));height:calc(20*var(--u));cursor:pointer;transition:transform .25s cubic-bezier(.16,1,.3,1)}
.vs-x svg{width:100%;height:100%;display:block}
.vs-x:hover{transform:rotate(90deg)}
.s-img .vs-card{opacity:0;translate:0 calc(10*var(--u));transition:opacity .4s ease,translate .5s cubic-bezier(.16,1,.3,1)}
.vs-os[data-screen="img"] .s-img .vs-card{opacity:1;translate:0 0}
.vs-os[data-screen="img"] .s-img .vs-cw:nth-of-type(2) .vs-card{transition-delay:.04s}
.vs-os[data-screen="img"] .s-img .vs-cw:nth-of-type(3) .vs-card{transition-delay:.08s}
.vs-os[data-screen="img"] .s-img .vs-cw:nth-of-type(4) .vs-card{transition-delay:.12s}
.vs-os[data-screen="img"] .s-img .vs-cw:nth-of-type(5) .vs-card{transition-delay:.16s}
html.dark .vision .vs-os{background:#fff}
.vs-ic:hover{background:none!important}
.vision .vs-os,.vision .vs-os *{cursor:url("data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20width%3D%2711%27%20height%3D%2717%27%20viewBox%3D%270%200%2011%2017%27%20shape-rendering%3D%27crispEdges%27%3E%3Crect%20x%3D%270%27%20y%3D%270%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%270%27%20y%3D%271%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%271%27%20y%3D%271%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%270%27%20y%3D%272%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%271%27%20y%3D%272%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%272%27%20y%3D%272%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%270%27%20y%3D%273%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%271%27%20y%3D%273%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%272%27%20y%3D%273%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%273%27%20y%3D%273%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%270%27%20y%3D%274%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%271%27%20y%3D%274%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%272%27%20y%3D%274%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%273%27%20y%3D%274%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%274%27%20y%3D%274%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%270%27%20y%3D%275%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%271%27%20y%3D%275%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%272%27%20y%3D%275%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%273%27%20y%3D%275%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%274%27%20y%3D%275%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%275%27%20y%3D%275%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%270%27%20y%3D%276%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%271%27%20y%3D%276%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%272%27%20y%3D%276%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%273%27%20y%3D%276%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%274%27%20y%3D%276%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%275%27%20y%3D%276%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%276%27%20y%3D%276%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%270%27%20y%3D%277%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%271%27%20y%3D%277%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%272%27%20y%3D%277%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%273%27%20y%3D%277%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%274%27%20y%3D%277%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%275%27%20y%3D%277%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%276%27%20y%3D%277%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%277%27%20y%3D%277%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%270%27%20y%3D%278%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%271%27%20y%3D%278%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%272%27%20y%3D%278%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%273%27%20y%3D%278%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%274%27%20y%3D%278%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%275%27%20y%3D%278%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%276%27%20y%3D%278%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%277%27%20y%3D%278%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%278%27%20y%3D%278%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%270%27%20y%3D%279%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%271%27%20y%3D%279%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%272%27%20y%3D%279%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%273%27%20y%3D%279%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%274%27%20y%3D%279%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%275%27%20y%3D%279%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%276%27%20y%3D%279%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%277%27%20y%3D%279%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%278%27%20y%3D%279%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%279%27%20y%3D%279%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%270%27%20y%3D%2710%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%271%27%20y%3D%2710%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%272%27%20y%3D%2710%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%273%27%20y%3D%2710%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%274%27%20y%3D%2710%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%275%27%20y%3D%2710%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%276%27%20y%3D%2710%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%277%27%20y%3D%2710%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%278%27%20y%3D%2710%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%279%27%20y%3D%2710%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%2710%27%20y%3D%2710%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%270%27%20y%3D%2711%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%271%27%20y%3D%2711%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%272%27%20y%3D%2711%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%273%27%20y%3D%2711%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%274%27%20y%3D%2711%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%275%27%20y%3D%2711%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%276%27%20y%3D%2711%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%270%27%20y%3D%2712%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%271%27%20y%3D%2712%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%272%27%20y%3D%2712%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%274%27%20y%3D%2712%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%275%27%20y%3D%2712%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%276%27%20y%3D%2712%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%277%27%20y%3D%2712%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%270%27%20y%3D%2713%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%271%27%20y%3D%2713%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%274%27%20y%3D%2713%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%275%27%20y%3D%2713%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%276%27%20y%3D%2713%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%277%27%20y%3D%2713%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%270%27%20y%3D%2714%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%275%27%20y%3D%2714%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%276%27%20y%3D%2714%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%277%27%20y%3D%2714%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%278%27%20y%3D%2714%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%275%27%20y%3D%2715%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%276%27%20y%3D%2715%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%277%27%20y%3D%2715%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23fff%27/%3E%3Crect%20x%3D%278%27%20y%3D%2715%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%276%27%20y%3D%2716%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3Crect%20x%3D%277%27%20y%3D%2716%27%20width%3D%271%27%20height%3D%271%27%20fill%3D%27%23000%27/%3E%3C/svg%3E") 0 0,default!important}
.vs-back:hover svg{transform:none!important}
.vs-x:hover{transform:none!important}
.vs-scr,.vs-os[data-screen] .vs-scr{transition:none!important;transform:none!important}
.s-img .vs-card,.vs-os[data-screen="img"] .s-img .vs-card{transition:none!important;opacity:1!important;translate:0 0!important}
.vision .vs-dev{--vs-in:calc(56*var(--u));transition:--vs-in 1.2s cubic-bezier(.16,1,.3,1)}
.vision .vs-dev.is-arrived{--vs-in:0px}
@media (prefers-reduced-motion:reduce){.vision .vs-dev{--vs-in:0px}}
@media (min-width:900px){section.vision.vision{margin-top:calc(-48*var(--u))!important}}
@media (min-width:900px){.vision .vs-dev{top:calc(844*var(--u))!important}}
@media (min-width:900px){.vision .vs-stone{top:calc(1570*var(--u) - var(--sy,0px))!important}}
@media (min-width:900px){.vs-rf.v{top:calc(1632*var(--u) - var(--sy,0px))!important}}
@media (min-width:900px){.vs-rf.t{top:calc(1632*var(--u) - var(--sy,0px))!important}}
@media (min-width:900px){.vs-rf.b{top:calc(1966*var(--u) - var(--sy,0px))!important}}
@media (min-width:900px){.vs-rf.px[style*="1680"]{margin-top:calc(-48*var(--u) - 2.5px)!important}}
@media (min-width:900px){.vs-rf.px[style*="2014"]{margin-top:calc(-48*var(--u) - 2.5px)!important}}
@media (min-width:900px){.vs-cloud{top:calc(1302*var(--u) - var(--sy,0px))!important}}
@media (min-width:900px){section.vision.vision{height:calc(2094*var(--u))!important}}
.vs-os[data-screen="bt"] .s-bt,.vs-os[data-screen="view"] .s-view{opacity:1;visibility:visible;transform:none}
.vs-pic{position:absolute;inset:0;margin:0;display:none;background:#fff}
.vs-pic.on{display:block}
.vs-pic img{width:100%;height:100%;object-fit:cover;display:block}
.vs-pic figcaption{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:400 calc(12*var(--u))/1 var(--mono,"Geist Mono",monospace);letter-spacing:.06em;text-transform:uppercase;color:rgba(13,20,50,.35)}
.vs-pic img:not([hidden]) + figcaption{display:none}
.vs-x2{z-index:2}
.vs-os[data-screen="view"] .vs-x2{opacity:0}
.vs-os[data-screen="view"].pic-after .vs-x2{opacity:1}
.vs-pic img{object-fit:cover;object-position:50% 50%}
.vs-ic[data-two] span{line-height:1.25;text-align:center}
@media (min-width:761px){.og{height:clamp(860px,112svh,calc(1240*var(--u)))!important}}
@media (min-width:761px){.og .og__title{top:calc(72*var(--u))}}
@media (min-width:761px){.og .og__switch{bottom:calc(72*var(--u));font-size:16px}}
.og[data-mode="global"] .chip[data-target="partner"]{order:-1;margin:0 3px 0 0}
.og[data-mode="global"] .loc .card{pointer-events:auto;cursor:default;transition:transform .5s var(--ease-out),border-color .4s,background-color .4s}
.og[data-mode="global"] .loc .card:hover{transform:translate3d(0,-3px,0);border-color:rgba(13,20,50,.4);background-color:#fff}
.og .loc .card .name{transition:letter-spacing .5s var(--ease-out)}
.og[data-mode="global"] .loc .card:hover .name{letter-spacing:.01em}
.og .og__title{pointer-events:auto}
.og{--black:#000; --midnight:#0D1432; --blue:#3457BA;
    --muted:rgba(13,20,50,.56); --hair:rgba(0,0,0,.15); --bg:#fff;
    --mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.og .spacer{height:60vh;display:grid;place-items:center;color:rgba(0,0,0,.28);font-size:14px;border-bottom:1px solid var(--hair)}
.og .spacer.after{border-bottom:0;border-top:1px solid var(--hair)}
.og{position:relative;overflow:hidden;background:var(--bg);height:clamp(760px,100svh,1080px);isolation:isolate;touch-action:pan-y;user-select:none;-webkit-user-select:none;
      --pad:clamp(20px,8.54vw,164px)}
.og__title{position:absolute;left:50%;top:clamp(48px,9.6%,96px);transform:translateX(-50%);margin:0;z-index:40;pointer-events:none;
      font-weight:400;font-size:clamp(32px,2.6vw,50px);line-height:1.2;letter-spacing:-.02em;white-space:nowrap;transition:opacity .4s;
      display:grid;justify-items:center}
.og__title .h{grid-area:1/1;opacity:0;transition:opacity .35s ease}
.og__title .h.on{opacity:1;transition:opacity .6s ease .3s}
.og__canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:5}
.og__canvas.grab{cursor:grab}
.og__canvas.dragging{cursor:grabbing}
.og__canvas.pointing{cursor:pointer}
.og__switch{position:absolute;left:50%;bottom:clamp(28px,9.6%,96px);transform:translateX(-50%);z-index:30;
      display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:18px;line-height:1.2;letter-spacing:-.01em}
.og__switch .sep{color:var(--black)}
.og .chip{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:24px;padding:0 8px;margin-left:3px;
      border:1px solid rgba(0,0,0,.15);border-radius:8px;background:none;cursor:pointer;overflow:hidden;
      font-family:var(--mono);font-size:10px;line-height:1.2;text-transform:uppercase;color:rgba(0,0,0,.5);letter-spacing:0;
      max-width:60px;opacity:1;
      transition:max-width .45s cubic-bezier(.22,1,.36,1),padding .45s cubic-bezier(.22,1,.36,1),margin .45s cubic-bezier(.22,1,.36,1),border-color .3s,opacity .3s ease .12s,color .25s}
.og .chip:hover{color:#000;border-color:rgba(0,0,0,.3)}
.og[data-mode="partner"] .chip[data-target="partner"],.og[data-mode="global"] .chip[data-target="global"]{max-width:0;padding:0;margin-left:-5px;border-width:0;opacity:0;pointer-events:none;
      transition:max-width .45s cubic-bezier(.22,1,.36,1),padding .45s cubic-bezier(.22,1,.36,1),margin .45s cubic-bezier(.22,1,.36,1),border-color .2s,opacity .15s}
.og .tab{margin:0;padding:0;border:0;background:none;font:inherit;letter-spacing:inherit;cursor:pointer;white-space:nowrap;
      color:rgba(0,0,0,.2);transition:color .4s ease}
.og .tab[aria-checked="true"]{color:var(--black);cursor:default}
.og .tab[aria-checked="false"]:hover{color:rgba(0,0,0,.5)}
.og .tab:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.og .locs{position:absolute;inset:0;z-index:20;pointer-events:none}
.og .loc{position:absolute;left:0;top:0;opacity:0;pointer-events:none;will-change:transform,opacity}
.og .loc .card{display:flex;align-items:baseline;gap:10px;padding:8px 12px 8px 11px;border-radius:12px;white-space:nowrap;border:1px solid rgba(0,0,0,.15);
      background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);
      box-shadow:0 10px 28px -18px rgba(13,20,50,.35);color:var(--midnight)}
.og .loc .name{font-size:13px;line-height:1.2;letter-spacing:-.01em}
.og .loc .time{font-family:var(--mono);font-size:11px;line-height:1.2;color:var(--muted);letter-spacing:.02em}
.og .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.og .sr:focus{width:auto;height:auto;clip:auto;left:16px;top:16px;z-index:60;background:#fff;padding:6px 8px;outline:2px solid var(--blue)}
@media (max-width:760px){.og{height:clamp(700px,100svh,860px);--pad:18px}}
@media (max-width:760px){.og__title{white-space:normal;width:90vw;text-align:center;font-size:30px}}
@media (max-width:760px){.og__switch{font-size:16px}}
@media (max-width:760px){.og .chip{height:22px}}
html.dark .og[data-mode="global"] .loc .card:hover{border-color:rgba(228,232,255,.4);background-color:#000}
html.dark .og{--black:#F2F1EE;--midnight:#E4E8FF;--blue:#7B93FF;--muted:rgba(228,232,255,.56);--hair:rgba(228,232,255,.12);--bg:#000}
html.dark .og .spacer{color:rgba(255,255,255,.28)}
html.dark .og__switch .sep{color:var(--black)}
html.dark .og .chip{border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.5)}
html.dark .og .chip:hover{color:#F2F1EE;border-color:rgba(255,255,255,.3)}
html.dark .og .tab{color:rgba(255,255,255,.2)}
html.dark .og .tab[aria-checked="true"]{color:var(--black)}
html.dark .og .tab[aria-checked="false"]:hover{color:rgba(255,255,255,.5)}
html.dark .og .loc .card{border:1px solid rgba(228,232,255,.12);background:rgba(0,0,0,.9)}
html.dark .og .sr:focus{background:#000}
html.dark .og__seg{border:1px solid rgba(228,232,255,.14);background:#000}
html.dark .og__seg button{color:rgba(228,232,255,.55)}
html.dark .og__seg button[aria-pressed="true"]{color:#000}
html.dark .og__seg button[aria-pressed="false"]:hover{color:#F2F1EE}
html.dark .og__seg button:focus-visible{outline:2px solid #7B93FF}
html.dark .og__knob{background:#F2F1EE}
html.dark .og .loc .card{background:rgba(18,18,22,.86);border-color:rgba(255,255,255,.24);box-shadow:0 12px 30px -16px rgba(123,147,255,.45)}
html.dark .og .loc .name{color:#F2F1EE}
html.dark .og .loc .time{color:rgba(242,241,238,.6)}
@media (min-width:900px){html .b30-main > section.vision + section.pg,html section.vision + section.pg{margin-top:0!important}}
.pg-vx{position:absolute;top:100%;width:1px;height:calc(210*var(--u));z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,0));
  -webkit-mask:repeating-linear-gradient(180deg,#000 0 2px,transparent 2px 4px);mask:repeating-linear-gradient(180deg,#000 0 2px,transparent 2px 4px)}
.pg-vx.l{left:calc(164*var(--u))}
.pg-vx.r{left:calc(1755*var(--u))}
html.dark .pg-vx{background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0))}
@media (max-width:899px){.pg-vx{height:80px}}
@media (max-width:899px){.pg-vx.l{left:16px}}
@media (max-width:899px){.pg-vx.r{left:auto;right:16px}}
@media (min-width:900px){html .b30-main > section.pg,html section.pg{padding-top:calc(224*var(--u))!important}}
@media (max-width:899px){html .b30-main > section.pg,html section.pg{padding-top:96px!important}}
html.dark .pg__t[data-n="Framer"] svg path,html.dark .pg__t[data-n="Klaviyo"] svg path,html.dark .pg__t[data-n="Vercel"] svg path,html.dark .pg__t[data-n="AWS"] svg path{fill:#F2F1EE}
.pg .pg__x{position:absolute;width:3px;height:3px;margin:-1px 0 0 -1px;background:rgba(13,20,50,.35);pointer-events:none;z-index:1;
  opacity:0;transform:scale(0);transition:opacity .3s ease calc(.9s + var(--k,0) * 30ms),transform .45s cubic-bezier(.16,1,.3,1) calc(.9s + var(--k,0) * 30ms)}
.pg.is-drawn .pg__x{opacity:1;transform:none}
.pg[data-mode="global"] .pg__x{opacity:0;transition:opacity .3s ease}
html.dark .pg .pg__x{background:rgba(242,241,238,.35)}
.pg .pg__cell{box-sizing:border-box;padding:1px 0 0 1px;background-clip:content-box;transition:background-color .35s ease}
.pg .pg__cell.is-hot,html.dark .pg .pg__cell.is-hot{background-color:var(--cc,#3457BA)!important}
.pg .pg__t.is-hot svg path,html.dark .pg .pg__t.is-hot svg path{fill:#fff!important;transition:fill .3s ease}
.pg .pg__t.is-hot .pg__name,html.dark .pg .pg__t.is-hot .pg__name{color:#fff!important}
.pg .pg__t .pg__name{z-index:2}
.pg .pg__cell::before{content:"";position:absolute;inset:-2px -3px -3px -2px;pointer-events:none;opacity:0;transition:opacity .25s ease;z-index:3;
  background:linear-gradient(#0D1432,#0D1432) 0 0/5px 5px no-repeat,linear-gradient(#0D1432,#0D1432) 100% 0/5px 5px no-repeat,
             linear-gradient(#0D1432,#0D1432) 0 100%/5px 5px no-repeat,linear-gradient(#0D1432,#0D1432) 100% 100%/5px 5px no-repeat}
html.dark .pg .pg__cell::before{background:linear-gradient(#F2F1EE,#F2F1EE) 0 0/5px 5px no-repeat,linear-gradient(#F2F1EE,#F2F1EE) 100% 0/5px 5px no-repeat,
             linear-gradient(#F2F1EE,#F2F1EE) 0 100%/5px 5px no-repeat,linear-gradient(#F2F1EE,#F2F1EE) 100% 100%/5px 5px no-repeat}
.pg .pg__cell.is-hot::before{opacity:1}
.pg .pg__no{position:absolute;left:calc(14*var(--u));top:calc(12*var(--u));font:400 calc(11*var(--u))/1 "Geist Mono",ui-monospace,monospace;letter-spacing:.02em;color:rgba(13,20,50,.28);
  pointer-events:none;opacity:0;transition:opacity .4s ease calc(1.1s + var(--k,0) * 40ms),color .3s ease}
.pg.is-drawn .pg__no{opacity:1}
.pg .pg__cell.is-hot .pg__no,html.dark .pg .pg__cell.is-hot .pg__no{color:rgba(255,255,255,.8)}
html.dark .pg .pg__no{color:rgba(242,241,238,.3)}
@media (max-width:899px){.pg .pg__no{display:none}}
.pg.pg--orbit .pg__lines,.pg.pg--orbit .pg__cell,.pg.pg--orbit .pg__lit,.pg.pg--orbit .pg__run,.pg.pg--orbit .pg__gl,.pg.pg--orbit .pg__x,.pg.pg--orbit .pg__no{display:none!important}
.pg.pg--orbit .pg__t{transition:opacity .5s ease}
.pg.pg--orbit .pg__t svg path{fill:rgba(13,20,50,.62)!important;transition:fill .35s ease}
html.dark .pg.pg--orbit .pg__t svg path{fill:rgba(242,241,238,.66)!important}
html .pg.pg--orbit .pg__t.is-hot svg path{fill:var(--c)!important}
html.dark .pg.pg--orbit .pg__t.is-hot[data-n="Framer"] svg path,html.dark .pg.pg--orbit .pg__t.is-hot[data-n="Klaviyo"] svg path,
html.dark .pg.pg--orbit .pg__t.is-hot[data-n="Vercel"] svg path,html.dark .pg.pg--orbit .pg__t.is-hot[data-n="AWS"] svg path{fill:#F2F1EE!important}
html .pg.pg--orbit .pg__t.is-hot .pg__name{color:var(--midnight,#0D1432)!important}
html.dark .pg.pg--orbit .pg__t.is-hot .pg__name{color:#F2F1EE!important}
.pg.pg--orbit .pg__t .pg__name{bottom:calc(-30 * var(--u))}
.pg__ring{position:absolute;pointer-events:none;z-index:0;overflow:visible;opacity:0;transition:opacity .8s ease .2s}
.pg.is-drawn .pg__ring{opacity:1}
.pg__ring circle{fill:none;stroke:rgba(0,0,0,.15);stroke-width:1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}
html.dark .pg__ring circle{stroke:rgba(255,255,255,.18)}
.pg__ring .pg__ringpx{position:absolute;width:5px;height:5px;margin:-2px 0 0 -2px;background:#0D1432}
html.dark .pg__ring .pg__ringpx{background:#F2F1EE}
.pg.pg--free .pg__lines,.pg.pg--free .pg__cell,.pg.pg--free .pg__lit,.pg.pg--free .pg__run,.pg.pg--free .pg__gl,.pg.pg--free .pg__x,.pg.pg--free .pg__no{display:none!important}
.pg.pg--free[data-mode="partner"] .pg__t{pointer-events:auto;cursor:grab;touch-action:none;z-index:2}
.pg.pg--free .pg__t.is-drag{cursor:grabbing;z-index:5}
html .pg.pg--free .pg__t .pg__mk,html .pg.pg--free:not(.is-drawn) .pg__mk,html .pg.pg--free.is-settled .pg__mk{opacity:1;
  transform:translate3d(0,calc(var(--ey,0px) + var(--hy,0px)),0) scale(calc(var(--es,1) * var(--hs,1))) rotate(var(--er,0deg))!important;
  transition:transform 1s cubic-bezier(.16,1,.3,1) var(--ed,0ms)!important}
.pg.pg--free .pg__t.is-hot .pg__mk{--hy:calc(-10 * var(--u));--hs:1.08;transition-delay:0ms!important;transition-duration:.35s!important}
.pg.pg--free .pg__t.is-drag .pg__mk{--hs:1.12;transition-delay:0ms!important;transition-duration:.25s!important}
html .pg.pg--free .pg__t.is-hot svg path{fill:var(--c)!important}
html.dark .pg.pg--free .pg__t.is-hot[data-n="Framer"] svg path,html.dark .pg.pg--free .pg__t.is-hot[data-n="Klaviyo"] svg path,
html.dark .pg.pg--free .pg__t.is-hot[data-n="Vercel"] svg path,html.dark .pg.pg--free .pg__t.is-hot[data-n="AWS"] svg path{fill:#F2F1EE!important}
html .pg.pg--free .pg__t .pg__name{top:auto!important;bottom:calc(-8 * var(--u))!important;padding:calc(4*var(--u)) calc(8*var(--u));background:#0D1432;color:#fff!important;
  border-radius:calc(4*var(--u));z-index:3;opacity:0;transform:translate(-50%,6px)!important;transition:opacity .25s ease,transform .35s cubic-bezier(.16,1,.3,1)!important}
html.dark .pg.pg--free .pg__t .pg__name{background:#F2F1EE;color:#0D1432!important}
html .pg.pg--free .pg__t.is-hot .pg__name{opacity:1;transform:translate(-50%,0)!important}
.pg.pg--free .pg__t.is-drag .pg__name{opacity:0!important}
html .pg.pg--free .pg__mk{inset:calc(-10 * var(--u))!important;background:var(--c);display:grid;place-items:center}
html .pg.pg--free .pg__mk svg{width:58%;height:58%}
html .pg.pg--free .pg__t svg path,html .pg.pg--free .pg__t.is-hot svg path,html.dark .pg.pg--free .pg__t svg path,
html.dark .pg.pg--free .pg__t.is-hot svg path,html.dark .pg.pg--free .pg__t[data-n] svg path{fill:var(--ink,#fff)!important}
html .pg.pg--free .pg__t .pg__name{bottom:calc(-18 * var(--u))!important}
html.dark .pg.pg--free .pg__mk{box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.pg.pg--net .pg__lines,.pg.pg--net .pg__cell,.pg.pg--net .pg__lit,.pg.pg--net .pg__run,.pg.pg--net .pg__gl,.pg.pg--net .pg__x,.pg.pg--net .pg__no{display:none!important}
.pg.pg--net .pg__t{transition:opacity .45s ease}
.pg.pg--net .pg__t svg path{fill:rgba(13,20,50,.72)!important;transition:fill .35s ease}
html.dark .pg.pg--net .pg__t svg path{fill:rgba(242,241,238,.74)!important}
html .pg.pg--net .pg__t.is-hot svg path{fill:var(--c)!important}
html.dark .pg.pg--net .pg__t.is-hot[data-n="Framer"] svg path,html.dark .pg.pg--net .pg__t.is-hot[data-n="Klaviyo"] svg path,
html.dark .pg.pg--net .pg__t.is-hot[data-n="Vercel"] svg path,html.dark .pg.pg--net .pg__t.is-hot[data-n="AWS"] svg path{fill:#F2F1EE!important}
.pg.pg--net.is-focus[data-mode="partner"] .pg__t:not(.is-hot):not(.is-near){opacity:.28}
html .pg.pg--net .pg__mk,html .pg.pg--net:not(.is-drawn) .pg__mk,html .pg.pg--net.is-settled .pg__mk{transform:translate3d(0,calc(var(--ey,0px) + var(--hy,0px)),0) scale(var(--es,1))!important;opacity:var(--eo,1)!important;
  transition:transform .9s cubic-bezier(.16,1,.3,1) var(--ed,0ms),opacity .6s ease var(--ed,0ms)!important}
.pg.pg--net .pg__t.is-near .pg__mk{--hy:calc(-4 * var(--u))}
.pg.pg--net .pg__t.is-hot .pg__mk{--hy:calc(-8 * var(--u));--es:1.12}
.pg.pg--net .pg__t.is-hot .pg__mk,.pg.pg--net .pg__t.is-near .pg__mk{transition-delay:0ms!important;transition-duration:.4s!important}
html .pg.pg--net .pg__t.is-hot .pg__name{color:var(--midnight,#0D1432)!important}
html.dark .pg.pg--net .pg__t.is-hot .pg__name{color:#F2F1EE!important}
.pg__net{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0;transition:opacity .5s ease}
.pg[data-mode="global"] .pg__net{opacity:0}
.pg__net line{stroke:rgba(13,20,50,.2);stroke-width:1;stroke-dasharray:2 3;vector-effect:non-scaling-stroke;transition:stroke .3s ease,opacity .3s ease}
html.dark .pg__net line{stroke:rgba(242,241,238,.22)}
.pg__net line.on{stroke:rgba(13,20,50,.6);stroke-dasharray:none}
html.dark .pg__net line.on{stroke:rgba(242,241,238,.7)}
.pg.pg--net.is-focus .pg__net line:not(.on){opacity:.35}
.pg__net circle{fill:#0D1432}
html.dark .pg__net circle{fill:#F2F1EE}
.pg.pg--mark .pg__lines,.pg.pg--mark .pg__cell,.pg.pg--mark .pg__lit,.pg.pg--mark .pg__run,.pg.pg--mark .pg__gl,.pg.pg--mark .pg__x,.pg.pg--mark .pg__no{display:none!important}
.pg.pg--mark .pg__t{width:var(--cs)!important;height:var(--cs)!important;margin:0!important}
html .pg.pg--mark .pg__mk,html .pg.pg--mark:not(.is-drawn) .pg__mk,html .pg.pg--mark.is-settled .pg__mk{inset:0!important;background:var(--c);display:grid;place-items:center;opacity:1;
  transform:translate3d(0,calc(var(--ey,0px) + var(--hy,0px)),0) scale(calc(var(--es,1) * var(--hs,1))) rotate(var(--er,0deg))!important;
  transition:transform 1s cubic-bezier(.16,1,.3,1) var(--ed,0ms)!important}
html .pg.pg--mark .pg__mk svg{width:52%;height:52%}
html .pg.pg--mark .pg__t svg path,html .pg.pg--mark .pg__t.is-hot svg path,html.dark .pg.pg--mark .pg__t svg path,html.dark .pg.pg--mark .pg__t.is-hot svg path,html.dark .pg.pg--mark .pg__t[data-n] svg path{fill:var(--ink,#fff)!important}
html.dark .pg.pg--mark .pg__mk{background:var(--c)!important;box-shadow:0 0 0 1px rgba(255,255,255,.08)!important}
.pg.pg--mark .pg__t.is-hot .pg__mk{--hy:calc(-12 * var(--u));--hs:1.06;transition-delay:0ms!important;transition-duration:.35s!important;box-shadow:0 calc(14*var(--u)) calc(28*var(--u)) calc(-12*var(--u)) rgba(13,20,50,.35)}
.pg.pg--mark .pg__t.is-hot{z-index:4}
html .pg.pg--mark .pg__t .pg__name{top:auto!important;bottom:calc(8 * var(--u))!important;color:var(--ink,#fff)!important;font-size:calc(10*var(--u));opacity:0;transform:translate(-50%,4px)!important;
  transition:opacity .25s ease,transform .35s cubic-bezier(.16,1,.3,1)!important;z-index:3;background:none}
html .pg.pg--mark .pg__t.is-hot .pg__name{opacity:.9;transform:translate(-50%,calc(-12 * var(--u)))!important}
.pg__slot{position:absolute;box-sizing:border-box;pointer-events:none;
  background:linear-gradient(90deg,var(--sl) 50%,transparent 0) 0 0/4px 1px repeat-x,linear-gradient(90deg,var(--sl) 50%,transparent 0) 0 100%/4px 1px repeat-x,
             linear-gradient(0deg,var(--sl) 50%,transparent 0) 0 0/1px 4px repeat-y,linear-gradient(0deg,var(--sl) 50%,transparent 0) 100% 0/1px 4px repeat-y;
  --sl:rgba(13,20,50,.3);opacity:0;transition:opacity .6s ease var(--ed,0ms)}
html.dark .pg__slot{--sl:rgba(242,241,238,.32)}
.pg.pg--mark.is-up .pg__slot{opacity:1}
.pg[data-mode="global"] .pg__slot{opacity:0!important;transition-delay:0ms}
.pg.pg--mark .pg__mk{transition:transform .95s cubic-bezier(.22,1.3,.36,1) var(--ed,0ms)!important}
.pg__base{position:absolute;height:1px;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(13,20,50,.3) 0 2px,transparent 2px 4px);opacity:0;transition:opacity .6s ease .1s}
html.dark .pg__base{background:repeating-linear-gradient(90deg,rgba(242,241,238,.3) 0 2px,transparent 2px 4px)}
.pg__base i{position:absolute;top:-2.5px;width:6px;height:6px;background:#0D1432}
html.dark .pg__base i{background:#F2F1EE}
.pg__base i:first-child{left:-3px}
.pg__base i:last-child{right:-3px}
.pg.is-up .pg__base{opacity:1}
.pg[data-mode="global"] .pg__base{opacity:0!important}
.pg.pg--mark .pg__t .pg__mk::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.45) 50%,transparent 65%);
  background-size:300% 100%;background-position:var(--gx,150%) 0;opacity:var(--gl,0)}
html body section.pg.pg--horizon,html body .b30-main > section.pg.pg--horizon{height:calc(1000*var(--u))!important;padding:calc(150*var(--u)) 0 0!important;
  display:block!important;position:relative;overflow:hidden!important;--mf:66%;transition:--mf 1.6s cubic-bezier(.65,0,.35,1)}
html body section.pg.pg--horizon[data-mode="global"]{--mf:76%}
html body .pg.pg--horizon .pg__head{margin:0 auto!important;position:relative!important;z-index:6}
html body .pg.pg--horizon .pg__stage{position:absolute!important;left:0!important;top:0!important;right:0!important;width:100%!important;height:100%!important;margin:0!important;overflow:hidden!important}
html body .pg.pg--horizon .pg__globe,html body .pg.pg--horizon[data-mode="global"] .pg__globe{opacity:1!important;transform:none!important;transition:none!important;
  -webkit-mask:linear-gradient(180deg,#000 var(--mf),transparent calc(var(--mf) + 32%));mask:linear-gradient(180deg,#000 var(--mf),transparent calc(var(--mf) + 32%))}
html body .pg.pg--horizon[data-mode="partner"] .pg__globe{pointer-events:none!important}
html body .pg.pg--horizon[data-mode="partner"] .og .locs{opacity:0!important;transition:opacity .4s ease}
html body .pg.pg--horizon .og .locs{transition:opacity .6s ease .9s}
.pg.pg--horizon .pg__t{z-index:4}
.pg.pg--horizon[data-mode="partner"] .pg__t{pointer-events:auto;cursor:default}
.pg.pg--horizon .pg__t:not(.is-hot) .pg__mk{transition-duration:.6s!important}
.pg.pg--horizon .pg__eye{opacity:1!important;transform:none!important}
html body .pg.pg--horizon .pg__t .pg__mk{background:#fff!important;border:1px solid rgba(13,20,50,.12);border-radius:calc(16*var(--u));box-shadow:0 calc(10*var(--u)) calc(24*var(--u)) calc(-14*var(--u)) rgba(13,20,50,.22)!important}
html.dark body .pg.pg--horizon .pg__t .pg__mk,html.dark .pg.pg--horizon .pg__t .pg__mk{background:rgba(10,15,42,.85)!important;border-color:rgba(242,241,238,.16);box-shadow:none!important}
html body .pg.pg--horizon .pg__t svg path,html body .pg.pg--horizon .pg__t.is-hot svg path{fill:var(--c)!important}
html.dark body .pg.pg--horizon .pg__t[data-n] svg path{fill:var(--c)!important}
html.dark body .pg.pg--horizon .pg__t[data-n="Framer"] svg path,html.dark body .pg.pg--horizon .pg__t[data-n="Klaviyo"] svg path,
html.dark body .pg.pg--horizon .pg__t[data-n="Vercel"] svg path,html.dark body .pg.pg--horizon .pg__t[data-n="AWS"] svg path{fill:#F2F1EE!important}
html body .pg.pg--horizon .pg__mk svg{width:54%;height:54%}
html body .pg.pg--horizon .pg__t .pg__name{bottom:calc(-26 * var(--u))!important;color:var(--midnight,#0D1432)!important;font-size:calc(11*var(--u));opacity:0;transform:translate(-50%,-4px)!important}
html.dark body .pg.pg--horizon .pg__t .pg__name{color:#F2F1EE!important}
html body .pg.pg--horizon .pg__t.is-hot .pg__name,html body .pg.pg--horizon .pg__t.is-spot:not(.is-dim) .pg__name{opacity:.85;transform:translate(-50%,0)!important}
.pg.pg--horizon .pg__t{transition:opacity .45s ease}
.pg.pg--horizon[data-mode="partner"] .pg__grid{-webkit-mask:linear-gradient(90deg,transparent 4%,#000 26%,#000 74%,transparent 96%);mask:linear-gradient(90deg,transparent 4%,#000 26%,#000 74%,transparent 96%)}
.pg__track{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1;transition:opacity .5s ease}
.pg__track path{fill:none;stroke:rgba(13,20,50,.16);stroke-width:1;stroke-dasharray:2 4;vector-effect:non-scaling-stroke}
html.dark .pg__track path{stroke:rgba(242,241,238,.2)}
.pg[data-mode="global"] .pg__track{opacity:0}
html body section.pg.pg--hub{--mf:100%}
html body section.pg.pg--hub[data-mode="global"]{--mf:78%}
.pg.pg--hub[data-mode="partner"] .pg__grid{-webkit-mask:none;mask:none}
html body .pg.pg--hub .pg__t .pg__mk{box-shadow:none!important;transition:transform .45s cubic-bezier(.16,1,.3,1)!important}
.pg.pg--hub .pg__t.is-hot .pg__mk{--hy:calc(-4 * var(--u));--hs:1.06}
html body .pg.pg--hub .pg__t .pg__name{top:50%!important;bottom:auto!important;transform:translate(0,-50%)!important;opacity:0;white-space:nowrap;transition:opacity .25s ease!important}
html body .pg.pg--hub .pg__t[data-side="l"] .pg__name{left:auto!important;right:calc(100% + 16 * var(--u))!important}
html body .pg.pg--hub .pg__t[data-side="r"] .pg__name{left:calc(100% + 16 * var(--u))!important;right:auto!important}
html body .pg.pg--hub .pg__t.is-hot .pg__name{opacity:.85}
.pg.pg--hub .pg__t[data-off]{opacity:0!important;pointer-events:none!important}
.pg__wires{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.pg__wires path{fill:none;stroke:rgba(13,20,50,.16);stroke-width:1;vector-effect:non-scaling-stroke;transition:stroke .3s ease}
html.dark .pg__wires path{stroke:rgba(242,241,238,.2)}
.pg__wires path.on{stroke:rgba(13,20,50,.55)}
html.dark .pg__wires path.on{stroke:rgba(242,241,238,.65)}
.pg__wires circle{fill:#3457BA}
html.dark .pg__wires circle{fill:#B0E9FD}
.pg.pg--z .pg__t,.pg.pg--z .pg__lines,.pg.pg--z .pg__cell,.pg.pg--z .pg__lit,.pg.pg--z .pg__run,.pg.pg--z .pg__gl,.pg.pg--z .pg__x,.pg.pg--z .pg__no,.pg.pg--z .pg__wires,.pg.pg--z .pg__track{display:none!important}
html body .pg.pg--z .pg__globe{-webkit-mask:none!important;mask:none!important;z-index:1;
  filter:blur(calc(8*var(--u)));opacity:.62;transform:translate3d(var(--gx,0px),var(--gy,0px),0)!important;
  transition:filter 1.4s cubic-bezier(.65,0,.35,1),opacity 1.4s cubic-bezier(.65,0,.35,1)!important}
html body .pg.pg--z[data-mode="global"] .pg__globe{filter:none;opacity:1;z-index:6}
html body .pg.pg--z .pg__head{z-index:30!important}
.pz{position:absolute;inset:0;pointer-events:none}
.pz__l{position:absolute;inset:0;transform-origin:50% 62%;translate:var(--px,0px) var(--py,0px);
  transition:transform 1.4s cubic-bezier(.65,0,.35,1),filter 1.4s cubic-bezier(.65,0,.35,1),opacity 1.4s cubic-bezier(.65,0,.35,1)}
.pz__l.b{z-index:2}
.pz__l.f{z-index:4}
.pg[data-mode="global"] .pz__l.f{transform:scale(.9);filter:blur(calc(6*var(--u)));opacity:.5}
.pg[data-mode="global"] .pz__l.b{transform:scale(.84);filter:blur(calc(10*var(--u)));opacity:.32}
.pz__i{position:absolute;width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);left:var(--x);top:var(--y);box-sizing:border-box;
  display:grid;place-items:center;pointer-events:auto;border-radius:calc(var(--s) * .22);
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.62));border:1px solid rgba(13,20,50,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 18px 36px -18px rgba(13,20,50,.25);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  transition:left 1.4s cubic-bezier(.65,0,.35,1) var(--d,0ms),top 1.4s cubic-bezier(.65,0,.35,1) var(--d,0ms),box-shadow .35s ease,scale .35s cubic-bezier(.16,1,.3,1)}
.pz__l.f .pz__i{--s:calc(104*var(--u))}
.pz__l.b .pz__i{--s:calc(72*var(--u))}
.pz__i::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(62% 62% at 50% 56%,color-mix(in srgb,var(--c) 22%,transparent),transparent 76%);opacity:.7;transition:opacity .3s ease}
.pz__i svg{position:relative;width:44%;height:44%;display:block}
.pz__i path{fill:var(--c)}
.pz__i b{position:absolute;left:50%;top:calc(100% + 10*var(--u));translate:-50% 4px;padding:calc(5*var(--u)) calc(8*var(--u));background:#0D1432;color:#fff;
  font:400 calc(11*var(--u))/1 var(--mono,"Geist Mono",monospace);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;
  transition:opacity .2s ease,translate .3s cubic-bezier(.16,1,.3,1)}
.pz__i.is-hot{z-index:9;scale:1.06;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 26px 44px -18px rgba(13,20,50,.38)}
.pz__i.is-hot::before{opacity:1}
.pz__i.is-hot b{opacity:1;translate:-50% 0}
.pg[data-mode="global"] .pz__i{pointer-events:none}
html.dark .pz__i{background:linear-gradient(180deg,rgba(176,233,253,.11),rgba(176,233,253,.03));border-color:rgba(176,233,253,.16);box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 18px 36px -18px rgba(0,0,0,.6)}
html.dark .pz__i b{background:#B0E9FD;color:#0D1432}
html.dark .pz__i[data-n="Framer"] path,html.dark .pz__i[data-n="Klaviyo"] path,html.dark .pz__i[data-n="Vercel"] path,html.dark .pz__i[data-n="AWS"] path{fill:#F2F1EE}
@media (prefers-reduced-motion:reduce){.pz__l,.pz__i,html body .pg.pg--z .pg__globe{transition-duration:1ms!important}}
html body .b30-main > section.pg.pg--v2,html body section.pg.pg--v2{height:auto!important;min-height:0!important;padding:calc(120*var(--u)) calc(164*var(--u)) calc(160*var(--u))!important;display:block!important;overflow:visible!important}
.pg.pg--v2 > .pg__head,.pg.pg--v2 > .pg__stage{display:none!important}
.pn__top{position:relative;height:calc(367*var(--u))}
.pn__eye{position:absolute;left:calc(805*var(--u));top:0;margin:0;font:400 calc(13*var(--u))/1 var(--mono,"Geist Mono",monospace);letter-spacing:.04em;text-transform:uppercase;color:#0D1432}
html.dark .pn__eye{color:#B0E9FD}
.pn__h{position:absolute;left:calc(805*var(--u));top:calc(64*var(--u));margin:0;font:400 calc(56*var(--u))/1.1 var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.02em;width:calc(787*var(--u))}
.pn__b{position:absolute;left:0;top:calc(134*var(--u));margin:0;width:calc(362*var(--u));font:400 calc(18*var(--u))/1.2 var(--sans,"BDO Grotesk",sans-serif)}
.pn__switch{position:absolute;left:0;top:calc(262*var(--u));display:flex;gap:calc(18*var(--u));font:400 calc(12*var(--u))/1 var(--mono,"Geist Mono",monospace);letter-spacing:.06em;text-transform:uppercase}
.pn__switch button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:calc(8*var(--u));padding:calc(4*var(--u)) 0;color:rgba(13,20,50,.42);transition:color .25s ease}
.pn__switch button::before{content:"";width:calc(6*var(--u));height:calc(6*var(--u));background:currentColor;opacity:.35;transition:opacity .25s ease,background .25s ease}
.pn__switch button[aria-pressed="true"]{color:#0D1432}
.pn__switch button[aria-pressed="true"]::before{opacity:1;background:#3457BA}
.pn__switch button:hover{color:#0D1432}
.pn__switch button:focus-visible{outline:1px solid #3457BA;outline-offset:4px}
html.dark .pn__switch button{color:rgba(242,241,238,.45)}
html.dark .pn__switch button[aria-pressed="true"],html.dark .pn__switch button:hover{color:#F2F1EE}
html.dark .pn__switch button[aria-pressed="true"]::before{background:#B0E9FD}
.pn__grid{position:relative;height:calc(787*var(--u))}
.pn__ln{position:absolute;pointer-events:none;transition:opacity .8s ease}
.pn__ln.v{top:0;bottom:0;width:1px;background:repeating-linear-gradient(180deg,rgba(0,0,0,.15) 0 2px,transparent 2px 4px)}
.pn__ln.h{left:0;right:0;height:1px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.15) 0 2px,transparent 2px 4px)}
html.dark .pn__ln.v{background:repeating-linear-gradient(180deg,rgba(255,255,255,.16) 0 2px,transparent 2px 4px)}
html.dark .pn__ln.h{background:repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 2px,transparent 2px 4px)}
.pg[data-mode="global"] .pn__ln.in{opacity:0}
.pn__px{position:absolute;width:6px;height:6px;margin:-2.5px 0 0 -2.5px;background:#000;pointer-events:none;z-index:3}
html.dark .pn__px{background:#F2F1EE}
.pn__cells{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(4,1fr);z-index:2}
.pn__c{display:grid;place-items:center;min-width:0}
.pn__lg{display:inline-flex;align-items:center;gap:calc(10*var(--u));color:#000;transition:opacity .5s ease var(--d,0ms),transform .7s cubic-bezier(.16,1,.3,1) var(--d,0ms),filter .5s ease var(--d,0ms)}
html.dark .pn__lg{color:#F2F1EE}
.pn__lg svg{width:calc(28*var(--u));height:calc(28*var(--u));flex:none;display:block}
.pn__lg svg *{fill:currentColor!important}
.pn__lg span{font:500 calc(23*var(--u))/1 var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.02em;white-space:nowrap}
.pn__lg.mk svg{width:calc(56*var(--u));height:calc(34*var(--u))}
.pn__c:hover .pn__lg{transform:translateY(calc(-3*var(--u)))}
.pg[data-mode="global"] .pn__lg{opacity:0;transform:scale(.92);filter:blur(6px)}
.pg[data-mode="global"] .pn__cells{pointer-events:none}
.pn__grid > .pg__globe{position:absolute!important;inset:0!important;z-index:1!important;transform:none!important;filter:none!important;-webkit-mask:none!important;mask:none!important;
  opacity:0!important;transition:opacity .9s ease .25s!important;pointer-events:none!important}
.pg[data-mode="global"] .pn__grid > .pg__globe{opacity:1!important;pointer-events:auto!important}
@media (prefers-reduced-motion:reduce){.pn .sw2,.pn__lg,.pn__ln,.pn__grid > .pg__globe{transition-duration:1ms!important;transition-delay:0ms!important}}
@media (max-width:899px){html body section.pg.pg--v2{padding:64px 20px 80px!important}}
@media (max-width:899px){.pn__top{height:auto;display:flex;flex-direction:column;gap:20px;padding-bottom:40px}}
@media (max-width:899px){.pn__eye,.pn__h,.pn__b,.pn__switch{position:relative;left:auto;top:auto;width:auto}}
@media (max-width:899px){.pn__h{font-size:34px;order:2}}
@media (max-width:899px){.pn__eye{order:1;font-size:12px}}
@media (max-width:899px){.pn__b{order:3;font-size:16px}}
@media (max-width:899px){.pn__switch{order:4;font-size:11px}}
@media (max-width:899px){.pn__grid{height:auto;aspect-ratio:3/5}}
@media (max-width:899px){.pn__cells{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(7,1fr)}}
@media (max-width:899px){.pn__lg svg{width:20px;height:20px}}
@media (max-width:899px){.pn__lg span{font-size:15px}}
@media (max-width:899px){.pn__ln{display:none}}
.og .og__switch{display:none}
.og__seg{position:absolute;left:50%;bottom:clamp(40px,7%,84px);transform:translateX(-50%);z-index:41;display:flex;padding:4px;border:1px solid rgba(0,0,0,.15);border-radius:16px;background:#fff}
.og__seg button{all:unset;position:relative;z-index:1;cursor:pointer;display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;font-size:14px;line-height:1;letter-spacing:-.005em;color:rgba(13,20,50,.55);white-space:nowrap;transition:color .45s cubic-bezier(.65,0,.35,1)}
.og__seg button[aria-pressed="true"]{color:#fff;cursor:default}
.og__seg button[aria-pressed="false"]:hover{color:#000}
.og__seg button:focus-visible{outline:2px solid #3457BA;outline-offset:2px;border-radius:12px}
.og__ico{width:20px;height:20px;flex:none;display:block}
.og__knob{position:absolute;top:4px;bottom:4px;left:0;width:0;border-radius:12px;background:#000;transition:left .55s cubic-bezier(.65,0,.35,1),width .55s cubic-bezier(.65,0,.35,1)}
@media (max-width:760px){.og__seg button{padding:9px 14px;font-size:13px}}
@media (prefers-reduced-motion:reduce){.og__knob,.og__seg button{transition:none}}
.og .og__seg{left:0;right:auto;transform:none;gap:40px;padding:0;border:0;border-radius:0;background:none!important}
.og .og__knob{display:none}
.og .og__seg button{min-width:0!important;justify-content:flex-start!important;padding:4px 0;gap:12px;font-size:16px;line-height:20px;letter-spacing:-.01em;color:rgba(0,0,0,.45)}
.og .og__seg button::before{content:"";flex:none;width:14px;height:14px;box-sizing:border-box;border:1px solid currentColor;
  background:linear-gradient(currentColor,currentColor) center/0 0 no-repeat;transition:background-size .22s steps(3,end)}
.og .og__seg button[aria-pressed="true"]{color:#000}
.og .og__seg button[aria-pressed="true"]::before{background-size:6px 6px}
.og .og__seg button[aria-pressed="false"]:hover{color:#000}
.og .og__seg button:focus-visible{outline:2px solid #3457BA;outline-offset:4px;border-radius:0}
html.dark .og .og__seg button{color:rgba(242,241,238,.45)}
html.dark .og .og__seg button[aria-pressed="true"],html.dark .og .og__seg button[aria-pressed="false"]:hover{color:#F2F1EE}
html.dark .og .og__seg{border:0}
@media (max-width:760px){.og .og__seg{gap:20px}}
@media (max-width:760px){.og .og__seg button{font-size:13px}}
.og .og__title{left:calc(164*var(--u));top:calc(126*var(--u));transform:none;width:calc(562*var(--u));min-width:300px;white-space:normal;
  justify-items:start;text-align:left;font-size:max(30px,calc(50*var(--u)));line-height:1.2;letter-spacing:-.02em}
.og__body{position:absolute;right:calc(164*var(--u));top:calc(138*var(--u));width:max(330px,calc(380*var(--u)));margin:0;z-index:40;
  display:grid;text-align:right;font-size:max(14px,calc(16*var(--u)));line-height:1.2;letter-spacing:-.02em;color:#000;pointer-events:none}
.og__body .b{grid-area:1/1;opacity:0;transition:opacity .35s ease}
.og[data-mode="partner"] .og__body .b[data-for="partner"],.og[data-mode="global"] .og__body .b[data-for="global"]{opacity:1;transition:opacity .6s ease .3s}
html.dark .og__body{color:#F2F1EE}
.og .og__seg{top:calc(156*var(--u) - 13px);right:calc(164*var(--u));left:auto;bottom:auto;transform:none;width:auto;gap:28px;padding:0;border:0;border-radius:0;background:none!important;box-shadow:none;justify-content:flex-start}
.og__sw,.og .og__knob{display:none}
.og .og__seg button{position:relative;gap:8px;padding:2px 0;height:auto;border:0;background:none;font:400 12px/1 var(--mono);text-transform:uppercase;letter-spacing:.06em;
  color:#000;opacity:.35;cursor:pointer;transition:opacity .35s ease}
.og .og__seg button::before,.og .og__seg button::after{display:none}
.og .og__seg .og__ico{width:22px;height:22px;padding:0;margin:0;border:0;background:none;color:inherit;opacity:1}
.og .og__seg button[aria-pressed="true"]{opacity:1;cursor:default}
.og .og__seg button[aria-pressed="false"]:hover{opacity:.8}
.og .og__seg button:focus-visible{outline:2px solid #3457BA;outline-offset:3px}
html.dark .og .og__seg button{color:#F2F1EE;background:none}
.og__title .h,.og__title .h.on{transition:opacity .25s ease}
.og__title.og-reset .hw-i{transition:none!important}
.og__body .b,.og[data-mode] .og__body .b{translate:0 12px;transition:opacity .3s ease,translate .3s ease}
.og[data-mode="partner"] .og__body .b[data-for="partner"],.og[data-mode="global"] .og__body .b[data-for="global"]{translate:0 0;transition:opacity .7s ease .35s,translate 1s cubic-bezier(.16,1,.3,1) .35s}
.og .loc .card{border-radius:0!important}
.og__canvas.nocur{cursor:none!important}
@media (max-width:760px){.og .og__title{left:20px;top:56px;width:calc(100% - 40px);min-width:0;font-size:30px}}
@media (max-width:760px){.og__body{left:20px;right:20px;top:auto;bottom:96px;width:auto;text-align:left}}
@media (max-width:760px){.og .og__seg{top:auto;bottom:28px;right:auto;left:50%;transform:translateX(-50%)}}
@media (max-width:760px){.og .og__seg{gap:18px}}
@media (max-width:760px){.og .og__seg button{font-size:11px;gap:6px}}
@media (max-width:760px){.og .og__seg .og__ico{width:18px;height:18px}}
.og{--og-arrow:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2016%2016%22%20shape-rendering%3D%22crispEdges%22%3E%3Crect%20x%3D%224%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%225%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%226%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%227%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%228%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%229%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2210%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2211%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2212%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2213%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2214%22%20y%3D%221%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%224%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%225%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%226%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%227%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%228%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%229%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2210%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2211%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2212%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2213%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2214%22%20y%3D%222%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2212%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2213%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2214%22%20y%3D%223%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2211%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2212%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2213%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2214%22%20y%3D%224%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2210%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2211%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2213%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2214%22%20y%3D%225%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%229%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2210%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2213%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2214%22%20y%3D%226%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%228%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%229%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2213%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2214%22%20y%3D%227%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%227%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%228%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2213%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2214%22%20y%3D%228%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%226%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%227%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2213%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2214%22%20y%3D%229%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%225%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%226%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2213%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2210%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%224%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%225%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2213%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%2214%22%20y%3D%2211%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%223%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%224%22%20y%3D%2212%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%222%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%223%22%20y%3D%2213%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%221%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22/%3E%3Crect%20x%3D%222%22%20y%3D%2214%22%20width%3D%221%22%20height%3D%221%22/%3E%3C/svg%3E")}
.og__body{display:none!important}
@media (min-width:761px){.og{height:clamp(820px,100svh,calc(1240*var(--u)))!important}}
.pg{position:relative;overflow:hidden;padding:calc(160 * var(--u)) 0;display:flex;flex-direction:column;align-items:center;gap:calc(59 * var(--u))}
.pg__head{width:calc(1594 * var(--u));display:flex;flex-direction:column;gap:calc(64 * var(--u));position:relative;z-index:3}
.pg__eye{margin:0;font:400 calc(14 * var(--u))/1.2 var(--mono);text-transform:uppercase;color:var(--midnight);position:relative;height:1.2em}
.pg__row{display:flex;justify-content:space-between;align-items:flex-start}
.pg__h{margin:0;width:calc(589 * var(--u));font-weight:400;font-size:calc(50 * var(--u));line-height:1.2;letter-spacing:calc(-1 * var(--u));position:relative}
.pg__tabs{display:flex;gap:calc(8 * var(--u))}
.pg__tab{all:unset;position:relative;width:calc(44 * var(--u));height:calc(44 * var(--u));min-width:32px;min-height:32px;box-sizing:border-box;border:max(.917px,calc(.917 * var(--u))) solid var(--line);border-radius:calc(12 * var(--u));
  display:grid;place-items:center;cursor:pointer;opacity:.35;filter:grayscale(1);transition:opacity .35s ease,filter .35s ease}
.pg__tab[aria-pressed="true"]{opacity:1;filter:none}
.pg__tab:hover{opacity:.75}
.pg__tab[aria-pressed="true"]:hover{opacity:1}
.pg__tab:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.pg__tab canvas{width:calc(22 * var(--u));height:calc(22 * var(--u));min-width:16px;min-height:16px;display:block}
.pg__stage{position:relative;width:calc(1956 * var(--u));height:calc(800 * var(--u));flex:none}
.pg__grid{position:absolute;inset:0;transition:opacity .45s ease}
.pg__v,.pg__hz{position:absolute;pointer-events:none}
.pg__v{top:0;width:1px;height:100%;background:linear-gradient(180deg,transparent 0%,var(--line) 50%,transparent 100%)}
.pg__hz{height:1px;background:linear-gradient(90deg,transparent 0%,var(--line) 50%,transparent 100%)}
.pg__t{position:absolute;width:calc(56 * var(--u));height:calc(56 * var(--u));margin:calc(5.5 * var(--u));
  transition:transform 1.15s cubic-bezier(.65,0,.35,1) var(--d,0ms),opacity .45s ease calc(var(--d,0ms) + .25s)}
.pg__px{position:absolute;inset:0;background:var(--c);opacity:0;transition:opacity .35s ease calc(var(--d,0ms) + .55s)}
.pg__mk svg{transition:opacity .35s ease calc(var(--d,0ms) + .5s),transform .4s cubic-bezier(.16,1,.3,1)}
.pg__mk{position:absolute;inset:0;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.pg__mk svg{width:100%;height:100%;display:block;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.pg__t:hover .pg__mk svg{transform:scale(1.08)}
.pg__name{position:absolute;left:50%;top:calc(100% + 16 * var(--u));transform:translate(-50%,6px);white-space:nowrap;font:400 calc(12 * var(--u))/1 var(--mono);text-transform:uppercase;letter-spacing:.02em;color:var(--midnight);opacity:0;pointer-events:none;
  transition:opacity .25s ease,transform .35s cubic-bezier(.16,1,.3,1)}
.pg__t:hover .pg__name{opacity:1;transform:translate(-50%,0)}
.pg__lines{position:absolute;inset:0;pointer-events:none;--hole:calc(-260 * var(--u));
  -webkit-mask-image:radial-gradient(circle at 50% 50%,transparent var(--hole),#000 calc(var(--hole) + 280 * var(--u)));mask-image:radial-gradient(circle at 50% 50%,transparent var(--hole),#000 calc(var(--hole) + 280 * var(--u)));
  transition:--hole .9s cubic-bezier(.65,0,.35,1) .35s}
.pg[data-mode="global"] .pg__lines{--hole:calc(360 * var(--u));transition:--hole 1.25s cubic-bezier(.65,0,.35,1) .15s}
.pg[data-mode="global"] .pg__t{transform:translate(var(--tx),var(--ty)) scale(var(--ps));opacity:0;pointer-events:none;
  transition:transform 1.25s cubic-bezier(.65,0,.35,1) var(--d,0ms),opacity .5s ease calc(var(--d,0ms) + 1.05s)}
.pg[data-mode="global"] .pg__px{opacity:1;transition:opacity .3s ease calc(var(--d,0ms) + .35s)}
.pg[data-mode="global"] .pg__mk svg{opacity:0;transition:opacity .3s ease calc(var(--d,0ms) + .3s)}
.pg[data-mode="global"] .pg__name{opacity:0!important}
.pg__globe{position:absolute;inset:0;opacity:0;transform:scale(.94);pointer-events:none;transition:opacity .45s ease,transform .6s cubic-bezier(.65,0,.35,1)}
.pg[data-mode="global"] .pg__globe{opacity:1;transform:none;pointer-events:auto;transition:opacity 1s ease .75s,transform 1.4s cubic-bezier(.16,1,.3,1) .55s}
.pg__grid{transition:opacity .6s ease .5s}
.pg[data-mode="global"] .pg__grid{transition:opacity .5s ease}
.pg .og{position:absolute!important;inset:0!important;width:auto!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;background:none!important;overflow:visible!important}
.pg .og > .og__title,.pg .og > .og__body,.pg .og > .og__seg,.pg .og > .og__switch,.pg .og > .partner-links{display:none!important}
.pg .og .og__canvas{position:absolute;inset:0;width:100%;height:100%}
.pg__cap{position:absolute;left:calc(181 * var(--u));right:calc(181 * var(--u));bottom:calc(24 * var(--u));display:flex;justify-content:space-between;align-items:center;
  font:400 calc(12 * var(--u))/1 var(--mono);text-transform:uppercase;letter-spacing:.02em;color:var(--muted);opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:6}
.pg__cap span{display:inline-flex;align-items:center;gap:calc(10 * var(--u))}
.pg__cap i{display:inline-block;width:calc(7 * var(--u));height:calc(7 * var(--u));min-width:5px;min-height:5px;background:var(--blue);box-shadow:0 0 calc(8 * var(--u)) rgba(52,87,186,.6)}
.pg[data-mode="global"] .pg__cap{opacity:1;transition:opacity .8s ease 1.4s}
@media (min-width:1px){.pg__cap{font-size:max(10px,calc(12 * var(--u)))}}
.pg__gl{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s ease;z-index:1;
  -webkit-mask-image:radial-gradient(circle at 50% 50%,transparent 0,transparent calc(360 * var(--u)),#000 calc(640 * var(--u)));mask-image:radial-gradient(circle at 50% 50%,transparent 0,transparent calc(360 * var(--u)),#000 calc(640 * var(--u)))}
.pg[data-mode="global"] .pg__gl{opacity:1;transition:opacity 1s ease 1.15s}
.pg__gl canvas{display:none}
.pg[data-mode="global"] .pg__gl .pg__v,.pg[data-mode="global"] .pg__gl .pg__hz{opacity:1}
.pg__orb{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pg__orb--back{z-index:0}
.pg__orb--front{z-index:30}
.pg__side{position:absolute;top:50%;transform:translateY(-50%);opacity:0;pointer-events:none;transition:opacity .35s ease,transform .5s cubic-bezier(.16,1,.3,1);z-index:6}
.pg__side--l{left:calc(181 * var(--u));width:calc(380 * var(--u));transform:translate(calc(-16 * var(--u)),-50%)}
.pg__side--r{right:calc(181 * var(--u));width:calc(320 * var(--u));text-align:right;transform:translate(calc(16 * var(--u)),-50%)}
.pg[data-mode="global"] .pg__side{opacity:1;transform:translate(0,-50%);transition:opacity .6s ease 1.1s,transform .9s cubic-bezier(.16,1,.3,1) 1.05s}
.pg__lab{margin:0 0 calc(20 * var(--u));font:400 calc(14 * var(--u))/1.2 var(--mono);text-transform:uppercase;color:var(--muted)}
.pg__cities{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pg__cities li{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:calc(16 * var(--u));padding:calc(14 * var(--u)) 0;border-bottom:1px solid var(--line);font-size:calc(18 * var(--u));line-height:1.2}
.pg__cities .st{display:inline-flex;align-items:center;gap:calc(8 * var(--u));font:400 calc(12 * var(--u))/1 var(--mono);text-transform:uppercase;color:var(--muted);min-width:calc(92 * var(--u));justify-content:flex-end}
.pg__cities .st i{width:calc(6 * var(--u));height:calc(6 * var(--u));min-width:4px;min-height:4px;background:rgba(13,20,50,.25)}
.pg__cities li.on .st{color:var(--midnight)}
.pg__cities li.on .st i{background:var(--blue);box-shadow:0 0 calc(8 * var(--u)) var(--blue)}
.pg__stats{display:grid;gap:calc(36 * var(--u))}
.pg__stat b{display:block;font-weight:400;font-size:calc(50 * var(--u));line-height:1;letter-spacing:calc(-1 * var(--u))}
.pg__stat span{display:block;margin-top:calc(8 * var(--u));font:400 calc(14 * var(--u))/1.2 var(--mono);text-transform:uppercase;color:var(--muted)}
.pg__cell{position:absolute;pointer-events:auto;cursor:default}
.pg__cell canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.pg[data-mode="global"] .pg__cell{pointer-events:none;opacity:0;transition:opacity .3s ease}
.pg__t{pointer-events:none}
.pg__t svg path{transition:fill .18s ease .06s}
.pg__t.is-hot .pg__mk{transform:scale(1.2)}
.pg__t.is-hot .pg__name{opacity:1;transform:translate(-50%,0)}
.pg__t.is-hot .pg__name{color:var(--midnight,#0D1432)}
html.dark .pg__t.is-hot .pg__name{color:#F2F1EE}
.pg .pg__lit,.pg .pg__run,.pg .pg__gl{display:none!important}
.pg__t .pg__name{top:auto;bottom:calc(-46 * var(--u))}
.pg__lit{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s ease;
  -webkit-mask-image:radial-gradient(circle calc(240 * var(--u)) at var(--mx,-999px) var(--my,-999px),#000 0%,transparent 100%);mask-image:radial-gradient(circle calc(240 * var(--u)) at var(--mx,-999px) var(--my,-999px),#000 0%,transparent 100%)}
.pg__lit .pg__v{background:linear-gradient(180deg,transparent 0%,rgba(52,87,186,.55) 50%,transparent 100%)}
.pg__lit .pg__hz{background:linear-gradient(90deg,transparent 0%,rgba(52,87,186,.55) 50%,transparent 100%)}
.pg__grid:hover .pg__lit{opacity:1}
.pg[data-mode="global"] .pg__lit{opacity:0!important}
.pg__run{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;transition:opacity .4s ease}
.pg[data-mode="global"] .pg__run{opacity:0}
@media (prefers-reduced-motion:reduce){.pg__mk{animation:none}}
@media (prefers-reduced-motion:reduce){.pg__t,.pg__globe,.sw .w > span{transition-duration:1ms!important}}
.pg{padding-top:calc(156*var(--u))!important;gap:calc(35*var(--u))!important}
.pg__head{gap:calc(40*var(--u))!important}
.b30-main > section.pg,section.pg{background:#fff!important}
.pg .pg__lines .pg__v{transform:scaleY(0);transform-origin:50% 0;transition:transform .55s cubic-bezier(.65,0,.35,1) var(--gd,0ms)}
.pg .pg__lines .pg__hz{transform:scaleX(0);transform-origin:0 50%;transition:transform .6s cubic-bezier(.65,0,.35,1) var(--gd,0ms)}
.pg.is-drawn .pg__lines .pg__v,.pg.is-drawn .pg__lines .pg__hz{transform:none}
.pg:not(.is-drawn) .pg__mk{opacity:0;transform:scale(.4)}
.pg .pg__mk{transition:transform .4s cubic-bezier(.16,1,.3,1) var(--ld,0ms),opacity .25s ease var(--ld,0ms)}
.pg.is-settled .pg__mk{transition:transform .4s cubic-bezier(.16,1,.3,1)}
html.dark .pg{background:var(--night,#000)}
.pg .pg__run{position:absolute;inset:0;width:auto;height:auto;pointer-events:none;overflow:hidden}
.pg__rn{position:absolute;left:0;top:0;width:0;height:0;will-change:transform,opacity;opacity:0}
.pg__rn::before{content:"";position:absolute;right:0;top:-.5px;width:calc(160*var(--u));height:1px;background:linear-gradient(90deg,transparent,currentColor);opacity:.55}
.pg__rn b{position:absolute;left:-1.5px;top:-1.5px;width:3px;height:3px;background:currentColor;box-shadow:0 0 6px 1px currentColor}
@media (prefers-reduced-motion:reduce){.pg .pg__lines .pg__v,.pg .pg__lines .pg__hz,.pg .pg__mk,.b30sep::before,.b30sep i,.vision .vz-ln,.vision .vz-sq{transition:none!important}}
.pg{padding-bottom:calc(40*var(--u))!important}
.pg__tab canvas:not(.pg__ic3){display:none!important}
.pg__ic3{width:calc(22*var(--u));height:calc(22*var(--u));min-width:16px;min-height:16px;display:block;color:#000}
html.dark .pg__ic3{color:#F2F1EE}
html.dark .pg__t,html.dark .pg__mk,html.dark .pg__cell,html.dark .pg__lit{background:transparent!important;box-shadow:none!important}
html.dark .pg__fade,html.dark .pg__stage::before,html.dark .pg__stage::after{background:none!important}
html.dark .pg__tab{background:linear-gradient(115deg,rgba(52,87,186,.16) 0%,rgba(74,82,206,.42) 28%,rgba(98,82,214,.34) 50%,rgba(52,87,186,.20) 74%,rgba(80,86,210,.40) 100%)!important;
  background-size:320% 320%!important;animation:b30-drift 7s ease-in-out infinite!important}
@media (prefers-reduced-motion:reduce){html.dark .pg__tab{animation:none!important}}
html.dark section.pg,html.dark .b30-main > section.pg{background:transparent!important}
@media (min-width:900px){.b30-main > section.pg,section.pg{height:auto!important;padding:calc(160*var(--u)) 0 0!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:calc(64*var(--u))!important;background:#fff!important;overflow:hidden}}
@media (min-width:900px){.pg__head{position:relative!important;left:auto!important;top:auto!important;width:calc(1592*var(--u))!important;gap:calc(64*var(--u))!important}}
@media (min-width:900px){.pg__stage{position:relative!important;left:auto!important;top:auto!important;width:calc(1592*var(--u))!important;height:calc(640*var(--u))!important;margin:0!important;overflow:hidden}}
.pg__logos{position:absolute;inset:0;list-style:none;margin:0;padding:calc(40*var(--u)) 0;display:grid;grid-template-columns:repeat(8,1fr);align-content:center;row-gap:calc(64*var(--u));z-index:4;transition:opacity .45s ease}
.pg__logos li{display:flex;flex-direction:column;align-items:center;gap:calc(14*var(--u));opacity:0;transform:translateY(12px);transition:opacity .6s ease calc(var(--i) * 35ms),transform .7s cubic-bezier(.16,1,.3,1) calc(var(--i) * 35ms)}
.pg__logos svg{width:calc(56*var(--u));height:calc(56*var(--u));min-width:30px;min-height:30px;display:block;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.pg__logos span{font:400 calc(12*var(--u))/1 var(--mono,"Geist Mono",monospace);text-transform:uppercase;letter-spacing:.02em;color:rgba(13,20,50,.55);white-space:nowrap}
.pg__logos li:hover svg{transform:scale(1.1)}
.pg.pg-logos-in .pg__logos li{opacity:1;transform:none}
.pg[data-mode="global"] .pg__logos{opacity:0;pointer-events:none}
html.dark .pg__logos span{color:rgba(242,241,238,.55)}
@media (max-width:899px){.pg__logos{grid-template-columns:repeat(4,1fr);row-gap:28px}}
@media (min-width:900px){.b30-main > section.pg,section.pg{padding-top:0!important;margin-top:calc(-23*var(--u))!important}}
.pg .pg__lines{opacity:1!important;visibility:visible!important}
.pg .pg__lines .pg__v{-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)}
.pg .pg__lines .pg__hz{-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)}
.pg .pg__lines .pg__v{background:linear-gradient(180deg,transparent 0%,rgba(13,20,50,.24) 50%,transparent 100%)!important}
.pg .pg__lines .pg__hz{background:linear-gradient(90deg,transparent 0%,rgba(13,20,50,.24) 50%,transparent 100%)!important}
html.dark .pg .pg__lines .pg__v{background:linear-gradient(180deg,transparent 0%,rgba(228,232,255,.26) 50%,transparent 100%)!important}
html.dark .pg .pg__lines .pg__hz{background:linear-gradient(90deg,transparent 0%,rgba(228,232,255,.26) 50%,transparent 100%)!important}
@media (min-width:900px){.pg .pg__grid{left:calc(-182*var(--u))!important;right:auto!important;width:calc(1956*var(--u))!important}}
.pg .pg__x{display:none!important}
html body section.pg.pg--z,html body .b30-main > section.pg.pg--z{height:calc(1100*var(--u))!important}
.pz.is-still .pz__i{transition:none!important}
.pz__l.f .pz__i{--s:calc(84*var(--u))}
.pz__l.b .pz__i{--s:calc(64*var(--u))}
.pz__i{box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;overflow:hidden}
.pz__i.is-hot{box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;border-color:rgba(13,20,50,.22)}
.pz__l.b .pz__i{background:linear-gradient(180deg,rgba(255,255,255,.7),rgba(255,255,255,.4));border-color:rgba(13,20,50,.07)}
.pz__l.b .pz__i svg{opacity:.82}
html.dark .pz__i,html.dark .pz__i.is-hot{box-shadow:inset 0 1px 0 rgba(255,255,255,.1)!important}
html.dark .pz__l.b .pz__i{background:linear-gradient(180deg,rgba(176,233,253,.07),rgba(176,233,253,.02));border-color:rgba(176,233,253,.11)}
.pz__in{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;font-style:normal;
  transition:transform .45s cubic-bezier(.16,1,.3,1)}
.pz__i svg{width:44%;height:44%;flex:none;transition:transform .45s cubic-bezier(.16,1,.3,1)}
.pz__i .pz__in b{position:absolute;left:50%;top:auto;bottom:calc(-1 * var(--s) * .25);translate:-50% 0;padding:0;background:none!important;color:#0D1432!important;
  font:400 max(8px,calc(var(--s) * .105))/1 var(--mono,"Geist Mono",monospace);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;opacity:0;
  transition:bottom .45s cubic-bezier(.16,1,.3,1),opacity .3s ease}
html.dark .pz__i .pz__in b{color:#F2F1EE!important}
.pz__i.is-hot{scale:1.04}
.pz__i.is-hot svg{transform:translateY(calc(var(--s) * -.12)) scale(.84)}
.pz__i.is-hot .pz__in b{bottom:calc(var(--s) * .14);opacity:.9}
.pz{perspective:calc(1500*var(--u));perspective-origin:50% 62%;transform-style:preserve-3d}
.pz__cam{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s linear}
.pz__l{transform-style:preserve-3d}
.pz__l.f{--z:calc(110*var(--u))}
.pz__l.b{--z:calc(-120*var(--u));filter:saturate(.85) brightness(1.03)}
html.dark .pz__l.b{filter:saturate(.8) brightness(.9)}
.pz__l.f{transform:translateZ(var(--z))}
.pz__l.b{transform:translateZ(var(--z))}
.pg[data-mode="global"] .pz__l.f{transform:translateZ(calc(-260*var(--u))) scale(.98)!important}
.pg[data-mode="global"] .pz__l.b{transform:translateZ(calc(-420*var(--u))) scale(.98)!important}
@keyframes pg-holo{to{--ha:360deg}}
@keyframes pg-sheen{0%{background-position:0 -120%}100%{background-position:0 220%}}
.pg__holo,.pg__scan{position:absolute;border-radius:50%;pointer-events:none;z-index:2}
.pg__holo{background:conic-gradient(from var(--ha),rgba(176,233,253,.0),rgba(176,233,253,.75),rgba(250,215,255,.65),rgba(52,87,186,.55),rgba(176,233,253,.0) 62%,rgba(250,215,255,.5) 80%,rgba(176,233,253,0));
  -webkit-mask:radial-gradient(circle,transparent 60%,#000 76%,#000 86%,transparent 100%);mask:radial-gradient(circle,transparent 60%,#000 76%,#000 86%,transparent 100%);
  opacity:.55;animation:pg-holo 14s linear infinite;filter:blur(calc(var(--r,100px) * .03))}
.pg__holo::after{content:"";position:absolute;inset:-14%;border-radius:50%;background:radial-gradient(circle,transparent 46%,rgba(176,233,253,.28) 52%,rgba(52,87,186,.10) 60%,transparent 70%)}
.pg__scan{background:repeating-linear-gradient(180deg,rgba(52,87,186,.10) 0 1px,transparent 1px 4px),
    linear-gradient(180deg,transparent 0,rgba(176,233,253,.0) 38%,rgba(176,233,253,.45) 50%,rgba(250,215,255,.0) 62%,transparent 100%);
  background-size:100% 100%,100% 60%;background-repeat:no-repeat;animation:pg-sheen 6.5s cubic-bezier(.45,0,.55,1) infinite;
  -webkit-mask:radial-gradient(circle,#000 68%,transparent 71%);mask:radial-gradient(circle,#000 68%,transparent 71%);mix-blend-mode:multiply;opacity:.6}
html.dark .pg__scan{mix-blend-mode:screen;background:repeating-linear-gradient(180deg,rgba(176,233,253,.08) 0 1px,transparent 1px 4px),
    linear-gradient(180deg,transparent 0,rgba(176,233,253,0) 38%,rgba(176,233,253,.35) 50%,rgba(250,215,255,0) 62%,transparent 100%);background-size:100% 100%,100% 60%;background-repeat:no-repeat}
html.dark .pg__holo{opacity:.7;mix-blend-mode:screen}
@media (prefers-reduced-motion:reduce){.pg__holo,.pg__scan{animation:none}}
.pg__holo{background:none!important;animation:none!important;-webkit-mask:none!important;mask:none!important;filter:none!important;opacity:1!important;mix-blend-mode:normal!important}
.pg__holo::after{inset:-10%!important;background:radial-gradient(circle,transparent 47%,rgba(176,233,253,.22) 51%,rgba(52,87,186,.06) 58%,transparent 68%)!important}
.pg__scan{background:linear-gradient(180deg,transparent 0,rgba(176,233,253,0) 38%,rgba(176,233,253,.4) 50%,rgba(250,215,255,0) 62%,transparent 100%)!important;
  background-size:100% 60%!important;background-repeat:no-repeat!important}
html.dark .pg__scan{background:linear-gradient(180deg,transparent 0,rgba(176,233,253,0) 38%,rgba(176,233,253,.3) 50%,rgba(250,215,255,0) 62%,transparent 100%)!important;background-size:100% 60%!important;background-repeat:no-repeat!important}
html body .pz__i,html body .pz__l.b .pz__i,html body .pz__i.is-hot{border:0!important;overflow:visible!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;
  transform-style:preserve-3d;box-shadow:inset 0 0 calc(var(--s) * .32) rgba(52,87,186,.06),0 calc(var(--s) * .2) calc(var(--s) * .5) calc(var(--s) * -.12) rgba(52,87,186,.05)!important;
  rotate:y 0deg;transition:left 1.4s cubic-bezier(.65,0,.35,1) var(--d,0ms),top 1.4s cubic-bezier(.65,0,.35,1) var(--d,0ms),rotate .7s cubic-bezier(.65,0,.35,1),scale .35s cubic-bezier(.16,1,.3,1)!important}
html body .pz__i::before{opacity:.35!important}
html body .pz__i.is-hot{rotate:y 180deg;scale:1.04}
.pz__fc,.pz__bk{position:absolute;inset:0;display:grid;place-items:center;border-radius:inherit;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-style:normal}
.pz__fc svg{width:44%;height:44%;display:block;transform:none!important}
.pz__bk{transform:rotateY(180deg)}
.pz__bk b{position:static!important;translate:none!important;opacity:1!important;padding:0 8%;background:none!important;color:#0D1432!important;text-align:center;white-space:normal;
  font:400 max(8px,calc(var(--s) * .115))/1.15 var(--mono,"Geist Mono",monospace)!important;letter-spacing:.04em;text-transform:uppercase}
html.dark .pz__bk b{color:#F2F1EE!important}
html.dark body .pz__i,html.dark body .pz__l.b .pz__i,html.dark body .pz__i.is-hot{box-shadow:inset 0 0 calc(var(--s) * .32) rgba(176,233,253,.06),0 calc(var(--s) * .2) calc(var(--s) * .5) calc(var(--s) * -.12) rgba(52,87,186,.12)!important}
@media (prefers-reduced-motion:reduce){html body .pz__i.is-hot{rotate:none}}
@media (prefers-reduced-motion:reduce){html body .pz__i.is-hot .pz__fc{opacity:0}}
@media (prefers-reduced-motion:reduce){html body .pz__i.is-hot .pz__bk{transform:none}}
html body .pz__i,html body .pz__l.b .pz__i,html body .pz__i.is-hot{box-shadow:inset 0 0 calc(var(--s) * .32) rgba(52,87,186,.08),0 calc(var(--s) * .2) calc(var(--s) * .5) calc(var(--s) * -.12) rgba(52,87,186,.06)!important}
.pg__holo,.pg__scan{display:none!important}
.pz__l.b{z-index:2}
.pz__l.b.is-up{z-index:5}
html body .pz__l.b .pz__i{transition:left 1.4s cubic-bezier(.65,0,.35,1) var(--d,0ms),top 1.4s cubic-bezier(.65,0,.35,1) var(--d,0ms),
  rotate .7s cubic-bezier(.65,0,.35,1) 0ms,scale .4s cubic-bezier(.16,1,.3,1) .3s,margin .4s cubic-bezier(.16,1,.3,1) .3s!important}
html body .pz__l.b .pz__i.is-hot{scale:1.22;margin-top:calc(var(--s) * -.5 - 14 * var(--u));z-index:9;rotate:y 180deg;
  transition:left 1.4s cubic-bezier(.65,0,.35,1) var(--d,0ms),top 1.4s cubic-bezier(.65,0,.35,1) var(--d,0ms),
  scale .4s cubic-bezier(.16,1,.3,1) 0ms,margin .4s cubic-bezier(.16,1,.3,1) 0ms,rotate .7s cubic-bezier(.65,0,.35,1) .28s!important}
html body .pz__i,html body .pz__l.b .pz__i,html body .pz__i.is-hot,.pz__fc,.pz__bk{border-radius:0!important}
html body .pz__i,html body .pz__l.b .pz__i{background:color-mix(in srgb,var(--c) 10%,transparent)!important}
html.dark body .pz__i,html.dark body .pz__l.b .pz__i{background:color-mix(in srgb,var(--c) 14%,transparent)!important}
html body .pz__i::before{display:none!important}
html body .pz__i[data-n="Framer"],html body .pz__i[data-n="Klaviyo"],html body .pz__i[data-n="Vercel"],html body .pz__i[data-n="AWS"]{background:rgba(13,20,50,.06)!important}
html.dark body .pz__i[data-n="Framer"],html.dark body .pz__i[data-n="Klaviyo"],html.dark body .pz__i[data-n="Vercel"],html.dark body .pz__i[data-n="AWS"]{background:rgba(242,241,238,.08)!important}
html body .pz__l.b .pz__i,html body .pz__l.b .pz__i.is-hot{transition:left 1.4s cubic-bezier(.65,0,.35,1) var(--d,0ms),top 1.4s cubic-bezier(.65,0,.35,1) var(--d,0ms),
  scale .7s cubic-bezier(.65,0,.35,1),margin .7s cubic-bezier(.65,0,.35,1),rotate .7s cubic-bezier(.65,0,.35,1)!important}
html body .pg.pg--z .pg__globe{filter:blur(calc(10*var(--u))) saturate(.7) brightness(1.15);opacity:.32}
html.dark body .pg.pg--z .pg__globe{filter:blur(calc(10*var(--u))) saturate(.8);opacity:.42}
html body .pg.pg--z[data-mode="global"] .pg__globe{filter:none;opacity:1}
html body .pz__i,html body .pz__l.b .pz__i,html body .pz__i.is-hot{border-radius:calc(var(--s) * .22)!important}
.pz__fc,.pz__bk{border-radius:inherit!important}
html body .pz__i,html body .pz__l.b .pz__i,html body .pz__i[data-n]{background:#F0F9FD!important}
html.dark body .pz__i,html.dark body .pz__l.b .pz__i,html.dark body .pz__i[data-n]{background:rgba(240,249,253,.08)!important}
html body .pz__i,html body .pz__l.b .pz__i,html body .pz__i.is-hot,.pz__fc,.pz__bk{border-radius:calc(var(--s) * .22)!important}
html body .pz__i,html body .pz__l.b .pz__i,html body .pz__i[data-n]{background:#F0F9FD!important}
html.dark body .pz__i,html.dark body .pz__l.b .pz__i,html.dark body .pz__i[data-n]{background:rgba(240,249,253,.07)!important}
html body .pz__l.b .pz__i,html body .pz__l.b .pz__i.is-hot{will-change:transform,scale,rotate}
html body section.pg.pg--z,html body .b30-main > section.pg.pg--z{height:calc(1148*var(--u))!important}
html body .pz__i,html body .pz__l.b .pz__i,html body .pz__i[data-n]{background:#F4FBFE!important}
html body .pz__i,html body .pz__l.b .pz__i,html body .pz__i.is-hot{box-shadow:0 calc(var(--s) * .2) calc(var(--s) * .5) calc(var(--s) * -.12) rgba(52,87,186,.06)!important}
html.dark body .pz__i,html.dark body .pz__l.b .pz__i,html.dark body .pz__i[data-n]{background:rgba(244,251,254,.07)!important}
html.dark body .pz__i,html.dark body .pz__l.b .pz__i,html.dark body .pz__i.is-hot{box-shadow:0 calc(var(--s) * .2) calc(var(--s) * .5) calc(var(--s) * -.12) rgba(52,87,186,.12)!important}
.pg__gglow{position:absolute;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(176,233,253,.34) 0,rgba(176,233,253,.16) 34%,rgba(176,233,253,0) 66%)}
html.dark .pg__gglow{background:radial-gradient(circle,rgba(52,87,186,.28) 0,rgba(52,87,186,.12) 34%,rgba(52,87,186,0) 66%)}
.pg__ghint{position:absolute;z-index:3;border:0;padding:0;margin:0;background:none;border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:opacity .5s ease}
.pg[data-mode="global"] .pg__ghint{opacity:0;pointer-events:none}
.pg__ghint i{position:absolute;inset:14%;border-radius:50%;border:1px dashed rgba(13,20,50,.22);animation:pg-breathe 3.2s ease-in-out infinite}
.pg__ghint::after{content:"";position:absolute;inset:14%;border-radius:50%;border:1px solid rgba(52,87,186,.35);opacity:0;animation:pg-ping 3.2s ease-out infinite}
.pg__ghint b{position:absolute;top:calc(100% - 6%);left:50%;translate:-50% 4px;font:400 calc(11*var(--u))/1 var(--mono,"Geist Mono",monospace);letter-spacing:.06em;text-transform:uppercase;
  color:#0D1432;white-space:nowrap;opacity:0;transition:opacity .25s ease,translate .3s cubic-bezier(.16,1,.3,1)}
.pg__ghint b::after{content:" →"}
.pg__ghint:hover b,.pg__ghint:focus-visible b{opacity:.8;translate:-50% 0}
.pg__ghint:hover i{border-color:rgba(52,87,186,.55);animation-play-state:paused}
html.dark .pg__ghint i{border-color:rgba(242,241,238,.26)}
html.dark .pg__ghint::after{border-color:rgba(176,233,253,.4)}
html.dark .pg__ghint b{color:#F2F1EE}
@keyframes pg-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
@keyframes pg-ping{0%{transform:scale(1);opacity:.6}70%{transform:scale(1.35);opacity:0}100%{transform:scale(1.35);opacity:0}}
@media (prefers-reduced-motion:reduce){.pg__ghint i,.pg__ghint::after{animation:none}}
.pg__gglow,.pg__ghint{display:none!important}
html body .pz__i,html body .pz__l.b .pz__i,html body .pz__i[data-n],html body .pz__i.is-hot{border:1px solid rgba(13,20,50,.07)!important}
html.dark body .pz__i,html.dark body .pz__l.b .pz__i,html.dark body .pz__i[data-n],html.dark body .pz__i.is-hot{border-color:rgba(244,251,254,.1)!important}
@media (min-width:900px){.vision .vs-rule.b,.vision .vs-px.b,.vision .pg-vx,section.vision + section.pg .pg-vx{display:none!important}}
html body .pz__i,html body .pz__l.b .pz__i,html body .pz__i[data-n],html.dark body .pz__i,html.dark body .pz__l.b .pz__i,html.dark body .pz__i[data-n]{background:transparent!important}
@media (min-width:900px){html body section.pg.pg--z,html body .b30-main > section.pg.pg--z{padding-top:calc(96*var(--u))!important;height:calc(1094*var(--u))!important}}
html body section.pg.pg--z.pg--orbit,html body .b30-main > section.pg.pg--z.pg--orbit{height:calc(1180*var(--u))!important;padding-top:calc(96*var(--u))!important}
.pg.pg--orbit .pz__i{transition:rotate .7s cubic-bezier(.65,0,.35,1),scale .4s cubic-bezier(.16,1,.3,1),margin .7s cubic-bezier(.65,0,.35,1)!important}
.pg.pg--orbit .pz__i{scale:var(--os,1)}
.pg.pg--orbit .pz__i.is-hot{scale:calc(var(--os,1) * 1.06)}
.pg.pg--orbit[data-mode="partner"] .pg__stage{cursor:grab;touch-action:pan-y}
.pg.pg--orbit[data-mode="partner"].is-spin .pg__stage{cursor:grabbing}
.pz__l{translate:none!important}
.pz__cam{transform:none!important}
html body .pg.pg--z .pg__globe{transform:none!important}
html body .pz__i{translate:none!important}
html body .pz__i.is-hot,html body .pz__l.b .pz__i.is-hot{rotate:y 0deg!important;margin-top:calc(var(--s) / -2)!important}
.pz__l.f .pz__i{--s:calc(72*var(--u))!important}
.pz__l.b .pz__i{--s:calc(54*var(--u))!important}
html body .pz__i,html body .pz__l.b .pz__i,html body .pz__i[data-n],html.dark body .pz__i,html.dark body .pz__l.b .pz__i,html.dark body .pz__i[data-n]{background:var(--c)!important;border:0!important}
html body .pz__i path,html body .pz__i[data-n] path,html.dark body .pz__i[data-n] path,html.dark .pz__i[data-n] path{fill:var(--ink,#fff)!important}
html body .pz__fc svg{width:calc(46% * var(--ls,1))!important;height:calc(46% * var(--ls,1))!important}
html body .pz__i,html body .pz__l.b .pz__i,html body .pz__i.is-hot{box-shadow:0 calc(var(--s) * .22) calc(var(--s) * .5) calc(var(--s) * -.16) rgba(13,20,50,.16)!important}
html.dark body .pz__i,html.dark body .pz__l.b .pz__i,html.dark body .pz__i.is-hot{box-shadow:0 calc(var(--s) * .22) calc(var(--s) * .5) calc(var(--s) * -.16) rgba(0,0,0,.5)!important}
html.dark body .pz__i[data-n="Framer"],html.dark body .pz__i[data-n="Vercel"],html.dark body .pz__i[data-n="Klaviyo"],html.dark body .pz__i[data-n="AWS"]{box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 calc(var(--s) * .22) calc(var(--s) * .5) calc(var(--s) * -.16) rgba(0,0,0,.5)!important}
html body .pz__l.b .pz__fc svg{filter:none;opacity:1}
html body .pg.pg--orbit .pz__l.b .pz__i,html body .pg.pg--orbit .pz__l.b .pz__i.is-hot,html body .pg.pg--orbit .pz__l.f .pz__i{transition:scale .4s cubic-bezier(.16,1,.3,1),rotate .7s cubic-bezier(.65,0,.35,1)!important}
html body .pz__i,html body .pz__l.b .pz__i,html body .pz__i.is-hot,html body .pz__fc,html body .pz__bk{border-radius:0!important}
html body .pg.pg--orbit .pg__head{position:relative!important;z-index:30!important}
html body .pg.pg--orbit .pg__eye,html body .pg.pg--orbit .pg__h{text-align:left!important}
html body .pg.pg--orbit .pg__h{margin:0!important}
html body .pg.pg--orbit .pg__h .sw{text-align:left!important}
.pg[data-mode="global"] .pz__l.f{filter:blur(calc(14*var(--u)))!important;opacity:.45!important}
.pg[data-mode="global"] .pz__l.b{filter:blur(calc(20*var(--u)))!important;opacity:.3!important}
.pn__eye{opacity:0;transform:translate3d(0,10px,0);transition:opacity .8s ease,transform 1s cubic-bezier(.16,1,.3,1)}
.pn.is-in .pn__eye{opacity:1;transform:none}
.pn__switch{opacity:0;transition:opacity .8s ease .5s}
.pn.is-in .pn__switch{opacity:1}
.pn__ln.in{display:none!important}
.pn__wf{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}
.pn__wf path{fill:none;stroke:rgba(0,0,0,.15);stroke-width:1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke;transition:stroke .8s ease}
html.dark .pn__wf path{stroke:rgba(255,255,255,.16)}
.pg[data-mode="global"] .pn__wf path{stroke:rgba(52,87,186,.32)}
html.dark .pg[data-mode="global"] .pn__wf path{stroke:rgba(176,233,253,.3)}
.pn__h{top:calc(71*var(--u))!important}
.pn__b{top:var(--pnb)!important}
.pn__switch{top:calc(var(--pnb,calc(86*var(--u))) + 94*var(--u))!important;gap:0!important;padding:calc(2*var(--u));border:1px solid rgba(13,20,50,.14);border-radius:calc(9*var(--u));
  font:400 calc(13*var(--u))/1 var(--mono,"Geist Mono",monospace)!important;letter-spacing:.02em!important}
.pn__switch button{padding:calc(5*var(--u)) calc(8*var(--u))!important;border-radius:calc(7*var(--u));color:rgba(13,20,50,.3)!important;gap:0!important;transition:color .3s ease,background .35s cubic-bezier(.16,1,.3,1)!important}
.pn__switch button::before{display:none!important}
.pn__switch button[aria-pressed="true"]{background:#000;color:#fff!important}
.pn__switch button:not([aria-pressed="true"]):hover{color:rgba(13,20,50,.6)!important}
html.dark .pn__switch{border-color:rgba(242,241,238,.18)}
html.dark .pn__switch button{color:rgba(242,241,238,.4)!important}
html.dark .pn__switch button[aria-pressed="true"]{background:#F2F1EE;color:#000!important}
.pn__lg,.pg[data-mode="global"] .pn__lg{transition:none!important;opacity:var(--lo,1)!important;transform:scale(var(--lsc,1))!important;filter:blur(var(--lb,0px))!important}
.pn__c:hover .pn__lg{transform:scale(var(--lsc,1))!important}
.pn__dot{position:absolute;left:0;top:0;width:10px;height:10px;background:#000;pointer-events:none;z-index:4;opacity:0;will-change:transform,opacity}
html.dark .pn__dot{background:#F2F1EE}
.pn__switch button{width:calc(86*var(--u));justify-content:center;box-sizing:border-box;text-align:center}
.pn__wf{display:none!important}
.pn__ln.in{display:block!important;opacity:var(--lio,1)!important;transition:none!important}
.pg[data-mode="global"] .pn__ln.in{opacity:var(--lio,0)!important}
.pn__grid > .pg__globe,.pg[data-mode="global"] .pn__grid > .pg__globe{opacity:var(--go,0)!important;transition:none!important}
.pn__grid{--go:0}
.pn__lg,.pg[data-mode="global"] .pn__lg,.pn__c:hover .pn__lg{transform:translate3d(var(--tx,0px),var(--ty,0px),0) scale(var(--sx,1),var(--sy,1))!important;opacity:var(--lo,1)!important;filter:none!important;
  transition:none!important;will-change:transform,opacity;position:relative;z-index:3}
.pn__dot{display:none!important}
.pn__grid .og .locs,.pn__grid .og [class*="loc"]{opacity:var(--lc,0)!important}
.pn__eye{left:0!important}
.pn__h{left:0!important}
.pn__b{left:calc(805*var(--u))!important}
.pn__switch{left:calc(805*var(--u))!important;position:absolute}
.pn__switch{isolation:isolate}
.pn__switch::before{content:"";position:absolute;z-index:-1;top:calc(2*var(--u));bottom:calc(2*var(--u));left:calc(2*var(--u));width:calc(86*var(--u));border-radius:calc(7*var(--u));background:#000;
  transform:translateX(var(--pill,0px));transition:transform .5s cubic-bezier(.65,0,.35,1)}
html.dark .pn__switch::before{background:#F2F1EE}
.pn__switch[data-on="global"]::before{--pill:calc(86*var(--u))}
.pn__switch button,.pn__switch button[aria-pressed="true"]{background:transparent!important}
.pn__switch button[aria-pressed="true"]{color:#fff!important;transition:color .3s ease .12s!important}
html.dark .pn__switch button[aria-pressed="true"]{color:#000!important}
.pn__bits{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:4}
.pn .pn__c{position:relative;transition:background-color .35s ease}
.pn .pn__c::after{content:"";position:absolute;inset:1px;background:rgba(176,233,253,.16);opacity:0;transition:opacity .35s ease;pointer-events:none}
.pg[data-mode="partner"] .pn .pn__c:hover::after{opacity:1}
.pn .pn__c .pn__lg{translate:0 0;transition:translate .45s cubic-bezier(.16,1,.3,1)!important}
.pg[data-mode="partner"] .pn .pn__c:hover .pn__lg{translate:0 calc(-5*var(--u))}
html.dark .pn .pn__c::after{background:rgba(176,233,253,.06)}
.pn__cells{perspective:none}
.pn .pn__c{transform:translate3d(var(--ctx,0px),var(--cty,0px),0) perspective(calc(1800*var(--u))) rotateY(var(--ry,0rad)) rotateX(var(--rx,0rad)) scale(var(--csx,1),var(--csy,1));
  opacity:var(--co,1);will-change:transform,opacity;z-index:3}
.pn .pn__c::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:var(--pw,0);background:rgba(255,255,255,.94);
  box-shadow:inset 0 0 0 1px rgba(13,20,50,.16)}
html.dark .pn .pn__c::before{background:rgba(10,15,42,.94);box-shadow:inset 0 0 0 1px rgba(176,233,253,.2)}
.pn .pn__c > .pn__lg{position:relative;z-index:1}
.pn__lg.mk svg{width:calc(64*var(--u))!important;height:calc(38*var(--u))!important}
.pn__lg.mk[title="WooCommerce"] svg{width:calc(150*var(--u))!important;height:calc(33*var(--u))!important}
.pn .pn__c > .pn__lg{opacity:var(--lgo,1)!important}
.nx-sec{padding:calc(72*var(--u)) calc(164*var(--u)) calc(96*var(--u))}
.nx{position:relative;width:calc(1592*var(--u));margin:0 auto}
.nx__top{position:relative;height:calc(315*var(--u))}
.nx__eye{position:absolute;left:0;top:0;margin:0;font:400 calc(13*var(--u))/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:#0D1432}
.nx__h{position:absolute;left:0;top:calc(71*var(--u));margin:0;font:400 calc(56*var(--u))/1.1 var(--sans);letter-spacing:-.02em;width:calc(787*var(--u))}
.nx__b{position:absolute;left:calc(805*var(--u));top:calc(76*var(--u));margin:0;width:calc(362*var(--u));font:400 calc(18*var(--u))/1.2 var(--sans)}
.nx-sw{display:block}
.nx-sw + .nx-sw{position:absolute;left:0;top:0;width:100%}
.nx-sw .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.nx-sw .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)}
.nx-sw.on .w > i{transform:none}
.nx-sw:not(.on) .w > i{transform:translate3d(0,-110%,0);transition-duration:.5s;transition-delay:calc(var(--wd,0ms) * .4)}
.nx-sw:not(.on){pointer-events:none}
.nx__switch{position:absolute;left:calc(805*var(--u));top:calc(170*var(--u));display:flex;padding:calc(2*var(--u));border:1px solid rgba(13,20,50,.14);border-radius:calc(9*var(--u));isolation:isolate;
  font:400 calc(13*var(--u))/1 var(--mono);letter-spacing:.02em;text-transform:uppercase}
.nx__switch::before{content:"";position:absolute;z-index:-1;top:calc(2*var(--u));bottom:calc(2*var(--u));left:calc(2*var(--u));width:calc(86*var(--u));border-radius:calc(7*var(--u));background:#000;
  transform:translateX(0);transition:transform .5s cubic-bezier(.65,0,.35,1)}
.nx__switch[data-on="global"]::before{transform:translateX(calc(86*var(--u)))}
.nx__switch button{all:unset;cursor:pointer;width:calc(86*var(--u));padding:calc(5*var(--u)) 0;text-align:center;border-radius:calc(7*var(--u));color:rgba(13,20,50,.3);transition:color .3s ease .12s}
.nx__switch button[aria-pressed="true"]{color:#fff}
.nx__switch button:focus-visible{outline:1px solid var(--blue);outline-offset:3px}
.nx__grid{position:relative;height:calc(660*var(--u))}
.nx__ln{position:absolute;pointer-events:none;z-index:6}
.nx__ln.v{top:0;bottom:0;width:1px;background:repeating-linear-gradient(180deg,var(--line) 0 2px,transparent 2px 4px)}
.nx__ln.h{left:0;right:0;height:1px;background:repeating-linear-gradient(90deg,var(--line) 0 2px,transparent 2px 4px)}
.nx__px{position:absolute;width:6px;height:6px;margin:-2.5px 0 0 -2.5px;background:#000;z-index:7}
.nx__gl{position:absolute;inset:0;z-index:1}
.nx__gl canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.nx__gl.drag{cursor:grab}
.nx__gl.drag:active{cursor:grabbing}
.nx__loc{opacity:0;position:absolute;left:0;top:0;transform:translate(-50%,-50%);pointer-events:none;z-index:2;white-space:nowrap;font:400 calc(12*var(--u))/1 var(--mono);color:#0D1432}
.nx__loc i{position:absolute;left:50%;top:50%;width:calc(8*var(--u));height:calc(8*var(--u));margin:calc(-4*var(--u)) 0 0 calc(-4*var(--u));border-radius:50%;background:var(--blue);box-shadow:0 0 0 calc(5*var(--u)) rgba(52,87,186,.16)}
.nx__loc b{position:absolute;left:calc(12*var(--u));top:calc(-12*var(--u));font-weight:400;padding:calc(5*var(--u)) calc(8*var(--u));background:rgba(255,255,255,.94);border:1px solid rgba(13,20,50,.1)}
.nx__loc b em{font-style:normal;color:rgba(13,20,50,.5);margin-left:calc(6*var(--u))}
.nx__cells{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(4,1fr);z-index:3}
.nx__c{position:relative;display:grid;place-items:center;min-width:0}
.nx__c::before{content:"";position:absolute;inset:0;background:var(--paper);opacity:var(--cv,0);pointer-events:none}
.nx__c::after{content:"";position:absolute;inset:1px;background:rgba(176,233,253,.16);opacity:0;transition:opacity .35s ease;pointer-events:none}
.is-partner .nx__c:hover::after{opacity:1}
.nx__lg{will-change:transform;position:relative;display:inline-flex;align-items:center;gap:calc(10*var(--u));color:#000;opacity:var(--lo,1);translate:0 0;transition:translate .45s cubic-bezier(.16,1,.3,1)}
.is-partner .nx__c:hover .nx__lg{translate:0 calc(-5*var(--u))}
.nx__lg svg{width:calc(28*var(--u));height:calc(28*var(--u));flex:none;display:block}
.nx__lg svg *{fill:currentColor!important}
.nx__lg span{font:500 calc(23*var(--u))/1 var(--sans);letter-spacing:-.02em;white-space:nowrap}
.nx__lg.mk svg{width:calc(64*var(--u));height:calc(38*var(--u))}
.nx__lg.mk.woo svg{width:calc(150*var(--u));height:calc(33*var(--u))}
.nx__fx{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}
.nx__layer{position:absolute;inset:0;z-index:3;transform-origin:50% 50%}
.nx__halo{position:absolute;left:0;top:0;border-radius:50%;pointer-events:none;opacity:0;z-index:2;
  background:radial-gradient(circle,#fff 0,#fff 42%,rgba(255,255,255,.9) 52%,rgba(255,255,255,.55) 62%,rgba(255,255,255,.2) 68%,rgba(255,255,255,0) 72%);filter:blur(calc(28*var(--u)))}
#nx-grid[data-opt="5"] .nx__halo{z-index:8}
#nx-grid[data-opt="5"] .nx__gl{z-index:9}
#nx-grid[data-opt="5"] .nx__layer{z-index:10}
#nx-grid[data-opt="5"] .nx__fx{z-index:11}
html body .b30-main > section.pg.pg--v2,html body section.pg.pg--v2{padding:0!important}
.pg.pg--v2 > .pn{display:none!important}
.nx-sec{background:transparent}
html.dark .nx-sec{--ink:#F2F1EE;--paper:transparent;--line:rgba(255,255,255,.16);color:#F2F1EE}
html.dark .nx__eye{color:#B0E9FD}
html.dark .nx__switch{border-color:rgba(242,241,238,.18)}
html.dark .nx__switch::before{background:#F2F1EE}
html.dark .nx__switch button{color:rgba(242,241,238,.4)}
html.dark .nx__switch button[aria-pressed="true"]{color:#000}
html.dark .nx__px{background:#F2F1EE}
html.dark .nx__lg{color:#F2F1EE}
html.dark .nx__c::before{background:transparent}
html.dark .nx__c::after{background:rgba(176,233,253,.06)}
html.dark .nx__loc{color:#F2F1EE}
html.dark .nx__loc b{background:rgba(14,14,16,.92);border-color:rgba(255,255,255,.12)}
html.dark .nx__loc b em{color:rgba(242,241,238,.5)}
html.dark .nx__halo{background:radial-gradient(circle,rgba(7,10,26,1) 0,rgba(7,10,26,1) 42%,rgba(7,10,26,.9) 52%,rgba(7,10,26,.55) 62%,rgba(7,10,26,.2) 68%,rgba(7,10,26,0) 72%)}
@media (max-width:899px){.nx-sec{padding:64px 20px 80px}}
@media (max-width:899px){.nx{width:100%}}
@media (max-width:899px){.nx__top{height:auto;display:flex;flex-direction:column;gap:18px;padding-bottom:40px}}
@media (max-width:899px){.nx__eye,.nx__h,.nx__b,.nx__switch{position:relative;left:auto;top:auto;width:auto}}
@media (max-width:899px){.nx__h{font-size:34px}}
@media (max-width:899px){.nx__b{font-size:16px}}
@media (max-width:899px){.nx__grid{height:auto;aspect-ratio:3/5}}
@media (max-width:899px){.nx__cells{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(7,1fr)}}
@media (max-width:899px){.nx__lg svg{width:20px;height:20px}}
@media (max-width:899px){.nx__lg span{font-size:15px}}
@media (max-width:899px){.nx__ln.in{display:none}}
.nx__top{height:calc(342*var(--u))!important}
.pg.pg--v2 .pg__globe{display:none!important}
.nx-sec:not(.is-partner) .nx__layer,.nx-sec:not(.is-partner) .nx__cells{pointer-events:none}
#nx-grid[data-opt="5"] .nx__fx{pointer-events:none}
#nx-grid[data-opt="5"] #nx-fxs{z-index:8}
#nx-iris{stroke:rgba(13,20,50,.28)}
html.dark #nx-iris{stroke:rgba(242,241,238,.3)}
.nx__gl.drag{cursor:grab}
.nx__gl.drag:active{cursor:grabbing}
#nx-halo{filter:blur(calc(48*var(--u)))!important}
.nx-sec:not(.is-partner) .nx__loc{pointer-events:auto;cursor:pointer}
.nx__loc b{transition:background .25s ease,color .25s ease,border-color .25s ease}
.nx__loc:hover b,.nx__loc.is-on b{background:#0D1432;color:#fff;border-color:#0D1432}
.nx__loc:hover b em,.nx__loc.is-on b em{color:rgba(255,255,255,.6)}
.nx__loc:focus-visible{outline:none}
.nx__loc:focus-visible b{outline:1px solid #3457BA;outline-offset:2px}
.nx__card{position:absolute;z-index:12;box-sizing:border-box;padding:calc(26*var(--u)) calc(28*var(--u));background:#fff;pointer-events:none;
  font:400 calc(16*var(--u))/1.35 var(--mono,"Geist Mono",monospace);letter-spacing:.02em;color:#000;opacity:0;transition:opacity .25s ease;
  background-image:repeating-linear-gradient(90deg,rgba(0,0,0,.28) 0 2px,transparent 2px 4px),repeating-linear-gradient(90deg,rgba(0,0,0,.28) 0 2px,transparent 2px 4px),
    repeating-linear-gradient(180deg,rgba(0,0,0,.28) 0 2px,transparent 2px 4px),repeating-linear-gradient(180deg,rgba(0,0,0,.28) 0 2px,transparent 2px 4px);
  background-size:100% 1px,100% 1px,1px 100%,1px 100%;background-position:0 0,0 100%,0 0,100% 0;background-repeat:no-repeat}
.nx__card.on{opacity:1}
.nx__card b{position:absolute;font-weight:400;white-space:pre}
.nx__card .c1{left:calc(28*var(--u));top:calc(26*var(--u))}
.nx__card .c2{left:calc(28*var(--u));top:calc(26*var(--u) + 1.35em)}
.nx__card .c3{right:calc(28*var(--u));top:calc(26*var(--u))}
.nx__card .c4{left:calc(28*var(--u));bottom:calc(24*var(--u))}
html.dark .nx__card{background-color:#070a1a;color:#F2F1EE;
  background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.3) 0 2px,transparent 2px 4px),repeating-linear-gradient(90deg,rgba(255,255,255,.3) 0 2px,transparent 2px 4px),
    repeating-linear-gradient(180deg,rgba(255,255,255,.3) 0 2px,transparent 2px 4px),repeating-linear-gradient(180deg,rgba(255,255,255,.3) 0 2px,transparent 2px 4px)}
html.dark .nx__loc:hover b,html.dark .nx__loc.is-on b{background:#F2F1EE;color:#000;border-color:#F2F1EE}
html.dark .nx__loc:hover b em,html.dark .nx__loc.is-on b em{color:rgba(0,0,0,.55)}
.nl{padding:calc(120*var(--u)) 0 calc(160*var(--u));--line:rgba(0,0,0,.15);--sans:"BDO Grotesk",ui-sans-serif,system-ui,sans-serif;--mono:"Geist Mono",ui-monospace,monospace;color:#000}
.nl__in{position:relative;width:calc(1592*var(--u));margin:0 auto}
.nl__top{position:relative;padding-bottom:calc(72*var(--u))}
.nl__eye{margin:0;font:400 calc(13*var(--u))/1 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:#0D1432}
.nl__row1{display:flex;align-items:flex-end;gap:calc(220*var(--u));margin-top:calc(54*var(--u))}
.nl__h{margin:0;font:400 calc(56*var(--u))/1.1 var(--sans);letter-spacing:-.02em;flex:none}
.nl__b{margin:0 0 calc(4*var(--u));width:calc(362*var(--u));font:400 calc(18*var(--u))/1.2 var(--sans)}
.nl .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.nl .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)}
.nl .is-in .w > i{transform:none}
.nl__list{list-style:none;margin:0;padding:0;border-top:1px solid transparent;background:repeating-linear-gradient(90deg,var(--line) 0 2px,transparent 2px 4px) 0 0/100% 1px no-repeat}
.nl__row{position:relative;height:calc(75*var(--u));overflow:hidden;cursor:default;
  background:repeating-linear-gradient(90deg,var(--line) 0 2px,transparent 2px 4px) 0 100%/100% 1px no-repeat}
.nl__row::before{content:"";position:absolute;inset:0 0 1px;background:var(--c);transform:scaleY(0);transform-origin:50% 100%;transition:transform .55s cubic-bezier(.65,0,.35,1)}
.nl__row .nl__wrap{position:relative;width:calc(1592*var(--u));height:100%;margin:0 auto}
.nl__d{position:absolute;left:0;top:50%;margin:0;overflow:hidden;font:400 calc(16*var(--u))/1.2 var(--sans);letter-spacing:-.01em;white-space:nowrap}
.nl__d span{display:block;transform:translate3d(0,120%,0);transition:transform .55s cubic-bezier(.65,0,.35,1),color .3s ease;color:var(--k)}
.nl__lg{position:absolute;left:var(--bx,calc(669*var(--u)));top:50%;display:flex;align-items:center;gap:calc(10*var(--u));transform:translateY(-50%);color:#000;transition:color .35s cubic-bezier(.65,0,.35,1) .05s}
.nl__d{transform:translateY(-50%)}
.nl__lg svg{width:calc(25*var(--u));height:calc(25*var(--u));flex:none;display:block}
.nl__lg svg *{fill:currentColor!important}
.nl__lg b{font:400 calc(22*var(--u))/1 var(--sans);letter-spacing:-.02em}
.nl__lg.mk svg{width:auto;height:calc(26*var(--u))}
.nl__lg.woo svg{height:calc(24*var(--u))}
.nl__row:hover::before,.nl__row:focus-within::before{transform:scaleY(1)}
.nl__row:hover .nl__lg,.nl__row:focus-within .nl__lg{color:var(--k)}
.nl__row:hover .nl__d span,.nl__row:focus-within .nl__d span{transform:none;transition-delay:.08s}
.nl__row a{position:absolute;inset:0;z-index:2}
.nl__row a:focus-visible{outline:none}
.nl .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (prefers-reduced-motion:reduce){.nl__row::before,.nl__d span,.nl__lg,.nl .w > i{transition-duration:1ms!important}}
@media (max-width:899px){.nl__in,.nl__row .nl__wrap{width:calc(100% - 40px)}}
@media (max-width:899px){.nl__row1{flex-direction:column;align-items:flex-start;gap:18px;margin-top:18px}}
@media (max-width:899px){.nl__top{padding-bottom:40px}}
@media (max-width:899px){.nl__eye,.nl__h,.nl__b{position:relative;left:auto;top:auto;width:auto}}
@media (max-width:899px){.nl__h{font-size:34px}}
@media (max-width:899px){.nl__b{font-size:16px}}
@media (max-width:899px){.nl__row{height:64px}}
@media (max-width:899px){.nl__lg{left:0}}
@media (max-width:899px){.nl__d{left:auto;right:0;font-size:13px;max-width:55%;white-space:normal;text-align:right}}
@media (max-width:899px){.nl__lg b{font-size:18px}}
@media (max-width:899px){.nl__lg svg{width:20px;height:20px}}
.pg.pg--v2 #nx-net{display:none!important}
html.dark .nl{--line:rgba(255,255,255,.16);color:#F2F1EE}
html.dark .nl__eye{color:#B0E9FD}
html.dark .nl__lg{color:#F2F1EE}
.pg.pg--v2 #nx-net{display:block!important}
.pg.pg--v2 .nl{display:none!important}
.nx__cells{grid-template-columns:repeat(5,1fr)!important}
.nx__lg{gap:calc(8*var(--u))!important}
.nx__lg svg{width:calc(22*var(--u))!important;height:calc(22*var(--u))!important}
.nx__lg span{font-size:calc(18*var(--u))!important}
.nx__lg.mk svg{width:calc(54*var(--u))!important;height:calc(32*var(--u))!important}
.nx__lg.mk.woo svg,.nx__lg.woo svg{width:calc(124*var(--u))!important;height:calc(27*var(--u))!important}
.nx__c.is-empty::after{display:none}
.nx__card{padding:calc(16*var(--u)) calc(18*var(--u))!important;font-size:calc(13*var(--u))!important}
.nx__card .c1,.nx__card .c2,.nx__card .c4{left:calc(18*var(--u))!important}
.nx__card .c1,.nx__card .c3{top:calc(16*var(--u))!important}
.nx__card .c2{top:calc(16*var(--u) + 1.35em)!important}
.nx__card .c3{right:calc(18*var(--u))!important}
.nx__card .c4{bottom:calc(16*var(--u))!important}
@media (max-width:899px){.nx__cells{grid-template-columns:repeat(4,1fr)!important;grid-template-rows:repeat(7,1fr)!important}}
@media (max-width:899px){.nx__c.is-empty{display:none}}
.nx-sec.is-partner .nx__c::after{inset:1px 0 0 1px!important;background:var(--c,#3457BA)!important;opacity:1!important;transform:scaleY(0);transform-origin:50% 100%;
  transition:transform .55s cubic-bezier(.65,0,.35,1)!important}
.nx-sec.is-partner .nx__c:hover::after{transform:scaleY(1)}
.nx-sec .nx__c.is-empty::after{display:none!important}
.nx__lg{z-index:1;transition:translate .45s cubic-bezier(.16,1,.3,1),color .35s cubic-bezier(.65,0,.35,1) .05s!important}
.nx-sec.is-partner .nx__c:hover .nx__lg{color:var(--k,#fff)!important}
.nx-sec:not(.is-partner) .nx__c::after{transform:scaleY(0)!important}
.nx-sec,section.pg{overflow-x:clip}
.nx__cells{display:block!important}
.nx__track{position:absolute;left:0;width:400%;height:25%;display:flex;will-change:transform}
.nx__track > .nx__c{flex:0 0 5%;height:100%;background:repeating-linear-gradient(180deg,var(--line,rgba(0,0,0,.15)) 0 2px,transparent 2px 4px) 100% 0/1px 100% no-repeat}
.nx__track > .nx__c::before{display:none}
.nx__grid .nx__ln.v{display:none!important}
.nx__grid .nx__ln.h{left:calc(50% - 50vw)!important;right:auto!important;width:100vw!important}
.nx__grid .nx__px{display:none!important}
.nx-sec.is-partner .nx__c::after,.nx-sec .nx__c::after{display:none!important}
.nx-sec.is-partner .nx__c:hover .nx__lg{color:inherit!important}
.nx__pix{position:absolute;top:0;left:calc(50% - 50vw);width:100vw;height:100%;z-index:12;pointer-events:none;image-rendering:pixelated}
.nx__track > .nx__c{background:none!important}
.nx__grid .nx__ln.v{display:block!important;opacity:var(--vg,0)!important;transition:none!important}
.nx__grid .nx__ln.v:not(.in){opacity:var(--vg,0)!important}
#nx-halo{background:radial-gradient(circle,#fff 0,#fff 66%,rgba(255,255,255,.85) 74%,rgba(255,255,255,.4) 82%,rgba(255,255,255,0) 90%)!important;filter:blur(calc(14*var(--u)))!important}
html.dark #nx-halo{background:radial-gradient(circle,rgba(7,10,26,1) 0,rgba(7,10,26,1) 66%,rgba(7,10,26,.85) 74%,rgba(7,10,26,.4) 82%,rgba(7,10,26,0) 90%)!important}
.nx__track > .nx__c::before{content:""!important;display:block!important;position:absolute;inset:0 0 0 auto!important;width:1px;opacity:calc(1 - var(--vg,0))!important;
  background:repeating-linear-gradient(180deg,var(--line,rgba(0,0,0,.15)) 0 2px,transparent 2px 4px)!important;pointer-events:none}
html.dark .nx__track > .nx__c::before{background:repeating-linear-gradient(180deg,rgba(255,255,255,.16) 0 2px,transparent 2px 4px)!important}
.nx__dots{position:absolute;top:0;left:calc(50% - 50vw);width:100vw;height:100%;z-index:12;pointer-events:none}
.nx__dot{position:absolute;left:0;top:0;width:calc(8*var(--u));height:calc(8*var(--u));min-width:6px;min-height:6px;border-radius:50%;background:#000;will-change:transform;transform:scale(0)}
html.dark .nx__dot{background:#F2F1EE}
.nx__lg{will-change:clip-path}
.nx__loc.pulse i{animation:nxPulse .7s cubic-bezier(.16,1,.3,1)}
.nx__dot{border-radius:0!important;min-width:0!important;min-height:0!important;transform:none;opacity:0}
.nx__b{left:auto!important;right:0;text-align:right}
.nx__switch{left:auto!important;right:0}
@media (max-width:899px){.nx__b{text-align:left}}
@media (max-width:899px){.nx__switch{right:auto}}
.nx__top{height:calc(404*var(--u))!important}
.nx__b{left:calc(805*var(--u))!important;right:auto!important;text-align:left!important;width:calc(470*var(--u))!important;top:calc(76*var(--u))!important}
.nx__switch{left:calc(805*var(--u))!important;right:auto!important;top:calc(76*var(--u) + 104*var(--u))!important;height:calc(28*var(--u));box-sizing:border-box;align-items:stretch;padding:calc(2*var(--u))!important}
.nx__switch button{padding:0!important;display:flex!important;align-items:center;justify-content:center;height:100%}
.nx__switch::before{top:calc(2*var(--u))!important;bottom:calc(2*var(--u))!important}
@media (max-width:899px){.nx__top{height:auto!important}}
@media (max-width:899px){.nx__b,.nx__switch{left:auto!important;top:auto!important;width:auto!important}}
.nx__switch{height:calc(32*var(--u))!important;top:calc(var(--swb,256*var(--u)) - 32*var(--u))!important;font-size:calc(14*var(--u))!important}
.nx__switch button{width:calc(96*var(--u))!important}
.nx__switch::before{width:calc(96*var(--u))!important}
.nx__switch[data-on="global"]::before{transform:translateX(calc(96*var(--u)))!important}
.nx-sec{padding-top:calc(168*var(--u))!important}
@media (max-width:899px){.nx-sec{padding-top:64px!important}}
.nx__top{height:calc(372*var(--u))!important}
@media (min-width:900px){.nx__cells{overflow:hidden!important}}
@media (min-width:900px){.nx__grid .nx__ln.h.in{left:0!important;right:0!important;width:auto!important}}
@media (min-width:900px){.nx__grid .nx__ln.v:not(.in){opacity:1!important}}
@media (min-width:900px){.nx__grid .nx__px{display:block!important}}
#nx-grid[data-opt="7"] .nx__c .nx__lg{opacity:var(--lo,1)!important;transition:translate .45s cubic-bezier(.16,1,.3,1)!important}
.nx__dots7{position:absolute;top:0;height:100%;pointer-events:none;z-index:8;display:block}
#nx-grid[data-opt="7"] .nx__gl{z-index:7}
#nx-grid[data-opt="7"] .nx__halo{z-index:6}
#nx-grid[data-opt="7"] .nx__ln{z-index:5}
#nx-grid[data-opt="7"] .nx__track > .nx__c::before{display:block!important;content:""!important;position:absolute;inset:0 0 0 auto!important;width:1px;opacity:var(--cl,1)!important;pointer-events:none;
  background:repeating-linear-gradient(180deg,var(--line,rgba(0,0,0,.15)) 0 2px,transparent 2px 4px)!important}
.nx__vfix{position:absolute;top:0;bottom:0;pointer-events:none;z-index:5;opacity:0}
.nx__vfix i{position:absolute;top:0;bottom:0;width:1px;background:repeating-linear-gradient(180deg,var(--line,rgba(0,0,0,.15)) 0 2px,transparent 2px 4px)}
html.dark .nx__vfix i,html.dark #nx-grid[data-opt="7"] .nx__track > .nx__c::before{--line:rgba(255,255,255,.16)}
#nx-grid[data-opt="7"] .nx__ln.v.in{opacity:0!important}
.nx-sec{padding-top:calc(267*var(--u))!important}
@media (max-width:899px){.nx-sec{padding-top:64px!important}}
#nx-grid[data-opt="7"] .nx__gl{transition:none!important}
.nx__switch{border:0!important;padding:0!important;gap:calc(8*var(--u))!important;height:auto!important;isolation:auto}
.nx__switch::before{display:none!important}
.nx__switch button{width:auto!important;height:calc(32*var(--u));padding:0 calc(12*var(--u))!important;box-sizing:border-box;border-radius:calc(8*var(--u));
  border:1px solid rgba(13,20,50,.14)!important;background:#fff!important;color:rgba(13,20,50,.45)!important;transition:color .2s ease,background-color .2s ease,border-color .2s ease!important}
.nx__switch button:hover{color:#000!important}
.nx__switch button[aria-pressed="true"]{background:#000!important;border-color:#000!important;color:#fff!important}
.nx__switch button{width:calc(96*var(--u))!important;padding:0!important;justify-content:center!important;text-align:center}
#nx-grid[data-opt="10"] .nx__cells,#nx-grid[data-opt="10"] .nx__dots,#nx-grid[data-opt="10"] .nx__dots7,#nx-grid[data-opt="10"] .nx__vfix{display:none!important}
#nx-grid[data-opt="10"] .nx__gl{z-index:2}
#nx-grid[data-opt="10"] .nx__halo{z-index:1}
.nx-orbit{position:absolute;inset:0;z-index:3;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 16%,#000 84%,transparent 100%)}
.nx-orbit::before,.nx-orbit::after{content:"";position:absolute;top:0;bottom:0;width:22%;z-index:2;pointer-events:none;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.nx-orbit::before{left:0;-webkit-mask-image:linear-gradient(90deg,#000,transparent);mask-image:linear-gradient(90deg,#000,transparent)}
.nx-orbit::after{right:0;-webkit-mask-image:linear-gradient(270deg,#000,transparent);mask-image:linear-gradient(270deg,#000,transparent)}
.nx-orbit__g{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.nx-orbit__g circle{fill:none;stroke:rgba(0,0,0,.15);stroke-width:1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}
.nx-orbit__t{position:absolute;left:0;top:0;width:calc(196*var(--u));height:calc(76*var(--u));box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:calc(8*var(--u));
  background:#fff;border:1px dashed rgba(0,0,0,.18);color:#000;will-change:transform}
.nx-orbit__t svg{width:calc(22*var(--u));height:calc(22*var(--u));flex:none;display:block}
.nx-orbit__t svg *{fill:currentColor!important}
.nx-orbit__t span{font:400 calc(18*var(--u))/1 var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.02em;white-space:nowrap}
.nx-orbit__t.mk svg{width:auto;height:calc(30*var(--u))}
.nx-orbit__t.woo svg{height:calc(24*var(--u))}
.nx-orbit .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.nx-orbit .gd circle{fill:none;stroke:rgba(0,0,0,.18);stroke-width:1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}
.nx-orbit .dv{stroke:rgba(0,0,0,.18);stroke-width:1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}
.nx-orbit .nm{font:400 calc(18*var(--u)) var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.02em;fill:#000;dominant-baseline:middle}
.nx-orbit .mk svg *{fill:#000}
.nx-orbit .nx-orbit__t{display:none}
#nx-grid[data-opt="10"] .nx__ln{z-index:5}
#nx-grid[data-opt="10"] .nx__halo{z-index:6!important}
#nx-grid[data-opt="10"] .nx__gl{z-index:7!important}
#nx-grid[data-opt="10"] .nx-orbit{z-index:8}
.nx-orbit__t{display:none}
.nx-orbit__g .edge{fill:none;stroke:rgba(0,0,0,.15);stroke-width:1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}
.nx-orbit__g .sep{stroke:rgba(0,0,0,.15);stroke-width:1;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}
.nx-orbit__g .ring{fill:#000}
.nx-orbit__g .ring path{fill:#000}
.nx-orbit__g .nm{font:400 calc(18*var(--u)) "BDO Grotesk",sans-serif;letter-spacing:-.02em;fill:#000;dominant-baseline:middle}
.nx-orbit__g circle:not(.edge){display:none}
#nx-grid[data-opt="10"] .nx__halo{z-index:7!important}
#nx-grid[data-opt="10"] .nx__gl{z-index:8!important}
#nx-grid[data-opt="10"] .nx-orbit{z-index:9}
.nx-orbit__g .sep{stroke-linecap:butt}
.nx-orbit{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%)!important;mask-image:linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%)!important}
.nx-orbit{-webkit-mask-image:none!important;mask-image:none!important}
.nx-orbit::before,.nx-orbit::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;-webkit-mask-image:none!important;mask-image:none!important;width:20%!important;z-index:3}
.nx-orbit::before{background:linear-gradient(90deg,#fff 8%,rgba(255,255,255,0))}
.nx-orbit::after{background:linear-gradient(270deg,#fff 8%,rgba(255,255,255,0))}
#nx-grid[data-opt="10"] .nx-orbit{z-index:4!important;cursor:grab;touch-action:pan-y}
#nx-grid[data-opt="10"] .nx-orbit.is-drag{cursor:grabbing}
#nx-grid[data-opt="10"] .nx__ln,#nx-grid[data-opt="10"] .nx__px{z-index:6!important}
.nx-orbit::before{left:1px!important}
.nx-orbit::after{right:1px!important}
.nx-orbit__g{user-select:none;-webkit-user-select:none}
#nx-grid[data-opt="10"] .nx-orbit{cursor:default}
#nx-grid[data-opt="10"] .nx-orbit.can-grab{cursor:grab}
#nx-grid[data-opt="10"] .nx-orbit.is-drag{cursor:grabbing}
.nx__switch button:focus:not(:focus-visible),.b30btn:focus:not(:focus-visible),.vs-os button:focus:not(:focus-visible){outline:none!important;box-shadow:none}
#nx-grid[data-opt="10"] .nx__halo{z-index:7!important}
#nx-grid[data-opt="10"] .nx-orbit{z-index:8!important}
#nx-grid[data-opt="10"] .nx__gl{z-index:9!important}
#nx-grid[data-opt="10"] .nx__ln:not(.in),#nx-grid[data-opt="10"] .nx__px{z-index:10!important}
@media (min-width:900px){.nx__b{left:auto!important;right:0!important;text-align:right!important}}
@media (min-width:900px){.nx__grid{height:calc(824*var(--u))!important}}
@media (min-width:900px){#nx-grid > .nx__switch{position:absolute!important;left:calc(40*var(--u))!important;right:calc(40*var(--u))!important;top:calc(40*var(--u))!important;width:auto!important;
    display:flex!important;justify-content:space-between!important;z-index:12!important;pointer-events:none}}
@media (min-width:900px){#nx-grid > .nx__switch button{pointer-events:auto}}
#nx-grid[data-opt="10"] .nx-orbit__g .nm{font-size:calc(21*var(--u))!important}
@media (min-width:900px){#nx-grid > .nx__switch{left:calc(32*var(--u))!important;right:calc(32*var(--u))!important;top:calc(32*var(--u))!important}}
.nx-orbit::before,.nx-orbit::after{display:none!important}
@media (min-width:900px){.nx__b{width:calc(422*var(--u))!important}}
.nx__h .nx-sw .w > i{transition:transform 1.25s cubic-bezier(.16,1,.3,1) var(--wd,0ms)!important}
.nx__b .nx-sw .w > i{transform:none!important;transition:none!important}
.nx__b .nx-sw{opacity:0;transform:translate3d(0,18px,0);transition:opacity 1s var(--ease-out,cubic-bezier(.16,1,.3,1)) 120ms,transform 1.2s var(--ease-out,cubic-bezier(.16,1,.3,1)) 120ms}
.nx__b .nx-sw.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.nx__b .nx-sw{opacity:1;transform:none;transition:none}}
.nx-sec:not(.is-seen) .nx__h .nx-sw .w > i{transform:translate3d(0,110%,0)!important}
.nx-sec:not(.is-seen) .nx__b .nx-sw{opacity:0!important;transform:translate3d(0,18px,0)!important}
.nx-sec:not(.is-seen) .nx__eye{opacity:0;transform:translate3d(0,18px,0)}
.nx__eye{transition:opacity 1s var(--ease-out,cubic-bezier(.16,1,.3,1)),transform 1.2s var(--ease-out,cubic-bezier(.16,1,.3,1))}
@media (prefers-reduced-motion:reduce){.nx-sec .nx__h .nx-sw .w > i,.nx-sec .nx__b .nx-sw,.nx-sec .nx__eye{transform:none!important;opacity:1!important}}
.nx__h .nx-sw .w > i{transition:transform 1.45s cubic-bezier(.16,1,.3,1) calc(var(--wd,0ms) * 50 / 42)!important}
.nx__b .nx-sw{transition:opacity 1.2s cubic-bezier(.16,1,.3,1) 120ms,transform 1.4s cubic-bezier(.16,1,.3,1) 120ms!important}
.nx__eye{transition:opacity 1.2s cubic-bezier(.16,1,.3,1),transform 1.4s cubic-bezier(.16,1,.3,1)!important}
.nx-orbit .nx-edge{position:absolute;top:0;bottom:0;width:26%;pointer-events:none;z-index:20}
.nx-orbit .nx-edge i{display:none}
.nx-orbit .nx-edge.l{left:0;background:linear-gradient(90deg,#fff 0,#fff 9%,rgba(255,255,255,.88) 30%,rgba(255,255,255,.5) 58%,rgba(255,255,255,0) 100%)}
.nx-orbit .nx-edge.r{right:0;background:linear-gradient(270deg,#fff 0,#fff 9%,rgba(255,255,255,.88) 30%,rgba(255,255,255,.5) 58%,rgba(255,255,255,0) 100%)}
@media (max-width:899px){.nx-orbit .nx-edge{width:18%}}
.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}
/* rules shared by several sections (buttons etc.) */
@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 100 px under the
   section above it with 100 px from its button to the steps below — on every page Ahmad is a good boy*/
@media (min-width:900px){
  html body .b30-main > section.cta3:not(#_z):not(#_y),html body section.cta3:not(#_z):not(#_y){margin-top:255px!important;padding-bottom:70px!important}
  /* the testimonials end right where their content ends when the call to action follows (no extra air above it) */
  html body section.ts:has(+ section.cta3):not(#_z):not(#_y){padding-bottom:0!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}
/* dark-theme overrides shared by several sections (last) */
/* Homepage — the latest design pass (index.html, 30 Oct): Our network re-laid (simple grid ⇄ globe, the switch
   pill, rings out to the frame), smoother word / text entrances, more space after the testimonials.
   Loaded after the section styles, before the phone layer (src/styles/pages/home.css). */
/* ===== Our network: the simple grid ⇄ the globe (no rings) ===== */
#nx-grid[data-opt="11"] .nx-orbit,#nx-grid[data-opt="11"] .nx__fx{display:none!important}
#nx-grid[data-opt="11"] .nx__gl{will-change:transform,filter;z-index:4!important}
/* the orbit, refined: no blur at the sides (the rings simply fade out over the last few percent of the frame), crisp
   marks and names, and a soft highlight on the box under the cursor */
.nx-orbit::before,.nx-orbit::after{display:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
html body #nx-grid[data-opt="10"] .nx-orbit{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)!important;
  mask-image:linear-gradient(90deg,transparent 0,#000 7%,#000 93%,transparent 100%)!important}
html body .nx-orbit .nx-edge{display:none!important}
/* ===== Our network — the grid, logos only (option 11): no cell rules, row rules or labels; the logos drift in their rows ===== */
#nx-grid[data-opt="11"] .nx__track > .nx__c::before,#nx-grid[data-opt="11"] .nx__track > .nx__c::after{display:none!important}
#nx-grid[data-opt="11"] .nx__c .nx__no,#nx-grid[data-opt="11"] .nx__c .nx__ty{display:none!important}
#nx-grid[data-opt="11"] .nx__track > .nx__c:hover{background-color:transparent!important}
#nx-grid[data-opt="11"] .nx__ln.h.in{transition:none}
.nx-sec.is-partner #nx-grid[data-opt="11"] .nx__track{cursor:grab}
.nx-sec.is-partner #nx-grid[data-opt="11"] .nx__track.is-drag{cursor:grabbing}
/* ===== Our network — the constellation (option 12) ===== */
#nx-grid[data-opt="12"] .nx__layer,#nx-grid[data-opt="12"] .nx-orbit,#nx-grid[data-opt="12"] .nx__fx{display:none!important}
#nx-grid[data-opt="12"] .nx__gl{z-index:4!important;transform-origin:50% 50%}
#nx-grid:not([data-opt="12"]) .nxn{display:none}
.nxn{position:absolute;inset:0;z-index:6;pointer-events:none}
.nxn__ln{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.nxn__ln line{stroke:rgba(13,20,50,.17);stroke-width:1;stroke-dasharray:2 3;vector-effect:non-scaling-stroke;transition:stroke .3s ease}
.nxn__ln line.hot{stroke:#3457BA;stroke-dasharray:5 5;animation:nxn-flow .9s linear infinite}
@keyframes nxn-flow{to{stroke-dashoffset:20}}
.nxn__c{position:absolute;left:0;top:0;z-index:2;pointer-events:auto;display:inline-flex;align-items:center;gap:calc(10*var(--u));box-sizing:border-box;
  padding:calc(12*var(--u)) calc(18*var(--u));background:#fff;border:1px solid rgba(13,20,50,.12);border-radius:calc(10*var(--u));
  font:500 calc(19*var(--u))/1 var(--sans,"BDO Grotesk",sans-serif);letter-spacing:-.02em;color:#0D1432;white-space:nowrap;cursor:grab;
  -webkit-user-select:none;user-select:none;touch-action:none;transform-origin:50% 50%;will-change:transform,opacity;
  transition:border-color .3s ease,box-shadow .3s ease,color .3s ease;outline:none}
.nxn__c svg{width:calc(24*var(--u));height:calc(24*var(--u));flex:none;display:block}
.nxn__c svg *{fill:currentColor!important}
.nxn__c.mk svg{width:calc(52*var(--u));height:calc(26*var(--u))}
.nxn__c.woo svg{width:calc(112*var(--u));height:calc(24*var(--u))}
.nxn__c em{position:absolute;left:50%;top:calc(100% + 9*var(--u));transform:translate(-50%,-4px);font:400 calc(11*var(--u))/1 var(--mono,"Geist Mono",ui-monospace,monospace);
  letter-spacing:.06em;text-transform:uppercase;font-style:normal;color:#3457BA;opacity:0;transition:opacity .25s ease,transform .25s ease;white-space:nowrap;pointer-events:none}
.nxn__c.is-hot{border-color:#0D1432;box-shadow:0 10px 28px -14px rgba(13,20,50,.45);z-index:3}
.nxn__c.is-hot em{opacity:1;transform:translate(-50%,0)}
.nxn__c.is-drag{cursor:grabbing}
.nxn__c:focus-visible{border-color:#3457BA}
.nxn__hub{position:absolute;left:50%;top:50%;z-index:1;transform:translate(-50%,-50%);display:flex;align-items:center;gap:calc(10*var(--u));
  padding:calc(13*var(--u)) calc(20*var(--u));background:#000;color:#fff;border-radius:calc(10*var(--u));
  font:400 calc(13*var(--u))/1 var(--mono,"Geist Mono",ui-monospace,monospace);letter-spacing:.1em;text-transform:uppercase;pointer-events:none}
.nxn__hub b{font-weight:400}
.nxn__hub i{width:calc(8*var(--u));height:calc(8*var(--u));background:#B0E9FD;display:block;animation:nxn-blink 2.4s steps(2,jump-none) infinite}
.nxn__hub::before{content:"";position:absolute;inset:calc(-16*var(--u));border:1px dashed rgba(13,20,50,.22);border-radius:calc(18*var(--u));animation:nxn-ping 3.2s ease-out infinite;pointer-events:none}
@keyframes nxn-ping{0%{opacity:.9;transform:scale(.92)}70%,100%{opacity:0;transform:scale(1.25)}}
@keyframes nxn-blink{50%{background:#3457BA}}
@media (prefers-reduced-motion:reduce){.nxn__hub::before,.nxn__hub i,.nxn__ln line.hot{animation:none}}
html.dark .nxn__c{background:#000;color:#F2F1EE;border-color:rgba(242,241,238,.18)}
/* ===== Our network — Partners: a still, numbered index of the partners in the site's dashed grid (what each is for in
   the corner); hovering a cell lights it. Global: the logos break into their own pixels, which fly in and become the
   globe (the site's pixel language), and the globe turns on with its cities. ===== */
.nx__c .nx__no,.nx__c .nx__ty{position:absolute;z-index:2;font:400 calc(12*var(--u))/1 var(--mono,"Geist Mono",ui-monospace,monospace);
  letter-spacing:.06em;text-transform:uppercase;font-style:normal;color:rgba(13,20,50,.36);opacity:var(--cl,1);pointer-events:none;transition:color .3s ease}
.nx__c .nx__no{left:calc(20*var(--u));top:calc(18*var(--u))}
.nx__c .nx__ty{left:calc(20*var(--u));bottom:calc(18*var(--u))}
html body .nx-sec.is-partner .nx__track > .nx__c{transition:background-color .35s ease}
html body .nx-sec.is-partner .nx__track > .nx__c:hover{background-color:rgba(176,233,253,.22)!important}
.nx-sec.is-partner .nx__c:hover .nx__no,.nx-sec.is-partner .nx__c:hover .nx__ty{color:#0D1432}
html.dark .nx__c .nx__no,html.dark .nx__c .nx__ty{color:rgba(242,241,238,.4)}   /* (the white wash over the sides is gone: the logos stay crisp to the edge) */
#nx-grid .nx-orbit__g path.cell{fill:rgba(176,233,253,0)!important;stroke:none!important;transition:fill .35s ease;pointer-events:all}
#nx-grid .nx-orbit__g path.cell:hover{fill:rgba(176,233,253,.28)!important}
#nx-grid .nx-orbit.is-drag .nx-orbit__g path.cell:hover{fill:rgba(176,233,253,0)!important}
.nx-orbit__g .nm{fill:#0D1432}
.nx-orbit__g .ring > g{pointer-events:none}
.nx-orbit__g .nm{pointer-events:none}
.nx-sec.is-partner .nx__track{cursor:default}
.nx-sec.is-partner .nx__track.is-drag{cursor:grabbing}
.nx__track.is-drag,.nx__track.is-drag *{-webkit-user-select:none;user-select:none}
@media (min-width:900px){
  .nx-sec .nx__top .nx__switch{left:auto!important;right:0!important;width:auto!important;
    top:calc(76*var(--u) + 3 * 1.2 * 18*var(--u) + 32*var(--u))!important}
  /* spacing, now the section sits under the testimonials and the moving words below it are gone: 240 from the
     testimonials to "Our network", 240-ish from the grid to "Let's talk" */
  html body .nx-sec{padding-top:calc(120*var(--u))!important;padding-bottom:0!important}
}
/* phones: the header stacks (eyebrow, heading, body, then the switch); the partner rows show two and a half cells at a
   time and drift; the globe is larger, and an office opens in the bottom row, full width */
@media (max-width:899px){
  .nx-sec .nx__top{height:auto!important;padding-bottom:32px!important}
  .nx-sec .nx__top .nx__eye{font-size:11px!important;height:auto!important}
  .nx-sec .nx__top .nx__switch{position:relative!important;top:auto!important;left:auto!important;right:auto!important;
    height:auto!important;display:flex!important;gap:8px!important;margin-top:4px;font-size:11px!important}
  .nx-sec .nx__top .nx__switch button{width:96px!important;height:30px!important}
  .nx-sec .nx__track{width:1000%!important}
  .nx-sec .nx__lg{gap:8px!important}
  .nxn__c{font-size:11px;padding:7px 10px;gap:6px;border-radius:7px}
  .nxn__c svg{width:13px;height:13px}.nxn__c.mk svg{width:30px;height:15px}.nxn__c.woo svg{width:62px;height:14px}
  .nxn__c em{font-size:8.5px;top:calc(100% + 5px)}
  .nxn__hub{font-size:9px;padding:9px 12px;gap:7px;border-radius:7px}.nxn__hub i{width:6px;height:6px}
  .nx__c .nx__no,.nx__c .nx__ty{font-size:9px}.nx__c .nx__no{left:12px;top:12px}.nx__c .nx__ty{left:12px;bottom:12px}
  html body #nx-grid[data-opt="10"] .nx-orbit__g text.nm{font-size:9.5px!important}
  .nx-sec .nx__lg span{font-size:15px!important}
  .nx-sec .nx__lg svg{width:20px!important;height:20px!important}
  .nx-sec .nx__lg.mk svg{width:44px!important;height:26px!important}
  .nx-sec .nx__lg.woo svg{width:100px!important;height:22px!important}
  .nx-sec .nx__card{font-size:12px!important;padding:14px 16px!important;background:var(--paper,#fff)}
  .nx-sec .nx__card .c1,.nx-sec .nx__card .c2,.nx-sec .nx__card .c4{left:16px!important}
  .nx-sec .nx__card .c1,.nx-sec .nx__card .c3{top:14px!important}.nx-sec .nx__card .c2{top:calc(14px + 1.35em)!important}
  .nx-sec .nx__card .c3{right:16px!important}.nx-sec .nx__card .c4{bottom:14px!important}
  .nx-sec .nx__loc{font-size:11px}
}

/* ===== Our network, re-laid: the body copy right-aligned in the right corner; the Partners and Global buttons inside
   the frame — Partners 40 in from its top-left corner, Global 40 in from its top-right — and the frame 164 taller ===== */
@media (min-width:900px){
  .nx__b{left:auto!important;right:0!important;text-align:right!important}
  .nx__grid{height:calc(824*var(--u))!important}
  #nx-grid > .nx__switch{position:absolute!important;left:calc(40*var(--u))!important;right:calc(40*var(--u))!important;top:calc(40*var(--u))!important;width:auto!important;
    display:flex!important;justify-content:space-between!important;z-index:12!important;pointer-events:none}
  #nx-grid > .nx__switch button{pointer-events:auto}
}
#nx-grid[data-opt="10"] .nx-orbit__g .nm{font-size:calc(21*var(--u))!important}

/* the switch 32 in from the frame's corners */
@media (min-width:900px){ #nx-grid > .nx__switch{left:calc(32*var(--u))!important;right:calc(32*var(--u))!important;top:calc(32*var(--u))!important} }
/* (the pins keep their city name and local time) */

/* the partner rings: no white wash at the sides — the logos run out to the frame without fading */
.nx-orbit::before,.nx-orbit::after{display:none!important}

/* the body copy, 48 narrower */
@media (min-width:900px){ .nx__b{width:calc(422*var(--u))!important} }

/* ===== text reveals as on the case study page: words rise one after another (1.25 s, a long soft ease, 42 ms apart);
   eyebrows and body copy fade up 18 px; nothing drifts on its own as you scroll ===== */
.nx__h .nx-sw .w > i{transition:transform 1.25s cubic-bezier(.16,1,.3,1) var(--wd,0ms)!important}
.nx__b .nx-sw .w > i{transform:none!important;transition:none!important}
.nx__b .nx-sw{opacity:0;transform:translate3d(0,18px,0);transition:opacity 1s var(--ease-out,cubic-bezier(.16,1,.3,1)) 120ms,transform 1.2s var(--ease-out,cubic-bezier(.16,1,.3,1)) 120ms}
.nx__b .nx-sw.on{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.nx__b .nx-sw{opacity:1;transform:none;transition:none}}

/* the network heading and copy wait until the section comes into view, then rise / fade up (as on the case study) */
.nx-sec:not(.is-seen) .nx__h .nx-sw .w > i{transform:translate3d(0,110%,0)!important}
.nx-sec:not(.is-seen) .nx__b .nx-sw{opacity:0!important;transform:translate3d(0,18px,0)!important}
.nx-sec:not(.is-seen) .nx__eye{opacity:0;transform:translate3d(0,18px,0)}
.nx__eye{transition:opacity 1s var(--ease-out,cubic-bezier(.16,1,.3,1)),transform 1.2s var(--ease-out,cubic-bezier(.16,1,.3,1))}
@media (prefers-reduced-motion:reduce){.nx-sec .nx__h .nx-sw .w > i,.nx-sec .nx__b .nx-sw,.nx-sec .nx__eye{transform:none!important;opacity:1!important}}

/* one entrance for every heading and line of text, a touch smoother: words rise over 1.45 s, 50 ms apart; text fades
   up over 1.4 s — all on the same long, soft ease */
.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}
.nx__h .nx-sw .w > i{transition:transform 1.45s cubic-bezier(.16,1,.3,1) calc(var(--wd,0ms) * 50 / 42)!important}
.nx__b .nx-sw{transition:opacity 1.2s cubic-bezier(.16,1,.3,1) 120ms,transform 1.4s cubic-bezier(.16,1,.3,1) 120ms!important}
.nx__eye{transition:opacity 1.2s cubic-bezier(.16,1,.3,1),transform 1.4s cubic-bezier(.16,1,.3,1)!important}
/* (a swapped word's own letters stay hidden, as before) */
.b30-alt.is-swap .hw-i{transition:none!important}
@media (prefers-reduced-motion:reduce){.hw-i,[data-reveal]{transition:none!important}}

/* (the hero title's own line spans stay blocks; the word wrappers inside them stay inline) */
.b30h__title .hw,.b30h__title .hw-i{display:inline-block!important}
.b30h__title .b30-alt__ov{display:block}

/* =====================================================================
   Homepage — Oct 2026 pass
   ===================================================================== */

/* testimonials: each card's copy rises in like the rest of the page's body copy (quote, then name, then Clutch) */
.ts .ts__card [data-reveal]{will-change:opacity,transform}

/* the partners rings: a white fade at the left and right edges of the frame — the same soft white the hero's arc
   fades into */
.nx-orbit .nx-edge{position:absolute;top:0;bottom:0;width:26%;pointer-events:none;z-index:20}
.nx-orbit .nx-edge i{display:none}
.nx-orbit .nx-edge.l{left:0;background:linear-gradient(90deg,#fff 0,#fff 9%,rgba(255,255,255,.88) 30%,rgba(255,255,255,.5) 58%,rgba(255,255,255,0) 100%)}
.nx-orbit .nx-edge.r{right:0;background:linear-gradient(270deg,#fff 0,#fff 9%,rgba(255,255,255,.88) 30%,rgba(255,255,255,.5) 58%,rgba(255,255,255,0) 100%)}
@media (max-width:899px){.nx-orbit .nx-edge{width:18%}}

/* ===== Our network — the Partners / Global switch: a small pill (36 px, 12 px corners) that rises from the bottom of the
   screen when the section comes into view and sinks away once you are 60% of the way through it ===== */
html body > .nx__switch.nx__fl{position:fixed!important;left:50%!important;right:auto!important;top:auto!important;bottom:calc(24px + env(safe-area-inset-bottom,0px))!important;
  transform:translate3d(-50%,calc(100% + 32px),0);opacity:0;pointer-events:none;z-index:900;
  display:flex!important;align-items:stretch;gap:0!important;width:max-content!important;height:36px!important;box-sizing:border-box;margin:0!important;padding:3px!important;
  border:1px solid rgba(13,20,50,.1)!important;border-radius:12px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(1.4) blur(12px);backdrop-filter:saturate(1.4) blur(12px);
  box-shadow:0 14px 30px -16px rgba(13,20,50,.4),0 2px 6px -3px rgba(13,20,50,.12);isolation:isolate;transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .35s ease}
html body > .nx__switch.nx__fl.is-on{transform:translate3d(-50%,0,0);opacity:1;pointer-events:auto}
html body > .nx__switch.nx__fl::before{display:none!important}
html body > .nx__switch.nx__fl > button{all:unset;position:relative;z-index:1;display:flex!important;align-items:center;justify-content:center;width:auto!important;height:28px;padding:0 14px!important;border-radius:9px;
  font:400 11px/1 var(--mono,"Geist Mono",ui-monospace,monospace)!important;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;cursor:pointer;background:transparent!important;border:0!important;color:rgba(13,20,50,.5)!important;transition:color .35s ease}
html body > .nx__switch.nx__fl > button:hover{color:#000!important}
html body > .nx__switch.nx__fl > button[aria-pressed="true"]{color:#fff!important}
html body > .nx__switch.nx__fl > button:focus-visible{outline:2px solid #3457BA;outline-offset:2px}
.nx__fl .nx__thumb{position:absolute;left:0;top:3px;bottom:3px;z-index:0;border-radius:9px;background:#000;transition:transform .55s cubic-bezier(.16,1,.3,1),width .55s cubic-bezier(.16,1,.3,1)}
html.dark body > .nx__switch.nx__fl{background:rgba(0,0,0,.8)!important;border-color:rgba(242,241,238,.18)!important}html.dark .nx__fl .nx__thumb{background:#F2F1EE}
html.dark body > .nx__switch.nx__fl > button[aria-pressed="true"]{color:#000!important}
@media (prefers-reduced-motion:reduce){html body > .nx__switch.nx__fl{transition:opacity .2s}.nx__fl .nx__thumb{transition:none}}

/* ===== Our network — the four rings around the globe, with their dashed edges and dividers, without hover boxes;
   the globe rising at the bottom ===== */
#nx-grid[data-opt="10"] .nx-orbit__g path.cell,#nx-grid[data-opt="10"] .nx-orbit__g path.cell:hover{fill:rgba(0,0,0,0)!important}
#nx-grid[data-opt="10"] .nx-orbit__g path.cell title{display:none}

/* ===== Our network: the frame's four corner squares always on top (whole, crisp squares) ===== */
html body #nx-grid[data-opt] .nx__px{z-index:30!important;width:7px!important;height:7px!important;margin:-3px 0 0 -3px!important}   /* above the frame's dashed lines, and an odd size so each sits centred on its line on whole pixels */

/* ===== Our network: 64 px more space after the testimonials ===== */
html body section.pg,html body .b30-main > section.pg{margin-top:64px!important}
@media (min-width:900px){html body section.pg,html body .b30-main > section.pg{margin-top:calc(64px - 23*var(--u))!important}}   /* (desktop already pulled this section up by 23: the 64 is added on top of that) */   /* the latest homepage pass: network re-laid, text entrances */   /* 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) */
/* ===== PHONES (≤ 899 px), Nov 2026 pass — imported last on every page (src/styles/pages/*.css). Desktop untouched. =====
   · every hero starts 80 px under the header line, its content centred
   · homepage: no services wheel in the hero
   · homepage vision: the rock closer under the phone
   · homepage Our Network: 120 px above its label
   · footer: room between Privacy / Terms and the wordmark */
   
@media (max-width:899px){
  /* --- homepage hero: the wheel of words (and its dashed rings) is gone --- */
  html body section.b30h .b30h__orbit:not(#_z):not(#_y),html body section.b30h .b30h__ring:not(#_z):not(#_y){display:none!important}

  /* --- hero headings: 80 px under the header line, every page (the header is 80 tall) --- */
  html body section.b30h .b30h__copy:not(#_z):not(#_y){padding-top:96px!important}                     /* home: the copy box starts at 64 */
  html body .wk-hero .wk-hero__title:not(#_z):not(#_y){top:160px!important}                              /* our work */
  html body .cth .cth__title:not(#_z):not(#_y){top:160px!important}                                      /* contact */
  html body .cth .cth__intro:not(#_z):not(#_y){top:545px!important}                                      /* contact: 24 under the globe (the globe 48 under the heading, contact-globe.js) */
  html body section.wk-hero:not(.blg-hero):not(.bp-hero) .b30h__stage:has(> .svh__title):not(#_z):not(#_y){padding-top:160px!important}   /* services */
  html body section.blg-hero .blg-h__t:not(#_z):not(#_y){margin-top:80px!important}                     /* blog: sits right under the header */
  html body section.bp-hero .bp-back:not(#_z):not(#_y){margin-top:80px!important}                       /* a guide / a legal page: the Back button first */
  /* blog: the heading and its hint centred, like every other hero */
  html body section.blg-hero .blg-h__t:not(#_z):not(#_y){text-align:center!important;margin-left:auto!important;margin-right:auto!important}
  html body section.blg-hero .blg-h__hint:not(#_z):not(#_y){display:table!important;margin-left:auto!important;margin-right:auto!important;text-align:center!important}

  /* --- vision: the rock 32 closer to the phone --- */
  html body .vision .vs-stone:not(#_z):not(#_y){margin-top:30px!important}
  html body section.vision.vision:not(#_z):not(#_y){height:1021px!important}   /* 64 less under the rock (1085 − 64), before Testimonials */

  /* --- Our Network: 120 above the label --- */
  html body .nx-sec .nx:not(#_z):not(#_y){padding-top:120px!important}
  html body .nx-sec:not(#_z):not(#_y){padding-bottom:0!important}   /* no air under the globe: the call to action's own 96 follows */

  /* --- testimonials: every review the same height (the tallest), so the slider and its dots never jump (as in the reference) --- */
  html body .tsm .tsm__deck:not(#_z):not(#_y){align-items:stretch!important;transition:none!important}

  /* --- footer: no reveal animation on its words (the heading included) --- */
  html body .b30f .b30f__h:not(#_z):not(#_y),html body .b30f .b30f__h *:not(#_z):not(#_y){transition:none!important;animation:none!important}

  /* --- footer: 32 more between Privacy / Terms and the wordmark --- */
  html body .b30f .b30f__bar:not(#_z):not(#_y){margin-bottom:32px!important}
  html body .b30f .bt-footer:not(#_z):not(#_y){height:208px!important;min-height:208px!important}   /* half the space under the wordmark (260 − 52; footer.js draws it 52 above the foot) */

  /* --- services hero: more air under the heading; the intro narrower, sitting inside the dial's arc; the dial's ends melt into white --- */
  html body section.wk-hero.has-dial .svm-dial:not(#_z):not(#_y){margin-top:64px!important;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 18%,#000 82%,transparent 100%)}
  html body section.wk-hero.has-dial .svh__intro:not(#_z):not(#_y){position:relative!important;z-index:2;max-width:250px!important;margin:-70px auto 0!important;padding-bottom:64px!important}

  /* --- services list: the picture box sticks 20 under the top (the page's side gutter), white above it; one button at the end --- */
  html body .svm-box:not(#_z):not(#_y){top:20px!important;box-shadow:0 -20px 0 0 #fff}
  html body .svx .svm-cta:not(#_z):not(#_y){display:none!important}
  html body .svx .svm-go:not(#_z):not(#_y){display:flex;gap:2px;width:max-content;margin:40px auto 0;color:#000;text-decoration:none}
  html body .svx .svm-go .ic:not(#_z){display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(0,0,0,.15);border-radius:10px;box-sizing:border-box}
  html body .svx .svm-go .ic svg:not(#_z){width:18px;height:18px;display:block}
  html body .svx .svm-go .lbl:not(#_z){display:flex;align-items:center;height:36px;padding:0 10.67px;border:1px solid rgba(0,0,0,.15);border-radius:10px;box-sizing:border-box;font:400 13px/1.2 var(--mono,"Geist Mono",monospace);letter-spacing:1.3px;text-transform:uppercase}

  /* --- services "Good things happen…": 40 more under the heading; the hand slides in from the left as the section arrives --- */
  html body section.svhello:not(#_z):not(#_y){height:656px!important;margin-top:245px!important}   /* ends 16 under its button; 20 more above it (after the services' button) */
  html body section.svhello .svhello__hand:not(#_z):not(#_y){bottom:115px!important}   /* (anchored to the section's foot) 20 closer to the heading */
  html body section.svhello + section.ts:not(#_z):not(#_y){padding-top:111px!important}   /* 127 from the button to "Testimonials", as on the Work page */
  html body section.svhello .svhello__p:not(#_z):not(#_y){top:500px!important}   /* 30 closer to the hand */
  html body section.svhello > .b30h__btn:not(#_z):not(#_y){top:604px!important}
  html body section.svhello .svhello__hand img:not(#_z){translate:-100% 0;transition:translate 1.8s cubic-bezier(.22,1,.36,1)}   /* a slow slide in */
  html body section.svhello.is-hand .svhello__hand img:not(#_z){translate:0 0}

  /* --- testimonials: the client (portrait, name, Clutch) sits at the foot of every card --- */
  html body .tsm .tsm__c .tsm__a:not(#_z):not(#_y){margin-top:auto!important}

  /* --- the closing call to action ("Building something? Or fixing something broken?"), every page: 112 padding top and bottom --- */
  html body section.cta3:not(#_z):not(#_y):not(#_x){margin-top:0!important;margin-bottom:0!important;padding-top:112px!important;padding-bottom:112px!important}

  /* --- the contact panel after the closing call to action: not on phones, on any page --- */
  html body section#contact:not(#_y):not(#_x){display:none!important}

  /* --- our work: Grid / Index as their icons only --- */
  html body .wk-view:not(#_z):not(#_y){font-size:0!important;gap:0!important;line-height:0!important;padding:6px!important;min-width:0!important}
  html body .wk-view .wk-view__ic:not(#_z):not(#_y){display:block!important;width:14px!important;height:14px!important;margin:0!important;fill:currentColor}
  html body .wk-view[aria-pressed="false"]:not(#_z):not(#_y){opacity:.35}

  /* --- blog: the hero heading at the size every other hero uses (32) --- */
  html body section.blg-hero .blg-h__t:not(#_z):not(#_y){font-size:32px!important;line-height:1.2!important;letter-spacing:-.02em!important}
  /* --- blog, the featured guide: room between the date, the title and the tags --- */
  html body .blg-feat .blg-meta:not(#_z):not(#_y){margin-bottom:12px!important}
  html body .blg-feat .blg-tags:not(#_z):not(#_y){margin-top:16px!important}
  /* --- blog: the hero's colour sits low, just above Partners, and lighter; no grey dimming as the page scrolls --- */
  html body section.blg-hero .svh__sky i:not(#_z):not(#_y){top:auto!important;bottom:-520px!important;height:1000px!important}
  html body section.blg-hero .svh__sky:not(#_z):not(#_y){opacity:.55}
  html body section.blg-hero .wk-hero__dim:not(#_z):not(#_y){display:none!important}
  html body:has(section.blg-hero) section.b30p:not(#_z):not(#_y){margin-top:0!important}
  /* --- Partners (every page): 64 above its label --- */
  html body section.b30p:not(#_z):not(#_y){height:186px!important}   /* (160 + 26) */
  html body section.b30p > *:not(#_z):not(#_y){translate:0 26px}       /* the label from 38 to 64, the pixel rows with it */
  /* --- blog list: 10 guides, then Read more --- */
  html body #blogs .blg-card.is-more-hid:not(#_z){display:none!important}
  html body .blg-readmore-w:not(#_z){display:flex;justify-content:center;margin-top:48px}
  html body .blg-readmore-w[hidden]:not(#_z){display:none}
  html body .blg-readmore:not(#_z){font:inherit;cursor:pointer;background:none;border:0;padding:0}

  /* --- a guide: the "free audit" card is not shown on phones --- */
  html body .bp-cta:not(#_z):not(#_y){display:none!important}
  /* --- a guide: the words at 14 on phones, the headings as the other pages' section headings --- */
  html body :is(.bp-intro,.bp-sec__b,.bp-ol,.bp-ol li,.bp-item,.bp-faq__a,.bp-sec p,.bp-sec li):not(#_z):not(#_y){font-size:14px!important;line-height:1.4!important;letter-spacing:-.01em!important}
  html body .bp-h:not(#_z):not(#_y){font-size:26px!important;line-height:1.2!important}
  html body .bp-item__t:not(#_z):not(#_y){font-size:18px!important;line-height:1.25!important}

  /* --- services hero: its soft colour, low and light, under the intro (as the blog's) --- */
  html body section.wk-hero.has-dial .svh__sky:not(#_z):not(#_y){display:block!important;opacity:.55;z-index:0}
  html body section.wk-hero.has-dial .svh__title:not(#_z):not(#_y){position:relative!important;z-index:1}
  /* --- testimonials: 16 less between the button and the reviews --- */
  html body section.ts .ts__top:not(#_z):not(#_y){margin-bottom:16px!important}

  /* --- contact: the hero fills the screen at least; "Scroll to the form" sits near its foot (102 up, as before), so the
         description has air under it; and 80 between the address and the footer --- */
  html:has(section.cth):not(#_z){--hh:max(726px,100svh)!important}
  html body .cth .cth__hint:not(#_z):not(#_y){top:calc(var(--hh) - 102px)!important}
  html body section.ctf:not(#_z):not(#_y){padding-bottom:82px!important}

  /* --- Weldon Brewster case study (phones) --- */
  /* details: the label, then the two Visit links under it (not beside it) */
  html body .cz-dt.cz-dt--h:not(#_z):not(#_y){display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:16px!important;height:auto!important;padding:0 0 20px!important}
  html body .cz-dt.cz-dt--h .cz-pills:not(#_z):not(#_y){display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:8px!important;margin:0!important;position:static!important}
  /* the collage video under the hero: lower */
  html body .cz-demo .cz-demo__media:not(#_z):not(#_y),html body .cz-demo .cz-demo__media > .ph:not(#_z):not(#_y){height:300px!important;aspect-ratio:auto!important}
  /* the square tiles (photos and logos): lower; the wide videos: a little taller */
  html body .cz-out--wb .cz-sq:not(#_z):not(#_y){aspect-ratio:auto!important;height:260px!important}
  html body .cz-out--wb .cz-wide:not(.wb-gal):not(#_z):not(#_y){aspect-ratio:auto!important;height:220px!important}
  html body .cz-out--wb :is(.cz-sq,.cz-wide,.cz-demo__media) video:not(#_z),html body .cz-demo__media video:not(#_z){object-fit:cover!important;width:100%!important;height:100%!important}
  /* the same 12 between every picture and video in a group (the pair's own gap) */
  html body .cz-out--wb .cz-mt24:not(#_z):not(#_y){margin-top:12px!important}
  /* how we worked: the yellow (as on desktop) */
  html body .b30-main > section.cz-how--wb:not(#_z):not(#_y){--csm-band:#F4EB02;background:linear-gradient(180deg,#F4EB02 23%,#fff 94%)!important}
  /* "Then the photos needed a home of their own.": 64 less under it */
  html body section.cz-say--wb:not(#_z):not(#_y){margin-bottom:-64px!important}

  /* --- case studies (phones) --- */
  /* the video under the hero: its box as tall as the video (no empty space before Project Overview), both case studies */
  html body section.cz-demo:not(#_z):not(#_y){height:300px!important}
  /* Ethical Narrative: the hero video as tall as Weldon Brewster's (364) */
  html body section.cz-hero.cz-hero--full:not(#_z):not(#_y),html body section.cz-hero.cz-hero--full .cz-hero__img:not(#_z):not(#_y){height:364px!important;aspect-ratio:auto!important}
  html body section.cz-hero.cz-hero--full video:not(#_z){object-fit:cover!important;width:100%!important;height:100%!important}
  /* Ethical Narrative: how we worked in its own blue (as on desktop) */
  html body .b30-main > section.cz-how--en:not(.cz-how--wb):not(#_z):not(#_y){--csm-band:#B0E9FD;background:linear-gradient(180deg,#B0E9FD 23%,#fff 94%)!important}
}

/* DESKTOP (≥ 900 px): the contact panel after the closing call to action takes no height, on every page */
@media (min-width:900px){
  html body .b30-main > #contact.b30c.wk-cta-proof:not(#_z):not(#_y),html body .b30-main > #contact.b30c:not(#_z):not(#_y),html body #contact.b30c:not(#_z):not(#_y){height:0!important;min-height:0!important}
}
/* phones: Nov 2026 pass — hero spacing, homepage tweaks, footer (last) */
