@font-face{font-family:Geist;src:url(fonts/geist-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(fonts/geist-mono-var.woff2) format("woff2");font-weight:100 900;font-display:swap}
*,*:before,*:after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
:root{--black:#000;--white:#F5F4F1;--paper:#F3F2EE;--ink:#0C0D0F;--dim:#A3A3A8;--dim-l:#5E6168;--hair:#ffffff1f;--hair-l:#0c0d0f1a;
--apricot:#FFC29B;--ember:#FF6A4A;--rose:#FF3D6E;--acc:#FF5F40;--acc-l:#C5391B;
--light:linear-gradient(100deg,var(--apricot),var(--ember) 45%,var(--rose));
--ease:cubic-bezier(.16,1,.3,1);--gut:clamp(20px,4vw,56px);--p:0}
body{margin:0;background:var(--black);color:var(--white);font-family:Geist,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;font-size:17px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin:0}
.mono{font-family:"Geist Mono",ui-monospace,Menlo,monospace;font-size:12.5px;letter-spacing:0}
:focus-visible{outline:2px solid var(--ember);outline-offset:4px;border-radius:6px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;color:#000;padding:10px 16px;border-radius:99px;z-index:100}.skip:focus{left:8px}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}

/* display type */
.d1{font-size:clamp(48px,12.4vw,230px);line-height:.88;letter-spacing:-.062em;font-weight:600}
.d2{font-size:clamp(44px,7.6vw,120px);line-height:.94;letter-spacing:-.055em;font-weight:600}
.d3{font-size:clamp(34px,4.6vw,72px);line-height:1;letter-spacing:-.045em;font-weight:600}
.lede{font-size:clamp(18px,1.55vw,23px);line-height:1.35;letter-spacing:-.015em;color:var(--dim);max-width:30em;text-wrap:balance}
.light .lede{color:var(--dim-l)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 26px;border-radius:99px;background:var(--white);color:#000;font-weight:500;font-size:16px;letter-spacing:-.01em;transition:transform .5s var(--ease),box-shadow .5s var(--ease),background .2s;will-change:transform;position:relative}
.btn:hover{box-shadow:0 0 0 1px #fff,0 12px 50px -8px #ff6a4acc}
.btn:active{scale:.97}
.btn.sm{height:38px;padding:0 17px;font-size:14px}
.light .btn{background:var(--ink);color:#fff}.light .btn:hover{box-shadow:0 14px 44px -10px #ff6a4ad0}
.quiet{font-size:16px;color:var(--dim);letter-spacing:-.01em;display:inline-flex;align-items:center;gap:8px;height:52px;padding:0 6px;transition:color .2s}
.quiet:hover{color:#fff}.quiet svg{transition:transform .4s var(--ease)}.quiet:hover svg{transform:translateY(3px)}
.light .quiet{color:var(--dim-l)}.light .quiet:hover{color:var(--ink)}

/* nav */
.nav{position:absolute;inset:0 0 auto 0;z-index:50;height:64px;display:flex;align-items:center;padding:0 var(--gut);gap:34px;color:#fff;transition:color .3s,background .3s,backdrop-filter .3s,transform .5s var(--ease)}
.js .nav{position:fixed}
.nav.solid{background:#00000073;-webkit-backdrop-filter:saturate(1.6) blur(18px);backdrop-filter:saturate(1.6) blur(18px)}
.nav.on-light{color:var(--ink)}.nav.on-light.solid{background:#f3f2eea6}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:19px;letter-spacing:-.03em;margin-right:auto}
.brand svg{width:26px;height:26px}
.nav-links{display:flex;gap:30px;font-size:14.5px;letter-spacing:-.005em}
.nav-links a{opacity:.72;transition:opacity .2s}.nav-links a:hover{opacity:1}
.nav .btn.sm{background:#fff;color:#000}.nav.on-light .btn.sm{background:var(--ink);color:#fff}
@media(max-width:720px){.nav-links{display:none}.nav{height:56px}}

/* devices */
.slab{--b:calc(var(--w)*.0085);width:var(--w);aspect-ratio:1600/1000;box-sizing:content-box;padding:var(--b);border-radius:calc(var(--w)*.021);background:#060607;position:relative;
box-shadow:inset 0 0 0 1px #3a3a3e,inset 0 0 0 2.5px #111113,0 0 0 1px #000}
.slab img{width:100%;height:100%;border-radius:calc(var(--w)*.0125);object-fit:cover}
.slab:after,.phone:after{content:"";position:absolute;inset:var(--b);border-radius:calc(var(--w)*.0125);background:linear-gradient(112deg,#ffffff24 0,#ffffff0a 22%,transparent 38%);pointer-events:none;mix-blend-mode:screen}
.phone{--b:calc(var(--w)*.032);width:var(--w);aspect-ratio:390/844;box-sizing:content-box;padding:var(--b);border-radius:calc(var(--w)*.185);background:#050506;position:relative;
box-shadow:inset 0 0 0 calc(var(--w)*.006) #4b4b50,inset 0 0 0 calc(var(--w)*.014) #1b1b1d,0 0 0 1px #000}
.phone img{width:100%;height:100%;border-radius:calc(var(--w)*.153);object-fit:cover}
.phone:after{border-radius:calc(var(--w)*.153)}
.phone:before{content:"";position:absolute;z-index:2;left:50%;top:calc(var(--b) + var(--w)*.03);width:calc(var(--w)*.3);height:calc(var(--w)*.088);border-radius:99px;background:#000;transform:translateX(-50%)}
.shadow-d{filter:drop-shadow(0 60px 80px #000c)}

/* grain */
.grain:before{content:"";position:absolute;inset:0;background:url(img/grain.png);opacity:.4;pointer-events:none;z-index:3}

/* ---------- hero ---------- */
.hero{position:relative;background:#000}
.js .hero{height:260vh}
.hero-pin{position:relative;height:100vh;height:100svh;min-height:620px;overflow:hidden}
.js .hero-pin{position:sticky;top:0}
.aura{position:absolute;inset:-10% -10% -20%;pointer-events:none;
background:radial-gradient(42% 34% at 50% 78%,#ff6a4a70,transparent 70%),radial-gradient(30% 26% at 26% 86%,#ff3d6e59,transparent 70%),radial-gradient(34% 28% at 76% 88%,#ffc29b4d,transparent 70%);
opacity:calc(.9 - var(--p)*.25);transform:translateY(calc(var(--p)*-22vh)) scale(calc(1 + var(--p)*.5));animation:bloom 2.2s var(--ease) both}
.hero-copy{position:absolute;inset:0 0 auto;padding:clamp(96px,15vh,170px) var(--gut) 0;text-align:center;z-index:4;display:flex;flex-direction:column;align-items:center;
opacity:calc(1 - var(--p)*2.6);transform:translateY(calc(var(--p)*-16vh)) scale(calc(1 - var(--p)*.1));transform-origin:50% 0}
.hero h1 span{display:inline-block;animation:rise 1.2s var(--ease) both}
.hero h1 span:nth-child(2){animation-delay:.09s}
.hero .lede{margin-top:clamp(18px,2.6vh,30px);animation:fade 1.2s .35s var(--ease) both}
.hero .acts{margin-top:clamp(18px,2.6vh,28px);display:flex;gap:14px;align-items:center;animation:fade 1.2s .5s var(--ease) both}
.stage{position:absolute;inset:0;perspective:2000px;perspective-origin:50% 30%;z-index:2;animation:stage 1.8s .2s var(--ease) both}
.hero .slab{--w:min(1500px,calc(100vw - 2*var(--gut)),calc((100vh - 250px)*1.6));position:absolute;left:50%;top:calc(50% - 22px);margin:calc(var(--w)*-.3125 - var(--b)) 0 0 calc(var(--w)*-.5 - var(--b));
transform:translateY(calc((1 - var(--p))*min(46vh,var(--w)*.43) + 12px)) rotateX(calc((1 - var(--p))*56deg)) scale(calc(1.16 - var(--p)*.16));transform-origin:50% 12%;will-change:transform;
box-shadow:inset 0 0 0 1px #3a3a3e,inset 0 0 0 2.5px #111113,0 0 0 1px #000,0 calc(40px + var(--p)*30px) 140px -20px #ff6a4a66,0 -30px 120px -40px #ff3d6e44}
.hero .phone{--w:clamp(150px,17vw,250px);position:absolute;right:max(var(--gut),calc(50% - 690px));bottom:5vh;z-index:3;
opacity:calc((var(--p) - .42)*3.4);transform:translate3d(calc((1 - var(--p))*22vw),calc((1 - var(--p))*40vh),0) rotate(calc((1 - var(--p))*14deg));will-change:transform,opacity;box-shadow:inset 0 0 0 calc(var(--w)*.006) #4b4b50,inset 0 0 0 calc(var(--w)*.014) #1b1b1d,0 0 0 1px #000,0 50px 100px -10px #000,0 0 90px -20px #ff6a4a80}
.sweep{position:absolute;inset:var(--b);border-radius:calc(var(--w)*.0125);overflow:hidden;pointer-events:none}
.sweep:before{content:"";position:absolute;top:-20%;bottom:-20%;width:34%;left:0;background:linear-gradient(100deg,transparent,#ffffff30 45%,#fff5 50%,#ffffff30 55%,transparent);transform:translateX(calc(-140% + var(--p)*480%)) skewX(-14deg)}
.hero-fade{position:absolute;inset:auto 0 0;height:22vh;background:linear-gradient(transparent,#000);z-index:3;opacity:calc(1 - var(--p)*3);pointer-events:none}
@keyframes rise{from{opacity:0;transform:translateY(.35em);filter:blur(14px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes fade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes stage{from{opacity:0;transform:translateY(16vh)}to{opacity:1;transform:none}}
@keyframes bloom{from{opacity:0}}
@media(max-width:720px){
 .stage{perspective:1100px}
 .hero .slab{--w:168vw;top:46%;margin-left:calc(var(--w)*-.5 - var(--b) + 38vw);opacity:calc((var(--p) - .12)*3);transform:translateY(calc((1 - var(--p))*30vh - 6vh)) rotateX(calc((1 - var(--p))*40deg)) scale(calc(1.1 - var(--p)*.1))}
 .hero .phone{--w:64vw;right:18vw;bottom:auto;top:calc(100svh - 64vw*1.02);opacity:1;transform:translate3d(calc(var(--p)*16vw),calc(var(--p)*-30svh),0) scale(calc(1 - var(--p)*.27)) rotate(0deg);transform-origin:50% 0}
 .hero-fade{display:none}
 .hero .btn{height:50px}
 .hero h1{font-size:17vw}
 .map{max-width:none}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}html{scroll-behavior:auto}.js .hero{height:auto}.js .hero-pin{position:relative}}

.hero-cap{position:absolute;left:var(--gut);right:var(--gut);bottom:clamp(20px,4vh,40px);z-index:5;display:flex;align-items:baseline;gap:18px;opacity:calc((var(--p) - .78)*6);transform:translateY(calc((1 - var(--p))*30px));pointer-events:none}
.hero-cap h2{font-size:clamp(22px,2.2vw,30px);letter-spacing:-.035em;font-weight:600}
.hero-cap p{color:var(--dim);font-size:clamp(15px,1.3vw,18px);letter-spacing:-.01em}
@media(max-width:720px){.hero-cap{flex-direction:column;gap:2px}}

/* ---------- chapters ---------- */
.ch{position:relative;padding:clamp(96px,13vh,170px) var(--gut) clamp(96px,13vh,170px);overflow:hidden;--p:.5}
.light{background:var(--paper);color:var(--ink)}
.cap{text-align:center;display:flex;flex-direction:column;align-items:center;gap:clamp(14px,2vh,22px);position:relative;z-index:4}
.halo{position:absolute;left:50%;top:58%;width:min(1300px,130vw);aspect-ratio:1.5;transform:translate(-50%,-50%);pointer-events:none;background:radial-gradient(closest-side,#ff6a4a5c,#ff3d6e2b 45%,transparent 72%)}
.light .halo{background:radial-gradient(closest-side,#ff6a4a40,#ffc29b33 50%,transparent 72%)}

/* phones trio */
.trio{position:relative;display:flex;justify-content:center;margin-top:clamp(40px,7vh,84px);--w:clamp(168px,min(21vw,30vh),310px);--s:clamp(0,calc((var(--p) - .1)*3.4),1)}
.trio .phone{flex:none;box-shadow:inset 0 0 0 calc(var(--w)*.006) #4b4b50,inset 0 0 0 calc(var(--w)*.014) #1b1b1d,0 0 0 1px #000,0 70px 90px -40px #0c0d0f99,0 24px 36px -18px #0c0d0f66;will-change:transform}
.trio .p1{z-index:2;transform:translateY(calc((1 - var(--s))*40px))}
.trio .p0,.trio .p2{position:absolute;top:0;left:50%;margin-left:calc(var(--w)*-.5 - var(--b))}
.trio .p0{transform:translateX(calc(var(--s)*-94%)) translateY(calc(var(--s)*7% + (1 - var(--s))*40px)) rotate(calc(var(--s)*-7deg)) scale(.94)}
.trio .p2{transform:translateX(calc(var(--s)*94%)) translateY(calc(var(--s)*7% + (1 - var(--s))*40px)) rotate(calc(var(--s)*7deg)) scale(.94)}
@media(max-width:720px){.trio{--w:52vw}.trio .p0{transform:translateX(calc(var(--s)*-70%)) translateY(calc(var(--s)*5%)) rotate(calc(var(--s)*-6deg)) scale(.9)}.trio .p2{transform:translateX(calc(var(--s)*70%)) translateY(calc(var(--s)*5%)) rotate(calc(var(--s)*6deg)) scale(.9)}}

/* duo: slab + phone */
.duo{position:relative;margin:clamp(40px,7vh,84px) auto 0;width:min(1180px,100%,108vh);display:flex;z-index:2}
.duo .slab{--w:min(980px,80vw,88vh);transform:translateY(calc((var(--p) - .5)*40px));box-shadow:inset 0 0 0 1px #3a3a3e,inset 0 0 0 2.5px #111113,0 0 0 1px #000,0 50px 140px -30px #ff6a4a59}
.duo .phone{--w:clamp(150px,min(19vw,24vh),268px);position:absolute;right:0;bottom:-7%;transform:translateY(calc((.5 - var(--p))*150px));will-change:transform;box-shadow:inset 0 0 0 calc(var(--w)*.006) #4b4b50,inset 0 0 0 calc(var(--w)*.014) #1b1b1d,0 0 0 1px #000,0 60px 100px -20px #000,0 0 100px -30px #ff6a4a8c}
.duo.flip{justify-content:flex-end}.duo.flip .phone{right:auto;left:0}
.light .duo .slab{box-shadow:inset 0 0 0 1px #3a3a3e,inset 0 0 0 2.5px #111113,0 0 0 1px #000,0 80px 120px -50px #0c0d0f8c,0 30px 50px -30px #0c0d0f59}
.light .duo .phone{box-shadow:inset 0 0 0 calc(var(--w)*.006) #4b4b50,inset 0 0 0 calc(var(--w)*.014) #1b1b1d,0 0 0 1px #000,0 70px 90px -34px #0c0d0fa6,0 24px 36px -18px #0c0d0f73}
.slab.tab{aspect-ratio:1180/820}
@media(max-width:720px){.duo{padding-bottom:58vw;width:100%}.duo .slab{--w:150vw}.duo.flip .slab{margin-right:-62vw}.duo .phone{--w:52vw;right:0;bottom:0;transform:translateY(calc((.5 - var(--p))*50px))}.duo.flip .phone{left:0}}

/* wide browser */
.wide{margin-top:clamp(48px,8vh,96px);display:flex;justify-content:center;perspective:2200px;position:relative;z-index:2}
.browser{--w:min(1480px,112vw,128vh);width:var(--w);flex:none;border-radius:calc(var(--w)*.012);background:#161719;box-shadow:inset 0 0 0 1px #ffffff24,0 0 0 1px #000,0 80px 160px -40px #ff6a4a66,0 -20px 120px -50px #ff3d6e59;transform:rotateX(calc((.55 - var(--p))*16deg)) translateY(calc((.5 - var(--p))*40px));transform-origin:50% 100%;will-change:transform;overflow:hidden}
.browser .bar{height:calc(var(--w)*.03);min-height:26px;display:flex;align-items:center;gap:calc(var(--w)*.0055);padding:0 calc(var(--w)*.012)}
.browser .bar i{width:calc(var(--w)*.0075);height:calc(var(--w)*.0075);min-width:7px;min-height:7px;border-radius:50%;background:#3a3b3f}
.browser .bar b{margin:0 auto;width:26%;height:52%;border-radius:99px;background:#ffffff0f;transform:translateX(-8%)}
.browser img{width:100%;height:auto;aspect-ratio:1600/1000;object-fit:cover}
@media(max-width:720px){.wide{justify-content:flex-start}.browser{--w:215vw;transform:translateX(calc((.22 - var(--p))*150vw))}}

/* ---------- integrations ---------- */
.map{position:relative;margin:clamp(48px,7vh,90px) auto 0;max-width:min(1400px,74vw);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:0 clamp(40px,7vw,120px);z-index:2}
.map-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.map-svg .base{fill:none;stroke:#ffffff26;stroke-width:1}
.map-svg .pulse{fill:none;stroke:url(#lg);stroke-width:2;stroke-linecap:round;stroke-dasharray:.09 .91;stroke-dashoffset:1;filter:drop-shadow(0 0 5px #ff6a4a)}
.live .map-svg .pulse{animation:flow var(--d,3.2s) linear infinite;animation-delay:var(--dl,0s)}
.map-svg .pulse.back{animation-direction:reverse}
@keyframes flow{to{stroke-dashoffset:0}}
.map-app{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:16px}
.map-app .phone{--w:clamp(104px,11vw,150px);box-shadow:inset 0 0 0 calc(var(--w)*.006) #4b4b50,inset 0 0 0 calc(var(--w)*.014) #1b1b1d,0 0 0 1px #000,0 0 80px -16px #ff6a4a99}
.map-core{position:relative;z-index:1;justify-self:center;width:clamp(160px,19vw,300px);aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#050505}
.map-core{box-shadow:0 0 110px 6px #ff6a4a66,0 0 30px 2px #ff3d6e80}
.map-core:before{content:"";position:absolute;inset:-3px;border-radius:50%;background:conic-gradient(from 0deg,var(--rose),var(--ember),var(--apricot),#fff 48%,var(--apricot),var(--ember) 70%,#7a1b10 86%,var(--rose));animation:spin 9s linear infinite paused}
.map-core:after{content:"";position:absolute;inset:3px;border-radius:50%;background:radial-gradient(closest-side,#000 82%,#0a0202 92%,#2a0a06)}
.map-core b,.map-core small{position:relative;z-index:1}
.live .map-core:before{animation-play-state:running}
@keyframes spin{to{transform:rotate(360deg)}}
.map-core b{font-size:clamp(34px,4vw,54px);letter-spacing:-.05em;font-weight:600;line-height:1}
.map-core small{color:var(--dim)}
.map-ehr{list-style:none;margin:0;padding:0;position:relative;z-index:1}
.map-ehr li{font-size:clamp(26px,3.3vw,60px);letter-spacing:-.045em;font-weight:500;line-height:1.28;white-space:nowrap}
.map-note{max-width:1180px;margin:clamp(40px,6vh,72px) auto 0;color:var(--dim);font-size:15px;text-align:center;position:relative;z-index:2;text-wrap:balance}
.map-note b{color:var(--white);font-weight:500}
.lbl{color:var(--dim)}
@media(max-width:720px){.map{grid-template-columns:1fr 1fr;gap:120px 0;justify-items:center}.map-core small{font-size:9px}.map-ehr{grid-column:1/-1;justify-self:start;padding-left:22vw}.map-core{width:38vw}.map-app .phone{--w:26vw}}

/* ---------- compliance ---------- */
.comp-head{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:32px clamp(32px,6vw,96px);align-items:end}
.comp-head h2 span{display:block;white-space:nowrap}
.comp-head .lede{max-width:17em;padding-bottom:.5em}
.proofs{max-width:1280px;margin:clamp(56px,9vh,110px) auto 0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--hair-l)}
.proofs div{padding:clamp(24px,3.4vw,44px) clamp(16px,2.4vw,36px) clamp(28px,4vw,56px) 0;border-bottom:1px solid var(--hair-l);position:relative}
.proofs div+div{padding-left:clamp(16px,2.4vw,36px);border-left:1px solid var(--hair-l)}
.proofs div:nth-child(4){padding-left:0;border-left:0}
.proofs i{display:block;width:44px;height:3px;border-radius:3px;background:var(--light);margin-bottom:clamp(40px,6.5vw,96px)}
.proofs b{display:block;font-size:clamp(30px,4.3vw,68px);letter-spacing:-.05em;font-weight:600;line-height:1}
.proofs span{display:block;margin-top:12px;color:var(--dim-l);font-size:16px;letter-spacing:-.01em}
@media(max-width:1000px){.comp-head{grid-template-columns:1fr}.comp-head h2{font-size:clamp(38px,10.4vw,96px)}}
@media(max-width:720px){.proofs{grid-template-columns:1fr 1fr}.proofs div:nth-child(n){padding:22px 12px 26px 0;border-left:0}.proofs div:nth-child(even){padding-left:16px;border-left:1px solid var(--hair-l)}.proofs i{margin-bottom:34px;width:32px}}

/* ---------- process ---------- */
.proc{position:relative;background:#000;--p:.66}
.js .proc{height:360vh}
.proc-pin{position:relative;height:100vh;height:100svh;min-height:640px;overflow:hidden;display:flex;flex-direction:column;align-items:center;padding:clamp(84px,12vh,130px) var(--gut) clamp(28px,5vh,56px)}
.js .proc-pin{position:sticky;top:0}
.proc .stagep{flex:1;display:flex;align-items:center;justify-content:center;width:100%;position:relative;min-height:0}
.proc-pin{--w:min(1040px,calc(100vw - 2*var(--gut)),calc((100svh - 410px)*1.6));--r:clamp(0,calc((var(--p) - .2)*3.3),1);--l:clamp(0,calc((var(--p) - .78)*6),1)}
.proc .slab{flex:none;background:#060607;transform:scale(calc(.96 + var(--l)*.04));
box-shadow:inset 0 0 0 1px #3a3a3e,inset 0 0 0 2.5px #111113,0 0 0 1px #000,0 40px 160px -30px rgb(255 106 74/calc(var(--l)*.75)),0 -20px 120px -40px rgb(255 61 110/calc(var(--l)*.5))}
.proc .scr{position:relative;width:100%;height:100%;border-radius:calc(var(--w)*.0125);overflow:hidden;background:#08090a linear-gradient(#ffffff0a 1px,transparent 1px) 0 0/100% 5%,#08090a;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:3.125% 5%}
.proc .scr img{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.proc .wire{opacity:clamp(0,calc(var(--p)*9),1)}
.proc .final{clip-path:inset(0 calc((1 - var(--r))*100%) 0 0)}
.proc .scan{position:absolute;top:0;bottom:0;left:0;transform:translateX(calc(var(--r)*var(--w)));will-change:transform;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 18px 3px var(--ember),0 0 80px 18px #ff6a4a80;opacity:calc(min(var(--r),1 - var(--r))*60)}
.chip{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;height:42px;padding:0 17px 0 13px;border-radius:99px;font-size:14.5px;letter-spacing:-.01em;white-space:nowrap;background:#1c1c1fb8;-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);box-shadow:inset 0 0 0 1px #ffffff29,0 20px 40px -12px #000;
--c:clamp(0,calc((var(--p) - .5 - var(--i)*.07)*12),1);opacity:var(--c);transform:translateY(calc((1 - var(--c))*18px)) scale(calc(.92 + var(--c)*.08))}
.chip i{width:18px;height:18px;border-radius:50%;background:var(--light);display:grid;place-items:center}
.chip i:after{content:"";width:8px;height:4.5px;border:solid #000;border-width:0 0 1.8px 1.8px;transform:rotate(-45deg) translate(.5px,-1px)}
.chip.c0{left:calc(50% - var(--w)*.5 - 34px);top:22%}.chip.c1{right:calc(50% - var(--w)*.5 - 40px);top:44%}.chip.c2{left:calc(50% - var(--w)*.5 - 14px);bottom:16%}
.chip.livep{right:calc(50% - var(--w)*.5 + 22px);top:calc(50% - var(--w)*.3125 - 21px);--c:var(--l);background:var(--white);color:#000;font-weight:500;box-shadow:0 0 50px #ff6a4a}
.chip.livep i{background:#17996F;width:9px;height:9px;box-shadow:0 0 0 4px #17996f38}.chip.livep i:after{display:none}
.steps{display:grid;grid-template-columns:repeat(4,1fr);width:min(760px,100%);margin-top:clamp(20px,4vh,44px);position:relative;list-style:none;padding:18px 0 0}
.steps:before,.steps:after{content:"";position:absolute;left:0;top:0;height:1px;width:100%;background:#ffffff2e}
.steps:after{background:var(--light);transform-origin:0 50%;transform:scaleX(var(--p));height:2px;top:-.5px}
.steps li{font-size:clamp(16px,1.6vw,21px);letter-spacing:-.02em;font-weight:500;text-align:center;opacity:clamp(.5,calc(1.25 - max(var(--p) - var(--at),var(--at) - var(--p))*5.5),1)}
@media(max-width:720px){.proc .stagep{justify-content:flex-start}.proc-pin{--w:172vw}.chip{height:36px;font-size:13px}.chip.c0{left:4vw;top:12%}.chip.c1{right:2vw;left:auto;top:46%}.chip.c2{left:10vw;bottom:8%}.chip.livep{right:4vw;top:4%}}

/* ---------- manifesto ---------- */
.mani{padding:clamp(120px,24vh,300px) var(--gut);--p:1}
.mani p{max-width:1280px;margin:0 auto;font-size:clamp(42px,7.9vw,124px);line-height:.96;letter-spacing:-.055em;font-weight:600}
.mani span{opacity:clamp(.13,calc((var(--p) - .14)*32 - var(--i)),1)}

/* ---------- closing ---------- */
.close{position:relative;background:#000;overflow:hidden}
.close canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.9}
.about{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:clamp(110px,18vh,220px) var(--gut) 0;display:grid;grid-template-columns:1.25fr 1fr;gap:28px clamp(32px,6vw,96px);align-items:end;box-sizing:content-box}
.about p{color:var(--dim);font-size:clamp(17px,1.45vw,20px);letter-spacing:-.012em;line-height:1.42}
.about .quiet{padding:0;margin-top:10px;color:#fff;height:44px;border-bottom:0}
.about .quiet:hover svg{transform:translateX(4px)}
.founder{grid-column:1/-1;display:flex;align-items:center;gap:22px;padding-top:36px;margin-top:18px;border-top:1px solid var(--hair)}
.founder[hidden]{display:none}
.founder .portrait{width:92px;height:92px;border-radius:50%;flex:none;background:#0d0d0e;display:grid;place-items:center;font-size:30px;font-weight:600;letter-spacing:-.04em;position:relative}
.founder .portrait:before{content:"";position:absolute;inset:-2px;border-radius:50%;background:var(--light);z-index:-1}
.founder .portrait img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.founder b{font-size:22px;letter-spacing:-.03em;font-weight:600;display:block}
.cta{position:relative;z-index:2;text-align:center;padding:clamp(120px,22vh,260px) var(--gut) clamp(110px,18vh,220px);display:flex;flex-direction:column;align-items:center;gap:clamp(26px,4vh,44px)}
.cta .btn{height:64px;padding:0 38px;font-size:19px}
.cta .mail{color:var(--dim);font-size:17px;border-bottom:1px solid #ffffff38;padding-bottom:2px;transition:color .2s,border-color .2s}.cta .mail:hover{color:#fff;border-color:#fff}
@media(max-width:720px){.about{grid-template-columns:1fr}}

/* ---------- faq + footer ---------- */
.foot{position:relative;z-index:2;background:#000;padding:0 var(--gut) 34px}
.faq{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:0 clamp(32px,6vw,96px);border-top:1px solid var(--hair);padding:8px 0 clamp(48px,8vh,90px)}
.faq details{border-bottom:1px solid var(--hair)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:18px;letter-spacing:-.02em;font-weight:500}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"";width:11px;height:11px;flex:none;border:solid var(--dim);border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translate(-3px,-3px);transition:transform .3s var(--ease)}
.faq details[open] summary:after{transform:rotate(225deg) translate(-2px,-2px)}
.faq details p{color:var(--dim);font-size:16px;padding:0 40px 24px 0;max-width:34em}
.foot-row{max-width:1280px;margin:0 auto;display:flex;flex-wrap:wrap;gap:14px 30px;align-items:center;font-size:14px;color:var(--dim)}
.foot-row a:hover{color:#fff}.foot-row .brand{color:#fff;margin-right:auto;font-size:17px}
.fine{max-width:1280px;margin:22px auto 0;font-size:12.5px;color:#8a8a90;line-height:1.55;max-width:1280px}
@media(max-width:720px){.faq{grid-template-columns:1fr}.foot-row .brand{width:100%}}

@media(prefers-reduced-motion:reduce){.js .proc{height:auto}.js .proc-pin{position:relative}.map-svg .pulse{stroke-dasharray:none;stroke-dashoffset:0;opacity:.5}}

/* ---------- plain pages ---------- */
.plain .nav{position:absolute}
.legal{max-width:760px;margin:0 auto;padding:clamp(120px,18vh,190px) var(--gut) 110px;box-sizing:content-box}
.legal .meta{margin-top:22px;color:var(--dim-l);font-size:14.5px}
.prose{margin-top:44px;border-top:1px solid var(--hair-l);padding-top:6px;font-size:17px;line-height:1.6}
.prose h2{font-size:22px;letter-spacing:-.025em;font-weight:600;margin:42px 0 0;line-height:1.25}
.prose p,.prose ul{margin:14px 0 0}.prose ul{padding-left:20px}.prose li{margin-top:8px}
.legal a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.plain-foot{background:var(--paper);color:var(--dim-l);padding-top:28px;border-top:1px solid var(--hair-l)}
.plain-foot .foot-row{color:var(--dim-l)}.plain-foot .brand{color:var(--ink)}.plain-foot .foot-row a:hover{color:var(--ink)}.plain-foot .fine{color:var(--dim-l)}
.lost{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;text-align:center;overflow:hidden;padding:0 var(--gut)}
.lost .aura{animation:none;transform:none;opacity:.8}
.lost>*:not(.aura){position:relative;z-index:4}
.lost~.plain-foot{background:#000;border-color:var(--hair)}.lost~.plain-foot .brand{color:#fff}
@media(max-height:820px) and (min-width:721px){.proc .cap .d2{font-size:clamp(34px,4.6vw,60px)}.proc-pin{--w:min(1040px,calc(100vw - 2*var(--gut)),calc((100svh - 320px)*1.6));padding-top:84px}}
