/* ---- app components (from tools/canvas) ---- */

h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}
:focus-visible{outline:2px solid #41000B;outline-offset:3px}
.oh-skip{position:absolute;left:16px;top:-80px;z-index:30;padding:12px 18px;background:#41000B;color:#F6F3EF;font-weight:600;text-decoration:none;border-radius:10px}
.oh-skip:focus{top:16px}
.oh-btn{transition:background-color .4s cubic-bezier(0.32,0.72,0,1),transform .4s cubic-bezier(0.32,0.72,0,1)}
.oh-btn svg{transition:transform .5s cubic-bezier(0.32,0.72,0,1)}
.oh-btn:hover svg{transform:translateX(4px)}
.oh-btn:active{transform:scale(.98)}
.oh-link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:rgba(47,15,19,.3);transition:text-decoration-color .3s}
.oh-link:hover{text-decoration-color:currentColor}
.oh-flink{color:inherit;text-decoration:none;transition:color .3s cubic-bezier(.32,.72,0,1)}
.oh-flink:hover{color:#41000B}
.oh-flink:focus-visible{outline:2px solid #41000B;outline-offset:3px;border-radius:2px}
.oh-grainbox{background-image:url(../img/noise.png);background-size:160px 160px}
.oh-scroll{scrollbar-width:none}.oh-scroll::-webkit-scrollbar{display:none}
@keyframes oh-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes oh-pop{from{opacity:0;transform:translateY(14px) scale(.94)}to{opacity:1;transform:none}}
@keyframes oh-grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.oh-halo{border-radius:50%;background:radial-gradient(circle,rgba(65,0,11,.16) 0%,rgba(65,0,11,.07) 38%,rgba(65,0,11,0) 68%)}
.oh-shade{border-radius:50%;background:radial-gradient(ellipse,rgba(47,15,19,.34) 0%,rgba(47,15,19,0) 70%);animation:oh-shade 6s cubic-bezier(0.45,0,0.55,1) 1.2s infinite}
@keyframes oh-shade{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.86);opacity:.65}}
@keyframes oh-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes oh-drift{0%,100%{transform:translate(0,0) rotate(-2deg)}50%{transform:translate(4px,-8px) rotate(1deg)}}
@keyframes oh-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes oh-type{0%,60%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@keyframes oh-ping{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.4);opacity:0}}
.oh-float{animation:oh-float 6s cubic-bezier(0.45,0,0.55,1) 1.2s infinite}
@keyframes oh-turn-in{from{opacity:0;transform:translateY(24px) rotateY(-26deg) rotateX(6deg) rotateZ(2deg)}to{opacity:1;transform:rotateY(-14deg) rotateX(4deg) rotateZ(1deg)}}
@keyframes oh-sway{0%,100%{transform:rotateY(-14deg) rotateX(4deg) rotateZ(1deg)}50%{transform:rotateY(-10deg) rotateX(3deg) rotateZ(1deg)}}
@keyframes oh-glare{0%,55%{transform:translateX(-120%) skewX(-18deg)}80%,100%{transform:translateX(220%) skewX(-18deg)}}
.oh-3d{perspective:1100px;perspective-origin:50% 40%}
.oh-turn{transform-style:preserve-3d;animation:oh-turn-in 1.8s cubic-bezier(0.22,1,0.36,1) .35s both,oh-sway 9s cubic-bezier(0.45,0,0.55,1) 2.15s infinite}
.oh-glare{position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.13),rgba(255,255,255,0));animation:oh-glare 9s cubic-bezier(0.45,0,0.55,1) 2.2s infinite}
.oh-drift{animation:oh-drift 7s cubic-bezier(0.45,0,0.55,1) infinite}
.oh-drift2{animation:oh-drift 8.5s cubic-bezier(0.45,0,0.55,1) -3s infinite}
.oh-marquee{animation:oh-marquee 38s linear infinite}
.oh-marquee-wrap:hover .oh-marquee{animation-play-state:paused}
.oh-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;animation:oh-type 1.2s ease-in-out infinite}
.oh-dot:nth-child(2){animation-delay:.15s}.oh-dot:nth-child(3){animation-delay:.3s}
.oh-ping{position:absolute;inset:0;border-radius:50%;background:currentColor;animation:oh-ping 1.8s cubic-bezier(0,0,0.2,1) infinite}
.oh-lift{transition:transform .5s cubic-bezier(0.32,0.72,0,1)}.oh-lift:hover{transform:translateY(-6px)}
.oh-rise{animation:oh-rise 1s cubic-bezier(0.32,0.72,0,1) both}
.oh-d1{animation-delay:.08s}.oh-d2{animation-delay:.16s}.oh-d3{animation-delay:.24s}.oh-d4{animation-delay:.4s}
.oh-pop{animation:oh-pop .9s cubic-bezier(0.32,0.72,0,1) .9s both}
.oh-pop.oh-pop2{animation-delay:1.3s}
.oh-grow{transform-origin:left center;animation:oh-grow 1.4s cubic-bezier(0.32,0.72,0,1) .5s both}
@supports (animation-timeline: view()){
.oh-reveal{animation:oh-rise cubic-bezier(0.32,0.72,0,1) both;animation-timeline:view();animation-range:entry 0% cover 22%}
.oh-say{animation:oh-pop cubic-bezier(0.32,0.72,0,1) both;animation-timeline:view();animation-range:entry 10% cover 30%}
}
@media (prefers-reduced-motion: reduce){.oh-turn{transform:rotateY(-12deg) rotateX(4deg)}.oh-turn,.oh-glare,.oh-rise,.oh-pop,.oh-grow,.oh-reveal,.oh-say,.oh-float,.oh-shade,.oh-drift,.oh-drift2,.oh-marquee,.oh-dot,.oh-ping{animation:none}.oh-lift:hover{transform:none}html{scroll-behavior:auto}.oh-btn:hover svg{transform:none}}
@keyframes oh-c0{0%,7.50%{opacity:0;transform:translateY(10px) scale(.96)}9.38%,88.33%{opacity:1;transform:none}92.50%,100%{opacity:0;transform:none}}.oh-c0{animation:oh-c0 24.0s cubic-bezier(0.32,0.72,0,1) infinite both}
@keyframes oh-t0{0%,2.50%{opacity:0;transform:translateY(6px)}3.54%,7.08%{opacity:1;transform:none}7.92%,100%{opacity:0;transform:none}}.oh-t0{animation:oh-t0 24.0s cubic-bezier(0.32,0.72,0,1) infinite both}
@keyframes oh-c1{0%,18.33%{opacity:0;transform:translateY(10px) scale(.96)}20.21%,88.33%{opacity:1;transform:none}92.50%,100%{opacity:0;transform:none}}.oh-c1{animation:oh-c1 24.0s cubic-bezier(0.32,0.72,0,1) infinite both}
@keyframes oh-t1{0%,12.50%{opacity:0;transform:translateY(6px)}13.54%,17.92%{opacity:1;transform:none}18.75%,100%{opacity:0;transform:none}}.oh-t1{animation:oh-t1 24.0s cubic-bezier(0.32,0.72,0,1) infinite both}
@keyframes oh-c2{0%,29.17%{opacity:0;transform:translateY(10px) scale(.96)}31.04%,88.33%{opacity:1;transform:none}92.50%,100%{opacity:0;transform:none}}.oh-c2{animation:oh-c2 24.0s cubic-bezier(0.32,0.72,0,1) infinite both}
@keyframes oh-i2{0%,20.79%{opacity:0}20.83%,29.08%{opacity:1}29.17%,100%{opacity:0}}.oh-i2{animation:oh-i2 24.0s linear infinite both}@keyframes oh-k2{0%,20.83%{max-width:0}27.50%,100%{max-width:223px}}.oh-k2{animation:oh-k2 24.0s steps(31,end) infinite both}
@keyframes oh-c3{0%,40.83%{opacity:0;transform:translateY(10px) scale(.96)}42.71%,88.33%{opacity:1;transform:none}92.50%,100%{opacity:0;transform:none}}.oh-c3{animation:oh-c3 24.0s cubic-bezier(0.32,0.72,0,1) infinite both}
@keyframes oh-t3{0%,33.33%{opacity:0;transform:translateY(6px)}34.38%,40.42%{opacity:1;transform:none}41.25%,100%{opacity:0;transform:none}}.oh-t3{animation:oh-t3 24.0s cubic-bezier(0.32,0.72,0,1) infinite both}
@keyframes oh-c4{0%,52.50%{opacity:0;transform:translateY(10px) scale(.96)}54.37%,88.33%{opacity:1;transform:none}92.50%,100%{opacity:0;transform:none}}.oh-c4{animation:oh-c4 24.0s cubic-bezier(0.32,0.72,0,1) infinite both}
@keyframes oh-i4{0%,44.12%{opacity:0}44.17%,52.42%{opacity:1}52.50%,100%{opacity:0}}.oh-i4{animation:oh-i4 24.0s linear infinite both}@keyframes oh-k4{0%,44.17%{max-width:0}50.83%,100%{max-width:180px}}.oh-k4{animation:oh-k4 24.0s steps(25,end) infinite both}
@keyframes oh-c5{0%,63.33%{opacity:0;transform:translateY(10px) scale(.96)}65.21%,88.33%{opacity:1;transform:none}92.50%,100%{opacity:0;transform:none}}.oh-c5{animation:oh-c5 24.0s cubic-bezier(0.32,0.72,0,1) infinite both}
@keyframes oh-t5{0%,57.50%{opacity:0;transform:translateY(6px)}58.54%,62.92%{opacity:1;transform:none}63.75%,100%{opacity:0;transform:none}}.oh-t5{animation:oh-t5 24.0s cubic-bezier(0.32,0.72,0,1) infinite both}
@keyframes oh-cchip{0%,63.75%{opacity:0;transform:translateY(4px)}65.42%,88.33%{opacity:1;transform:none}92.50%,100%{opacity:0}}.oh-cchip{animation:oh-cchip 24.0s cubic-bezier(0.32,0.72,0,1) infinite both}
.oh-tdot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#FBEDE6;opacity:.5;animation:oh-tdot 1.1s ease-in-out infinite}.oh-tdot:nth-child(2){animation-delay:.15s}.oh-tdot:nth-child(3){animation-delay:.3s}@keyframes oh-tdot{0%,60%,100%{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion: reduce){.oh-c0,.oh-c1,.oh-c2,.oh-c3,.oh-c4,.oh-c5,.oh-cchip{animation:none;opacity:1;transform:none}.oh-t0,.oh-t1,.oh-t3,.oh-t5,.oh-i2,.oh-i4{display:none}.oh-tdot{animation:none}}
.hb{position:relative;overflow:hidden;font-family:'Aeonik',system-ui,sans-serif;color:#F6F3EF;-webkit-font-smoothing:antialiased;
background:radial-gradient(55% 45% at 10% 0%,rgba(122,18,40,.55),rgba(122,18,40,0) 70%),linear-gradient(165deg,#2A0007 0%,#41000B 48%,#57091B 100%)}
#waitlist input::placeholder{color:rgba(255,247,240,.62);opacity:1}
.hb-glow-soft{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(138,24,49,.55) 0%,rgba(122,18,40,.22) 38%,rgba(122,18,40,0) 68%)}
.hb-glow{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(241,29,72,.72) 0%,rgba(241,29,72,.26) 36%,rgba(241,29,72,0) 68%);animation:hb-glow 9s cubic-bezier(0.45,0,0.55,1) infinite}
@keyframes hb-glow{0%,100%{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
.hb-grain{position:absolute;inset:0;pointer-events:none;background-image:url(../img/noise.png);background-size:160px 160px;opacity:.55;mix-blend-mode:overlay}
.hb-rings{position:absolute;inset:0;pointer-events:none}
.hb-arc{animation:hb-arc 2.6s cubic-bezier(0.22,1,0.36,1) .9s both}
@keyframes hb-arc{from{stroke-dashoffset:var(--c)}}
.hb-knob{animation:hb-knob .8s cubic-bezier(0.32,0.72,0,1) 3.1s both}
@keyframes hb-knob{from{opacity:0;transform:scale(.4)}}
.hb-cta{display:inline-flex;align-items:center;gap:12px;border-radius:999px;background:#F6F3EF;color:#41000B;text-decoration:none;font-weight:500;transition:transform .5s cubic-bezier(0.32,0.72,0,1)}
.hb-cta:hover{transform:translateY(-2px)}.hb-cta:active{transform:scale(.98)}
.hb-liquid{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;color:#FFF7F0;text-decoration:none;font-weight:500;white-space:nowrap;cursor:pointer;background:rgba(255,247,240,.12);border:1px solid rgba(255,247,240,.4);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:background .5s cubic-bezier(.32,.72,0,1),border-color .5s cubic-bezier(.32,.72,0,1)}
.hb-liquid:hover{background:rgba(255,247,240,.24);border-color:rgba(255,247,240,.6)}
.hb-liquid:focus-visible{outline:2px solid #FFF7F0;outline-offset:3px}
.hb-liquid-ic{flex:0 0 auto;border-radius:50%;background:#FFF7F0;color:#41000B;display:flex;align-items:center;justify-content:center}
.hb-atm>*{position:relative}.hb-atm>.hb-glow,.hb-atm>.hb-glow-soft,.hb-atm>.hb-grain,.hb-atm>.hb-rings{position:absolute}
@media (prefers-reduced-motion: reduce){.hb-glow,.hb-arc,.hb-knob{animation:none;opacity:1}}

.hb-eyebrow{display:flex;align-items:center;gap:10px;font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:rgba(246,243,239,.86)}
.hb-eyebrow i{width:7px;height:7px;background:#FCBC3C;display:block}
.hb-glass{display:inline-flex;align-items:center;border-radius:999px;background:rgba(255,247,240,.10);border:1px solid rgba(255,247,240,.22);color:#F6F3EF;text-decoration:none;font-weight:500;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.hb-in{animation:hb-in 1.1s cubic-bezier(0.32,0.72,0,1) both}
.hb-d1{animation-delay:.1s}.hb-d2{animation-delay:.22s}.hb-d3{animation-delay:.34s}
@keyframes hb-in{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
.hb-stage{perspective:1400px}
.hb-phone{transform:rotateY(-8deg) rotateX(3deg) rotateZ(-2deg);animation:hb-phone-in 1.6s cubic-bezier(0.22,1,0.36,1) .2s both}
@keyframes hb-phone-in{from{opacity:0;translate:0 40px}to{opacity:1;translate:0 0}}
.hb-m{opacity:0;animation:hb-m .7s cubic-bezier(0.32,0.72,0,1) both}
@keyframes hb-m{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
.hb-solid{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#FDF8F5;color:#41000B;text-decoration:none;font-weight:500;white-space:nowrap;box-shadow:0 12px 32px -14px rgba(20,0,5,.7);transition:transform .5s cubic-bezier(.32,.72,0,1),box-shadow .5s cubic-bezier(.32,.72,0,1),background-color .3s cubic-bezier(.32,.72,0,1)}
.hb-solid:hover{background:#FFFFFF;transform:translateY(-2px);box-shadow:0 18px 40px -14px rgba(20,0,5,.8),0 0 0 5px rgba(253,248,245,.16)}
.hb-solid:active{transform:scale(.98)}
.hb-solid:focus-visible{outline:2px solid #FDF8F5;outline-offset:4px}
.hb-halo{position:absolute;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,rgba(255,206,214,.22),rgba(255,206,214,.09) 55%,rgba(255,206,214,0))}
.hb-soon{display:inline-flex;align-items:center;gap:8px;font-weight:500;color:rgba(246,243,239,.88);line-height:1.15}
.hb-soon i{flex:0 0 auto;width:7px;height:7px;border-radius:50%;background:#FCBC3C;box-shadow:0 0 0 3px rgba(252,188,60,.18)}
@media (prefers-reduced-motion: reduce){.hb-glow,.hb-in,.hb-phone,.hb-m,.hb-arc,.hb-knob{animation:none;opacity:1}}
@keyframes ga-r13{0.00%,16.47%{transform:translateY(-0.00em)}20.00%,36.47%{transform:translateY(-1.30em)}40.00%,56.47%{transform:translateY(-2.60em)}60.00%,76.47%{transform:translateY(-3.90em)}80.00%,96.47%{transform:translateY(-5.20em)}100%{transform:translateY(-6.50em)}}.ga-r13{animation:ga-r13 17.0s cubic-bezier(0.76,0,0.24,1) infinite}
@keyframes ga-r14{0.00%,16.47%{transform:translateY(-0.00em)}20.00%,36.47%{transform:translateY(-1.40em)}40.00%,56.47%{transform:translateY(-2.80em)}60.00%,76.47%{transform:translateY(-4.20em)}80.00%,96.47%{transform:translateY(-5.60em)}100%{transform:translateY(-7.00em)}}.ga-r14{animation:ga-r14 17.0s cubic-bezier(0.76,0,0.24,1) infinite}
@keyframes ga-bar{0.00%,16.47%{transform:scaleX(0.31)}20.00%,36.47%{transform:scaleX(0.74)}40.00%,56.47%{transform:scaleX(0.62)}60.00%,76.47%{transform:scaleX(0.39)}80.00%,96.47%{transform:scaleX(0.7)}100%{transform:scaleX(0.31)}}.ga-bar{animation:ga-bar 17.0s cubic-bezier(0.76,0,0.24,1) infinite}
@media (prefers-reduced-motion: reduce){.ga-r13,.ga-r14,.ga-bar{animation:none}}
.kn-lede{margin:16px auto 0;max-width:22em;font-size:17px;line-height:1.5;color:#6B5155;text-align:center;text-wrap:balance}.kn-stage{display:grid;max-width:380px;margin:40px auto 0}.kn-pair{grid-area:1/1;display:flex;flex-direction:column;gap:12px}.kn-n{display:flex;gap:12px;align-items:flex-start;padding:14px 16px 15px;border-radius:22px;text-align:left}.kn-ic{flex:none;width:36px;height:36px;border-radius:9px;display:flex;align-items:center;justify-content:center}.kn-tx{flex:1;min-width:0}.kn-hd{display:flex;justify-content:space-between;gap:8px;font-size:12px;line-height:1.3;font-weight:600;letter-spacing:.01em}.kn-hd span:last-child{font-weight:500}.kn-p{margin:3px 0 0;font-size:15px;line-height:1.38}.kn-bank{background:#FFFFFF;color:#2B2326;font-family:-apple-system,BlinkMacSystemFont,'SF Pro Text','Segoe UI',system-ui,sans-serif;box-shadow:0 1px 0 rgba(65,0,11,.05),0 18px 40px -28px rgba(65,0,11,.45);margin-right:28px}.kn-bank .kn-ic{background:#8E8A8B}.kn-bank .kn-hd{color:#8E8A8B}.kn-opes{background:linear-gradient(160deg,#7A2637 0%,#5A1828 52%,#43121D 100%);color:#FFF7F0;font-family:'Montserrat',system-ui,sans-serif;box-shadow:inset 0 1px 0 rgba(255,220,226,.18),0 30px 60px -30px rgba(65,0,11,.6);margin-left:28px}.kn-opes .kn-ic{background:#41000B;box-shadow:inset 0 0 0 1px rgba(255,247,240,.14)}.kn-opes .kn-hd{color:rgba(255,247,240,.62)}.kn-opes .kn-p{font-weight:500}@keyframes kn-b0{0%,22.28%{opacity:1;transform:none}25.00%,97.28%{opacity:0;transform:translateY(-6px)}100%{opacity:1;transform:none}}.kn-b0{animation:kn-b0 18.4s cubic-bezier(0.32,0.72,0,1) infinite both}@keyframes kn-o0{0%,3.80%{opacity:0;transform:translateY(10px)}6.52%,22.28%{opacity:1;transform:none}25.00%,100%{opacity:0;transform:translateY(-6px)}}.kn-o0{animation:kn-o0 18.4s cubic-bezier(0.32,0.72,0,1) infinite both}@keyframes kn-b1{0%,25.00%{opacity:0;transform:translateY(10px)}27.72%,47.28%{opacity:1;transform:none}50.00%,100%{opacity:0;transform:translateY(-6px)}}.kn-b1{animation:kn-b1 18.4s cubic-bezier(0.32,0.72,0,1) infinite both}@keyframes kn-o1{0%,28.80%{opacity:0;transform:translateY(10px)}31.52%,47.28%{opacity:1;transform:none}50.00%,100%{opacity:0;transform:translateY(-6px)}}.kn-o1{animation:kn-o1 18.4s cubic-bezier(0.32,0.72,0,1) infinite both}@keyframes kn-b2{0%,50.00%{opacity:0;transform:translateY(10px)}52.72%,72.28%{opacity:1;transform:none}75.00%,100%{opacity:0;transform:translateY(-6px)}}.kn-b2{animation:kn-b2 18.4s cubic-bezier(0.32,0.72,0,1) infinite both}@keyframes kn-o2{0%,53.80%{opacity:0;transform:translateY(10px)}56.52%,72.28%{opacity:1;transform:none}75.00%,100%{opacity:0;transform:translateY(-6px)}}.kn-o2{animation:kn-o2 18.4s cubic-bezier(0.32,0.72,0,1) infinite both}@keyframes kn-b3{0%,75.00%{opacity:0;transform:translateY(10px)}77.72%,97.28%{opacity:1;transform:none}100.00%,100%{opacity:0;transform:translateY(-6px)}}.kn-b3{animation:kn-b3 18.4s cubic-bezier(0.32,0.72,0,1) infinite both}@keyframes kn-o3{0%,78.80%{opacity:0;transform:translateY(10px)}81.52%,97.28%{opacity:1;transform:none}100.00%,100%{opacity:0;transform:translateY(-6px)}}.kn-o3{animation:kn-o3 18.4s cubic-bezier(0.32,0.72,0,1) infinite both}@media (prefers-reduced-motion: reduce){.kn-b0,.kn-o0{animation:none;opacity:1}.kn-b1,.kn-o1{animation:none;opacity:0}.kn-b2,.kn-o2{animation:none;opacity:0}.kn-b3,.kn-o3{animation:none;opacity:0}}@media (min-width:768px){.kn-lede{margin-top:24px;font-size:20px}.kn-stage{max-width:880px;margin-top:72px}.kn-pair{flex-direction:row;align-items:flex-start;gap:24px}.kn-n{flex:1;padding:18px 20px 20px;border-radius:26px}.kn-ic{width:42px;height:42px;border-radius:11px}.kn-hd{font-size:13px}.kn-p{font-size:17px}.kn-bank{margin:0}.kn-opes{margin:56px 0 0}}.hw-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.hw-list{list-style:none;margin:40px 0 0;padding:0}.hw-step{position:relative;display:grid;grid-template-columns:48px 1fr;column-gap:18px;align-items:center;padding-bottom:28px}.hw-step:last-child{padding-bottom:0}.hw-step::before{content:'';position:absolute;left:23.5px;top:24px;bottom:-24px;width:1px;background:rgba(65,0,11,.18)}.hw-step:last-child::before{display:none}.hw-ic{position:relative;grid-row:1/3;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#41000B;background:#FFFFFF;box-shadow:0 1px 0 rgba(65,0,11,.05),0 14px 30px -20px rgba(65,0,11,.45)}.hw-on .hw-ic{color:#FFF7F0;background:linear-gradient(160deg,#7A2637 0%,#5A1828 52%,#43121D 100%);box-shadow:inset 0 1px 0 rgba(255,220,226,.18),0 16px 32px -18px rgba(65,0,11,.6)}.hw-t{margin:0;align-self:end;font-size:21px;line-height:1.3;font-weight:500;letter-spacing:-.015em;color:#41000B}.hw-d{margin:2px 0 0;align-self:start;font-size:15px;line-height:1.5;color:#6B5155}@media (min-width:1100px){.hw-h .tint{display:block}.hw-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px;margin-top:64px}.hw-step{display:block;padding:0}.hw-step::before{left:24px;top:23.5px;bottom:auto;width:calc(100% + 24px);height:1px}.hw-ic{margin-bottom:24px}.hw-t,.hw-d{white-space:nowrap}.hw-t{font-size:22px}.hw-d{margin-top:6px;font-size:16px}}
/* ---- site layout (src/css/site.css) ---- */
/* Opes website. Mobile first: base = phones, md = 768px and up (tablets), lg = 1100px and up (laptops and desktops). */

@font-face{font-family:'Aeonik';src:url(../fonts/aeonik-regular.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Aeonik';src:url(../fonts/aeonik-medium.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Aeonik';src:url(../fonts/aeonik-bold.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url(../fonts/montserrat-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url(../fonts/montserrat-latin-500-normal.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url(../fonts/montserrat-latin-600-normal.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url(../fonts/montserrat-latin-700-normal.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{--ink:#41000B;--tint:#8C6A72;--muted:#6B5155;--cream:#F6F3EF;--sand:#EDE6DE;--hair:rgba(47,15,19,.12);--app:#FFF7F0;--soft:#E5D3D5;--ease:cubic-bezier(.32,.72,0,1)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font-family:'Aeonik',system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-numeric:tabular-nums;overflow-x:clip}
img{display:block}
a{color:inherit}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}

.wrap{max-width:1280px;margin:0 auto;padding-left:20px;padding-right:20px}
.h2{margin:0 0 16px;font-size:38px;line-height:1.02;font-weight:500;letter-spacing:-.035em;color:var(--ink)}
.tint{color:var(--tint)}
.body{margin:0;font-size:17px;line-height:1.55;color:var(--muted)}
.only-lg{display:none}
.oh-scroll{-webkit-overflow-scrolling:touch}

/* ---------- hero ---------- */
.hero{isolation:isolate}
.hero-in{position:relative;max-width:1440px;margin:0 auto}
.nav{position:relative;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:20px 20px 0}
.nav-l{display:flex;align-items:center;gap:10px}
.nav-home{display:flex;border-radius:4px}
.nav-home:focus-visible{outline:2px solid var(--app);outline-offset:4px}
.nav-logo{height:19px;width:auto}
.nav-soon{font-size:12.5px}
.nav-cta{height:40px;padding:0 14px;font-size:14px}
.hero-copy{position:relative;padding:64px 20px 0}
.hero-h1{margin:0 0 18px;font-size:58px;line-height:.98;font-weight:500;letter-spacing:-.05em}
.hero-lead{display:block;margin-bottom:14px;font-size:27px;line-height:1.1;letter-spacing:-.03em;color:rgba(246,243,239,.62)}
.hero-p{margin:0 0 28px;max-width:19em;font-size:18px;line-height:1.45;color:rgba(246,243,239,.74);text-wrap:balance}
.hero-cta{height:58px;padding:0 30px;font-size:17px}
.hero-stage{position:relative;height:610px;margin-top:25px}
.hero-glow{z-index:-1;left:50%;top:-63px;width:560px;height:560px;margin-left:-280px}
.hero-halo{left:50%;top:20px;width:540px;height:560px;margin-left:-270px}
.hero-phone-box{position:relative;display:flex;justify-content:center}
.hero-phone{zoom:.765}

/* ---------- "I want ___" strip ---------- */
.ga{padding:12px 12px 0}
.ga-panel{background:var(--sand);border-radius:28px;padding:56px 20px 48px}
.ga-in{max-width:1168px;margin:0 auto}
.ga-text{font-size:min(38px,calc((100vw - 64px) / 8.4));line-height:1.3;font-weight:500;letter-spacing:-.045em;color:var(--ink)}
.ga-text p{margin:0}
.ga-win{height:1.3em;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 9%,#000 91%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 9%,#000 91%,transparent 100%)}
.ga-roll{display:block}
.ga-roll>span{display:block;white-space:nowrap}
.ga-r13>span{height:1.3em}
.ga-r14>span{height:1.4em}
.ga-text u{text-decoration:none;background:linear-gradient(#FCBC3C,#FCBC3C) 0 88%/100% .16em no-repeat}
.ga-card{margin-top:24px;padding:18px 18px 20px;border-radius:22px;background:linear-gradient(160deg,#7A2637 0%,#5A1828 48%,#43121D 100%);color:var(--app);font-family:'Montserrat',system-ui,sans-serif;box-shadow:inset 0 1px 0 rgba(255,220,226,.18),0 30px 60px -30px rgba(65,0,11,.55)}
.ga-says{display:flex;align-items:center;gap:10px}
.ga-says svg{width:18px;height:auto}
.ga-says span{font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:rgba(255,247,240,.62)}
.ga-ans{margin:12px 0 0;height:1.4em;overflow:hidden;font-size:16px;line-height:1.4;font-weight:600;letter-spacing:-.01em;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 86%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0%,#000 14%,#000 86%,transparent 100%)}
.ga-prog{display:flex;align-items:center;gap:12px;margin-top:16px}
.ga-track{flex:1;height:6px;border-radius:6px;background:rgba(255,247,240,.14);overflow:hidden}
.ga-bar{height:100%;border-radius:6px;background:var(--app);transform-origin:0 50%;transform:scaleX(.31)}
.ga-pct{height:1.3em;overflow:hidden;font-size:12px;line-height:1.3;font-weight:600;color:rgba(255,247,240,.72);text-align:right}

/* ---------- goals ---------- */
.goals{padding:136px 0 40px}
.goals-wrap{padding-left:0;padding-right:0}
.goals-row{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:20px;padding:36px 20px 44px}
.goals-row::after{content:"";flex:0 0 6px}
.gcard{flex:0 0 auto;scroll-snap-align:start;zoom:.764}

/* ---------- insights ---------- */
/* ---------- how Opes works ---------- */
.hw{padding-top:96px}
.hw .h2{margin-bottom:0}

/* ---------- mobile sticky waitlist button ---------- */
.stk{position:fixed;left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:20;transform:translateY(calc(100% + 24px + env(safe-area-inset-bottom)));opacity:0;transition:transform .6s var(--ease),opacity .4s var(--ease);pointer-events:none}
.stk.is-on{transform:none;opacity:1;pointer-events:auto}
.stk-btn{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:999px;background:var(--ink);color:var(--app);text-decoration:none;font-size:16px;font-weight:500;box-shadow:inset 0 1px 0 rgba(255,220,226,.16),0 0 0 1px rgba(255,247,240,.14),0 18px 36px -16px rgba(20,0,5,.7);transition:transform .3s var(--ease)}
.stk-btn:active{transform:scale(.98)}
.stk-btn:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
@media (max-width:767px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}}
@media (min-width:768px){.stk{display:none}}
@media (prefers-reduced-motion: reduce){.stk{transition:opacity .2s var(--ease);transform:none}}

.ins{padding:112px 0 104px}
.ins-col{display:flex;justify-content:center;padding-top:44px}
.ins-stage{position:relative;width:330px;zoom:.794}
.ins-stage .ins-c1{position:absolute;left:-65px;top:378px}
.ins-stage .ins-c2{position:absolute;right:-65px;top:541px}

/* ---------- chat ---------- */
.chat{padding:104px 0}
.chat-glow{left:-140px;top:520px;width:680px;height:680px}
.chat .h2{color:var(--app)}
.chat .body{color:var(--soft)}
.chat-stage{position:relative;margin-top:44px;padding-bottom:24px}
.chat-photo{position:relative;height:400px;margin:0 -4px;border-radius:24px;overflow:hidden}
.chat-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:66% 40%}
.chat-win{position:relative;zoom:.727;height:949px;margin:-132px -27.5px 0;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 88%,transparent 100%);mask-image:linear-gradient(180deg,#000 88%,transparent 100%)}
.chat-ph{position:absolute;top:0;left:50%;transform:translateX(-50%)}
.chat-chips{display:flex;gap:8px;overflow-x:auto;list-style:none;margin:28px -20px 0;padding:0 20px}
.chat-chips li{flex:0 0 auto;padding:10px 14px;border-radius:12px;border:1px solid rgba(255,247,240,.25);font-size:14px;font-weight:500}
.chat-tag{margin:48px 0 0;font-size:24px;line-height:1.15;font-weight:500;letter-spacing:-.025em}
.chat-tag span{color:rgba(255,247,240,.5)}

/* ---------- shared goals ---------- */
.shared{padding:64px 12px 96px}
.shared-wrap{position:relative;max-width:1392px;margin:0 auto}
.shared-panel{position:relative;overflow:hidden;border-radius:28px;background:#1F080A;color:var(--app);padding:318px 20px 24px}
.shared-img{position:absolute;left:0;top:0;width:100%;height:470px;object-fit:cover;object-position:56% 26%;filter:brightness(.84) saturate(.92);-webkit-mask-image:linear-gradient(180deg,#000 45%,transparent 100%);mask-image:linear-gradient(180deg,#000 45%,transparent 100%)}
.shared-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(31,8,10,.25) 0%,rgba(31,8,10,0) 18%,rgba(31,8,10,.1) 34%,rgba(31,8,10,.86) 56%,rgba(31,8,10,.98) 72%)}
.shared-copy{position:relative}
.shared .h2{color:var(--app)}
.shared .body{color:var(--soft)}
.shared-card-m{margin-top:28px}

/* ---------- comparison ---------- */
.cmp{padding:0 0 120px;--cmp-fs:14px}
.cmp .wrap{padding-left:12px;padding-right:12px}
.cmp-head{display:flex;justify-content:center;padding:112px 0 0}
.cmp-head h2{margin:0;font-size:48px;line-height:1.02;font-weight:500;letter-spacing:-.045em;text-align:center;text-wrap:balance}
.cmp-head h2 span{display:block;color:var(--tint)}
.cmp-table{max-width:1040px;margin:0 auto}

/* ---------- questions ---------- */
.faq{background:var(--sand);padding:104px 0}
.faq .h2{margin-bottom:32px}
.faq dl{margin:0;display:flex;flex-direction:column}
.faq dl>div{padding:20px 0;border-top:1px solid var(--hair)}
.faq dl>div:last-child{border-bottom:1px solid var(--hair)}
.faq dt{padding-bottom:6px;font-size:18px;font-weight:500}
.faq dd{margin:0;font-size:15px;line-height:1.5;color:var(--muted);text-wrap:pretty}

/* ---------- vision ---------- */
.vision{padding-top:112px;padding-bottom:112px}

/* ---------- waitlist ---------- */
.wl{padding:12px;scroll-margin-top:12px}
.wl-panel{max-width:1392px;margin:0 auto;border-radius:28px;color:var(--app);padding:64px 20px 48px}
.wl-panel.hb{overflow:visible}
.wl-bg{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}
.wl-glow{left:40px;top:300px;width:520px;height:520px}
.wl-grid{max-width:1280px;margin:0 auto}
.wl .h2{font-size:44px;color:var(--app)}
.wl .body{margin-bottom:32px;color:var(--soft)}
.wl-form{display:flex;flex-direction:column;gap:10px}
.wl-form label{font-size:14px;font-weight:500}
.wl-form label[for=wl-country]{padding-top:8px}
.wl-form input,.wl-form select{width:100%;height:54px;border:1px solid rgba(255,247,240,.2);border-radius:14px;background:rgba(255,247,240,.06);color:var(--app);padding:0 16px;font:inherit;font-size:17px;transition:border-color .3s var(--ease),background-color .3s var(--ease)}
.wl-form input:hover,.wl-form select:hover{border-color:rgba(255,247,240,.36)}
.wl-form input:focus-visible,.wl-form select:focus-visible{outline:2px solid var(--app);outline-offset:2px;border-color:rgba(255,247,240,.5)}
.wl-form input[aria-invalid=true]{border-color:#FCBC3C}
.wl-form input::selection{background:rgba(255,247,240,.3)}
.wl-select{position:relative}
.wl-select input{padding-right:48px;text-overflow:ellipsis}
.wl-select::after{content:"";position:absolute;right:20px;top:50%;width:8px;height:8px;margin-top:-6px;border-right:1.5px solid var(--app);border-bottom:1.5px solid var(--app);transform:rotate(45deg);pointer-events:none}
.wl-select::after{transition:transform .3s var(--ease)}
.wl-select.is-open::after{transform:rotate(225deg);margin-top:-2px}
.wl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wl-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:5;list-style:none;margin:0;padding:6px;max-height:248px;overflow-y:auto;overscroll-behavior:contain;border-radius:14px;background:#FDF8F5;color:var(--ink);box-shadow:0 24px 48px -24px rgba(20,0,5,.7);scrollbar-width:thin}
.wl-list li{padding:11px 12px;border-radius:9px;font-size:16px;line-height:1.3;cursor:pointer}
.wl-list li[aria-selected=true]{background:rgba(65,0,11,.08)}
.wl-list li.is-current{font-weight:500}
.wl-list li.is-current::after{content:"";display:inline-block;width:5px;height:9px;margin-left:10px;border-right:1.5px solid var(--ink);border-bottom:1.5px solid var(--ink);transform:rotate(45deg) translateY(-2px)}
.wl-list mark{background:none;color:inherit;font-weight:600}
.wl-list .wl-none{color:var(--muted);cursor:default}
@media (hover:hover){.wl-list li:not(.wl-none):hover{background:rgba(65,0,11,.06)}}
.wl-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.wl-btn{justify-content:space-between;height:58px;margin-top:14px;padding:0 10px 0 26px;font:inherit;font-size:16px;font-weight:500}
.wl-btn .hb-liquid-ic{width:38px;height:38px}
.wl-btn svg{transition:transform .5s var(--ease)}
.wl-btn:hover svg{transform:translateX(3px)}
.wl-btn:active{transform:scale(.98)}
.wl-btn[disabled]{cursor:progress;opacity:.7}
.wl-msg{margin:4px 0 0;min-height:1.5em;font-size:15px;line-height:1.5;color:var(--soft)}
.wl-msg:empty{display:none}
.wl-done .wl-msg{font-size:18px;color:var(--app)}

/* ---------- footer ---------- */
.foot{padding:72px 0 40px}
.foot-logo{height:20px;width:auto}
.foot-tag{margin:16px 0 0;font-size:26px;line-height:1.1;font-weight:500;letter-spacing:-.03em}
.foot-cols{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:36px 20px;margin-top:44px;padding-top:32px;border-top:1px solid var(--hair)}
.foot-h{margin:0 0 12px;font-size:14px;font-weight:500}
.foot-cols a,.foot-cols span{display:block;font-size:15px;line-height:1.75;color:var(--muted)}
.foot-cols a{width:fit-content;overflow-wrap:anywhere}
.foot-legal{margin:40px 0 0;padding-top:24px;border-top:1px solid var(--hair);font-size:12px;line-height:1.6;color:var(--muted)}

/* ---------- simple pages (legal, thanks, 404) ---------- */
.page-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:20px}
.page-nav .nav-logo{height:19px}
.page-back{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--hair);color:var(--ink);text-decoration:none;font-size:14px;font-weight:500;transition:background-color .3s var(--ease)}
.page-back:hover{background:rgba(65,0,11,.06)}
.page-main{padding-top:72px;padding-bottom:104px}
.page-main h1{margin:0 0 16px;font-size:44px;line-height:1.02;font-weight:500;letter-spacing:-.04em}
.page-meta{margin:0 0 40px;font-size:15px;line-height:1.5;color:var(--muted)}
.prose{max-width:44em;font-size:17px;line-height:1.6;color:var(--muted)}
.prose h2{margin:44px 0 12px;font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-.02em;color:var(--ink)}
.prose h3{margin:28px 0 8px;font-size:19px;font-weight:500;color:var(--ink)}
.prose p,.prose ul,.prose ol{margin:0 0 16px}
.prose a{color:var(--ink);text-underline-offset:3px}
.prose ul{padding-left:1.25em}
.prose li{margin:0 0 6px;padding-left:4px}
.prose li::marker{color:var(--ink)}
.prose strong{font-weight:500;color:var(--ink)}
.prose address{margin:0 0 16px;font-style:normal}
.prose a[href^="mailto"]{overflow-wrap:anywhere}
.prose>h2:first-child,.prose>p:first-child{margin-top:0}
.page-solid{display:inline-flex;align-items:center;height:56px;padding:0 28px;border-radius:999px;background:var(--ink);color:var(--cream);text-decoration:none;font-size:16px;font-weight:500;transition:transform .5s var(--ease)}
.page-solid:hover{transform:translateY(-2px)}
.page-solid:active{transform:scale(.98)}

/* =================== md: 768px and up =================== */
@media (min-width:768px){
.hw{padding-top:120px}
.wrap,.cmp .wrap{padding-left:40px;padding-right:40px}
.h2{font-size:48px}
.body{font-size:19px;max-width:34em}

.nav{padding:28px 40px 0}
.nav-l{gap:14px}
.nav-logo{height:24px}
.nav-soon{font-size:14px}
.nav-soon br{display:none}
.nav-cta{height:48px;padding:0 20px;font-size:16px}
.hero-copy{padding:96px 40px 0}
.hero-h1{font-size:88px;margin-bottom:24px}
.hero-lead{font-size:38px;margin-bottom:18px}
.hero-p{font-size:21px;max-width:22em;margin-bottom:36px}
.hero-cta{height:64px;padding:0 36px;font-size:18px}
.hero-stage{height:820px;margin-top:56px}
.hero-glow{top:0;width:900px;height:900px;margin-left:-450px}
.hero-halo{top:-20px;width:800px;height:820px;margin-left:-400px}
.hero-phone{zoom:1}

.ga{padding:16px 16px 0}
.ga-panel{border-radius:32px;padding:88px 40px 80px}
.ga-text{font-size:min(68px,calc((100vw - 120px) / 8.4))}
.ga-card{max-width:440px;margin-top:36px}


.goals{padding-top:168px}
.goals-row{gap:20px;scroll-padding-left:40px;padding:48px 40px 56px}
.gcard{zoom:.9}

.ins{padding:128px 0}
.ins-stage{zoom:1}

.chat{padding:128px 0}
.chat-photo{height:520px;margin:0;border-radius:28px}
.chat-win{zoom:1;height:900px;margin:-150px -40px 0}
.chat-chips{margin:32px -40px 0;padding:0 40px}
.chat-chips li{font-size:16px;padding:11px 16px}
.chat-tag{font-size:30px}

.shared{padding:96px 16px 120px}
.shared-panel{border-radius:32px;padding:420px 40px 40px}
.shared-img{height:620px}
.shared-card-m{max-width:440px}

.cmp{--cmp-fs:16px}
.cmp-head{padding:128px 0 0}
.cmp-head h2{font-size:64px}

.faq{padding:128px 0}
.faq dl{display:grid;grid-template-columns:1fr 1fr;column-gap:40px}
.faq dl>div:last-child{border-bottom:0}
.faq dt{font-size:20px}
.faq dd{font-size:16px}

.vision{padding-top:144px;padding-bottom:144px}
.vision .h2{font-size:60px}

.wl{padding:16px}
.wl-panel{border-radius:32px;padding:96px 40px 80px}
.wl .h2{font-size:64px}
.wl-form{max-width:520px}

.foot{padding-top:96px}
.foot-cols{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:normal;gap:32px}

.page-nav{padding-top:28px}
.page-nav .nav-logo{height:22px}
.page-main{padding-top:104px;padding-bottom:144px}
.page-main h1{font-size:64px}
}

/* =================== lg: 1100px and up =================== */
@media (min-width:1100px){
.hw{padding-top:128px}
.wrap,.cmp .wrap{padding-left:56px;padding-right:56px}
.h2{margin-bottom:20px;font-size:60px;line-height:1;letter-spacing:-.04em}
.body{font-size:20px;line-height:1.5}
.only-sm{display:none}
.only-lg{display:block}

.hero-in{height:900px}
.nav{padding:32px 64px 0}
.nav-l{gap:16px}
.nav-logo{height:28px}
.nav-soon{font-size:16px;padding-left:6px}
.nav-cta{height:58px;padding:0 28px;font-size:18px}
.hero-copy{padding:140px 64px 0;max-width:800px}
.hero-h1{font-size:clamp(84px,7.22vw,104px);line-height:.96;letter-spacing:-.055em;margin-bottom:28px}
.hero-lead{font-size:clamp(36px,2.92vw,42px);margin-bottom:22px}
.hero-p{font-size:23px;max-width:22em;margin-bottom:44px}
.hero-cta{height:68px;padding:0 40px;font-size:19px}
.hero-stage{position:absolute;left:calc(50% + 165px);top:98px;width:366px;height:auto;margin:0}
.hero-glow{top:22px;margin-left:-450px}
.hero-halo{top:-21px}
.hero-phone-box{display:block}

.ga{padding:24px 24px 0}
.ga-panel{max-width:1392px;margin:0 auto;border-radius:36px;padding:112px 56px 120px}
.ga-in{display:flex;align-items:center;justify-content:space-between;gap:48px}
.ga-text{font-size:min(88px,calc((100vw - 640px) / 8.4))}
.ga-card{flex:0 0 400px;max-width:none;margin:0;padding:24px 26px 26px;border-radius:28px;box-shadow:inset 0 1px 0 rgba(255,220,226,.18),0 50px 90px -40px rgba(65,0,11,.55)}
.ga-says svg{width:22px}
.ga-says span{font-size:12px}
.ga-ans{margin-top:16px;font-size:20px}
.ga-prog{margin-top:20px}
.ga-pct{font-size:14px}


.goals{padding:208px 0 136px}
.goals-head{display:grid;grid-template-columns:7fr 5fr;gap:64px;align-items:end}
.goals-head .h2{margin:0}
.goals-wrap{padding-left:56px;padding-right:56px}
.goals-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;overflow:visible;padding:72px 0 0}
.goals-row::after{display:none}
.gcard{display:flex;justify-content:center;zoom:.7}
.gcard:nth-child(2){padding-top:72px}
.gcard:nth-child(3){padding-top:24px}

.ins{padding:0}
.ins-grid{display:grid;grid-template-columns:5fr 6fr;gap:96px;align-items:center;padding-top:96px;padding-bottom:120px}
.ins-copy{order:2}
.ins-copy .body{max-width:25em;text-wrap:balance}
.ins-col{order:1;padding:0}
.ins-stage .ins-c1{left:-118px;top:380px}
.ins-stage .ins-c2{right:-114px;top:520px}

.chat{padding:0}
.chat-glow{left:auto;right:-80px;top:60px;width:960px;height:960px}
.chat-grid{display:grid;grid-template-columns:5fr 7fr;column-gap:64px;grid-template-rows:1fr auto auto auto auto 1.6fr;padding-top:128px;grid-template-areas:". stage" "h stage" "p stage" "chips stage" "tag stage" ". stage"}
.chat-h{grid-area:h}
.chat-p{grid-area:p}
.chat-chips{grid-area:chips;flex-wrap:wrap;gap:10px;overflow:visible;margin:0;padding:32px 0 0}
.chat-tag{grid-area:tag;margin-top:56px;font-size:30px;line-height:1.12;letter-spacing:-.03em}
.chat-stage{grid-area:stage;height:960px;margin:0;padding:0}
.chat-photo{position:absolute;left:250px;right:-80px;top:0;height:620px;margin:0;border-radius:32px}
.chat-photo img{object-position:62% 30%}
.chat-win{position:absolute;left:0;right:-80px;top:60px;height:900px;margin:0}
.chat-ph{left:0;transform:none}

.shared{padding:112px 24px 200px}
.shared-panel{height:600px;border-radius:36px;padding:0 0 0 88px;display:flex;align-items:center}
.shared-img{left:auto;right:0;width:76%;height:100%;object-position:50% 20%;filter:brightness(.78) saturate(.92);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 32%);mask-image:linear-gradient(90deg,transparent 0%,#000 32%)}
.shared-shade{background:linear-gradient(90deg,rgba(31,8,10,.94) 0%,rgba(31,8,10,.7) 30%,rgba(31,8,10,.18) 58%,rgba(31,8,10,.12) 100%),linear-gradient(0deg,rgba(31,8,10,.65) 0%,rgba(31,8,10,0) 45%)}
.shared-copy{max-width:472px}
.shared-card-d{position:absolute;right:96px;bottom:-72px;width:440px}

.cmp{padding-bottom:120px;--cmp-fs:18px}
.cmp-head{padding:112px 0 0}
.cmp-head h2{font-size:min(84px,calc((100vw - 160px) / 13.6));line-height:1;letter-spacing:-.05em;white-space:nowrap}

.faq{padding:0}
.faq-grid{display:grid;grid-template-columns:4fr 8fr;gap:96px;padding-top:128px;padding-bottom:128px}
.faq dl{column-gap:56px}
.faq dl>div{padding:24px 0 36px}
.faq dt{padding-bottom:8px;font-size:22px;letter-spacing:-.01em}
.faq dd{font-size:18px}

.vision .h2{margin-bottom:24px;font-size:72px}
.vision .body{font-size:18px;max-width:36em}

.wl{padding:24px}
.wl-panel{border-radius:36px;padding:112px 56px}
.wl-glow{left:-160px;top:120px;width:820px;height:820px}
.wl-grid{display:grid;grid-template-columns:6fr 5fr;gap:96px;align-items:center}
.wl .h2{font-size:80px;letter-spacing:-.05em}
.wl .body{max-width:426px;margin:0}
.wl-form{max-width:none}
.wl-form label{font-size:16px}
.wl-form label[for=wl-country]{padding-top:10px}
.wl-form input,.wl-form select{height:58px;padding:0 18px;font-size:18px}
.wl-btn{height:68px;margin-top:16px;padding:0 14px 0 32px;font-size:19px}
.wl-btn .hb-liquid-ic{width:44px;height:44px}

.foot{padding:112px 0 48px}
.foot-top{display:grid;grid-template-columns:5fr 7fr;gap:64px;padding-bottom:88px}
.foot-logo{height:26px}
.foot-tag{margin-top:22px;font-size:34px}
.foot-cols{margin:0;padding:0;border:0}
.foot-legal{margin:0;font-size:14px}
}

/* goal cards and the chat phone grow with the screen */
@media (min-width:1280px){.gcard{zoom:.8}}
@media (min-width:1440px){.goals-row{margin:0 -112px}.gcard{zoom:1}}
@media (min-width:1100px) and (max-width:1279px){
.hero-stage{left:calc(50% + 150px)}
.hero-phone{zoom:.9}
.hero-glow{zoom:.9}
.chat-stage{zoom:.84}
.chat-grid{grid-template-rows:1fr auto auto auto auto 1.2fr}
}
[hidden]{display:none!important}
@media (min-width:768px) and (max-width:1099px){.goals-wrap{max-width:none}}
@media (min-width:1100px) and (max-width:1279px){
.ins-stage .ins-c1{left:-80px}
.ins-stage .ins-c2{right:-80px}
.shared-copy{max-width:440px}
.shared-card-d{right:40px;width:410px}
}
@media (min-width:1100px) and (max-width:1279px){.hw-d{font-size:15px}}
