/* Home page */
.h-hero{min-height:100svh;display:flex;align-items:center;padding:130px 0 70px;position:relative}
.h-hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,5vw,70px);align-items:center}
.h-hero h1{font-size:clamp(2.7rem,7.2vw,5.8rem);letter-spacing:-.035em}
.h-hero h1 .ln{display:block}
.h-hero h1 .w{display:inline-block;opacity:0;transform:translateY(60%) rotate(3deg);filter:blur(8px);animation:wIn .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.15s + var(--i)*.1s)}
@keyframes wIn{to{opacity:1;transform:none;filter:none}}
.h-hero em .w{background:linear-gradient(100deg,var(--salmon-2),var(--salmon) 50%,var(--salmon-deep));-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.04em}
.h-hero .lead{margin-top:1.6rem}
.h-hero .eyebrow{animation:fadeUp .8s both}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}}
.h-hero .btn-row{animation:fadeUp .9s .8s both}
.h-hero .lead{animation:fadeUp .9s .6s both}
.h-stage{position:relative;min-height:520px;display:grid;place-items:center}
.h-stage .ring{position:absolute;width:min(110%,520px);aspect-ratio:1;border-radius:50%;border:1px dashed rgba(255,143,126,.28);animation:spin 40s linear infinite}
.h-stage .ring.r2{width:min(78%,370px);border-style:solid;border-color:rgba(255,255,255,.08);animation-direction:reverse;animation-duration:28s}
@keyframes spin{to{transform:rotate(360deg)}}
.h-phone{position:relative;z-index:2}
.h-phone .screen{background:radial-gradient(120% 70% at 50% 0%,rgba(255,143,126,.28),transparent 60%),linear-gradient(160deg,#1b1413,#0c0b0e);display:flex;flex-direction:column;justify-content:center;gap:12px;padding:22px 16px}
.h-phone .screen img.ic{width:72px;height:72px;border-radius:18px;margin:0 auto 6px;box-shadow:0 10px 30px -8px rgba(255,143,126,.6)}
.bub{max-width:82%;padding:9px 13px;border-radius:16px;font-size:.78rem;line-height:1.4;text-align:left;color:var(--text);background:rgba(255,255,255,.09);border:1px solid var(--stroke)}
.bub.me{align-self:flex-end;background:linear-gradient(135deg,var(--salmon),var(--salmon-deep));color:#1c0a06;border-color:transparent}
.bub.t{opacity:0;animation:bubIn .6s forwards}
.bub.t:nth-of-type(2){animation-delay:1.4s}.bub.t:nth-of-type(3){animation-delay:2.2s}.bub.t:nth-of-type(4){animation-delay:3s}
@keyframes bubIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
.fl{position:absolute;z-index:3}
.fl>.glass{padding:12px 16px;border-radius:18px;display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:500;white-space:nowrap;animation:floaty 7s ease-in-out infinite}
.fl .dot{width:9px;height:9px;border-radius:50%;background:var(--salmon);box-shadow:0 0 0 0 rgba(255,143,126,.6);animation:pulse 2.4s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 12px rgba(255,143,126,0)}100%{box-shadow:0 0 0 0 rgba(255,143,126,0)}}
@keyframes floaty{50%{transform:translateY(-14px)}}
.fl.f1{left:-6%;top:14%}.fl.f2{right:-4%;top:44%}.fl.f3{left:-2%;bottom:8%}
.fl.f2>.glass{animation-delay:-2s}.fl.f3>.glass{animation-delay:-4s}
.fl svg{width:18px;height:18px;stroke:var(--salmon);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.scroll-hint{position:absolute;left:50%;bottom:22px;width:22px;height:36px;border:1px solid var(--stroke);border-radius:12px;transform:translateX(-50%)}
.scroll-hint::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--salmon);animation:sc 1.8s infinite}
@keyframes sc{60%{transform:translateY(12px);opacity:0}}
@media(max-width:900px){
  .h-hero .wrap{grid-template-columns:1fr}
  .h-stage{min-height:480px;margin-top:20px}.fl.f1{left:0}.fl.f2{right:0}.fl.f3{left:0}
  .scroll-hint{display:none}
}
@media(max-width:420px){.fl.f2{top:52%}.fl>.glass{font-size:.76rem;padding:9px 12px}}

.pitch .glass h3{margin-bottom:.6rem}
.pitch .big{grid-column:span 2}
@media(max-width:600px){.pitch .big{grid-column:auto}}
.sheen{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.08) 50%,transparent 65%);transform:translateX(-120%);animation:sheen 7s ease-in-out infinite}
@keyframes sheen{40%,100%{transform:translateX(120%)}}

.feat{display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,5vw,60px);align-items:center}
.feat .icon-big{width:clamp(130px,20vw,210px);aspect-ratio:1;border-radius:28%;box-shadow:0 30px 80px -20px rgba(255,143,126,.55);animation:floaty 8s ease-in-out infinite}
.feat .badge{width:160px;margin-top:1.6rem;transition:transform .25s}.feat .badge:hover{transform:translateY(-3px) scale(1.03)}
.feat .tags{display:flex;flex-wrap:wrap;gap:8px;margin:1.2rem 0 0}
@media(max-width:700px){.feat{grid-template-columns:1fr;text-align:left}}

.stats .stat{text-align:center;padding:clamp(22px,3vw,34px) 10px}
.stats .stat b{background:linear-gradient(120deg,#fff,var(--salmon-2));-webkit-background-clip:text;background-clip:text;color:transparent}

.cta-banner{text-align:center;padding:clamp(40px,7vw,90px) clamp(20px,5vw,60px)}
.cta-banner h2{max-width:16ch;margin-inline:auto}.cta-banner p{max-width:50ch;margin:1.2rem auto 0}
.cta-banner .btn-row{justify-content:center}
.cta-banner::after{content:"";position:absolute;width:60%;aspect-ratio:1;left:20%;top:-40%;background:radial-gradient(circle,rgba(255,143,126,.35),transparent 65%);animation:drift 14s ease-in-out infinite alternate;pointer-events:none;z-index:-1}

.globe-wrap{position:relative;z-index:2;animation:floaty 9s ease-in-out infinite;cursor:pointer}
.globe{position:relative;display:block;padding:0;font:inherit;width:min(72vw,340px);aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.28);
  background:radial-gradient(circle at 50% 62%,rgba(255,143,126,.22),rgba(60,20,16,.55) 72%),rgba(255,255,255,.03);
  box-shadow:inset 0 0 50px rgba(255,255,255,.08),inset -16px -24px 50px rgba(229,96,77,.22),0 0 90px -12px rgba(255,143,126,.45),0 40px 80px -34px rgba(0,0,0,.85);overflow:hidden}
.g-in{position:absolute;inset:0;border-radius:50%;overflow:hidden;display:block}
.flake{position:absolute;top:-6%;border-radius:50%;background:#fff;box-shadow:0 0 6px rgba(255,255,255,.7);animation:snow calc(var(--d) * var(--spd,1)) linear infinite}
@keyframes snow{0%{transform:translate(0,0)}50%{transform:translate(var(--sw),55vmin)}100%{transform:translate(calc(var(--sw) * -1),110vmin)}}
.g-in .gw{position:absolute;transform:translate(-50%,-50%) scale(.5);opacity:0;font:600 clamp(1.3rem,3.4vw,1.9rem) var(--font-display);letter-spacing:-.02em;color:#fff;white-space:nowrap;animation:press 18s ease-in-out infinite;animation-delay:var(--dl)}
@keyframes press{0%{opacity:0;transform:translate(-50%,-50%) scale(.45);filter:blur(9px)}
 22%{opacity:.3;transform:translate(-56%,-44%) scale(.7);filter:blur(5px)}
 40%{opacity:.55;transform:translate(-51%,-49%) scale(.95);filter:blur(2px)}
 48%{opacity:1;transform:translate(-50%,-50%) scale(1.28);filter:blur(0);text-shadow:0 0 18px rgba(255,255,255,.75),0 0 40px rgba(255,180,166,.6)}
 58%{opacity:1;transform:translate(-50%,-50%) scale(1.32,1.22);filter:blur(0);text-shadow:0 0 22px rgba(255,255,255,.8),0 0 46px rgba(255,180,166,.65)}
 72%{opacity:.35;transform:translate(-46%,-55%) scale(.8);filter:blur(4px)}
 100%{opacity:0;transform:translate(-44%,-58%) scale(.45);filter:blur(9px)}}
.g-frost{position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle,transparent 52%,rgba(255,255,255,.1) 78%,rgba(255,255,255,.26) 100%)}
.g-shine{position:absolute;left:14%;top:7%;width:46%;height:26%;border-radius:50%;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0));transform:rotate(-24deg)}
.globe.shake{--spd:.22;animation:jolt 1.5s ease-out}
@keyframes jolt{15%{transform:rotate(-5deg) scale(1.03)}35%{transform:rotate(4deg)}55%{transform:rotate(-2deg)}80%{transform:rotate(1deg)}}
@media(prefers-reduced-motion:reduce){.g-in .gw{opacity:0}.g-in .gw:first-child{opacity:.95;transform:translate(-50%,-50%)}}
