/* =============================================
   AUDIS-IA — main.css
   Paleta: Coral Heat
   Arquitectura: code-split, animaciones CSS world-class
   ============================================= */

/* --- RESET & CUSTOM PROPERTIES --- */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#070D11; --bg-2:#101A22; --bg-3:#16222C;
  --ink:#FFFFFF; --ink-2:#C7D2DC; --ink-3:#94A3B8; --ink-4:#5A6B7A;
  --line:#1E2A35; --line-2:#2B3A47;
  --coral:#FF806B; --coral-2:#E66B57; --mustard:#FFD166; --peach:#FFB07A;
  --maxw:1340px;
  --gut:clamp(22px,4.5vw,72px);
  --ease:cubic-bezier(.16,1,.3,1);
  --ease-bounce:cubic-bezier(.34,1.56,.64,1);
}

/* --- BASE TYPOGRAPHY --- */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--bg);color:var(--ink);
  font-family:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-weight:400;line-height:1.6;letter-spacing:-0.01em;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
::selection{background:var(--coral);color:#0a0506}

/* --- LAYOUT --- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gut)}
.grad{color:var(--coral)}
.gx{
  background:linear-gradient(110deg,var(--coral) 0%,var(--peach) 40%,var(--coral) 60%,var(--peach) 100%);
  background-size:200% 100%;
  -webkit-background-clip:text;background-clip:text;color:transparent;
  animation:shimmer 6s ease-in-out infinite;
}
@keyframes shimmer{
  0%,100%{background-position:0% 50%}
  50%{background-position:100% 50%}
}

/* --- AMBIENT GLOWS (gradient-only, GPU-cheap) --- */
.orb{position:fixed;pointer-events:none;z-index:0;will-change:transform}
.orb-1{top:-340px;right:-300px;width:900px;height:900px;
  background:radial-gradient(circle at 50% 50%,rgba(255,128,107,.20) 0%,rgba(255,128,107,.09) 32%,transparent 62%)}
.orb-2{bottom:-380px;left:-320px;width:940px;height:940px;
  background:radial-gradient(circle at 50% 50%,rgba(255,209,102,.11) 0%,rgba(255,176,122,.05) 34%,transparent 64%)}

/* --- NAVIGATION --- */
#nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:all .4s var(--ease);
  padding:20px 0;border-bottom:1px solid transparent}
#nav.scrolled{background:rgba(7,13,17,.78);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  padding:13px 0;border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:9px;font-weight:700;font-size:19px;letter-spacing:.14em}
.logo .dot{width:8px;height:8px;border-radius:50%;background:var(--coral);
  box-shadow:0 0 14px rgba(255,128,107,.7);animation:dotPulse 3s ease-in-out infinite}
@keyframes dotPulse{0%,100%{box-shadow:0 0 14px rgba(255,128,107,.7)}50%{box-shadow:0 0 22px rgba(255,128,107,1)}}
.logo .ia{color:var(--coral)}
.nav-links{display:flex;align-items:center;gap:34px}
.nav-links a{font-size:13.5px;font-weight:500;color:var(--ink-3);transition:color .25s}
.nav-links a:hover{color:var(--ink)}

/* --- BUTTONS --- */
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:50px;font-weight:600;
  font-size:14px;padding:11px 22px;transition:all .3s var(--ease);cursor:pointer;border:none;white-space:nowrap}
.btn-primary{background:linear-gradient(135deg,var(--coral),var(--peach));color:#160a07}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 30px -8px rgba(255,128,107,.55)}
.btn-ghost{background:transparent;border:1.5px solid var(--line-2);color:var(--ink-2)}
.btn-ghost:hover{border-color:var(--coral);color:var(--ink)}
.nav-toggle{display:none;background:none;border:none;color:var(--ink);font-size:24px;cursor:pointer}

/* --- SECTIONS & EYEBROWS --- */
section{position:relative;z-index:1;padding:clamp(88px,11vh,150px) 0}
section[id],header[id]{scroll-margin-top:84px}
.eyebrow{font-size:clamp(12px,1vw,13.5px);font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--coral);margin-bottom:22px}
.eyebrow.muted{color:var(--ink-4)}
h1,h2,h3{letter-spacing:-0.038em;line-height:1.04;font-weight:800}
h2{font-size:clamp(34px,5.4vw,68px);margin-bottom:26px}
h3{font-size:clamp(20px,1.7vw,24px);font-weight:700;letter-spacing:-0.02em;line-height:1.14}
.lead{font-size:clamp(16px,1.5vw,20px);color:var(--ink-2);max-width:760px;line-height:1.62}
.lead strong{color:var(--ink);font-weight:600}

/* --- HERO --- */
.hero{min-height:100vh;display:flex;align-items:center;padding-top:140px;padding-bottom:90px}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(40px,5vw,80px);align-items:center;width:100%}

/* Hero kicker — replacement for chips (typographic, no borders) */
.hero-kicker{
  font-size:13px;font-weight:500;color:var(--ink-3);letter-spacing:.03em;
  margin-bottom:28px;line-height:1.6;
}
.hero-kicker .sep{display:inline-block;margin:0 10px;color:var(--line-2);font-weight:300}
.hero-kicker .accent{color:var(--coral);font-weight:600}
.hero-kicker strong{color:var(--ink-2);font-weight:600}

h1.hero-h{font-size:clamp(44px,6.6vw,104px);font-weight:800;line-height:.98;letter-spacing:-0.045em;max-width:13ch}
.hero p.lead{margin-top:30px;font-size:clamp(17px,1.55vw,23px);max-width:30ch}
.hero-cta{display:flex;gap:14px;margin-top:44px;flex-wrap:wrap}
.hero-cta .btn{padding:15px 30px;font-size:15.5px}
.hero-meta{margin-top:34px;font-size:13.5px;color:var(--ink-4);letter-spacing:.05em}

/* Hero floating product visual */
.hero-visual{position:relative;perspective:1400px}
.hero-visual .mock{transform:rotateY(-9deg) rotateX(3deg);transform-style:preserve-3d;
  box-shadow:0 50px 100px -30px rgba(0,0,0,.75),0 0 0 1px var(--line-2);
  animation:floaty 7s ease-in-out infinite}
.hero-visual .glow-card{position:absolute;inset:-14% -10%;z-index:-1;
  background:radial-gradient(circle at 60% 40%,rgba(255,128,107,.28),transparent 60%)}
.hero-visual .pill{position:absolute;z-index:2;background:linear-gradient(135deg,var(--coral),var(--peach));
  color:#160a07;font-weight:700;font-size:13px;padding:9px 16px;border-radius:50px;
  box-shadow:0 16px 34px -10px rgba(255,128,107,.6);animation:floatyPill 7s ease-in-out infinite}
.hero-visual .pill.p1{top:-22px;right:6%;animation-delay:.6s}
.hero-visual .pill.p2{bottom:-20px;left:-3%;background:linear-gradient(135deg,var(--mustard),var(--peach));animation-delay:1.4s}
@keyframes floaty{0%,100%{transform:rotateY(-9deg) rotateX(3deg) translateY(0)}50%{transform:rotateY(-9deg) rotateX(3deg) translateY(-14px)}}
@keyframes floatyPill{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* --- REVEAL SYSTEM --- */
.rv{opacity:1;transform:none}
html.js .rv{opacity:0;transform:translateY(22px);transition:opacity .9s var(--ease),transform .9s var(--ease);will-change:opacity,transform}
html.js .rv.in{opacity:1;transform:none}
html.js .rv.d1{transition-delay:.08s}
html.js .rv.d2{transition-delay:.16s}
html.js .rv.d3{transition-delay:.24s}
html.js .rv.d4{transition-delay:.32s}

/* --- STATEMENT / QUOTE --- */
.statement{font-size:clamp(30px,5vw,64px);font-weight:800;line-height:1.1;letter-spacing:-0.04em;max-width:19ch}
.quote-bar{
  border-left:3px solid;border-image:linear-gradient(180deg,var(--coral),var(--mustard)) 1;
  padding-left:30px;margin-top:44px;max-width:760px;
  font-size:clamp(16px,1.7vw,21px);font-weight:300;color:var(--ink-2);line-height:1.55;
  position:relative;
}
.quote-bar::before{
  content:'';position:absolute;left:-3px;top:0;bottom:0;width:6px;
  background:linear-gradient(180deg,var(--coral),var(--mustard));
  opacity:.25;filter:blur(8px);pointer-events:none;
}
.quote-bar strong{color:var(--coral);font-weight:600}

/* --- GRID & CARDS --- */
.grid{display:grid;gap:22px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.card{border:1px solid var(--line);border-radius:18px;padding:30px;
  background:linear-gradient(180deg,var(--bg-2),var(--bg));position:relative;overflow:hidden;
  transition:transform .4s var(--ease),border-color .4s var(--ease)}
.card:hover{transform:translateY(-5px);border-color:var(--line-2)}
.card::before{content:"";position:absolute;inset:0;background:radial-gradient(380px circle at var(--mx,50%) var(--my,0%),rgba(255,128,107,.07),transparent 70%);opacity:0;transition:opacity .4s}
.card:hover::before{opacity:1}
.card .tag{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);margin-bottom:14px}
.card.m .tag{color:var(--mustard)}
.card h3{margin-bottom:12px}
.card p{font-size:14.5px;color:var(--ink-2);line-height:1.6}
.card p strong{color:var(--ink);font-weight:600}
.minicard .num{font-size:38px;font-weight:300;color:var(--coral);line-height:1;margin-bottom:14px;font-variant-numeric:tabular-nums}
.minicard h3{font-size:17px;margin-bottom:8px}
.minicard p{font-size:13.5px}

/* --- STATS --- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 24px}
.stat .v{font-size:clamp(40px,5vw,64px);font-weight:800;letter-spacing:-0.04em;line-height:1;font-variant-numeric:tabular-nums}
.stat .v span{font-size:.45em;color:var(--ink-3);font-weight:600}
.stat .v .a{color:var(--coral)}
.stat .l{font-size:13px;color:var(--ink-3);margin-top:12px;line-height:1.35;font-weight:500}

/* --- PRODUCT ROWS --- */
.prow{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:60px 0;border-top:1px solid var(--line)}
.prow:first-of-type{border-top:none}
.prow.rev .pinfo{order:2}
.pinfo .tag{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);margin-bottom:16px}
.pinfo h3{font-size:clamp(26px,3vw,38px);font-weight:800;letter-spacing:-0.03em;margin-bottom:16px;line-height:1.05}
.pinfo h3 .gx{font-weight:800}
.pinfo p{font-size:15.5px;color:var(--ink-2);line-height:1.65;margin-bottom:22px}
.pinfo p strong{color:var(--ink);font-weight:600}

/* Features list — replacement for .feat chips (typographic, no pills) */
.features{
  display:flex;flex-wrap:wrap;gap:4px 0;
  font-size:12.5px;font-weight:500;color:var(--ink-3);line-height:1.7;
}
.features span{white-space:nowrap}
.features span:not(:last-child)::after{
  content:' · ';color:var(--ink-4);font-weight:300;
}

/* --- MOCKUPS --- */
.mock{border:1px solid var(--line-2);border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,var(--bg-2),var(--bg));box-shadow:0 30px 60px -25px rgba(0,0,0,.6)}
.mh{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:rgba(255,128,107,.05)}
.mh .mi{display:flex;align-items:center;gap:11px}
.mh .ic{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--coral),var(--coral-2));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:13px}
.mh .t{font-size:13.5px;font-weight:700}
.mh .s{font-size:10.5px;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;margin-top:1px}
.mh .tm{font-size:11px;color:var(--ink-3);font-variant-numeric:tabular-nums}

/* Waveform */
.mwave{display:flex;gap:2px;align-items:center;height:34px;padding:14px 18px}
.mwave i{width:3px;background:var(--coral);border-radius:2px;opacity:.55;
  transform-origin:center;animation:waveBreath 2s ease-in-out infinite alternate paused}
.mwave.animate i{animation-play-state:running}
@keyframes waveBreath{0%{transform:scaleY(.6);opacity:.35}100%{transform:scaleY(1.15);opacity:.7}}

/* Chat rows */
.mrow{display:flex;gap:14px;padding:7px 18px}
.mrow .lb{font-size:10px;font-weight:700;color:var(--ink-3);letter-spacing:.08em;min-width:52px;padding-top:2px}
.mrow .lb.c{color:var(--coral)}
.mrow .tx{font-size:14px;color:var(--ink-2);line-height:1.5}

/* Insight footer */
.mins{padding:15px 18px;background:rgba(255,128,107,.06);border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:18px}
.mins .tag{font-size:10px;font-weight:700;color:var(--coral);letter-spacing:.16em;margin-bottom:3px}
.mins .it{font-size:13.5px;color:var(--ink);font-weight:600;line-height:1.3}
.mins .sc{text-align:right}
.mins .sc .l{font-size:10px;font-weight:700;color:var(--ink-3);letter-spacing:.1em}
.mins .sc .v{font-size:32px;font-weight:800;color:var(--coral);line-height:1}
.mins .sc .v span{font-size:.42em;color:var(--ink-3);font-weight:600}

/* Bars (scorecard) */
.mbars{padding:18px}
.mbar{display:flex;align-items:center;gap:13px;margin-bottom:11px}
.mbar:last-child{margin-bottom:0}
.mbar .bl{font-size:12.5px;font-weight:500;color:var(--ink-2);min-width:120px}
.mbar .bt{flex:1;height:7px;background:rgba(255,255,255,.06);border-radius:50px;overflow:hidden}
.mbar .bf{height:100%;border-radius:50px;background:linear-gradient(90deg,var(--coral-2),var(--coral));transform-origin:left;transform:scaleX(0);transition:transform 1.1s var(--ease)}
.mbar.in .bf{transform:scaleX(1)}
.mbar .bv{font-size:13px;font-weight:700;min-width:30px;text-align:right;font-variant-numeric:tabular-nums}

/* Chat bubbles — sequential appear animation */
.mchat{padding:16px 18px;display:flex;flex-direction:column;gap:9px}
.bub{max-width:80%;padding:9px 13px;border-radius:13px;font-size:13.5px;line-height:1.4}
.bub.them{background:rgba(255,255,255,.06);align-self:flex-start;border-bottom-left-radius:4px}
.bub.us{background:linear-gradient(135deg,var(--coral-2),var(--coral));color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
html.js .mchat .bub{opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
html.js .mchat.in .bub{opacity:1;transform:none}
html.js .mchat.in .bub:nth-child(1){transition-delay:0s}
html.js .mchat.in .bub:nth-child(2){transition-delay:.25s}
html.js .mchat.in .bub:nth-child(3){transition-delay:.5s}
html.js .mchat.in .bub:nth-child(4){transition-delay:.75s}

/* Timeline steps — sequential reveal */
.mtl{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:24px 18px;position:relative}
.mtl::before{content:"";position:absolute;top:34px;left:42px;right:42px;height:2px;
  background:linear-gradient(90deg,var(--coral),var(--mustard));
  transform:scaleX(0);transform-origin:left;transition:transform 1.2s var(--ease) .15s}
html.js .mtl.in::before{transform:scaleX(1)}
.mtl .st{text-align:center;position:relative;z-index:1}
html.js .mtl .st{opacity:0;transform:scale(.85);transition:opacity .45s var(--ease),transform .45s var(--ease-bounce)}
html.js .mtl.in .st{opacity:1;transform:none}
html.js .mtl.in .st:nth-child(1){transition-delay:.05s}
html.js .mtl.in .st:nth-child(2){transition-delay:.25s}
html.js .mtl.in .st:nth-child(3){transition-delay:.45s}
html.js .mtl.in .st:nth-child(4){transition-delay:.65s}
.mtl .st .d{width:22px;height:22px;border-radius:50%;background:var(--bg-2);border:2px solid var(--coral);margin:0 auto 10px;display:flex;align-items:center;justify-content:center;color:var(--coral);font-size:11px;font-weight:800}
.mtl .st .d.g{border-color:var(--mustard);color:var(--mustard)}
.mtl .st .tt{font-size:13px;font-weight:700}
.mtl .st .ss{font-size:11px;color:var(--ink-3);margin-top:2px}

/* ====== FLOW DIAGRAM — World-class animated ====== */
.flow-wrap{margin-top:20px;position:relative}
.flow-wrap svg{width:100%;height:auto}

/* SVG element animations — staggered entrance */
html.js .flow-wrap svg .fn-in{
  opacity:0;transform:translateX(-25px);
  transition:opacity .8s var(--ease),transform .8s var(--ease);
}
html.js .flow-wrap svg .fn-out{
  opacity:0;transform:translateX(25px);
  transition:opacity .8s var(--ease),transform .8s var(--ease);
}
html.js .flow-wrap svg .flow-hex{
  opacity:0;transform:scale(.82);transform-origin:120px 92px;
  transition:opacity .7s var(--ease),transform .7s var(--ease-bounce);
}
html.js .flow-wrap svg .flow-line{
  opacity:0;stroke-dasharray:300;stroke-dashoffset:300;
  transition:opacity .3s,stroke-dashoffset 1.4s var(--ease);
}
html.js .flow-wrap svg .flow-particles{
  opacity:0;transition:opacity .6s 1.8s;
}

/* Activated state */
html.js .flow-wrap.in svg .fn-in,
html.js .flow-wrap.in svg .fn-out{opacity:1;transform:translateX(0)}
html.js .flow-wrap.in svg .flow-hex{opacity:1;transform:scale(1)}
html.js .flow-wrap.in svg .flow-line{opacity:1;stroke-dashoffset:0}
html.js .flow-wrap.in svg .flow-particles{opacity:1}

/* Stagger delays — left nodes first, then lines, hex, right lines, right nodes */
html.js .flow-wrap.in svg .fn-in.fn-d0{transition-delay:0s}
html.js .flow-wrap.in svg .fn-in.fn-d1{transition-delay:.12s}
html.js .flow-wrap.in svg .fn-in.fn-d2{transition-delay:.24s}
html.js .flow-wrap.in svg .flow-line.fl-in{transition-delay:.38s}
html.js .flow-wrap.in svg .flow-hex{transition-delay:.55s}
html.js .flow-wrap.in svg .flow-line.fl-out{transition-delay:.75s}
html.js .flow-wrap.in svg .fn-out.fn-d0{transition-delay:.9s}
html.js .flow-wrap.in svg .fn-out.fn-d1{transition-delay:1.02s}
html.js .flow-wrap.in svg .fn-out.fn-d2{transition-delay:1.14s}

/* --- PARTNER --- */
.partner{display:flex;align-items:center;gap:30px;border:1px solid var(--line-2);border-radius:18px;
  padding:28px 34px;background:rgba(255,255,255,.02)}
.partner .tile{background:#fff;border-radius:12px;padding:16px 22px;flex-shrink:0}
.partner .tile img{height:38px;width:auto}
.partner .pl{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--coral);margin-bottom:7px}
.partner .pn{font-size:21px;font-weight:700;letter-spacing:-0.02em}
.partner .pd{font-size:14px;color:var(--ink-2);margin-top:7px;line-height:1.5}
.partner .pd strong{color:var(--ink);font-weight:600}

/* --- ROADMAP --- */
.road{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:50px}
.rcard{border:1px solid var(--line);border-radius:18px;padding:28px;background:linear-gradient(180deg,var(--bg-2),var(--bg));position:relative;overflow:hidden;transition:transform .4s var(--ease)}
.rcard:hover{transform:translateY(-5px)}
.rcard .rh{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.rcard .rp{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--coral)}
.rcard.m .rp,.rcard.m .ry{color:var(--mustard)}
.rcard .ry{font-size:30px;font-weight:800;color:var(--coral);letter-spacing:-0.03em}
.rcard h3{font-size:18px;margin-bottom:10px}
.rcard p{font-size:13.5px;color:var(--ink-2);line-height:1.55;margin-bottom:16px}
.rcard p strong{color:var(--ink);font-weight:600}

/* --- CTA --- */
.cta{background:linear-gradient(180deg,var(--bg),#0c0608);border-top:1px solid var(--line)}
.cta-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}
h2.cta-h{font-size:clamp(34px,5.5vw,64px);font-weight:800;letter-spacing:-0.04em;line-height:1.02}
.founders{border:1px solid var(--line-2);border-radius:20px;padding:30px;background:linear-gradient(180deg,var(--bg-2),var(--bg))}
.founders .fl{font-size:11px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--coral);text-align:center;margin-bottom:22px}
.fdr{padding-bottom:20px;border-bottom:1px solid var(--line);margin-bottom:20px}
.fdr:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:0}
.fdr .fn{font-size:18px;font-weight:700;letter-spacing:-0.02em}
.fdr .fr{font-size:12.5px;font-weight:600;margin-top:3px}
.fdr .fr.c{color:var(--coral)}.fdr .fr.m{color:var(--mustard)}
.fdr .fc{font-size:13.5px;color:var(--ink-2);margin-top:7px}

/* --- FOOTER --- */
footer{border-top:1px solid var(--line);padding:54px 0 40px;position:relative;z-index:1}
.foot{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:30px}
.foot .fc1{max-width:320px}
.foot p{font-size:13px;color:var(--ink-3);margin-top:14px;line-height:1.6}
.foot-links{display:flex;gap:50px;flex-wrap:wrap}
.foot-col h4{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-4);margin-bottom:16px}
.foot-col a{display:block;font-size:13.5px;color:var(--ink-3);margin-bottom:11px;transition:color .25s}
.foot-col a:hover{color:var(--coral)}
.foot-bottom{margin-top:46px;padding-top:26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:12px;color:var(--ink-4)}

/* ====== RESPONSIVE ====== */
@media(max-width:1080px){
  .hero-grid{grid-template-columns:1fr;gap:54px}
  .hero{min-height:auto;padding-top:130px;padding-bottom:70px}
  .hero p.lead{max-width:46ch}
  .hero-visual{max-width:520px}
  .hero-visual .mock{transform:none;animation:none}
  .hero-visual .mock:hover{transform:none}
  @keyframes floaty{0%,100%{transform:none}50%{transform:none}}
  .hero-visual .pill.p1{right:2%}
}
@media(max-width:980px){
  .g3,.g4,.stats,.road{grid-template-columns:1fr 1fr}
  .prow{grid-template-columns:1fr;gap:32px;padding:46px 0}
  .prow.rev .pinfo{order:0}
  .cta-grid{grid-template-columns:1fr;gap:38px}
}
@media(max-width:760px){
  section{padding:clamp(64px,9vh,90px) 0}
  .nav-links{display:none}
  .nav-toggle{display:block}
  .nav-cta{display:none}
  .g3,.g2,.g4,.stats,.road{grid-template-columns:1fr}
  .hero{min-height:auto;padding-top:118px}
  h1.hero-h{font-size:clamp(38px,11vw,60px);max-width:none}
  .hero-visual{margin:0 auto}
  .hero-visual .pill{font-size:11.5px;padding:7px 13px}
  .partner{flex-direction:column;align-items:flex-start;gap:20px;padding:24px}
  .mtl::before{display:none}
  .mtl{grid-template-columns:1fr 1fr;gap:18px}
  .foot{flex-direction:column}
  .hero-kicker{font-size:12px}
  .hero-kicker .sep{margin:0 7px}
  /* Flow diagram: stack vertically on mobile */
  .flow-wrap svg{min-height:280px}
}

/* ====== PREFERS REDUCED MOTION ====== */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
  .flow-wrap svg .fn-in,
  .flow-wrap svg .fn-out,
  .flow-wrap svg .flow-hex{opacity:1;transform:none}
  .flow-wrap svg .flow-line{opacity:1;stroke-dashoffset:0}
  .flow-wrap svg .flow-particles{visibility:hidden}
  .mchat .bub{opacity:1;transform:none}
  .mtl .st{opacity:1;transform:none}
  .mtl::before{transform:scaleX(1)}
  .mwave i{animation:none}
}
