@font-face{font-family:"Funnel Display";font-style:normal;font-weight:300 800;font-display:swap;src:url(fonts/funnel-display-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400 900;font-display:swap;src:url(fonts/schibsted-grotesk-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--bg:#03040a;--bone:#eef0fa;--dim:rgba(238,240,250,.82);--hair:rgba(238,240,250,.16);--accent:#6d5bf0;--sig:#a397ff;--sans:"Schibsted Grotesk",system-ui,sans-serif;--display:"Funnel Display","Schibsted Grotesk",system-ui,sans-serif;--pad:max(clamp(20px,3vw,44px),calc((100vw - 1760px)/2));color-scheme:dark}
[hidden]{display:none!important}*{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;color:var(--bone);font:400 17px/1.5 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
:focus-visible{outline:2px solid var(--sig);outline-offset:3px;scroll-margin:90px 0 24px}
main:focus{outline:0}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip{position:fixed;z-index:20;top:12px;left:var(--pad);background:var(--bone);color:var(--bg);padding:12px 18px;border-radius:99px;font-size:14px;line-height:20px;font-weight:500;transform:translateY(-300%)}.skip:focus{transform:none;box-shadow:0 0 0 7px var(--bg)}
#gl{position:fixed;left:0;top:0;width:100%;height:100vh;height:100lvh;z-index:-1;display:block}
.mono{font:400 15px/1.4 var(--sans);letter-spacing:-.01em;color:var(--dim)}
section{padding-left:var(--pad);padding-right:var(--pad);position:relative}

nav{position:fixed;z-index:10;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:20px var(--pad);background:linear-gradient(180deg,rgba(3,4,10,.92),rgba(3,4,10,.55) 60%,transparent);}
header nav{background:none}header nav::before,header nav::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;transition:opacity .45s}
header nav::before{background:linear-gradient(180deg,rgba(3,4,10,.92),rgba(3,4,10,.55) 60%,transparent)}
header nav::after{opacity:0;background:rgba(3,4,10,.66);-webkit-backdrop-filter:blur(16px) saturate(150%);backdrop-filter:blur(16px) saturate(150%);box-shadow:inset 0 -1px 0 rgba(238,240,250,.09)}
header nav.sc::before{opacity:0}header nav.sc::after{opacity:1}
.brand{display:flex;align-items:center;gap:9px;font-weight:500;font-size:20px;letter-spacing:-.022em}
.brand i{width:19px;height:20px;background:currentColor;-webkit-mask:url(img/mark.png) center/contain no-repeat;mask:url(img/mark.png) center/contain no-repeat}
nav div{display:flex;gap:26px;align-items:center;font-size:14px}nav div a:not(.talk){color:var(--dim);transition:color .2s}nav div a:hover{color:var(--bone)}
.talk{background:var(--bone);color:var(--bg);padding:8px 14px;border-radius:99px;font-weight:500;transition:background .2s,color .2s}.talk:hover{background:var(--accent);color:#fff}

#hero{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(20px,3vw,44px)}
h1{font-weight:400;font-size:clamp(34px,min(11vw,5.6vw + 24px),160px);line-height:.98;letter-spacing:-.032em;margin:0}
.herofoot{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:clamp(22px,3vw,40px);flex-wrap:wrap}
.herofoot p{margin:0;max-width:27em;font-size:clamp(16px,.8vw + 8px,26px);line-height:1.35;letter-spacing:-.012em}
.cta{display:flex;align-items:center;flex-wrap:wrap;gap:14px clamp(20px,2vw,32px)}
.btn{display:inline-flex;align-items:center;gap:.45em;background:var(--bone);color:var(--bg);padding:.8em 1.3em;border-radius:99px;font-weight:500;font-size:clamp(15px,.35vw + 11px,20px);letter-spacing:-.01em;transition:background .2s,color .2s}.btn:hover{background:var(--accent);color:#fff}
.btn span[aria-hidden]{display:inline-block;transition:transform .3s}.btn:hover span[aria-hidden]{transform:translate(.1em,-.1em)}
.lnk{font-size:clamp(15px,.35vw + 11px,20px);letter-spacing:-.01em;color:var(--dim);border-bottom:1px solid rgba(163,151,255,.45);padding-bottom:2px;transition:color .2s,border-color .2s}.lnk:hover{color:var(--bone);border-color:var(--bone)}
@media(prefers-reduced-motion:no-preference){#hero h1{animation:hin 1.5s cubic-bezier(.2,.7,.1,1) both}#hero .herofoot>*{animation:hup 1.2s cubic-bezier(.2,.7,.1,1) .25s both}#hero .cta{animation-delay:.4s}
 .js .rv{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.2,.7,.1,1),transform 1.2s cubic-bezier(.2,.7,.1,1)}.js .rv.in{opacity:1;transform:none}.bento .rv:nth-child(2){transition-delay:.1s}.bento .rv:nth-child(3){transition-delay:.2s}.cgrid.rv{transition-delay:.12s}}
@keyframes hin{from{opacity:0;filter:blur(10px)}}@keyframes hup{from{opacity:0;transform:translateY(14px)}}

#say{height:230vh;padding:0;--dot:rgba(156,140,255,.2)}
.pin{padding:0 var(--pad);box-sizing:border-box;position:sticky;top:0;height:100vh;height:100svh;display:flex;align-items:center;justify-content:center;overflow:hidden}.pin::before{content:"";position:absolute;inset:0;background:radial-gradient(var(--dot) 1px,transparent 1.4px) 0 0/16px 16px;-webkit-mask-image:linear-gradient(transparent,#000 22%);mask-image:linear-gradient(transparent,#000 22%)}
.pin .ht{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(82vh,92vw);height:min(82vh,92vw)}
#words{position:relative;text-align:center;max-width:27em;font-size:clamp(20px,min(5.6vw,1.5vw + 12px),44px);line-height:1.22;letter-spacing:-.03em}
#words p{margin:0 0 .85em;text-wrap:balance}#words p:last-child{margin:0}
.w{opacity:.16;transition:opacity .25s}.w.lit{opacity:1}
#trust{padding-top:8vh;padding-bottom:10vh}
.trust{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;text-align:center;gap:24px clamp(36px,5.4vw,84px);font-size:clamp(16px,1.5vw,21px);letter-spacing:-.02em}.trust .tl{width:100%;font-family:var(--sans);font-size:15px;letter-spacing:-.01em;color:var(--dim)}.trust img{height:clamp(18px,1.75vw,27px);width:auto;display:block}.trust img.t{height:clamp(26px,2.35vw,37px)}.trust img{filter:brightness(0) invert(.945)}

.ht{display:block}
#markets{background:radial-gradient(rgba(156,140,255,.13) 1px,transparent 1.4px) 0 0/16px 16px}
.chead{display:flex;justify-content:space-between;align-items:flex-end;align-items:last baseline;gap:20px 40px;margin:0 0 clamp(44px,5.4vw,84px)}.chead p{text-wrap:balance;color:var(--dim);margin:0;max-width:17em;font-size:clamp(17px,.6vw + 11px,26px);line-height:1.35;letter-spacing:-.012em}
@media(max-width:700px){.chead{flex-direction:column;align-items:flex-start}.chead p{margin:0}}
.bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(min-width:821px){.b{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}}
.b{position:relative;background:radial-gradient(clamp(280px,26vw,520px) circle at var(--mx,-999px) var(--my,-999px),rgba(156,140,255,.075),transparent 70%);padding:clamp(24px,2.4vw,44px) clamp(20px,2.4vw,44px) clamp(8px,1vw,20px)}
.b::before,.b::after{content:"";position:absolute;left:0;top:0;pointer-events:none}.b::before{width:100%;height:1px;background:linear-gradient(90deg,rgba(163,151,255,.7),rgba(238,240,250,.2) 30%,transparent 88%)}.b::after{width:1px;height:100%;background:linear-gradient(rgba(163,151,255,.7),rgba(238,240,250,.2) 30%,transparent 88%)}
.b .ht{width:100%;height:clamp(150px,13.5vw,280px);margin:0 0 clamp(18px,1.6vw,30px)}
.b h3{font-weight:400;font-size:clamp(26px,1.2vw + 16px,48px);line-height:1.1;letter-spacing:-.03em;margin:0 0 clamp(10px,.9vw,16px)}.b p{margin:0 0 clamp(16px,1.5vw,28px);color:var(--dim);max-width:30em;font-size:clamp(15px,.4vw + 9px,20px);line-height:1.42}
.tk ul{list-style:none;margin:0;padding:0;font:400 clamp(16px,.5vw + 10px,24px)/1.3 var(--display);letter-spacing:-.008em}.tk li{padding:.26em 0;color:var(--bone)}
.tk.on{height:8.2em;font-size:clamp(16px,.5vw + 10px,24px);overflow:hidden;-webkit-mask-image:linear-gradient(#000 40%,transparent);mask-image:linear-gradient(#000 40%,transparent)}.tk.on ul{font-size:inherit;transition:transform .7s cubic-bezier(.3,0,.1,1)}.tk.on li{opacity:.64;transition:opacity .5s}.tk.on li.now{opacity:1}.tk.on li:has(~ .now){opacity:0;transition-duration:.3s}.tk.snap ul,.tk.snap li{transition:none}
@media(max-width:820px){.bento{grid-template-columns:minmax(0,1fr);gap:clamp(20px,5vw,32px)}.b .ht{height:clamp(150px,44vw,210px)}.tk.on{height:7.4em}}
@media(min-width:560px) and (max-width:820px){.b{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-rows:auto auto 1fr;column-gap:clamp(24px,4vw,40px);padding-bottom:clamp(16px,3vw,28px)}.b .ht{grid-row:1/4;height:100%;min-height:190px;margin:0}}


#intro{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:120px;padding-bottom:clamp(28px,4vw,56px)}
#intro::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(rgba(156,140,255,.16) 1px,transparent 1.4px) 0 0/16px 16px;-webkit-mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent);mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}
#intro .eyebrow{margin:0 0 clamp(16px,2vw,28px)}
#intro .lead{margin:clamp(18px,2vw,32px) 0 0;max-width:27em;font-size:clamp(16px,.8vw + 8px,26px);line-height:1.35;letter-spacing:-.012em;text-wrap:pretty}
.pidx{list-style:none;margin:clamp(48px,9vh,120px) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.pidx a{display:block;position:relative;height:100%;padding:clamp(18px,1.6vw,28px) clamp(20px,2.4vw,44px) clamp(6px,1vw,16px) 0}
.pidx a::before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg,rgba(238,240,250,.3),transparent 88%);transition:background .3s}
.pidx span{display:block;font-size:15px;color:var(--sig);margin-bottom:clamp(10px,1vw,16px)}
.pidx b{display:block;font-weight:400;font-size:clamp(24px,1.2vw + 14px,46px);line-height:1.1;letter-spacing:-.03em;transition:color .25s}
.pidx small{display:block;margin-top:clamp(8px,.7vw,12px);max-width:22em;color:var(--dim);font-size:clamp(15px,.3vw + 11px,19px);line-height:1.42}
.pidx a:hover b{color:var(--sig)}.pidx a:hover::before{background:linear-gradient(90deg,var(--accent),transparent 88%)}

.ch{min-height:100vh;min-height:100svh;display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);column-gap:clamp(40px,7vw,150px);align-content:start;padding-top:clamp(100px,15vh,180px);padding-bottom:clamp(200px,34vh,420px)}
.chh,.chb{position:relative;z-index:0}.chh::before,.chb::before{content:"";position:absolute;z-index:-1;inset:-14% -16%;background:radial-gradient(closest-side,rgba(3,4,10,.9),rgba(3,4,10,.72) 58%,transparent);pointer-events:none}
.num{display:flex;align-items:center;gap:18px;margin:0 0 clamp(18px,2.2vw,36px);font-size:15px;color:var(--sig)}
.num::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(163,151,255,.6),rgba(238,240,250,.16) 35%,transparent 88%);transform-origin:left;transform:scaleX(0);transition:transform 1.4s cubic-bezier(.3,0,.1,1)}.ch.in .num::after{transform:none}
.ch h2{font-weight:400;font-size:clamp(46px,min(13vw,5.6vw + 12px),156px);line-height:.96;letter-spacing:-.036em;margin:0 0 clamp(16px,1.6vw,28px);margin-left:-.04em}
.tag{margin:0;max-width:17em;font:400 clamp(21px,1vw + 13px,38px)/1.18 var(--display);letter-spacing:-.022em;text-wrap:balance}
.why{margin:clamp(26px,3vw,52px) 0 0;max-width:29em;color:var(--dim);font-size:clamp(16px,.5vw + 10px,22px);line-height:1.45;letter-spacing:-.008em;text-wrap:pretty}
.chb{padding-top:calc(15px*1.5 + clamp(18px,2.2vw,36px) + clamp(46px,min(13vw,5.6vw + 12px),156px)*.18)}
.chb h3{margin:0 0 clamp(14px,1.4vw,22px);font:400 15px/1.4 var(--sans);letter-spacing:-.01em;color:var(--dim)}
.how{list-style:none;margin:0;padding:0;counter-reset:h}
.how li{counter-increment:h;position:relative;padding:clamp(12px,1vw,20px) 0 clamp(12px,1vw,20px) 2.6em;border-top:1px solid var(--hair);font-size:clamp(17px,.55vw + 11px,25px);line-height:1.38;letter-spacing:-.01em;text-wrap:pretty;opacity:.3;transition:opacity .9s}
.how li:last-child{border-bottom:1px solid var(--hair)}
.how li::before{content:counter(h,decimal-leading-zero);position:absolute;left:0;top:clamp(12px,1vw,20px);font:400 .78em/1.82 var(--display);color:var(--sig)}
.how li.lit{opacity:1}.how li:nth-child(2){transition-delay:.09s}.how li:nth-child(3){transition-delay:.18s}.how li:nth-child(4){transition-delay:.27s}.how li:nth-child(5){transition-delay:.36s}
@media(max-width:960px){.ch{grid-template-columns:minmax(0,1fr);padding-bottom:clamp(120px,22vh,240px)}.chb{padding-top:clamp(40px,8vw,64px)}.tag{max-width:15em}}
@media(max-width:700px){.pidx{grid-template-columns:minmax(0,1fr);margin-top:clamp(36px,6vh,56px)}.pidx a{padding:16px 0 18px;display:grid;grid-template-columns:2.4em minmax(0,1fr)}.pidx span{margin:0;line-height:1.9}.pidx small{grid-column:2}.pidx a::before{width:100%}}
@media(prefers-reduced-motion:no-preference){html.ready:has(.ch){scroll-behavior:smooth}}

#markets{padding-top:16vh;padding-bottom:9vh}


.big{font-weight:400;font-size:clamp(30px,min(9vw,3.2vw + 18px),92px);line-height:1.02;letter-spacing:-.032em;margin:0}

#open-source{padding-top:12vh;padding-bottom:16vh}
.oshead{font-size:clamp(30px,min(9vw,3.2vw + 18px),92px);margin-bottom:clamp(36px,4.5vw,64px)}.oshead .big{font-size:inherit}
.spot h3{font-weight:400;font-size:clamp(28px,2vw + 14px,64px);line-height:1.05;letter-spacing:-.022em;margin:0}.spot p{font-size:clamp(16px,.8vw + 9px,26px);line-height:1.4;letter-spacing:-.012em;color:var(--bone)!important;margin:22px 0 28px!important}
.links{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:22px}.links .gh{margin:0}.stat img.sf{height:26px;width:auto;display:block;filter:brightness(0) invert(.945)}
.cgrid{display:grid;grid-template-columns:1fr 1.05fr;gap:6vw;align-items:end;margin-top:0}
#open-source p{margin:24px 0 30px;color:var(--dim);max-width:25em}
.stats{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,3.4vw,60px) clamp(20px,2.4vw,44px)}
.stat{position:relative;padding-top:clamp(14px,1.2vw,22px);font-size:15px}.stat::before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg,rgba(163,151,255,.75),rgba(238,240,250,.16) 40%,transparent 88%)}
.stat dt{color:var(--dim)}.stat dd{margin:clamp(10px,1vw,18px) 0 0;font-size:clamp(42px,2.8vw + 14px,112px);line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.stat dd.lg{display:flex;align-items:center;height:1em}.stat dd.lg img.sf{height:.4em}
.gh{display:inline-block;margin-top:22px;border-bottom:1px solid rgba(163,151,255,.45);padding-bottom:2px;font-size:15px;transition:color .2s,border-color .2s}.gh:hover{color:var(--sig);border-color:var(--sig)}

#end{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:clamp(20px,3vw,44px)}
#end a.go{display:block;text-wrap:balance;overflow-wrap:anywhere;font-size:clamp(28px,min(9.6vw,3.6vw + 36px),140px);line-height:1;letter-spacing:-.032em;transition:color .25s}
#end a.go.mail{font-size:clamp(24px,min(8vw,3.6vw + 36px),140px)}#end a.go:hover{color:var(--sig)}#end a.go i{font-style:normal;display:inline-block;transition:transform .3s}#end a.go:hover i{transform:translate(.08em,-.08em)}
#end.careers .eyebrow{margin:0 0 clamp(16px,2vw,28px)}#end.careers .lead{margin:clamp(14px,1.4vw,24px) 0 clamp(24px,2.6vw,44px);max-width:27em;font-size:clamp(16px,.8vw + 8px,26px);line-height:1.35;letter-spacing:-.012em;color:var(--bone)}#end.careers h1{font-size:clamp(30px,2.2vw + 22px,72px);line-height:1.04}@media(max-height:720px){body:has(#end.careers) nav{background:rgba(3,4,10,.97)}}
#end.booked{padding-top:clamp(150px,36svh,460px)}
.bkt{display:grid;grid-template-columns:minmax(0,10fr) minmax(0,3fr);align-items:end;row-gap:28px}.bkt>div{padding-right:clamp(24px,3vw,64px)}
.bkc{display:flex;align-items:center;gap:10px;margin:0 0 clamp(16px,2vw,28px)}.bkc svg{width:1.2em;height:1.2em;flex:none;fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.bkc circle{stroke:rgba(238,240,250,.3)}.bkc .ck{stroke:#b3a8ff;stroke-dasharray:1}
.booked h1{font-size:clamp(44px,min(12vw,4.6vw + 10px),146px);margin-left:-.03em}
.booked .lead{margin:clamp(16px,1.6vw,28px) 0 0;max-width:27em;font-size:clamp(16px,.8vw + 8px,26px);line-height:1.35;letter-spacing:-.012em;text-wrap:pretty}
.when{position:relative;margin:0;padding-top:clamp(14px,1.2vw,22px)}.when::before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg,rgba(156,140,255,.7),transparent 88%)}
.when small{display:block;margin-bottom:clamp(8px,.7vw,12px);font-size:15px;color:var(--dim)}.when b{display:block;font:400 clamp(22px,.95vw + 12px,44px)/1.12 var(--display);letter-spacing:-.026em;text-wrap:balance}.when span{display:block;margin-top:clamp(4px,.4vw,8px);color:var(--dim);font-size:clamp(16px,.45vw + 10px,22px)}
.bkg{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,5fr) minmax(0,3fr);margin-top:clamp(44px,8vh,110px)}
.bkx{position:relative;padding:clamp(16px,1.4vw,26px) clamp(24px,3vw,64px) 0 0}.bkx::before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg,rgba(238,240,250,.3),transparent 88%);transform-origin:left}
.bkx h2{margin:0 0 clamp(12px,1.1vw,20px);font:400 15px/1.4 var(--sans);letter-spacing:-.01em;color:var(--dim)}
.bkq{margin:0;max-width:22em;font:400 clamp(19px,.7vw + 11px,32px)/1.28 var(--display);letter-spacing:-.018em;text-wrap:pretty}
.bkd{margin:clamp(12px,1.1vw,20px) 0 0;max-width:28em;color:var(--dim);font-size:clamp(15px,.4vw + 10px,21px);line-height:1.45;text-wrap:pretty}
.bkp{list-style:none;margin:0;padding:0;counter-reset:h}.bkp li{counter-increment:h;position:relative;max-width:24em;padding:0 0 clamp(12px,1vw,18px) 2.3em;font-size:clamp(16px,.45vw + 10px,22px);line-height:1.4;letter-spacing:-.008em;text-wrap:pretty}
.bkp li+li{padding-top:clamp(12px,1vw,18px);border-top:1px solid var(--hair)}.bkp li::before{content:counter(h,decimal-leading-zero);position:absolute;left:0;font:400 .8em/1.75 var(--display);color:var(--dim)}
.bkl{font:400 clamp(21px,.9vw + 12px,36px)/1.2 var(--display);letter-spacing:-.022em;text-wrap:balance;transition:color .25s}.bkl svg{display:inline-block;width:.78em;height:.78em;margin-left:.36em;vertical-align:-.06em;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .3s}.bkl span{white-space:nowrap}.bkl:hover{color:var(--sig)}.bkl:hover svg{transform:translateX(.14em)}
@media(max-width:960px){.bkt{grid-template-columns:minmax(0,1fr) auto;column-gap:40px}.when{min-width:15em}.bkg{grid-template-columns:minmax(0,1fr) minmax(0,1fr);row-gap:clamp(36px,5vw,48px)}.bkx:first-child{grid-column:1/-1}.bkx:first-child .bkq{max-width:26em}}
@media(max-width:700px){.bkt{grid-template-columns:minmax(0,1fr)}.when{margin-top:12px}.bkg{grid-template-columns:minmax(0,1fr);row-gap:40px}.bkx{padding-right:0}.bkt>div{padding-right:0}.when{min-width:0}#end.booked{padding-top:clamp(150px,34svh,320px)}body:has(#end.booked) nav{background:linear-gradient(180deg,rgba(3,4,10,.96) 64%,rgba(3,4,10,0))}}
@media(prefers-reduced-motion:no-preference){.booked .bkt>div>*,.booked .when,.bkx>*{animation:bkr 1.1s cubic-bezier(.2,.7,.1,1) both}.booked .bkc{animation-delay:.1s}.booked h1{animation-delay:.18s}.booked .lead{animation-delay:.3s}.booked .when{animation-delay:.42s}
 .bkx>*{animation-delay:.55s}.bkx:nth-child(2)>*{animation-delay:.65s}.bkx:nth-child(3)>*{animation-delay:.75s}.bkx::before{animation:bkh 1.6s cubic-bezier(.3,0,.1,1) .45s both}.bkx:nth-child(2)::before{animation-delay:.55s}.bkx:nth-child(3)::before{animation-delay:.65s}.when::before{animation:bkh 1.6s cubic-bezier(.3,0,.1,1) .5s both;transform-origin:left}
 .bkc .ck{animation:bkc .55s cubic-bezier(.5,0,.2,1) .55s both}}
@keyframes bkr{from{opacity:0;transform:translateY(16px)}}@keyframes bkh{from{transform:scaleX(0)}}@keyframes bkc{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
footer{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;padding:40px var(--pad) 28px;background:var(--bg);border-top:1px solid var(--hair);font-size:15px}
footer .brand{font-size:18px}footer p{margin:10px 0 0;color:var(--dim);max-width:22em}footer h2{font-family:var(--sans);font-weight:400;font-size:13px;color:rgba(238,240,250,.68);margin:0 0 -1px}
footer .fc{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;position:static;padding:0;background:none}footer .fc a{color:var(--bone);transition:color .2s;width:max-content;min-width:44px;padding:11px 0;line-height:22px}footer .fc a:hover{color:var(--sig)}
footer .fl{grid-column:1/-1;margin-top:18px;padding-top:16px;border-top:1px solid var(--hair);font-size:13px;color:rgba(238,240,250,.68)}

/* research: list, report pages, the full-report form, and the legal pages */
.rx{padding-top:clamp(140px,26vh,320px);padding-bottom:clamp(80px,14vh,180px)}
.rx h1{font-size:clamp(44px,min(12vw,4.6vw + 10px),146px);margin-left:-.03em}
.rx .lead{margin:clamp(16px,1.6vw,28px) 0 0;max-width:27em;font-size:clamp(16px,.8vw + 8px,26px);line-height:1.35;letter-spacing:-.012em;text-wrap:pretty}
.rnone{margin:clamp(56px,10vh,130px) 0 0;padding-top:clamp(16px,1.4vw,26px);border-top:1px solid var(--hair);max-width:30em;color:var(--dim);font:400 clamp(19px,.7vw + 11px,30px)/1.3 var(--display);letter-spacing:-.018em}
nav div a[aria-current]{color:var(--bone)}
@media(prefers-reduced-motion:no-preference){html.ready:has(.rp){scroll-behavior:smooth}}

/* a label with a rule that draws out to the right, like the principle numbers */
.rn{display:flex;align-items:center;gap:18px;margin:0;font-size:15px;line-height:1.4;letter-spacing:-.01em;color:var(--sig)}
.rn time{order:1;color:var(--dim)}
.rn::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(163,151,255,.6),rgba(238,240,250,.16) 35%,transparent 88%);transform-origin:left}

/* the list: a heading row, the latest report, then an index of the rest */
.rx.rxl{padding-top:clamp(130px,22vh,270px);padding-bottom:clamp(48px,8vh,110px)}
.rxh{display:flex;justify-content:space-between;align-items:flex-end;gap:20px 40px}.rxh h1{margin-bottom:-.06em}
.rxh .lead{margin:0 0 .2em;max-width:21em;color:var(--dim)}
@media(max-width:820px){.rxh{flex-direction:column;align-items:flex-start}.rxh h1{margin-bottom:0}.rxh .lead{margin:0}}
.rlx{padding-top:0;padding-bottom:clamp(120px,20vh,240px)}

.rf{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);column-gap:clamp(32px,4.4vw,88px)}
.rft{display:flex;flex-direction:column;min-width:0}
.rf h2,.rf h3{margin:clamp(22px,2.6vw,44px) 0 0;font-weight:400;font-size:clamp(32px,2.3vw + 13px,76px);line-height:1.02;letter-spacing:-.034em;text-wrap:balance;transition:color .25s}
.rff{margin:clamp(16px,1.5vw,26px) 0 0;max-width:25em;color:var(--dim);font-size:clamp(16px,.55vw + 10px,23px);line-height:1.42;text-wrap:pretty}
.rfm{margin:auto 0 0;padding-top:clamp(32px,3.4vw,60px)}
.rfg{display:inline-flex;align-items:center;gap:.45em;color:var(--bone);font:400 clamp(18px,.45vw + 12px,24px)/1.2 var(--display);letter-spacing:-.016em;transition:color .25s}
.rfg svg{width:.78em;height:.78em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s}
.rc{position:relative;overflow:hidden;aspect-ratio:16/10;border-radius:clamp(8px,.7vw,14px);background:#05060d}
.rc img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.1,1)}
.rf:hover h2,.rf:hover h3,.rrw a:hover h3{color:var(--sig)}.rf:hover .rfg svg{transform:translateX(.18em)}
.rf:hover .rc img,.rrw a:hover .rc img{transform:scale(1.035)}
.rf:focus-visible,.rrw a:focus-visible{outline:2px solid var(--sig);outline-offset:6px;border-radius:4px}
@media(max-width:900px){.rf{grid-template-columns:minmax(0,1fr)}.rf .rc{order:-1;margin-bottom:clamp(24px,5vw,36px)}.rfm{padding-top:clamp(24px,5vw,32px)}}

.rgh{margin:clamp(88px,10vw,150px) 0 clamp(14px,1.4vw,22px);font:400 15px/1.4 var(--sans);letter-spacing:-.01em;color:var(--dim)}
.rrw{list-style:none;margin:0;padding:0}
.rrw a{position:relative;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,7fr) minmax(0,2.6fr);column-gap:clamp(24px,3vw,56px);align-items:start;padding:clamp(20px,1.8vw,32px) 0 clamp(32px,3vw,52px)}
.rrw a::before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:linear-gradient(90deg,rgba(238,240,250,.3),transparent 88%);transition:background .3s}
.rrw a:hover::before{background:linear-gradient(90deg,var(--accent),transparent 88%)}
.rrw time{padding-top:.3em;font-size:15px;color:var(--dim)}
.rrt h3{margin:0;font-weight:400;font-size:clamp(24px,1.2vw + 14px,46px);line-height:1.08;letter-spacing:-.03em;text-wrap:balance;transition:color .25s}
.rrt p{margin:clamp(10px,.9vw,16px) 0 0;max-width:31em;color:var(--dim);font-size:clamp(15px,.35vw + 11px,20px);line-height:1.45;text-wrap:pretty}
.rrw li:nth-child(2){transition-delay:.06s}.rrw li:nth-child(3){transition-delay:.12s}
@media(max-width:700px){.rrw a{grid-template-columns:minmax(0,1fr) 30%;grid-template-rows:auto 1fr;column-gap:18px;padding:18px 0 28px}.rrw time{grid-row:1;padding:0 0 8px;font-size:14px}.rrt{grid-row:2}.rrw .rc{grid-column:2;grid-row:1/3;border-radius:6px}}

/* the homepage block */
#research{padding-top:4vh;padding-bottom:6vh}#research+#end{min-height:72vh;min-height:72svh}
.chead>div{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(12px,1.2vw,20px)}.chead>div p{margin:0}
/* the card is one quiet unit: the date, title, finding, link, all top-aligned with the cover.
   The "Latest report" label stays for screen readers only: under "Research." the date says enough */
#research .rf{align-items:start}
#research .rn{display:block;font-size:0;line-height:0}#research .rn::after{display:none}#research .rn time{font-size:15px;line-height:1.4}
#research .rf h3{margin-top:clamp(14px,1.4vw,24px)}
#research .rfm{margin-top:0;padding-top:clamp(24px,2.4vw,40px)}

/* a report: the title page, then each finding, then the form */
.rph{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;padding-top:clamp(120px,18vh,220px);padding-bottom:clamp(56px,9vh,120px)}
.rph .eyebrow{display:flex;flex-wrap:wrap;gap:4px 22px;margin:0 0 clamp(16px,2vw,28px)}.rph .eyebrow a{transition:color .2s}.rph .eyebrow a:hover{color:var(--bone)}
.rph h1{font-size:clamp(38px,min(9.4vw,4vw + 12px),124px);line-height:.98;letter-spacing:-.036em;max-width:14em;margin-left:-.035em;text-wrap:balance}
.rpx{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:clamp(40px,6vw,130px);align-items:end;margin-top:clamp(40px,5.4vw,88px)}
.rlead{margin:0;max-width:21em;font:400 clamp(21px,1vw + 13px,40px)/1.2 var(--display);letter-spacing:-.022em;text-wrap:pretty}
.rsum{margin:clamp(14px,1.4vw,24px) 0 0;max-width:32em;color:var(--dim);font-size:clamp(16px,.45vw + 10px,21px);line-height:1.45;text-wrap:pretty}
.rcta{margin:clamp(26px,2.8vw,44px) 0 0}
.rkx{position:static;display:block;z-index:auto;padding:0;background:none}
.rkx h2{margin:0 0 clamp(12px,1.2vw,18px);font:400 15px/1.4 var(--sans);letter-spacing:-.01em;color:var(--dim)}
.rkx ol{list-style:none;margin:0;padding:0}
.rkx a{display:grid;grid-template-columns:2.6em minmax(0,1fr);padding:clamp(11px,.85vw,15px) 0;border-top:1px solid var(--hair);font-size:clamp(16px,.42vw + 11px,21px);line-height:1.36;letter-spacing:-.01em;text-wrap:pretty;transition:color .2s}
.rkx li:last-child a{border-bottom:1px solid var(--hair)}.rkx a:hover{color:var(--sig)}
.rkx span{font:400 .8em/1.72 var(--display);color:var(--sig)}
@media(max-width:960px){.rpx{grid-template-columns:minmax(0,1fr);row-gap:clamp(44px,9vw,64px)}.rph{min-height:0}}
@media(prefers-reduced-motion:no-preference){.rph>*,.rpx>*{animation:bkr 1.1s cubic-bezier(.2,.7,.1,1) both}.rph>.rpx{animation:none}.rph h1{animation:hin 1.4s cubic-bezier(.2,.7,.1,1) .06s both}.rpl{animation-delay:.24s}.rkx{animation-delay:.36s}}

.rpf{padding-top:clamp(40px,8vh,110px);padding-bottom:clamp(8px,2vh,24px)}
.kf{list-style:none;margin:0;padding:0}
.kf>li{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-rows:auto auto 1fr;column-gap:clamp(40px,6vw,130px);align-items:start;padding-bottom:clamp(80px,10vw,160px);scroll-margin-top:96px}
.kf .rn{grid-column:1/-1;margin-bottom:clamp(22px,2.4vw,40px)}
.kf h3{grid-column:1;margin:0;font-weight:400;font-size:clamp(26px,1.5vw + 14px,54px);line-height:1.08;letter-spacing:-.03em;text-wrap:balance}
.kfb{grid-column:1;margin:clamp(14px,1.3vw,22px) 0 0;max-width:30em;color:var(--dim);font-size:clamp(16px,.5vw + 10px,21px);line-height:1.45;text-wrap:pretty}
.kf .chart{grid-column:2;grid-row:2/4}
.kf .nc .kfb{grid-column:2;grid-row:2;margin:0;padding-top:.3em;max-width:29em;font-size:clamp(17px,.55vw + 11px,24px);line-height:1.42;letter-spacing:-.008em}
@media(max-width:960px){.kf>li{grid-template-columns:minmax(0,1fr);grid-template-rows:none}.kf .chart{grid-column:1;grid-row:auto;margin-top:clamp(36px,7vw,52px)}.kf .nc .kfb{grid-column:1;grid-row:auto;margin-top:clamp(14px,3vw,20px);padding:0;font-size:clamp(16px,.5vw + 10px,21px)}}

.chart{margin:0;min-width:0}
.chart figcaption b{display:block;font:400 clamp(18px,.45vw + 13px,24px)/1.25 var(--display);letter-spacing:-.016em}
.chart figcaption span{display:block;margin-top:4px;font-size:14px;color:var(--dim)}
.src{margin:20px 0 0;font-size:13px;color:rgba(238,240,250,.68)}
.bl{list-style:none;margin:clamp(22px,2.2vw,34px) 0 0;padding:0}
.bl li{display:grid;grid-template-columns:minmax(8em,2fr) minmax(0,3fr) 3.2em;align-items:center;column-gap:clamp(14px,1.3vw,22px);padding:10px 0}
.bk{font-size:15px;line-height:1.3;color:var(--dim);transition:color .2s}
.bt{position:relative;height:8px;border-radius:99px;background:rgba(238,240,250,.07)}
.bt i{position:absolute;left:0;top:0;bottom:0;border-radius:inherit;background:rgba(238,240,250,.42);transform-origin:left;transition:background .2s}
.bv{font-style:normal;font-size:15px;text-align:right;font-variant-numeric:tabular-nums;color:var(--dim);transition:color .2s}
.bl li.hi .bk,.bl li.hi .bv,.bl li:hover .bk,.bl li:hover .bv{color:var(--bone)}.bl li.hi i{background:var(--sig)}
.bl li:hover i{background:rgba(238,240,250,.66)}.bl li.hi:hover i{background:#b9b0ff}
@media(max-width:560px){.bl li{grid-template-columns:minmax(0,1fr) 3.2em;row-gap:8px;padding:8px 0}.bk{grid-column:1/-1}}

.lg{list-style:none;display:flex;flex-wrap:wrap;gap:6px 22px;margin:16px 0 0;padding:0;font-size:14px;color:var(--dim)}
.lg li{display:flex;align-items:center;gap:8px}.lg li::before{content:"";width:16px;height:2px;border-radius:2px;background:currentColor}
.lg .s0::before{background:var(--sig)}.lg .s1::before{background:rgba(238,240,250,.5)}.lg .s2::before{background:rgba(238,240,250,.4)}
.pl{position:relative;height:clamp(220px,22vw,360px);margin:clamp(26px,2.6vw,40px) 3.6em 40px 2.6em;touch-action:pan-y}
.gy span{position:absolute;left:0;right:0;height:1px;background:rgba(238,240,250,.07)}.gy .g0{background:rgba(238,240,250,.26)}
.gy em{position:absolute;right:100%;top:0;padding-right:12px;transform:translateY(-50%);font-style:normal;font-size:13px;line-height:1;color:rgba(238,240,250,.68);font-variant-numeric:tabular-nums}
.pl svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;clip-path:inset(-12px -12px -12px -12px)}
.pl path{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.pl path.s0{stroke:var(--sig)}.pl path.s1{stroke:rgba(238,240,250,.5)}.pl path.s2{stroke:rgba(238,240,250,.4)}
.dot{position:absolute;left:100%;width:10px;height:10px;margin:0 0 -5px -5px;border-radius:50%;box-shadow:0 0 0 3px var(--bg)}
.dot.s0{background:var(--sig)}.dot.s1{background:#9a9cab}.dot.s2{background:#5f6170}
.el{position:absolute;left:100%;margin-left:14px;transform:translateY(50%);font-size:14px;line-height:1;white-space:nowrap;font-variant-numeric:tabular-nums}
.gx span{position:absolute;top:100%;margin-top:12px;transform:translateX(-50%);font-size:13px;color:rgba(238,240,250,.68);white-space:nowrap;font-variant-numeric:tabular-nums}.gx .f{transform:none}.gx .l{transform:translateX(-100%)}
.xt{margin:-6px 3.6em 0 2.6em;text-align:center;font-size:13px;color:rgba(238,240,250,.68)}
.xh{position:absolute;top:0;bottom:0;width:1px;background:rgba(238,240,250,.4);pointer-events:none}
.tt{position:absolute;top:0;z-index:2;min-width:9em;padding:10px 12px;border:1px solid var(--hair);border-radius:10px;background:rgba(9,10,20,.94);font-size:14px;line-height:1.35;pointer-events:none}
.tt p{margin:0 0 6px;color:var(--dim);font-size:13px}.tt div{display:flex;align-items:center;gap:8px;white-space:nowrap}.tt div+div{margin-top:4px}
.tt b{font-weight:500;font-variant-numeric:tabular-nums}.tt i{width:12px;height:2px;border-radius:2px;flex:none}.tt span{color:var(--dim)}
.tt .s0{background:var(--sig)}.tt .s1{background:rgba(238,240,250,.5)}.tt .s2{background:rgba(238,240,250,.4)}
.dv{margin-top:18px;font-size:14px}.dv summary{display:inline-flex;align-items:center;gap:9px;cursor:pointer;list-style:none;color:var(--dim);transition:color .2s}.dv summary:hover{color:var(--bone)}.dv summary::-webkit-details-marker{display:none}
.dv summary::before{content:"";width:5px;height:5px;margin-top:-2px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);transition:transform .25s,margin .25s}.dv[open] summary::before{margin-top:3px;transform:rotate(-135deg)}
.dv table{margin-top:14px;border-collapse:collapse;font-variant-numeric:tabular-nums}.dv th,.dv td{padding:6px 24px 6px 0;text-align:left;font-weight:400;border-bottom:1px solid rgba(238,240,250,.08)}.dv thead th{color:var(--dim)}
/* findings reveal as they arrive: the rule draws, the bars grow, the lines draw left to right.
   The transitions only run on the way in, so nothing visibly hides when the script first marks the page */
@media(prefers-reduced-motion:no-preference){.rv.in .rn::after{transition:transform 1.4s cubic-bezier(.3,0,.1,1) .1s}
 .rv.in .bt i{transition:background .2s,transform 1.2s cubic-bezier(.3,0,.1,1)}.rv.in .bl li:nth-child(2) i{transition-delay:0s,.07s}.rv.in .bl li:nth-child(3) i{transition-delay:0s,.14s}.rv.in .bl li:nth-child(4) i{transition-delay:0s,.21s}.rv.in .bl li:nth-child(n+5) i{transition-delay:0s,.28s}
 .rv.in .pl svg{transition:clip-path 1.9s cubic-bezier(.45,0,.2,1)}.rv.in .dot{transition:opacity .5s 1.6s}.rv.in .el{transition:opacity .5s 1.7s}
 .js .rv:not(.in) .rn::after{transform:scaleX(0)}.js .rv:not(.in) .bt i{transform:scaleX(0)}
 .js .rv:not(.in) .pl svg{clip-path:inset(-12px 100% -12px -12px)}.js .rv:not(.in) .dot,.js .rv:not(.in) .el{opacity:0}}

.rpg{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:clamp(40px,6vw,130px);align-items:start;padding-top:clamp(44px,8vh,110px);padding-bottom:clamp(120px,20vh,240px);scroll-margin-top:24px}
.rpg::before{content:"";position:absolute;left:var(--pad);right:var(--pad);top:0;height:1px;background:linear-gradient(90deg,rgba(163,151,255,.7),rgba(238,240,250,.2) 30%,transparent 88%)}
.rgl h2{margin:0;font-weight:400;font-size:clamp(34px,min(9vw,2.8vw + 16px),88px);line-height:1;letter-spacing:-.032em}
.rgl>p{margin:clamp(18px,1.8vw,30px) 0 0;max-width:24em;font-size:clamp(16px,.6vw + 10px,24px);line-height:1.4;letter-spacing:-.01em;text-wrap:pretty}
.rgl h3{margin:clamp(36px,3.8vw,64px) 0 clamp(12px,1.1vw,18px);font:400 15px/1.4 var(--sans);letter-spacing:-.01em;color:var(--dim)}
.rtoc{list-style:none;margin:0;padding:0;max-width:27em}
.rtoc li{display:grid;grid-template-columns:2.6em minmax(0,1fr);padding:clamp(11px,.9vw,15px) 0;border-top:1px solid var(--hair);font:400 clamp(17px,.4vw + 12px,22px)/1.3 var(--display);letter-spacing:-.012em}
.rtoc li:last-child{border-bottom:1px solid var(--hair)}.rtoc span{font-size:.8em;line-height:1.62;color:var(--dim)}
.rgr{padding-top:clamp(6px,.8vw,14px)}.rgr.rv{transition-delay:.12s}
.rq{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,2.2vw,34px);max-width:42rem}
.rq .fr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,2.2vw,34px) 16px}
@media(max-width:560px){.rq .fr{grid-template-columns:minmax(0,1fr)}}
.fd label[for]{display:block;margin:0 0 10px;padding:0;font-size:14px;color:var(--dim)}
.rq input[type=email],.rq select{width:100%;margin:0;padding:15px 18px;border:1px solid rgba(238,240,250,.42);border-radius:12px;background:rgba(238,240,250,.035);color:var(--bone);font:400 17px/1.3 var(--sans);transition:border-color .2s,background .2s}
.rq input[type=email]::placeholder{color:rgba(238,240,250,.64);opacity:1}
.rq input[type=email]:hover,.rq select:hover{border-color:rgba(238,240,250,.62)}
.rq input[type=email]:focus,.rq select:focus{outline:0;border-color:var(--sig);box-shadow:0 0 0 1px var(--sig);background:rgba(238,240,250,.055)}
.sel{position:relative}.sel::after{content:"";position:absolute;top:50%;right:21px;width:7px;height:7px;margin-top:-6px;border:solid var(--dim);border-width:0 1.5px 1.5px 0;transform:rotate(45deg);pointer-events:none;transition:border-color .2s}.sel:hover::after{border-color:var(--bone)}
.rq select{-webkit-appearance:none;appearance:none;padding-right:48px;text-overflow:ellipsis;cursor:pointer}.rq select:invalid{color:rgba(238,240,250,.64)}.rq option{color:var(--bone);background:var(--bg)}
.fd.bad input[type=email],.fd.bad select{border-color:#f0868a}
.fe{margin:8px 0 0;font-size:13px;color:#f7b4b6}.fe:empty{display:none}
.fs{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-top:6px}.fs .fe{margin:0}
.rq button.btn[aria-disabled]{opacity:.6;cursor:progress}
.consent{margin:0;max-width:36em;font-size:13px;line-height:1.5;color:rgba(238,240,250,.72)}.consent a{color:var(--dim);border-bottom:1px solid rgba(238,240,250,.3)}.consent a:hover{color:var(--bone)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rqd:focus{outline:0}.rqd .bkc{margin-bottom:clamp(14px,1.4vw,22px)}
.rqd h3{margin:0;font-weight:400;font-size:clamp(28px,1.8vw + 16px,60px);line-height:1.05;letter-spacing:-.03em;overflow-wrap:anywhere}
.rqd>p{margin:clamp(12px,1.1vw,18px) 0 clamp(22px,2.2vw,34px);color:var(--dim);font-size:clamp(16px,.5vw + 10px,21px);line-height:1.45}
.rqd .rqc{margin:clamp(32px,3vw,52px) 0 0;padding-top:clamp(16px,1.4vw,24px);border-top:1px solid var(--hair);color:var(--bone)}.rqc .lnk{margin-left:.3em;white-space:nowrap}
@media(prefers-reduced-motion:no-preference){.rqd:not([hidden])>*{animation:bkr .9s cubic-bezier(.2,.7,.1,1) both}.rqd>:nth-child(2){animation-delay:.08s}.rqd>:nth-child(3){animation-delay:.16s}.rqd>:nth-child(4){animation-delay:.24s}.rqd>:nth-child(5){animation-delay:.32s}.rqd:not([hidden]) .ck{animation:bkc .55s cubic-bezier(.5,0,.2,1) .3s both}}
@media(max-width:960px){.rpg{grid-template-columns:minmax(0,1fr);row-gap:clamp(44px,9vw,64px)}}

.legal .rx{padding-bottom:clamp(36px,6vh,72px)}.upd{margin:clamp(14px,1.4vw,22px) 0 0}
.lgb{padding-bottom:clamp(120px,18vh,220px)}.lgb>*{max-width:40rem}
.lgb .lead{margin:0 0 clamp(20px,2vw,32px);font-size:clamp(18px,.6vw + 12px,26px);line-height:1.38;letter-spacing:-.012em}
.lgb h2{margin:clamp(40px,4vw,64px) 0 14px;padding-top:clamp(14px,1.2vw,20px);border-top:1px solid var(--hair);font-weight:400;font-size:clamp(22px,.8vw + 15px,34px);line-height:1.15;letter-spacing:-.022em}
.lgb h3{margin:26px 0 8px;font:500 16px/1.4 var(--sans)}
.lgb p,.lgb li{color:var(--dim);font-size:clamp(16px,.2vw + 14px,18px);line-height:1.6;text-wrap:pretty}.lgb p{margin:0 0 14px}.lgb b{font-weight:500;color:var(--bone)}
.lgb ul{margin:0 0 14px;padding-left:1.2em}.lgb li{margin:0 0 6px;padding-left:.3em}.lgb li::marker{color:rgba(238,240,250,.4)}
.lgb a{color:var(--bone);border-bottom:1px solid rgba(163,151,255,.45);transition:border-color .2s}.lgb a:hover{border-color:var(--bone)}
footer .fl{display:flex;flex-wrap:wrap;gap:8px 22px}footer .fl>span{margin-right:auto}@media(max-width:520px){footer .fl>span{flex-basis:100%}}footer .fl a{transition:color .2s}footer .fl a:hover{color:var(--bone)}
#end.nojs{padding-top:160px}#end.nojs .lead{max-width:30em;margin:18px 0}

@media(min-width:2000px){body{font-size:21px}nav div{font-size:17px}footer{font-size:18px}footer h2{font-size:15px}footer .fl{font-size:15px}.stat{font-size:18px}.trust .tl{font-size:18px}.brand{font-size:24px}.brand i{width:23px;height:24px}.trust img{height:30px}.trust img.t{height:40px}.stat dd.lg img.sf{height:.4em}.bkc,.bkx h2,.when small{font-size:18px}}
@media(max-width:820px){.cgrid{grid-template-columns:1fr;gap:36px}footer{grid-template-columns:repeat(3,1fr);gap:28px 16px}footer .fb,footer .fl{grid-column:1/-1}}
@media(max-width:700px){nav div a:not(.talk){display:none}}
@media(max-width:350px){footer{grid-template-columns:1fr 1fr}.brand{font-size:18px}.brand i{width:17px;height:18px}.talk{font-size:13px;padding:7px 11px}}
@media(max-height:500px) and (orientation:landscape) and (pointer:coarse){h1{font-size:40px}h1 br{display:none}.herofoot{margin-top:10px}.herofoot p{max-width:none;font-size:15px}#hero{padding-bottom:16px}#end a.go{font-size:44px}.ch h2{font-size:44px}.ch{padding-top:90px}.b .ht{height:130px}}
h1,h2,h3,.big,.pidx b,.stat dd,.brand,#end a.go{font-family:var(--display)}.rgl h3,.rkx h2,.rgh,.lgb h3{font-family:var(--sans)}
@media(prefers-reduced-motion:reduce){html:not(.motion) *,html:not(.motion) *::before,html:not(.motion) *::after{transition:none!important}}
/* accessibility: motion off (system setting), 44px hit areas, a third line style, more contrast on request */
html.calm *,html.calm *::before,html.calm *::after{animation:none!important;transition:none!important}
/* settling after a load or a jump mid-page: things take their place without a transition (site.js) */
html.still *,html.still *::before,html.still *::after{transition:none!important}
.tk:not(.on) li[aria-hidden]{display:none}
.btn{min-height:44px}
nav div a,.brand,.lnk,.gh,footer .fl a,.rph .eyebrow a,.bkl,.dv summary{position:relative}
:is(nav div a,.brand,.lnk,.gh,footer .fl a,.rph .eyebrow a,.bkl,.dv summary)::after{content:"";position:absolute;left:-6px;right:-6px;top:50%;height:max(44px,100%);transform:translateY(-50%)}
.pl path.s2{stroke-dasharray:6 5}.lg .s2::before,.tt i.s2{background:repeating-linear-gradient(90deg,rgba(238,240,250,.4) 0 4px,transparent 4px 7px)}
.bl li.hi .bk{font-weight:500}
/* text over the skyline keeps its contrast where a bright line passes behind it: a dark halo, invisible on the plain ground */
:is(#hero,#intro,.ch,#end,.rx,.rph,.rpg,.lgb){text-shadow:0 0 2px rgba(3,4,10,.9),0 0 6px rgba(3,4,10,.8),0 0 16px rgba(3,4,10,.6)}:is(.btn,.talk,.skip,input,select){text-shadow:none}
@media(prefers-contrast:more){:root{--dim:var(--bone);--hair:rgba(238,240,250,.45)}.w,.tk.on li,.how li{opacity:1}footer h2,footer .fl,.src,.gy em,.gx span,.xt,.consent,.rq input[type=email]::placeholder,.rq select:invalid{color:var(--bone)}.rq input[type=email],.rq select{border-color:rgba(238,240,250,.75)}
 .chh::before,.chb::before{background:radial-gradient(closest-side,rgba(3,4,10,.96),rgba(3,4,10,.85) 58%,transparent)}}
@media(forced-colors:active){.btn:not(:focus-visible),.talk:not(:focus-visible){outline:1px solid LinkText;outline-offset:-1px}.w,.tk.on li{opacity:1}header nav::after{background:Canvas}.brand i{forced-color-adjust:none;background:CanvasText}.chh::before,.chb::before{display:none}.how li{opacity:1}}
@media(forced-colors:active) and (prefers-color-scheme:light){.trust img,.stat img.sf{filter:brightness(0)}}
@media print{.tk.on{height:auto!important;overflow:visible!important;mask-image:none!important;-webkit-mask-image:none!important}.tk.on ul{transform:none!important}.tk.on li{opacity:1!important}.tk [aria-hidden]{display:none}:root{--bg:#fff;--bone:#000;--dim:#333;--hair:#ccc;color-scheme:light}#gl,.ht,.skip,#intro::before,.chh::before,.chb::before{display:none}nav,.pin{position:static}nav{background:none}#hero,#end,#say,#intro,.ch,.pin{min-height:0;height:auto}#say,#intro,.ch,#trust,#markets,#open-source,#end{padding-top:32px;padding-bottom:32px}#markets{background:none}.pin::before{display:none}.w,.how li,.rv{opacity:1!important;transform:none!important}.num::after{transform:none}.trust img,.stat img.sf{filter:brightness(0)}footer{background:none}.brand i{print-color-adjust:exact;-webkit-print-color-adjust:exact}.talk{background:none;color:var(--bone)}}
