/* Magnvex — estilos */
@font-face{font-family:'Syne';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/syne-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Syne';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/syne-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'Syne';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/syne-latin-700-normal.woff2') format('woff2')}
@font-face{font-family:'Syne';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/syne-latin-800-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/inter-latin-300-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-latin-600-normal.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/jetbrains-mono-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/jetbrains-mono-latin-500-normal.woff2') format('woff2')}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#05060B;
  --bg2:#08091250;
  --surface:#0B0C18;
  --surface2:#11122A;
  --violet:#7C6FF0;
  --violet-hi:#A79DFF;
  --violet-dim:rgba(124,111,240,.12);
  --violet-line:rgba(124,111,240,.32);
  --gold:#C8A84B;
  --gold-hi:#EBD38A;
  --gold-dim:rgba(200,168,75,.12);
  --text:#F2F1FF;
  --text-dim:#BDBDD3;
  --text-muted:#7F7F9C;
  --line:rgba(255,255,255,.08);
  --max-w:1320px;
  --gutter:clamp(20px,4vw,56px);
  --ease:cubic-bezier(.22,1,.36,1);
  --display:'Syne',sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}
html{background:var(--bg);-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{background:var(--bg);color:var(--text);font-family:'Inter',sans-serif;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--violet);color:#fff}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--violet),var(--gold));border-radius:3px}
a{color:inherit}
img,svg,canvas{display:block}
.wrap{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter)}
.gold{background:linear-gradient(100deg,var(--gold) 0%,var(--gold-hi) 45%,var(--gold) 70%,#9c7f2c 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.violet{color:var(--violet-hi)}
.mono{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.skip{position:absolute;left:-9999px;top:8px;z-index:1000;background:var(--violet);color:#fff;padding:10px 16px;border-radius:8px}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}

/* grain */
.grain{position:fixed;inset:-50%;width:200%;height:200%;pointer-events:none;z-index:90;opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* progress */
#progress{position:fixed;top:0;left:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--violet),var(--gold));z-index:200}

/* preloader */
#loader{display:none}
.js #loader{display:flex;position:fixed;inset:0;z-index:500;background:var(--bg);flex-direction:column;justify-content:space-between;padding:var(--gutter);animation:loaderFailsafe 0s 6s forwards}
@keyframes loaderFailsafe{to{visibility:hidden;opacity:0}}
.loader-top,.loader-bottom{display:flex;justify-content:space-between;align-items:center;color:var(--text-muted)}
.loader-center{display:flex;flex-direction:column;align-items:center;gap:28px}
.loader-logo{width:74px;height:74px;animation:spinIn 1.6s var(--ease) both}
@keyframes spinIn{from{transform:rotate(-90deg) scale(.4);opacity:0}to{transform:none;opacity:1}}
.loader-brand{font-family:var(--display);font-weight:800;font-size:clamp(2.2rem,7vw,5rem);letter-spacing:.32em;padding-left:.32em;overflow:hidden}
.loader-brand span{display:inline-block}
.loader-count{font-family:var(--display);font-weight:700;font-size:clamp(3rem,10vw,8rem);line-height:.8;color:var(--text)}
.loader-bar{position:absolute;left:0;bottom:0;height:2px;width:100%;background:linear-gradient(90deg,var(--violet),var(--gold));transform-origin:0 50%;transform:scaleX(0)}

/* cursor */
.cursor,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:400;border-radius:50%;opacity:0;transition:opacity .3s}
.cursor{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--gold)}
.cursor-ring{width:38px;height:38px;margin:-19px 0 0 -19px;border:1px solid rgba(167,157,255,.55);display:flex;align-items:center;justify-content:center;transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .35s,border-color .35s,opacity .3s}
.cursor-ring span{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;opacity:0;transition:opacity .2s}
.has-cursor .cursor,.has-cursor .cursor-ring{opacity:1}
.cursor-ring.hover{width:64px;height:64px;margin:-32px 0 0 -32px;background:rgba(124,111,240,.12);border-color:var(--violet)}
.cursor-ring.label{width:92px;height:92px;margin:-46px 0 0 -46px;background:var(--violet);border-color:var(--violet)}
.cursor-ring.label span{opacity:1}
@media (hover:none),(pointer:coarse){.cursor,.cursor-ring{display:none}}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:150;padding:22px 0;transition:padding .5s var(--ease),background .5s,border-color .5s,transform .6s var(--ease);border-bottom:1px solid transparent}
.nav.scrolled{padding:12px 0;background:rgba(5,6,11,.72);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom-color:var(--line)}
.nav.hidden{transform:translateY(-110%)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo svg{width:32px;height:32px;transition:transform .8s var(--ease)}
.logo:hover svg{transform:rotate(90deg)}
.logo-text{font-family:var(--display);font-weight:800;font-size:1.08rem;letter-spacing:.22em}
.nav-links{display:flex;align-items:center;gap:clamp(18px,2.1vw,32px);list-style:none}
.nav-links a{text-decoration:none;font-size:.86rem;color:var(--text-dim);position:relative;transition:color .3s}
.nav-links a:not(.btn)::after{content:'';position:absolute;left:0;bottom:-6px;height:1px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav-links a:not(.btn):hover{color:var(--text)}
.nav-links a:not(.btn):hover::after{transform:scaleX(1);transform-origin:left}
.nav-right{display:flex;align-items:center;gap:14px}
.sound-btn{display:flex;align-items:center;gap:10px;background:none;border:1px solid var(--line);color:var(--text-dim);border-radius:40px;padding:9px 14px;cursor:pointer;transition:border-color .3s,color .3s}
.sound-btn:hover{border-color:var(--violet-line);color:var(--text)}
.sound-btn .bars{display:flex;align-items:flex-end;gap:2px;height:12px}
.sound-btn .bars i{display:block;width:2px;height:3px;background:currentColor;border-radius:1px;transition:height .3s}
.sound-btn.on{color:var(--gold-hi);border-color:rgba(200,168,75,.45)}
.sound-btn.on .bars i{animation:eq 1s ease-in-out infinite}
.sound-btn.on .bars i:nth-child(2){animation-delay:-.3s}.sound-btn.on .bars i:nth-child(3){animation-delay:-.6s}.sound-btn.on .bars i:nth-child(4){animation-delay:-.15s}
@keyframes eq{0%,100%{height:3px}50%{height:12px}}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:40px;width:44px;height:44px;cursor:pointer;color:var(--text);align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-btn i{display:block;width:16px;height:1.5px;background:currentColor;transition:transform .4s var(--ease)}
.menu-open .menu-btn i:first-child{transform:translateY(3.25px) rotate(45deg)}
.menu-open .menu-btn i:last-child{transform:translateY(-3.25px) rotate(-45deg)}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:600;font-size:.92rem;padding:17px 30px;border-radius:60px;overflow:hidden;isolation:isolate;cursor:pointer;border:none;font-family:inherit;transition:box-shadow .4s}
.btn .arrow{display:inline-block;transition:transform .5s var(--ease)}
.btn:hover .arrow{transform:translateX(5px)}
.btn-primary{background:var(--violet);color:#fff;box-shadow:0 0 0 rgba(124,111,240,0)}
.btn-primary::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,var(--gold),var(--gold-hi));transform:translateY(101%);transition:transform .55s var(--ease)}
.btn-primary:hover{color:#0a0a12;box-shadow:0 14px 50px rgba(200,168,75,.3)}
.btn-primary:hover::before{transform:none}
.btn-ghost{color:var(--text);border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.02)}
.btn-ghost::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--text);transform:translateY(101%);transition:transform .55s var(--ease)}
.btn-ghost:hover{color:var(--bg)}
.btn-ghost:hover::before{transform:none}
.btn-sm{padding:11px 20px;font-size:.82rem}

/* hero */
.hero{position:relative;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:120px 0 110px}
#hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero-fallback{position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 60% at 75% 50%,rgba(124,111,240,.22),transparent 70%),radial-gradient(40% 40% at 85% 70%,rgba(200,168,75,.12),transparent 70%)}
.hero-grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(124,111,240,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(124,111,240,.05) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%)}
.hero-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(5,6,11,.85) 0%,rgba(5,6,11,.35) 50%,transparent 75%),linear-gradient(0deg,var(--bg) 0%,transparent 25%)}
.hero-content{position:relative;z-index:2;width:100%}
.eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--violet-hi);margin-bottom:34px;padding:9px 16px;border:1px solid var(--violet-line);border-radius:40px;background:rgba(124,111,240,.07);backdrop-filter:blur(6px)}
.eb-short{display:none}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px var(--gold);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.3}}
.hero h1{font-family:var(--display);font-weight:800;font-size:clamp(2.1rem,min(6vw,8.8vh),6.6rem);line-height:.95;letter-spacing:-.035em;margin-bottom:30px}
.line{display:block;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.line>span{display:inline-block;will-change:transform}
.hero-sub{max-width:560px;font-size:clamp(1.02rem,1.4vw,1.2rem);color:var(--text-dim);line-height:1.75;margin-bottom:38px}
.hero-sub strong{color:var(--text);font-weight:500}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-hud{position:absolute;left:0;right:0;bottom:34px;z-index:2}
.hero-hud .wrap{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;color:var(--text-muted)}
.hud-stats{display:flex;gap:42px}
.hud-stats b{display:block;font-family:var(--display);font-size:1.25rem;color:var(--text);letter-spacing:0;text-transform:none;font-weight:700;margin-bottom:2px}
.scroll-ind{display:flex;align-items:center;gap:14px}
.scroll-ind .track{width:1px;height:54px;background:var(--line);position:relative;overflow:hidden}
.scroll-ind .track::after{content:'';position:absolute;left:0;top:-50%;width:100%;height:50%;background:linear-gradient(transparent,var(--gold));animation:scrollLine 2s var(--ease) infinite}
@keyframes scrollLine{to{top:100%}}

/* marquee */
.marquee{position:relative;padding:34px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:linear-gradient(90deg,var(--bg),rgba(124,111,240,.05),var(--bg))}
.marquee-row{display:flex;width:max-content;white-space:nowrap}
.marquee-row+.marquee-row{margin-top:10px}
.marquee-item{display:flex;align-items:center;gap:34px;padding-right:34px;font-family:var(--display);font-weight:700;font-size:clamp(1.8rem,4.2vw,3.6rem);letter-spacing:-.02em;text-transform:uppercase}
.marquee-row.outline .marquee-item{color:transparent;-webkit-text-stroke:1px rgba(242,241,255,.28)}
.marquee-item svg{width:.55em;height:.55em;flex:none}

/* sections */
section{position:relative}
.section{padding:clamp(100px,14vw,190px) 0}
.sec-head{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:end;margin-bottom:clamp(54px,7vw,96px)}
.sec-index{display:flex;align-items:center;gap:14px;color:var(--gold);margin-bottom:22px}
.sec-index::after{content:'';width:46px;height:1px;background:var(--gold);opacity:.6}
.sec-title{font-family:var(--display);font-weight:700;font-size:clamp(2.3rem,5.4vw,4.8rem);line-height:1;letter-spacing:-.03em}
.sec-sub{font-size:clamp(1rem,1.3vw,1.14rem);color:var(--text-dim);line-height:1.8;max-width:540px;justify-self:end}
.sec-sub em{font-style:normal;color:var(--text)}
.split-w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split-w>span{display:inline-block}
.gold .split-w>span{background:linear-gradient(100deg,var(--gold) 0%,var(--gold-hi) 45%,var(--gold) 70%,#9c7f2c 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

/* manifesto */
.manifesto{min-height:100vh;display:flex;align-items:center;padding:120px 0}
.manifesto-orb{position:absolute;width:60vw;height:60vw;max-width:900px;max-height:900px;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(124,111,240,.16),transparent 65%);pointer-events:none;filter:blur(10px)}
.manifesto p{position:relative;font-family:var(--display);font-weight:600;font-size:clamp(1.8rem,min(4vw,6.4vh),3.7rem);line-height:1.12;letter-spacing:-.025em;max-width:24ch}
.manifesto .mw{opacity:.14;transition:none}
.manifesto .mw.hl{color:var(--gold-hi)}
.manifesto-sign{margin-top:48px;color:var(--text-muted);display:flex;align-items:center;gap:14px}
.manifesto-sign svg{width:22px;height:22px}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{padding:clamp(34px,4vw,56px) clamp(16px,2vw,32px);border-right:1px solid var(--line);position:relative;overflow:hidden}
.stat:last-child{border-right:none}
.stat::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 120%,rgba(124,111,240,.18),transparent 60%);opacity:0;transition:opacity .6s}
.stat:hover::before{opacity:1}
.stat-num{font-family:var(--display);font-weight:800;font-size:clamp(3rem,6.4vw,6rem);line-height:1;letter-spacing:-.04em;display:flex;align-items:baseline;gap:4px}
.stat-num small{font-size:.38em;color:var(--gold);letter-spacing:0}
.stat-lbl{margin-top:14px;font-size:.92rem;color:var(--text-dim);max-width:24ch;position:relative}

/* pillars horizontal */
.pillars{overflow:hidden;padding-top:clamp(100px,14vw,190px)}
.pillars-pin{height:100vh;display:flex;flex-direction:column;justify-content:center}
.pillars-head{margin-bottom:46px}
.pillars-track{display:flex;gap:28px;padding-left:var(--gutter);width:max-content;will-change:transform}
.pillar{position:relative;width:min(470px,80vw);min-height:440px;padding:42px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(160deg,rgba(255,255,255,.035),rgba(255,255,255,.008));display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;flex:none}
.pillar::after{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(140deg,rgba(124,111,240,.6),transparent 40%,transparent 60%,rgba(200,168,75,.5));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;pointer-events:none}
.pillar-num{font-family:var(--display);font-weight:800;font-size:7rem;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(200,168,75,.5)}
.pillar-icon{position:absolute;top:42px;right:42px;width:54px;height:54px;color:var(--violet-hi)}
.pillar h3{font-family:var(--display);font-size:clamp(1.6rem,2.3vw,2.1rem);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin:0 0 16px}
.pillar p{color:var(--text-dim);font-size:1rem;line-height:1.75}
.pillar.end{width:min(420px,78vw);background:none;border-style:dashed;justify-content:center;gap:24px}
.pillar.end::after{display:none}
.pillar.end h3{font-size:clamp(1.8rem,2.6vw,2.4rem)}

/* services */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;perspective:1400px}
.svc{position:relative;display:flex;flex-direction:column;padding:38px 34px 34px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(170deg,var(--surface2),var(--surface) 55%);overflow:hidden;cursor:pointer;transform-style:preserve-3d;transition:border-color .5s;--mx:50%;--my:0%}
.svc::before{content:'';position:absolute;inset:0;background:radial-gradient(500px circle at var(--mx) var(--my),rgba(124,111,240,.17),transparent 45%);opacity:0;transition:opacity .5s;pointer-events:none}
.svc:hover{border-color:var(--violet-line)}
.svc:hover::before{opacity:1}
.svc.featured{border-color:rgba(200,168,75,.38);background:linear-gradient(170deg,#18172C,var(--surface) 60%)}
.svc.featured::before{background:radial-gradient(500px circle at var(--mx) var(--my),rgba(200,168,75,.16),transparent 45%)}
.svc>*{position:relative}
.svc-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:34px}
.svc-icon{width:52px;height:52px;border-radius:14px;border:1px solid var(--violet-line);display:flex;align-items:center;justify-content:center;color:var(--violet-hi);background:rgba(124,111,240,.08)}
.svc.featured .svc-icon{border-color:rgba(200,168,75,.45);color:var(--gold-hi);background:rgba(200,168,75,.08)}
.svc-icon svg{width:26px;height:26px}
.badge{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;border-radius:30px;background:linear-gradient(100deg,var(--gold),var(--gold-hi));color:#0a0a12;font-weight:500}
.svc h3{font-family:var(--display);font-weight:700;font-size:1.65rem;line-height:1.15;letter-spacing:-.02em;margin-bottom:8px}
.svc-desc{color:var(--text-dim);font-size:.95rem;margin-bottom:28px}
.price{padding:18px 0;border-top:1px solid var(--line)}
.price-lbl{color:var(--text-muted);margin-bottom:8px;font-size:.62rem}
.price-launch{font-family:var(--display);font-weight:800;font-size:2.9rem;line-height:1;letter-spacing:-.03em}
.price-std{font-family:var(--display);font-weight:600;font-size:1.25rem;color:var(--text-dim)}
.price-note{font-size:.8rem;color:var(--text-muted);margin-top:6px}
.price-quote .price-launch{font-size:clamp(2rem,2.5vw,2.45rem);white-space:nowrap;background:linear-gradient(100deg,var(--text) 10%,var(--gold-hi) 70%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;padding-bottom:.08em}
.price-quote .price-note{line-height:1.55}
.feats{list-style:none;padding:20px 0 26px;border-top:1px solid var(--line);display:grid;gap:11px}
.feats li{display:flex;gap:12px;font-size:.9rem;color:var(--text-dim);line-height:1.5}
.feats li::before{content:'';flex:none;width:14px;height:14px;margin-top:3px;border-radius:50%;border:1px solid var(--gold);background:radial-gradient(circle,var(--gold) 30%,transparent 35%)}
.svc-cta{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid var(--line);color:var(--violet-hi);font-weight:600;font-size:.88rem}
.svc-cta .plus{width:34px;height:34px;border-radius:50%;border:1px solid var(--violet-line);display:flex;align-items:center;justify-content:center;transition:transform .6s var(--ease),background .4s}
.svc:hover .svc-cta .plus{transform:rotate(90deg);background:var(--violet);color:#fff}

.packs{margin-top:clamp(70px,9vw,120px)}
.packs-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;flex-wrap:wrap}
.packs-head h3{font-family:var(--display);font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:700;letter-spacing:-.02em}
.packs-head p{color:var(--text-muted)}
.packs-list{border-top:1px solid var(--line)}
.pack{display:grid;grid-template-columns:70px 1.1fr 2fr auto;gap:28px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line);position:relative;text-decoration:none}
.pack::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(124,111,240,.1),transparent);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease);z-index:-1}
.pack:hover::before{transform:none}
.pack-n{color:var(--text-muted)}
.pack-name{font-family:var(--display);font-weight:700;font-size:clamp(1.3rem,2vw,1.7rem);letter-spacing:-.01em;transition:transform .6s var(--ease)}
.pack:hover .pack-name{transform:translateX(8px)}
.pack-desc{color:var(--text-dim);font-size:.95rem}
.pack-cta{justify-self:end;white-space:nowrap;display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:40px;border:1px solid var(--violet-line);color:var(--violet-hi);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;transition:background .5s var(--ease),color .5s,border-color .5s}
.pack-cta .arrow{transition:transform .5s var(--ease)}
.pack:hover .pack-cta{background:var(--violet);border-color:var(--violet);color:#fff}
.pack:hover .pack-cta .arrow{transform:translateX(4px)}

/* why */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line)}
.why-item{padding:42px 30px 40px 0;border-right:1px solid var(--line);margin-right:30px}
.why-item:last-child{border-right:none;margin-right:0}
.why-icon{width:44px;height:44px;color:var(--gold);margin-bottom:56px}
.why-icon path,.why-icon circle,.why-icon rect,.why-icon polyline,.why-icon line{vector-effect:non-scaling-stroke}
.why-item h3{font-family:var(--display);font-size:1.4rem;font-weight:700;margin-bottom:14px;letter-spacing:-.01em}
.why-item p{color:var(--text-dim);font-size:.94rem;line-height:1.75}

/* big cta */
.bigcta{padding:clamp(110px,15vw,200px) 0;text-align:center;overflow:hidden}
.bigcta h2{font-family:var(--display);font-weight:800;font-size:clamp(2.2rem,10.5vw,10.5rem);line-height:.9;letter-spacing:-.045em}
.bigcta .sub{margin:34px auto 46px;color:var(--text-dim);max-width:520px;font-size:1.08rem}
.bigcta-ring{position:absolute;left:50%;top:50%;width:min(1100px,140vw);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;opacity:.5}

/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,7vw,110px);align-items:start}
.channels{margin-top:46px;border-top:1px solid var(--line)}
.channel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;border-bottom:1px solid var(--line);text-decoration:none;transition:padding .5s var(--ease)}
.channel:hover{padding-left:12px}
.channel-lbl{color:var(--text-muted);margin-bottom:4px}
.channel-val{font-family:var(--display);font-size:clamp(1.15rem,1.8vw,1.5rem);font-weight:600}
.channel .go{width:44px;height:44px;flex:none;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:background .4s,border-color .4s,transform .6s var(--ease)}
.channel:hover .go{background:var(--gold);border-color:var(--gold);color:#0a0a12;transform:rotate(-45deg)}
.form{padding:clamp(28px,4vw,48px);border:1px solid var(--line);border-radius:26px;background:linear-gradient(170deg,rgba(255,255,255,.035),rgba(255,255,255,.01));backdrop-filter:blur(10px)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{position:relative;margin-bottom:26px}
.field label{display:block;color:var(--text-muted);margin-bottom:10px}
.field input,.field textarea{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.14);color:var(--text);font:inherit;font-size:1.05rem;padding:8px 0 12px;outline:none;transition:border-color .3s;border-radius:0}
.field textarea{min-height:110px;resize:vertical}
.field::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:100%;background:linear-gradient(90deg,var(--violet),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.field:focus-within::after{transform:scaleX(1)}
.field textarea+.bar{display:none}
.field input::placeholder,.field textarea::placeholder{color:#55556e}
.form .btn{width:100%;justify-content:center;margin-top:8px}
.form .btn.ok{background:#2D9B4F}
.form .btn.err{background:#C0392B}
.form-note{margin-top:16px;color:var(--text-muted);font-size:.8rem;text-align:center}

/* footer */
footer{padding:80px 0 34px;border-top:1px solid var(--line);overflow:hidden}
.footer-top{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:60px}
.footer-links{display:flex;gap:28px;flex-wrap:wrap}
.footer-links a{text-decoration:none;color:var(--text-dim);font-size:.9rem;transition:color .3s}
.footer-links a:hover{color:var(--gold-hi)}
.footer-word{font-family:var(--display);font-weight:800;font-size:clamp(4rem,19.5vw,19rem);line-height:.8;letter-spacing:-.04em;text-align:center;background:linear-gradient(180deg,rgba(242,241,255,.16),rgba(242,241,255,0) 85%);-webkit-background-clip:text;background-clip:text;color:transparent;user-select:none;white-space:nowrap}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:24px;color:var(--text-muted)}

/* modal */
.modal{position:fixed;inset:0;z-index:300;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;pointer-events:none}
.modal.open{visibility:visible;pointer-events:auto}
.modal-bd{position:absolute;inset:0;background:rgba(3,3,8,.75);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);opacity:0;transition:opacity .5s}
.modal.open .modal-bd{opacity:1}
.modal-box{position:relative;width:min(640px,100%);max-height:88vh;overflow:auto;padding:clamp(28px,4vw,48px);border-radius:26px;border:1px solid var(--violet-line);background:linear-gradient(170deg,#141331,#0A0B17 65%);transform:translateY(40px) scale(.96);opacity:0;transition:transform .7s var(--ease),opacity .5s}
.modal.open .modal-box{transform:none;opacity:1}
.modal-close{position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:none;color:var(--text);cursor:pointer;font-size:1rem;transition:transform .5s var(--ease),border-color .3s}
.modal-close:hover{transform:rotate(90deg);border-color:var(--gold)}
.modal-icon{width:56px;height:56px;border-radius:16px;border:1px solid var(--violet-line);display:flex;align-items:center;justify-content:center;color:var(--violet-hi);margin-bottom:24px}
.modal-icon svg{width:28px;height:28px}
.modal-name{font-family:var(--display);font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.05;margin-bottom:10px}
.modal-sub{color:var(--gold);margin-bottom:22px;font-size:.66rem;line-height:1.7}
.modal-desc{color:var(--text-dim);line-height:1.8;min-height:5.4em;margin-bottom:26px}
.modal-feats-title{color:var(--text-muted);margin-bottom:14px}
.modal-feat{display:flex;gap:12px;padding:11px 0;border-top:1px solid var(--line);font-size:.94rem;opacity:0;transform:translateX(-10px);transition:opacity .4s,transform .5s var(--ease)}
.modal-feat.show{opacity:1;transform:none}
.modal-feat::before{content:'→';color:var(--gold)}
.modal .btn{margin-top:26px}
.tw-cursor{display:inline-block;width:2px;height:1em;background:var(--gold);vertical-align:-2px;margin-left:2px;animation:pulse .8s infinite}

/* confianza: cifras en palabra */
.stat-num.stat-word{font-size:clamp(1.5rem,2.6vw,2.6rem);letter-spacing:-.025em;min-height:clamp(3rem,6.4vw,6rem);align-items:flex-end;line-height:1.05}

/* manifiesto: columnas */
.manifesto-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);margin-top:clamp(32px,4vw,52px);max-width:980px}
.manifesto .manifesto-cols p{font-family:'Inter',sans-serif;font-weight:400;font-size:clamp(.98rem,1.1vw,1.06rem);line-height:1.8;letter-spacing:0;max-width:none;color:var(--text-dim)}

/* tarjetas de plan */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;perspective:1400px}
.tag{font-size:.6rem;padding:7px 12px;border-radius:30px;border:1px solid var(--line);color:var(--text-muted)}
.price-month{font-family:var(--display);font-weight:800;font-size:2rem;line-height:1;letter-spacing:-.02em}
.price-month span{font-size:.5em;font-weight:600;color:var(--text-muted);margin-left:3px;letter-spacing:0}
.svc-desc+.price .price-month{font-size:2.9rem;letter-spacing:-.03em}
.price-launch small,.price-month small{display:block;font-family:var(--mono);font-size:.6rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}
.reason{padding:16px 0 4px;border-top:1px solid var(--line);font-size:.86rem;line-height:1.65;color:var(--text-dim)}
.reason b{color:var(--gold-hi);font-weight:600}
.center-cta{display:flex;justify-content:center;margin-top:clamp(48px,6vw,72px)}

/* automatizaciones */
.auto{overflow:hidden}
.auto-glow{position:absolute;width:70vw;height:70vw;max-width:1100px;max-height:1100px;left:-20%;top:18%;border-radius:50%;background:radial-gradient(circle,rgba(200,168,75,.1),rgba(124,111,240,.08) 40%,transparent 68%);pointer-events:none}
.bot-demo{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(48px,7vw,110px);align-items:center;margin-bottom:clamp(80px,10vw,140px)}
.phone{position:relative;justify-self:center;width:min(320px,74vw);display:flex;flex-direction:column;align-items:center}
.phone-frame{position:relative;z-index:1;width:100%;padding:11px;border-radius:44px;background:linear-gradient(155deg,#34325e,#0d0e1d 38%,#0d0e1d 62%,#2b2850);box-shadow:inset 0 0 0 1px rgba(255,255,255,.12),0 0 0 1px rgba(0,0,0,.6),0 50px 120px -20px rgba(124,111,240,.45),0 20px 60px rgba(0,0,0,.6)}
.phone-frame::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.1),transparent 30%)}
#bot-video{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;border-radius:34px;background:#000}
.phone-notch{position:absolute;z-index:2;top:22px;left:50%;width:84px;height:22px;margin-left:-42px;border-radius:20px;background:#000;pointer-events:none}
.phone-orbit{position:absolute;z-index:0;left:50%;top:44%;width:150%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;border:1px dashed rgba(200,168,75,.22);pointer-events:none;animation:orbit 60s linear infinite}
.phone-orbit::before{content:'';position:absolute;inset:14%;border-radius:50%;border:1px solid rgba(124,111,240,.2);background:radial-gradient(circle,rgba(124,111,240,.18),transparent 62%)}
.phone-orbit::after{content:'';position:absolute;top:50%;left:-5px;width:9px;height:9px;border-radius:50%;background:var(--gold-hi);box-shadow:0 0 18px var(--gold)}
@keyframes orbit{to{transform:translate(-50%,-50%) rotate(360deg)}}
.video-sound{position:relative;z-index:2;margin-top:26px;display:inline-flex;align-items:center;gap:10px;padding:11px 18px;border-radius:40px;border:1px solid var(--violet-line);background:rgba(11,12,24,.75);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text);font:500 .84rem 'Inter',sans-serif;cursor:pointer;transition:border-color .3s,background .3s,color .3s}
.video-sound svg{width:18px;height:18px}
.video-sound:hover{border-color:var(--gold)}
.video-sound[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:#0a0a12}
.bot-copy{display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.live-badge{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:40px;border:1px solid rgba(255,90,110,.35);background:rgba(255,90,110,.08);color:#FF9AA8}
.live-dot{width:7px;height:7px;border-radius:50%;background:#FF5A6E;box-shadow:0 0 0 0 rgba(255,90,110,.6);animation:live 1.6s infinite}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(255,90,110,.6)}70%{box-shadow:0 0 0 9px rgba(255,90,110,0)}100%{box-shadow:0 0 0 0 rgba(255,90,110,0)}}
.bot-title{font-family:var(--display);font-weight:700;font-size:clamp(1.9rem,3.4vw,3.1rem);line-height:1.04;letter-spacing:-.025em;text-wrap:balance}
.bot-copy>p{color:var(--text-dim);line-height:1.8;max-width:54ch}
.bot-copy>p.bot-note{padding:16px 20px;border-left:2px solid var(--gold);border-radius:0 14px 14px 0;background:var(--gold-dim);font-size:.9rem;line-height:1.7}
.bot-note strong{color:var(--gold-hi);font-weight:600}
.bot-flow{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;width:100%}
.bot-flow li{display:flex;flex-direction:column;gap:10px;padding:18px 16px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(170deg,rgba(255,255,255,.035),rgba(255,255,255,.008));font-size:.9rem;font-weight:500;line-height:1.4}
.bot-flow li span{color:var(--gold);font-size:.66rem}

/* anuncios 3D */
.ads{overflow:hidden}
.ads-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(40px,6vw,90px);align-items:center;margin-bottom:clamp(70px,9vw,120px)}
.ads-copy .sec-sub{justify-self:start;margin-top:30px}
.ads-specs{list-style:none;display:flex;flex-wrap:wrap;gap:16px 34px;margin-top:38px;padding-top:26px;border-top:1px solid var(--line);color:var(--text-muted)}
.ads-specs b{display:block;margin-bottom:4px;font-family:var(--display);font-size:1.2rem;font-weight:700;letter-spacing:0;text-transform:none;color:var(--text)}
.ads-stage{position:relative;height:clamp(380px,44vw,580px);perspective:1300px;perspective-origin:50% 40%}
.ads-stage::before{content:'';position:absolute;inset:-10% -5%;background:radial-gradient(50% 50% at 55% 50%,rgba(124,111,240,.26),transparent 70%),radial-gradient(30% 30% at 75% 30%,rgba(200,168,75,.16),transparent 70%);pointer-events:none}
.ads-scene{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(10deg) rotateY(-16deg)}
.reel{position:absolute;display:block;padding:0;overflow:hidden;container-type:inline-size;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:#0B0C18;color:var(--text);font:inherit;text-align:left;cursor:pointer;box-shadow:0 40px 90px -20px rgba(0,0,0,.85),0 0 0 1px rgba(124,111,240,.12);backface-visibility:hidden;transition:border-color .4s,box-shadow .4s}
.reel:hover{border-color:rgba(200,168,75,.6);box-shadow:0 40px 90px -20px rgba(0,0,0,.85),0 0 40px rgba(200,168,75,.18)}
.reel-h{left:0;top:16%;width:68%;aspect-ratio:16/9;transform:translateZ(-60px)}
.reel-v{right:2%;top:0;width:34%;aspect-ratio:9/16;transform:translateZ(110px);border-color:rgba(200,168,75,.4)}
.ads-ring{position:absolute;left:12%;top:50%;width:76%;aspect-ratio:1;margin-top:-38%;border-radius:50%;border:1px solid rgba(200,168,75,.18);transform:translateZ(-180px);pointer-events:none}
.ads-ring::before{content:'';position:absolute;inset:9%;border-radius:50%;border:1px dashed rgba(124,111,240,.25)}
.reel-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.reel::after{content:'';position:absolute;z-index:1;left:0;right:0;bottom:0;height:55%;background:linear-gradient(0deg,rgba(5,6,11,.9),transparent);pointer-events:none}
.reel-cap{position:absolute;z-index:3;left:12px;right:12px;bottom:18px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.reel-cap b{font-family:var(--display);font-weight:700;font-size:.8rem;font-size:max(.8rem,min(6cqi,1.25rem));line-height:1.1;letter-spacing:-.01em}
.reel-play{padding:6px 10px;border-radius:30px;border:1px solid rgba(255,255,255,.28);background:rgba(5,6,11,.45);font-size:.52rem;letter-spacing:.12em;white-space:nowrap;transition:background .3s,color .3s,border-color .3s}
.reel:hover .reel-play,.reel:focus-visible .reel-play{background:var(--gold);border-color:var(--gold);color:#0a0a12}
.reel-ui{position:absolute;z-index:3;left:0;right:0;top:0;display:flex;justify-content:space-between;gap:8px;padding:10px 12px;font-size:.52rem;letter-spacing:.12em;color:rgba(255,255,255,.8);text-shadow:0 1px 6px rgba(0,0,0,.6)}
.rec{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#FF5A6E;vertical-align:1px;animation:pulse 1.2s infinite}
.reel-bar{position:absolute;z-index:3;left:12px;right:12px;bottom:7px;height:2px;border-radius:2px;background:rgba(255,255,255,.16);overflow:hidden}
.reel-bar i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--violet),var(--gold));transform-origin:0 50%;transform:scaleX(0)}
.ads-demos{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:30px}
.ads-demos>.mono{width:100%;color:var(--gold);font-size:.66rem}
.ads-demo{display:inline-flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:40px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--text);font:500 .88rem 'Inter',sans-serif;cursor:pointer;transition:border-color .3s,background .3s}
.ads-demo:hover{border-color:var(--gold);background:var(--gold-dim)}
.ads-demo-play{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--violet);color:#fff;font-size:.62rem;padding-left:2px;transition:background .3s,color .3s}
.ads-demo:hover .ads-demo-play{background:var(--gold);color:#0a0a12}

/* visor de anuncios */
.ad-box{position:fixed;inset:0;z-index:310;display:flex;align-items:center;justify-content:center;padding:20px;visibility:hidden;pointer-events:none}
.ad-box.open{visibility:visible;pointer-events:auto}
.ad-box.open .modal-bd{opacity:1}
.ad-box-inner{position:relative;width:min(1100px,100%);max-height:94vh;display:flex;flex-direction:column;gap:18px;padding:clamp(16px,2.4vw,28px);border-radius:24px;border:1px solid var(--violet-line);background:linear-gradient(170deg,#141331,#0A0B17 65%);transform:translateY(40px) scale(.96);opacity:0;transition:transform .7s var(--ease),opacity .5s}
.ad-box.open .ad-box-inner{transform:none;opacity:1}
.ad-box-head{display:flex;justify-content:space-between;align-items:center;gap:16px}
.ad-box-head .modal-close{position:static;flex:none}
.ad-box-tag{color:var(--gold);font-size:.62rem;margin-bottom:6px}
.ad-box-name{font-family:var(--display);font-weight:800;font-size:clamp(1.3rem,2.4vw,1.9rem);letter-spacing:-.02em;line-height:1.1}
#ad-box-video{display:block;width:100%;max-height:calc(94vh - 190px);border-radius:14px;background:#000;object-fit:contain}
.ad-box-inner .btn{align-self:flex-start}

/* garantía */
.pillar.end.guarantee{border-style:solid;border-color:rgba(200,168,75,.42);background:radial-gradient(120% 70% at 50% 0%,rgba(200,168,75,.12),transparent 60%),linear-gradient(160deg,rgba(255,255,255,.03),rgba(255,255,255,.006))}
.guarantee-icon{width:58px;height:58px;color:var(--gold-hi)}

/* FAQ */
.faq-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:clamp(40px,7vw,110px);align-items:start}
.faq-grid>div:first-child{position:sticky;top:120px}
.faq-sub{margin-top:26px;max-width:36ch;color:var(--text-dim);line-height:1.75}
.faq-list{border-top:1px solid var(--line)}
.faq-item{border-bottom:1px solid var(--line)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0;border:none;background:none;color:var(--text);font-family:var(--display);font-weight:600;font-size:clamp(1.08rem,1.6vw,1.38rem);letter-spacing:-.01em;line-height:1.3;text-align:left;cursor:pointer;transition:color .3s}
.faq-q:hover{color:var(--gold-hi)}
.faq-plus{position:relative;flex:none;width:38px;height:38px;border-radius:50%;border:1px solid var(--violet-line);transition:transform .6s var(--ease),background .4s,border-color .4s}
.faq-plus::before,.faq-plus::after{content:'';position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px 0 0 -6px;background:currentColor}
.faq-plus::after{transform:rotate(90deg)}
.faq-q[aria-expanded="true"] .faq-plus{transform:rotate(135deg);background:var(--violet);border-color:var(--violet)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.faq-a>div{overflow:hidden;visibility:hidden;transition:visibility .6s}
.faq-a p{padding:0 62px 30px 0;color:var(--text-dim);line-height:1.8}
.faq-item.open .faq-a,.no-js .faq-a{grid-template-rows:1fr}
.faq-item.open .faq-a>div,.no-js .faq-a>div{visibility:visible}

/* WhatsApp flotante */
.wa-float{position:fixed;z-index:140;right:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:0;padding:14px;border-radius:40px;background:#25D366;color:#04210f;text-decoration:none;font-weight:600;font-size:.9rem;box-shadow:0 14px 40px -6px rgba(37,211,102,.45);transition:gap .5s var(--ease),padding .5s var(--ease),transform .5s var(--ease),opacity .5s}
.wa-float svg{width:26px;height:26px;flex:none}
.wa-float span{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .5s var(--ease)}
.wa-float::before{content:'';position:absolute;inset:0;border-radius:inherit;border:2px solid #25D366;animation:waPulse 2.6s var(--ease) infinite;pointer-events:none}
@keyframes waPulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.45);opacity:0}}
.wa-float:hover{gap:10px;padding:14px 20px 14px 16px}
.wa-float:hover span{max-width:110px}
.menu-open .wa-float,.modal-open .wa-float,.menu-open .ig-float,.modal-open .ig-float{opacity:0;pointer-events:none}

/* Instagram flotante */
.ig-float{position:fixed;z-index:140;left:max(18px,env(safe-area-inset-left,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:0;padding:14px;border-radius:40px;background:radial-gradient(circle at 28% 108%,#FFD776 0%,#F9A13A 14%,#F2563A 34%,#D62E7E 58%,#9B35C9 80%,#5B4BDB 100%);color:#fff;text-decoration:none;font-weight:600;font-size:.88rem;box-shadow:0 14px 40px -6px rgba(214,46,126,.5),inset 0 1px 0 rgba(255,255,255,.28);transition:gap .5s var(--ease),padding .5s var(--ease),transform .5s var(--ease),opacity .5s}
.ig-float svg{width:26px;height:26px;flex:none}
.ig-float span{max-width:0;overflow:hidden;white-space:nowrap;transition:max-width .5s var(--ease)}
.ig-float::before{content:'';position:absolute;inset:0;border-radius:inherit;border:2px solid #D62E7E;animation:waPulse 2.6s var(--ease) 1.3s infinite;pointer-events:none;opacity:0}
.ig-float:hover,.ig-float:focus-visible{gap:10px;padding:14px 20px 14px 16px;transform:translateY(-2px)}
.ig-float:hover span,.ig-float:focus-visible span{max-width:170px}

@media (max-width:1080px){
  .bot-demo{grid-template-columns:1fr;gap:56px}
  .ads-intro{grid-template-columns:1fr}
  .ads-stage{max-width:680px;width:100%;justify-self:center}
}
@media (max-width:900px){
  .faq-grid{grid-template-columns:1fr;gap:40px}
  .faq-grid>div:first-child{position:static}
}
@media (max-width:600px){
  .manifesto-cols{grid-template-columns:1fr;gap:18px}
  .bot-flow{grid-template-columns:1fr}
  .bot-flow li{flex-direction:row;align-items:center;gap:14px;padding:14px 16px}
  .ads-stage{height:clamp(260px,74vw,360px)}
  .reel-ui{font-size:.44rem;padding:7px 8px}
  .reel-cap{left:8px;right:8px;bottom:12px;gap:6px}
  .reel-play{font-size:.44rem;padding:5px 8px}
  .faq-a p{padding-right:0}
  .faq-q{padding:22px 0}
  .stat-num.stat-word{font-size:1.32rem;min-height:3rem}
  .hero h1{font-size:clamp(1.9rem,8vw,3rem)}
}

/* reveal fallbacks */
.anim .rv{opacity:0;transform:translateY(40px)}

/* responsive */
@media (max-width:1100px){
  .nav-links{position:fixed;inset:0;z-index:-1;flex-direction:column;justify-content:center;gap:clamp(14px,2.6vh,24px);background:rgba(5,6,11,.97);backdrop-filter:blur(20px);opacity:0;visibility:hidden;transition:opacity .5s,visibility .5s}
  .nav-links a{font-family:var(--display);font-size:clamp(1.5rem,4.4vh,2rem);font-weight:700;color:var(--text)}
  .menu-open .nav-links{opacity:1;visibility:visible}
  .menu-btn{display:flex}
  .sound-btn .lbl{display:none}
}
@media (max-width:1080px){
  .services-grid,.plans{grid-template-columns:1fr;max-width:620px;margin-left:auto;margin-right:auto}
  .why-grid{grid-template-columns:1fr 1fr}
  .why-item:nth-child(2){border-right:none;margin-right:0}
  .why-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .why-item{padding-left:0}
  .why-item:nth-child(even){padding-left:0}
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:none}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media (max-width:900px){
  .sec-head{grid-template-columns:1fr;gap:22px}
  .sec-sub{justify-self:start}
  .pillars-pin{height:auto}
  .pillars-track{flex-direction:column;width:auto;padding:0 var(--gutter)}
  .pillar,.pillar.end{width:100%;min-height:0;gap:40px}
  .pillar-num{font-size:5rem}
  .contact-grid{grid-template-columns:1fr}
  .pack{grid-template-columns:1fr auto;gap:10px 20px}
  .pack-n{display:none}
  .pack-desc{grid-column:1/-1;grid-row:2}
  .hud-stats{gap:24px}
  .hero-vignette{background:linear-gradient(0deg,var(--bg) 0%,rgba(5,6,11,.55) 50%,rgba(5,6,11,.3) 100%)}
}
@media (max-width:600px){
  .why-grid{grid-template-columns:1fr}
  .why-item{border-right:none!important;margin-right:0!important;border-bottom:1px solid var(--line)}
  .why-icon{margin-bottom:28px}
  .form-row{grid-template-columns:1fr;gap:0}
  .hud-stats div:nth-child(3){display:none}
  .scroll-ind .lbl{display:none}
  .nav-right .btn{display:none}
  .hero{padding-bottom:40px;padding-top:120px}
  .eb-long{display:none}.eb-short{display:inline}
  .hero-hud{position:relative;bottom:auto;margin-top:56px}
  .stat-lbl{font-size:.82rem}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .grain{display:none}
}

/* ===== Demos de restaurantes ===== */
.demos{position:relative;padding:clamp(100px,14vw,190px) 0 clamp(60px,8vw,110px);overflow:hidden}
.demos-intro{padding:0 var(--gutter);max-width:var(--max-w);margin:0 auto 46px}
.demos-sub{font-size:clamp(1rem,1.3vw,1.14rem);color:var(--text-dim);line-height:1.8;max-width:560px;margin-top:26px}
.demos-sub em{font-style:normal;color:var(--text)}
.demos-hint{display:flex;align-items:center;gap:14px;margin-top:34px;color:var(--text-muted);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase}
.demos-hint-line{position:relative;width:64px;height:1px;background:var(--line);overflow:hidden}
.demos-hint-line::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,var(--gold));animation:hintLine 2.2s var(--ease) infinite}
@keyframes hintLine{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.demos-hint .hint-swipe::after,.demos-hint .hint-pin::after{content:' →'}
.demos-hint .hint-pin{display:none}
.demos.is-pinned .demos-hint .hint-pin{display:inline}
.demos.is-pinned .demos-hint .hint-swipe{display:none}
.demos-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter);padding:6px var(--gutter) 18px;scrollbar-width:none;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.demos-rail::-webkit-scrollbar{display:none}
.demo{flex:none;width:min(86vw,1080px);scroll-snap-align:start;--p:0}
.demo-card{position:relative;isolation:isolate;overflow:hidden;height:100%;border-radius:clamp(22px,2.4vw,34px);background:var(--d-bg);color:var(--d-ink);display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(20px,3vw,56px);padding:clamp(26px,4vw,64px);box-shadow:0 40px 90px -40px rgba(0,0,0,.8)}
.demo-card::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:overlay}
.demo-card::after{content:'';position:absolute;z-index:-2;inset:0;pointer-events:none;background:radial-gradient(70% 80% at 88% 12%,var(--d-bg2),transparent 70%);opacity:.5}
.demo-ghost{position:absolute;z-index:-1;left:-2%;bottom:-.18em;font-family:var(--d-font);font-size:clamp(7rem,19vw,19rem);line-height:1;white-space:nowrap;color:transparent;-webkit-text-stroke:1.5px var(--d-ink);opacity:.1;pointer-events:none;transform:translateX(calc(var(--p) * 18%))}
.demo-copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.demo-n{display:flex;align-items:center;gap:10px;font-size:.66rem;letter-spacing:.2em;opacity:.7;margin-bottom:clamp(18px,2.4vw,30px)}
.demo-n i{width:34px;height:1px;background:currentColor;opacity:.6}
.demo-name{font-family:var(--d-font);font-weight:400;font-size:clamp(2.5rem,5.4vw,5.6rem);line-height:.98;letter-spacing:-.01em;text-wrap:balance}
.demo-name i{font-style:italic;color:var(--d-acc)}
.demo-name small{display:block;margin-top:.3em;font-size:.36em;letter-spacing:.08em;line-height:1.1;color:var(--d-acc)}
.demo-kind{margin-top:16px;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;opacity:.75}
.demo-desc{margin-top:clamp(16px,2vw,24px);font-family:var(--d-sans);font-size:clamp(.95rem,1.15vw,1.08rem);line-height:1.65;max-width:42ch;opacity:.92}
.demo-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.demo-tags li{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;border-radius:30px;border:1px solid color-mix(in srgb,var(--d-ink) 30%,transparent)}
.demo-btn{position:relative;overflow:hidden;isolation:isolate;margin-top:clamp(22px,2.6vw,34px);display:inline-flex;align-items:center;gap:12px;padding:16px 26px;border-radius:60px;background:var(--d-acc);color:var(--d-on);font-weight:700;font-size:.9rem;text-decoration:none;box-shadow:0 18px 40px -18px color-mix(in srgb,var(--d-acc) 90%,#000);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.demo-btn::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--d-ink);transform:translateY(101%);transition:transform .55s var(--ease)}
.demo-btn:hover{color:var(--d-bg);transform:translateY(-2px)}
.demo-btn:hover::before{transform:none}
.demo-btn .arrow{transition:transform .5s var(--ease)}
.demo-btn:hover .arrow{transform:translate(3px,-3px)}
.demo-btn:focus-visible{outline:2px solid var(--d-ink);outline-offset:3px}

/* dispositivos */
.demo-stage{position:relative;perspective:1600px;min-width:0;padding:4% 9% 9% 0}
.dev-tilt,.dev-scroll{position:relative;transform-style:preserve-3d;will-change:transform}
.dev-scroll{transform:rotateY(calc(var(--p) * -16deg)) rotateX(calc(4deg + var(--p) * 2deg))}
.dev-laptop{position:relative;transform-style:preserve-3d}
.dev-lid{position:relative;aspect-ratio:16/10;padding:1.7%;border-radius:clamp(10px,1.2vw,16px) clamp(10px,1.2vw,16px) 4px 4px;background:linear-gradient(160deg,#2a2b33,#0b0b10 40%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14),0 50px 80px -30px rgba(0,0,0,.65),0 20px 40px -20px rgba(0,0,0,.45)}
.dev-lid::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.16) 0%,rgba(255,255,255,0) 32%)}
.dev-base{position:relative;height:clamp(9px,1.1vw,15px);margin:0 -8%;border-radius:0 0 40% 40%/0 0 100% 100%;background:linear-gradient(#e3e5ea,#a5a8b2 70%,#7d808a)}
.dev-base::before{content:'';position:absolute;left:50%;top:0;width:15%;height:45%;transform:translateX(-50%);border-radius:0 0 8px 8px;background:rgba(0,0,0,.2)}
.dev-phone{position:absolute;right:-7%;bottom:-11%;width:25%;aspect-ratio:9/19;padding:2.4%;border-radius:18%/8.5%;background:linear-gradient(160deg,#2c2d35,#0b0b10 45%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),-24px 40px 60px -24px rgba(0,0,0,.65);transform:translate3d(calc(var(--p) * -26%),0,70px)}
.dev-phone::before{content:'';position:absolute;z-index:3;top:4.2%;left:50%;width:28%;height:2.6%;transform:translateX(-50%);border-radius:20px;background:#000}
.dev-screen{position:relative;width:100%;height:100%;overflow:hidden;border-radius:4px;container-type:inline-size;background:#111}
.dev-phone .dev-screen{border-radius:14%/6.5%}

/* mini webs dentro de las pantallas */
.mini{position:absolute;inset:0;display:flex;flex-direction:column;overflow:hidden;font-family:var(--m-sans);color:var(--m-ink);background:var(--m-bg)}
.mini-ribbon{flex:none;height:2.6cqw;background:var(--m-rib)}
.mini-nav{flex:none;display:flex;align-items:center;gap:2.6cqw;padding:2.2cqw 4cqw;font-size:1.7cqw}
.mini-nav b{font-family:var(--m-font);font-weight:400;font-size:2.6cqw;margin-right:auto;white-space:nowrap}
.mini-nav i{width:6.5cqw;height:.45cqw;border-radius:1cqw;background:currentColor;opacity:.35}
.mini-nav span{padding:1cqw 2.2cqw;border-radius:9cqw;background:var(--m-acc);color:var(--m-on);font-weight:700;white-space:nowrap}
.mini-hero{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.6cqw;padding:0 6cqw 4cqw}
.mini-eyebrow{position:relative;font-size:1.5cqw;letter-spacing:.32em;text-transform:uppercase;opacity:.85}
.mini-title{position:relative;font-family:var(--m-font);font-size:9.5cqw;line-height:.95;white-space:nowrap}
.mini-sub{position:relative;font-size:2.1cqw;opacity:.9}
.mini-cta{position:relative;margin-top:1.6cqw;padding:1.5cqw 3.4cqw;border-radius:9cqw;background:var(--m-acc);color:var(--m-on);font-weight:700;font-size:1.7cqw}
.mini.is-phone .mini-ribbon{height:5cqw}
.mini.is-phone .mini-nav{padding:6cqw 7cqw 4cqw;font-size:6cqw}
.mini.is-phone .mini-nav b{font-size:8cqw}
.mini.is-phone .mini-nav span{background:none;color:inherit;padding:0;font-size:9cqw;line-height:1}
.mini.is-phone .mini-hero{gap:4cqw;padding:0 8cqw 14cqw}
.mini.is-phone .mini-title{font-size:20cqw;white-space:normal}
.mini.is-phone .mini-sub{font-size:6.4cqw}
.mini.is-phone .mini-eyebrow{font-size:4.6cqw}
.mini.is-phone .mini-cta{font-size:6cqw;padding:4cqw 9cqw;margin-top:3cqw}

.mini--brisa{--m-bg:radial-gradient(90% 70% at 50% 35%,#2f5c48,#1d3a2e 55%,#15291f);--m-ink:#f3ead8;--m-acc:#c9a35c;--m-on:#15291f;--m-rib:linear-gradient(90deg,#8c6c33,#e2c58a 50%,#8c6c33);--m-font:'Playfair Display',Georgia,serif;--m-sans:'Lora',Georgia,serif}
.mini--brisa .mini-hero::before{content:'';position:absolute;inset:4cqw 5cqw 5cqw;border:1px solid rgba(226,197,138,.35);border-radius:40cqw 40cqw 1cqw 1cqw}
.mini-glass{position:relative;padding:3.6cqw 6cqw;border-radius:1.4cqw;background:rgba(243,234,216,.07);border:1px solid rgba(226,197,138,.4);box-shadow:0 2cqw 6cqw rgba(0,0,0,.3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.mini--brisa .mini-title{font-weight:900;font-size:6.4cqw}
.mini--brisa .mini-title em{font-style:italic;font-weight:400;color:#e2c58a}
.mini--brisa .mini-sub{font-style:italic;margin-top:1.2cqw}
.mini--brisa.is-phone .mini-glass{padding:7cqw 6cqw}
.mini--brisa.is-phone .mini-title{font-size:16cqw}

.mini--azul{--m-bg:#fbf4e6;--m-ink:#2b1d1a;--m-acc:#1d7a4f;--m-on:#fff;--m-rib:repeating-linear-gradient(90deg,#d7263d 0 3.2cqw,#fff 3.2cqw 6.4cqw);--m-font:'Lobster Two',Georgia,serif;--m-sans:'Nunito',system-ui,sans-serif}
.mini--azul .mini-ribbon{height:4.4cqw;-webkit-mask:radial-gradient(1.6cqw at 50% 100%,transparent 98%,#000) 0 0/3.2cqw 100%;mask:radial-gradient(1.6cqw at 50% 100%,transparent 98%,#000) 0 0/3.2cqw 100%}
.mini--azul .mini-title{color:#d7263d;font-weight:700;font-style:italic;text-shadow:.35cqw .35cqw 0 #f3d488}
.mini--azul .mini-title small{display:block;font-size:.42em;color:#1d7a4f}
.mini--azul .mini-sub{font-weight:800;color:#1d7a4f;letter-spacing:.04em}
.mini--azul .mini-hero{padding-bottom:12cqw}
.mini-tiles{position:absolute;left:0;right:0;bottom:0;height:9cqw;background:radial-gradient(circle,#e9b949 20%,transparent 22%),conic-gradient(from 45deg,#1f4e8c 25%,#fbf4e6 0 50%,#1f4e8c 0 75%,#fbf4e6 0);background-size:4.5cqw 4.5cqw;border-top:.6cqw solid #1f4e8c}
.mini--azul.is-phone .mini-tiles{height:18cqw;background-size:12cqw 12cqw}
.mini--azul.is-phone .mini-hero{padding-bottom:24cqw}
.mini--azul.is-phone .mini-title{font-size:17cqw}

.mini--almu{--m-bg:#f2ebdf;--m-ink:#1d3a6a;--m-acc:#a4472b;--m-on:#f2ebdf;--m-rib:#1d3a6a;--m-font:'Marcellus',Georgia,serif;--m-sans:'Raleway',system-ui,sans-serif}
.mini--almu .mini-ribbon{background:radial-gradient(circle,#d8b26a 26%,transparent 28%) 0 50%/2.6cqw 2.6cqw,#1d3a6a}
.mini-arch{position:relative;width:22cqw;height:17cqw;border-radius:11cqw 11cqw 0 0;background:linear-gradient(180deg,#c2603f,#a4472b 55%,#b88a3e);box-shadow:0 0 0 .8cqw #f2ebdf,0 0 0 1.1cqw #b88a3e}
.mini-arch::after{content:'';position:absolute;left:50%;bottom:0;width:7cqw;height:10cqw;transform:translateX(-50%);border-radius:3.5cqw 3.5cqw 0 0;background:#f2ebdf;opacity:.85}
.mini--almu .mini-eyebrow{color:#a4472b;margin-top:1cqw}
.mini--almu .mini-title{letter-spacing:.06em;font-size:8.5cqw}
.mini--almu .mini-sub{font-style:italic;color:#6f5d50}
.mini--almu.is-phone .mini-arch{width:52cqw;height:46cqw;border-radius:26cqw 26cqw 0 0}
.mini--almu.is-phone .mini-arch::after{width:18cqw;height:26cqw}
.mini--almu.is-phone .mini-title{font-size:17cqw}

.mini--jabu{--m-bg:#0f3d2e;--m-ink:#fff4e4;--m-acc:#ff5c8a;--m-on:#0b2a20;--m-rib:#ff5c8a;--m-font:'Paytone One','Arial Black',sans-serif;--m-sans:'Mulish',system-ui,sans-serif}
.mini--jabu .mini-title{color:#c8ec6c;font-size:11.5cqw;letter-spacing:-.02em;z-index:1}
.mini-blob{position:absolute;left:50%;top:52%;width:34cqw;height:24cqw;transform:translate(-50%,-30%) rotate(-8deg);border-radius:42% 58% 61% 39%/45% 39% 61% 55%;background:radial-gradient(circle at 35% 35%,#ffc1d2,#ff5c8a 60%)}
.mini--jabu .mini-sub{z-index:1;margin-top:6cqw;font-weight:800;font-size:2.6cqw}
.mini--jabu .mini-sub{color:#0b2a20}
.mini--jabu .mini-sub em{display:block;font-style:italic;color:#0f3d2e}
.mini-sticker{position:absolute;right:7cqw;top:5cqw;width:11cqw;height:11cqw;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffb627;color:#0b2a20;font-weight:800;font-size:1.5cqw;text-transform:uppercase;letter-spacing:.06em;transform:rotate(-14deg)}
.mini--jabu.is-phone .mini-title{font-size:17cqw;line-height:.9}
.mini--jabu.is-phone .mini-blob{width:70cqw;height:52cqw;top:56%}
.mini--jabu.is-phone .mini-sub{font-size:6.4cqw;margin-top:22cqw}

.mini--chido{--m-bg:#f4e2bd;--m-ink:#3d1c0f;--m-acc:#5b2a17;--m-on:#f4e2bd;--m-rib:linear-gradient(#5b2a17 0 25%,#b8401b 0 50%,#d9531e 0 75%,#e9a42b 0);--m-font:'Shrikhand','Cooper Black',Georgia,serif;--m-sans:'DM Sans',system-ui,sans-serif}
.mini-sun{position:absolute;left:50%;bottom:0;width:70cqw;height:35cqw;transform:translateX(-50%);border-radius:35cqw 35cqw 0 0;background:radial-gradient(circle at 50% 100%,#5b2a17 0 15cqw,#b8401b 15cqw 21cqw,#d9531e 21cqw 27cqw,#e9a42b 27cqw 33cqw,transparent 33cqw)}
.mini--chido .mini-hero{justify-content:flex-start;padding-top:5cqw}
.mini--chido .mini-title{color:#d9531e;font-size:8cqw;text-shadow:.5cqw .5cqw 0 #5b2a17}
.mini--chido .mini-eyebrow{color:#5b2a17;font-weight:700}
.mini--chido .mini-cta{background:#e9a42b;color:#3d1c0f}
.mini--chido.is-phone .mini-sun{width:130cqw;height:65cqw;border-radius:65cqw 65cqw 0 0;background:radial-gradient(circle at 50% 100%,#5b2a17 0 28cqw,#b8401b 28cqw 38cqw,#d9531e 38cqw 48cqw,#e9a42b 48cqw 58cqw,transparent 58cqw)}
.mini--chido.is-phone .mini-title{font-size:19cqw;line-height:1}
.mini--chido.is-phone .mini-hero{padding-top:12cqw}

.demos-dots{display:flex;justify-content:center;gap:8px;margin-top:8px}
.demos-dots i{width:7px;height:7px;border-radius:10px;background:rgba(255,255,255,.2);transition:width .5s var(--ease),background .5s}
.demos-dots i.on{width:26px;background:var(--gold)}
.demos-end{max-width:var(--max-w);margin:clamp(56px,7vw,90px) auto 0;padding:0 var(--gutter);display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.demos-end p.mono{color:var(--gold);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase}
.demos-end h3{max-width:100%;text-wrap:balance;font-family:var(--display);font-weight:700;font-size:clamp(2rem,4.4vw,3.8rem);line-height:1.02;letter-spacing:-.03em}
.demos-end-sub{color:var(--text-dim);max-width:46ch;line-height:1.7;margin-bottom:10px}

/* escritorio: recorrido horizontal fijado (lo activa el JS) */
.demos.is-pinned{padding:0}
.demos.is-pinned .demos-pin{height:100vh;overflow:hidden}
.demos.is-pinned .demos-track{display:flex;align-items:stretch;height:100%;width:max-content;will-change:transform}
.demos.is-pinned .demos-intro{flex:none;width:min(44vw,660px);margin:0;padding:0 4vw 0 var(--gutter);display:flex;flex-direction:column;justify-content:center}
.demos.is-pinned .demos-rail{display:contents}
.demos.is-pinned .demo{width:min(84vw,1240px);height:100%;padding:clamp(86px,12vh,118px) 1.2vw clamp(30px,6vh,64px)}
.demos.is-pinned .demos-dots{display:none}
.demos.is-pinned .demos-end{flex:none;width:min(62vw,820px);margin:0;padding:0 var(--gutter) 0 5vw;justify-content:center}

@media (max-width:899px){
  .demo-card{grid-template-columns:1fr;align-items:start;gap:8px;padding:22px 22px 26px}
  .demo-stage{order:-1;padding:6% 10% 12% 2%}
  .demo-name{font-size:clamp(2.2rem,10vw,3.2rem)}
  .demo-desc{font-size:.95rem}
  .demo-btn{padding:14px 22px;font-size:.88rem}
  .demo-ghost{display:none}
  .demos-intro{margin-bottom:30px}
}
@media (max-width:600px){
  .demo{width:86vw}
  .demo-tags li{font-size:.56rem;padding:7px 10px}
}
@media (prefers-reduced-motion:reduce){
  .dev-scroll,.dev-phone,.demo-ghost{transform:none}
}
