:root{
    --white:#FFFFFF; --cream:#FFF5F7; --cream-2:#FBEEF1; --cream-dark:#FDE8EC;
    --cherry:#CC1030; --cherry-l:#F92050; --cherry-dark:#7A0B20;
    --gris:#9A7B80; --gris-l:#C9B6BA; --text:#1A0B10; --muted:#9A7B80; --border:#F0DCE0;
    --dark:#1A0B10; --line-d:rgba(255,245,247,.12);
    --sh-sm:0 8px 30px rgba(26,11,16,.05);
    --sh-md:0 24px 60px rgba(26,11,16,.08);
    --sh-lg:0 50px 120px rgba(26,11,16,.14);
}
*,*::before,*::after{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ font-family:'Archivo',sans-serif; background:var(--cream); color:var(--text); overflow-x:hidden; cursor:none; -webkit-font-smoothing:antialiased; }
::selection{ background:var(--cherry); color:#fff; }

#progress-bar{ position:fixed; top:0; left:0; z-index:1000; height:3px; width:0%; background:var(--cherry); pointer-events:none; }
#cur{ position:fixed; width:8px; height:8px; border-radius:50%; background:var(--cherry); pointer-events:none; z-index:9999; transform:translate(-50%,-50%); transition:width .25s,height .25s; }
#ring{ position:fixed; width:40px; height:40px; border:1.5px solid rgba(204,16,48,.4); border-radius:50%; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); opacity:.55; transition:width .35s,height .35s,opacity .35s,background .35s; }
body.hov #cur{ width:0; height:0; } body.hov #ring{ width:64px; height:64px; opacity:1; background:rgba(204,16,48,.05); }

.wrap{ max-width:1240px; margin:0 auto; padding:0 32px; }
.kicker{ display:inline-block; font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:var(--cherry); margin-bottom:28px; }
.accent{ color:var(--cherry); }

/* ── Nav ── */
nav{ position:fixed; inset:20px 0 auto 0; z-index:200; display:flex; justify-content:center; transition:inset .3s; }
.nav-inner{ display:flex; align-items:center; justify-content:space-between; gap:40px; width:calc(100% - 48px); max-width:1100px; padding:11px 12px 11px 26px; background:rgba(255,255,255,.65); backdrop-filter:blur(24px) saturate(180%); border:1px solid rgba(255,255,255,.9); border-radius:100px; box-shadow:var(--sh-sm); }
.nav-logo{ font-family:'Orbitron',sans-serif; font-size:18px; font-weight:900; letter-spacing:.04em; text-decoration:none; text-transform:uppercase; background:linear-gradient(90deg,#CC1030,#9A7B80); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.nav-links{ display:flex; align-items:center; gap:32px; list-style:none; margin-left:auto; }
.nav-links a{ font-size:14px; color:var(--text); text-decoration:none; opacity:.7; transition:opacity .2s; }
.nav-links a:hover, .nav-links a.active{ opacity:1; }
.nav-links a.active{ color:var(--cherry); }
.nav-cta{ font-size:14px; color:#fff!important; opacity:1!important; background:var(--cherry); padding:11px 22px; border-radius:100px; transition:background .25s; }
.nav-cta:hover{ background:var(--cherry-dark); }

/* ── Hero (home) ── */
.hero{ min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:160px 32px 80px; position:relative; }
.hero h1{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:clamp(46px,9.2vw,134px); line-height:.98; letter-spacing:-.045em; max-width:14ch; margin-bottom:34px; }
.hero h1 .ln{ display:block; overflow:hidden; }
.hero h1 .ln>span{ display:inline-block; transform:translateY(110%); }
.hero-sub{ font-size:clamp(17px,2vw,22px); line-height:1.6; color:var(--muted); max-width:560px; margin-bottom:44px; opacity:0; transform:translateY(20px); }
.hero-btns{ display:flex; gap:14px; flex-wrap:wrap; justify-content:center; opacity:0; transform:translateY(20px); }
.btn-cherry{ display:inline-flex; align-items:center; gap:9px; background:var(--cherry); color:#fff; font-size:16px; font-weight:500; padding:17px 38px; border-radius:100px; text-decoration:none; transition:background .25s,transform .25s; }
.btn-cherry:hover{ background:var(--cherry-dark); transform:translateY(-2px); }
.btn-ghost{ display:inline-flex; align-items:center; gap:9px; background:transparent; color:var(--text); font-size:16px; font-weight:500; padding:17px 30px; border-radius:100px; text-decoration:none; transition:color .2s,gap .2s; }
.btn-ghost:hover{ color:var(--cherry); gap:14px; }
.btn-white{ display:inline-flex; align-items:center; gap:9px; background:var(--white); color:var(--text); font-size:16px; font-weight:500; padding:17px 34px; border-radius:100px; text-decoration:none; box-shadow:var(--sh-sm); transition:transform .25s; }
.btn-white:hover{ transform:translateY(-2px); color:var(--cherry); }
.hero-scroll{ position:absolute; bottom:34px; left:50%; transform:translateX(-50%); font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); opacity:0; display:flex; flex-direction:column; align-items:center; gap:12px; }
.hero-scroll .bar{ width:1px; height:42px; background:linear-gradient(var(--cherry),transparent); animation:pulse 2s ease-in-out infinite; }
@keyframes pulse{ 0%,100%{opacity:.25} 50%{opacity:1} }

/* ── Showcase panel ── */
.showcase{ padding:0 24px 70px; }
.showcase-panel{ max-width:1180px; margin:0 auto; background:var(--dark); border-radius:34px; padding:46px; position:relative; overflow:hidden; box-shadow:var(--sh-lg); will-change:transform; }
.showcase-panel::before{ content:''; position:absolute; top:-160px; right:-120px; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle,rgba(204,16,48,.2),transparent 70%); }
.sc-bar{ display:flex; align-items:center; gap:8px; margin-bottom:30px; position:relative; }
.sc-bar .d{ width:11px; height:11px; border-radius:50%; } .sc-d1{ background:#F92050; } .sc-d2{ background:#D4A020; } .sc-d3{ background:#2DB87A; }
.sc-bar .addr{ margin-left:12px; font-family:'JetBrains Mono',monospace; font-size:12px; color:rgba(255,245,247,.4); }
.sc-bar .live{ margin-left:auto; display:inline-flex; align-items:center; gap:7px; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; color:#2DB87A; }
.sc-bar .live .ld{ width:7px; height:7px; border-radius:50%; background:#2DB87A; box-shadow:0 0 8px #2DB87A; animation:blink 1.6s infinite; }
@keyframes blink{ 0%,100%{opacity:1} 50%{opacity:.3} }

/* ── Escena animada (chat + flujo) ── */
.scene{ display:grid; grid-template-columns:1fr 1.05fr; gap:20px; position:relative; align-items:stretch; }
.scene-chat{ background:rgba(255,245,247,.04); border:1px solid var(--line-d); border-radius:18px; padding:18px; display:flex; flex-direction:column; min-height:380px; }
.chat-head{ display:flex; align-items:center; gap:9px; font-family:'JetBrains Mono',monospace; font-size:11px; color:rgba(255,245,247,.5); padding-bottom:14px; border-bottom:1px solid var(--line-d); margin-bottom:14px; }
.wa-dot{ width:8px; height:8px; border-radius:50%; background:#2DB87A; box-shadow:0 0 8px #2DB87A; }
.chat-body{ display:flex; flex-direction:column; gap:9px; flex:1; justify-content:flex-end; overflow:hidden; }
.bub{ max-width:80%; padding:11px 15px; border-radius:16px; font-size:13px; line-height:1.4; }
.bub.in{ background:rgba(255,245,247,.08); color:var(--cream); border-bottom-left-radius:4px; align-self:flex-start; }
.bub.out{ background:var(--cherry); color:#fff; border-bottom-right-radius:4px; align-self:flex-end; }
.scene .bub{ animation:bubIn .35s ease both; }
@keyframes bubIn{ from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:translateY(0)} }
.bub.typing{ display:inline-flex; gap:5px; align-items:center; padding:14px 16px; }
.bub.typing span{ width:6px; height:6px; border-radius:50%; background:rgba(255,245,247,.55); animation:typing 1.2s infinite; }
.bub.typing span:nth-child(2){ animation-delay:.18s } .bub.typing span:nth-child(3){ animation-delay:.36s }
@keyframes typing{ 0%,60%,100%{transform:translateY(0);opacity:.4} 30%{transform:translateY(-5px);opacity:1} }
.scene-flow{ position:relative; display:flex; align-items:center; justify-content:center; border:1px solid var(--line-d); border-radius:18px; background:rgba(255,245,247,.02); padding:16px; min-height:380px; }
.flow-cap{ position:absolute; top:18px; left:0; right:0; text-align:center; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:rgba(255,245,247,.4); }
.flow-svg{ width:100%; max-width:420px; height:auto; margin-top:16px; }
@media (max-width:980px){ .scene{ grid-template-columns:1fr; } .scene-chat,.scene-flow{ min-height:320px; } }

/* ── Statement ── */
.statement{ min-height:92vh; display:flex; align-items:center; justify-content:center; padding:80px 32px; }
.statement h2{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:clamp(36px,7vw,104px); line-height:1.05; letter-spacing:-.04em; text-align:center; max-width:16ch; }
.statement .rt{ color:var(--gris-l); transition:color .1s; }

/* ── Generic section ── */
.sec{ padding:clamp(90px,12vw,160px) 0; }
.sec-head{ max-width:760px; margin-bottom:64px; }
.sec-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.sec-title{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:clamp(34px,5vw,72px); line-height:1.04; letter-spacing:-.04em; color:var(--text); }
.sec-sub{ font-size:clamp(16px,1.8vw,20px); line-height:1.6; color:var(--muted); margin-top:22px; max-width:520px; }
.sec-head.center .sec-sub{ margin-left:auto; margin-right:auto; }

/* ── Bento ── */
.bento{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; gap:16px; }
.tile{ background:var(--white); border-radius:28px; padding:34px; box-shadow:var(--sh-sm); transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s; overflow:hidden; position:relative; display:flex; flex-direction:column; }
.tile:hover{ transform:translateY(-6px); box-shadow:var(--sh-md); }
.tile.lg{ grid-column:span 2; grid-row:span 2; }
.tile.wide{ grid-column:span 2; }
.tile.dark{ background:var(--dark); color:var(--cream); }
.tile-ic{ width:54px; height:54px; border-radius:16px; background:var(--cream-dark); display:flex; align-items:center; justify-content:center; font-size:25px; margin-bottom:auto; }
.tile-h{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:20px; letter-spacing:-.02em; margin-top:22px; }
.tile.lg .tile-h{ font-size:30px; }
.tile-p{ font-size:14px; line-height:1.6; color:var(--muted); margin-top:10px; }
.tile.dark .tile-p{ color:rgba(255,245,247,.5); }
.tile-stat{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(44px,5vw,64px); letter-spacing:-.04em; margin-top:auto; line-height:1; }
.tile-statl{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,245,247,.45); margin-top:10px; }
.tile .chat{ display:flex; flex-direction:column; gap:9px; margin-top:24px; }
.tile .chat .bub{ font-size:13px; }
.tile-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:20px; }
.tile-chip{ font-family:'JetBrains Mono',monospace; font-size:11px; padding:7px 13px; background:var(--cream); border-radius:100px; color:var(--muted); }

/* ── Services pinned (home) ── */
#servicios.pin{ background:var(--white); overflow:hidden; }
.svc-layout{ height:100vh; display:grid; grid-template-columns:420px 1fr; align-items:center; }
.svc-info{ padding:0 56px; }
.svc-prog{ margin-top:46px; max-width:260px; }
.svc-prog-l{ font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:.1em; text-transform:uppercase; margin-bottom:12px; display:flex; justify-content:space-between; }
.svc-prog-bar{ height:4px; background:var(--cream-2); border-radius:100px; overflow:hidden; }
.svc-prog-fill{ width:0%; height:100%; background:var(--cherry); border-radius:100px; }
.svc-outer{ overflow:hidden; display:flex; align-items:center; }
.svc-track{ display:flex; gap:28px; padding:0 56px; }
.svc-card{ width:clamp(340px,42vw,520px); flex-shrink:0; background:var(--cream); border-radius:32px; padding:56px; display:flex; flex-direction:column; min-height:62vh; }
.svc-num{ font-family:'Orbitron',sans-serif; font-size:13px; font-weight:700; color:var(--cherry); letter-spacing:.1em; }
.svc-ic{ width:64px; height:64px; border-radius:19px; background:var(--white); display:flex; align-items:center; justify-content:center; font-size:30px; margin:auto 0 28px; box-shadow:var(--sh-sm); }
.svc-t{ font-family:'Space Grotesk',sans-serif; font-size:30px; font-weight:600; letter-spacing:-.025em; margin-bottom:16px; }
.svc-d{ font-size:16px; line-height:1.7; color:var(--muted); margin-bottom:28px; }
.svc-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.svc-tag{ font-family:'JetBrains Mono',monospace; font-size:11px; padding:7px 14px; background:var(--white); border-radius:100px; color:var(--muted); }

/* ── Agents (dark) ── */
.agents{ background:var(--dark); color:var(--cream); }
.agents .kicker{ color:var(--cherry-l); }
.agents .sec-title{ color:var(--cream); }
.agents-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.acard{ background:rgba(255,245,247,.04); border:1px solid var(--line-d); border-radius:24px; padding:32px; transition:transform .35s,background .35s; }
.acard:hover{ transform:translateY(-6px); background:rgba(255,245,247,.08); }
.acard-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.acard-nm{ font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--cream); }
.acard .pdot{ width:8px; height:8px; border-radius:50%; background:#2DB87A; box-shadow:0 0 10px #2DB87A; animation:blink 2s infinite; }
.acard-ty{ font-size:13px; color:rgba(255,245,247,.4); margin-bottom:28px; }
.acard-m{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:40px; letter-spacing:-.03em; line-height:1; color:var(--cream); }
.acard-ml{ font-family:'JetBrains Mono',monospace; font-size:10px; color:rgba(255,245,247,.3); letter-spacing:.08em; text-transform:uppercase; margin-top:8px; }

/* ── Process ── */
.proc-line{ height:4px; background:var(--cream-2); border-radius:100px; overflow:hidden; margin-bottom:30px; }
.proc-line-fill{ width:0%; height:100%; background:var(--cherry); border-radius:100px; }
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.step{ background:var(--white); border-radius:26px; padding:40px; box-shadow:var(--sh-sm); opacity:.4; transition:opacity .45s,transform .45s,box-shadow .45s; }
.step.on{ opacity:1; transform:translateY(-8px); box-shadow:var(--sh-md); }
.step.static{ opacity:1; }
.step-num{ font-family:'Orbitron',sans-serif; font-size:46px; font-weight:900; color:var(--gris-l); margin-bottom:24px; transition:color .45s; }
.step.on .step-num, .step.static .step-num{ color:var(--cherry); }
.step-t{ font-family:'Space Grotesk',sans-serif; font-size:19px; font-weight:600; margin-bottom:12px; }
.step-d{ font-size:14px; line-height:1.7; color:var(--muted); }

/* ── Pricing ── */
.plans{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:start; }
.plan{ background:var(--cream); border-radius:30px; padding:44px; display:flex; flex-direction:column; gap:24px; transition:transform .35s,box-shadow .35s; }
.plan:hover{ transform:translateY(-8px); box-shadow:var(--sh-md); }
.plan.featured{ background:var(--dark); color:var(--cream); }
.plan-badge{ font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }
.plan.featured .plan-badge{ color:var(--cherry-l); }
.plan-name{ font-family:'Space Grotesk',sans-serif; font-size:22px; font-weight:600; }
.plan-price{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:54px; line-height:1; letter-spacing:-.04em; color:var(--text); }
.plan.featured .plan-price{ color:var(--cream); }
.plan-price sup{ font-size:22px; vertical-align:super; color:var(--muted); } .plan-price sub{ font-size:14px; color:var(--muted); font-weight:400; font-family:'Archivo',sans-serif; }
.plan-price.custom{ font-size:34px; }
.plan-div{ height:1px; background:var(--border); } .plan.featured .plan-div{ background:var(--line-d); }
.plan-feats{ display:flex; flex-direction:column; gap:14px; }
.plan-feat{ display:flex; gap:12px; font-size:15px; color:var(--muted); line-height:1.5; }
.plan.featured .plan-feat{ color:rgba(255,245,247,.65); }
.plan-feat .ck{ width:20px; height:20px; border-radius:50%; background:var(--cream-dark); color:var(--cherry); display:flex; align-items:center; justify-content:center; font-size:11px; flex-shrink:0; }
.plan-cta{ display:flex; align-items:center; justify-content:center; padding:16px; font-size:15px; font-weight:500; text-decoration:none; border-radius:100px; margin-top:auto; transition:all .25s; }
.plan-cta.solid{ background:var(--cherry); color:#fff; } .plan-cta.solid:hover{ background:var(--cherry-dark); }
.plan-cta.soft{ background:var(--white); color:var(--text); box-shadow:var(--sh-sm); } .plan-cta.soft:hover{ color:var(--cherry); }
.plan.featured .plan-cta.soft{ background:rgba(255,245,247,.1); color:var(--cream); } .plan.featured .plan-cta.soft:hover{ background:rgba(255,245,247,.16); }

/* ── Marquee ── */
.qmarquee{ overflow:hidden; padding:60px 0; }
.qtrack{ display:flex; align-items:center; gap:50px; white-space:nowrap; width:max-content; will-change:transform; }
.qtrack span{ font-family:'Orbitron',sans-serif; font-weight:900; font-size:clamp(50px,9vw,150px); letter-spacing:.04em; text-transform:uppercase; line-height:1; color:var(--gris-l); }
.qtrack .st{ font-size:clamp(22px,3vw,58px); color:var(--cherry); }

/* ── CTA ── */
.cta{ padding:clamp(110px,14vw,180px) 0; text-align:center; }
.cta h2{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:clamp(40px,7vw,104px); line-height:1.02; letter-spacing:-.04em; max-width:16ch; margin:0 auto 28px; }
.cta-p{ font-size:clamp(16px,1.8vw,20px); color:var(--muted); max-width:460px; margin:0 auto 44px; line-height:1.6; }
.cta-form{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; max-width:480px; margin:0 auto; }
.cta-input{ flex:1; min-width:240px; font-size:16px; padding:18px 26px; background:var(--white); border:1px solid var(--border); border-radius:100px; color:var(--text); outline:none; transition:border-color .2s; }
.cta-input:focus{ border-color:var(--cherry); } .cta-input::placeholder{ color:var(--muted); }
.cta-submit{ font-size:16px; font-weight:500; padding:18px 36px; background:var(--cherry); color:#fff; border:none; border-radius:100px; cursor:pointer; transition:background .25s; white-space:nowrap; }
.cta-submit:hover{ background:var(--cherry-dark); }

/* ── Footer ── */
footer{ background:var(--dark); color:rgba(255,245,247,.5); padding:90px 0 40px; border-radius:44px 44px 0 0; }
.footer-top{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px; padding-bottom:60px; border-bottom:1px solid var(--line-d); }
.footer-logo{ font-family:'Orbitron',sans-serif; font-size:24px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; background:linear-gradient(90deg,#F92050,#9A7B80); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; display:inline-block; margin-bottom:18px; text-decoration:none; }
.footer-brand p{ font-size:15px; color:rgba(255,245,247,.4); line-height:1.6; max-width:280px; }
.footer-col h4{ font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,245,247,.3); margin-bottom:20px; }
.footer-col a{ display:block; font-size:15px; color:rgba(255,245,247,.6); text-decoration:none; margin-bottom:12px; transition:color .2s; }
.footer-col a:hover{ color:var(--cherry-l); }
.footer-bottom{ display:flex; justify-content:space-between; padding-top:30px; font-family:'JetBrains Mono',monospace; font-size:11px; color:rgba(255,245,247,.3); }

.rv{ opacity:0; transform:translateY(34px); }

/* ════════ Páginas internas ════════ */
.page-hero{ padding:190px 0 50px; }
.page-hero h1{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:clamp(40px,6.5vw,88px); line-height:1; letter-spacing:-.04em; max-width:16ch; margin-bottom:24px; }
.page-hero p{ font-size:clamp(17px,1.9vw,22px); line-height:1.55; color:var(--muted); max-width:580px; }

/* detalle alternado */
.detail{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; padding:72px 0; border-top:1px solid var(--border); }
.detail:nth-child(even) .detail-media{ order:-1; }
.detail-tag{ font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--cherry); margin-bottom:18px; display:block; }
.detail h2{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:clamp(28px,3.4vw,46px); line-height:1.06; letter-spacing:-.03em; margin-bottom:18px; }
.detail>div>p{ font-size:16px; line-height:1.7; color:var(--muted); margin-bottom:26px; max-width:480px; }
.detail-list{ display:flex; flex-direction:column; gap:13px; margin-bottom:28px; }
.detail-list div{ display:flex; gap:12px; font-size:15px; line-height:1.5; color:var(--text); }
.detail-list .ck{ width:20px; height:20px; border-radius:50%; background:var(--cream-dark); color:var(--cherry); display:flex; align-items:center; justify-content:center; font-size:11px; flex-shrink:0; }
.detail-media{ background:var(--cream); border-radius:28px; padding:44px; box-shadow:var(--sh-sm); min-height:300px; display:flex; flex-direction:column; justify-content:center; }
.detail-media.dark{ background:var(--dark); color:var(--cream); }
.media-ic{ width:80px; height:80px; border-radius:24px; background:var(--white); display:flex; align-items:center; justify-content:center; font-size:38px; box-shadow:var(--sh-sm); margin-bottom:26px; }
.detail-media.dark .media-ic{ background:rgba(255,245,247,.06); }
.media-num{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(48px,6vw,80px); letter-spacing:-.04em; line-height:1; color:var(--cherry); }
.detail-media.dark .media-num{ color:var(--cherry-l); }
.media-l{ font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:12px; }
.detail-media.dark .media-l{ color:rgba(255,245,247,.45); }
.media-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:8px; }

/* use cases */
.uc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.uc{ background:var(--white); border-radius:22px; padding:32px; box-shadow:var(--sh-sm); transition:transform .3s,box-shadow .3s; }
.uc:hover{ transform:translateY(-5px); box-shadow:var(--sh-md); }
.uc .e{ font-size:30px; margin-bottom:16px; }
.uc h3{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:18px; margin-bottom:10px; }
.uc p{ font-size:14px; color:var(--muted); line-height:1.6; }

/* FAQ */
.faq{ max-width:800px; margin:0 auto; }
.faq details{ border-top:1px solid var(--border); padding:24px 0; }
.faq details:last-child{ border-bottom:1px solid var(--border); }
.faq summary{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:19px; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:20px; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:'+'; font-size:26px; color:var(--cherry); transition:transform .25s; line-height:1; }
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq p{ font-size:15px; line-height:1.7; color:var(--muted); margin-top:14px; max-width:700px; }

/* comparativa */
.compare-wrap{ overflow-x:auto; }
.compare{ width:100%; border-collapse:collapse; min-width:560px; }
.compare th,.compare td{ padding:18px 20px; border-bottom:1px solid var(--border); font-size:15px; text-align:center; }
.compare thead th{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:17px; }
.compare thead th.hl{ color:var(--cherry); }
.compare th:first-child,.compare td:first-child{ text-align:left; color:var(--muted); width:40%; }
.compare .yes{ color:var(--cherry); font-weight:700; }
.compare tbody tr:hover{ background:var(--cream-2); }

/* contacto */
.contact-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:54px; align-items:start; }
.cform{ display:flex; flex-direction:column; gap:14px; }
.cform input,.cform textarea{ font-family:'Archivo',sans-serif; font-size:15px; padding:16px 20px; background:var(--white); border:1px solid var(--border); border-radius:16px; color:var(--text); outline:none; transition:border-color .2s; width:100%; }
.cform textarea{ min-height:150px; resize:vertical; }
.cform input:focus,.cform textarea:focus{ border-color:var(--cherry); }
.cform .cta-submit{ align-self:flex-start; border-radius:14px; }
.contact-info{ display:flex; flex-direction:column; gap:16px; }
.ci{ background:var(--cream); border-radius:20px; padding:28px; }
.ci .e{ font-size:24px; margin-bottom:12px; }
.ci h3{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:17px; margin-bottom:6px; }
.ci a,.ci p{ color:var(--muted); font-size:15px; text-decoration:none; line-height:1.5; }
.ci a:hover{ color:var(--cherry); }

/* CTA band reutilizable */
.cta-band-wrap{ padding:0 32px 70px; }
.cta-band{ max-width:1180px; margin:0 auto; background:var(--dark); border-radius:40px; padding:90px 40px; text-align:center; color:var(--cream); position:relative; overflow:hidden; box-shadow:var(--sh-lg); }
.cta-band::before{ content:''; position:absolute; top:-40%; left:50%; transform:translateX(-50%); width:600px; height:600px; border-radius:50%; background:radial-gradient(circle,rgba(204,16,48,.18),transparent 65%); }
.cta-band h2{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:clamp(32px,4.4vw,60px); letter-spacing:-.035em; line-height:1.04; margin:0 auto 18px; max-width:18ch; position:relative; }
.cta-band p{ color:rgba(255,245,247,.6); max-width:440px; margin:0 auto 34px; line-height:1.6; position:relative; }
.cta-band .btns{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; position:relative; }

@media (max-width:980px){
    nav{ inset:12px 0 auto 0; } .nav-inner{ padding:9px 10px 9px 20px; gap:14px; } .nav-links{ gap:18px; }
    .nav-links li.hide-m{ display:none; }
    .wrap{ padding:0 20px; }
    .hero{ padding:140px 20px 80px; } .showcase{ padding:0 16px 40px; } .showcase-panel{ padding:24px; border-radius:26px; }
    .bento{ grid-template-columns:repeat(2,1fr); grid-auto-rows:180px; } .tile.lg{ grid-column:span 2; grid-row:span 2; } .tile.wide{ grid-column:span 2; }
    .svc-layout{ grid-template-columns:1fr; height:auto; padding:90px 0; } .svc-info{ padding:0 20px 30px; } .svc-outer{ overflow-x:auto; } .svc-track{ padding:0 20px; } .svc-card{ width:min(420px,86vw); min-height:auto; padding:40px; } .svc-prog{ display:none; }
    .agents-grid{ grid-template-columns:1fr 1fr; } .steps{ grid-template-columns:1fr 1fr; } .plans{ grid-template-columns:1fr; }
    .footer-top{ grid-template-columns:1fr 1fr; } .footer-bottom{ flex-direction:column; gap:12px; text-align:center; }
    .cta-form{ flex-direction:column; } .cta-input{ width:100%; }
    .page-hero{ padding:150px 0 30px; }
    .detail{ grid-template-columns:1fr; gap:30px; padding:50px 0; } .detail:nth-child(even) .detail-media{ order:0; }
    .uc-grid{ grid-template-columns:1fr; }
    .contact-grid{ grid-template-columns:1fr; gap:32px; }
    .cta-band-wrap{ padding:0 16px 50px; } .cta-band{ padding:60px 24px; border-radius:30px; }
    .includes{ grid-template-columns:1fr!important; padding:32px!important; }
}

/* ── Metodología / propuesta a medida ── */
.includes{ background:var(--cream); border-radius:30px; padding:48px 54px; display:grid; grid-template-columns:repeat(2,1fr); gap:16px 44px; max-width:920px; margin:0 auto; }
.includes .plan-feat{ font-size:16px; }
.lead{ font-size:clamp(18px,2.1vw,26px); line-height:1.5; color:var(--text); max-width:780px; margin:0 auto; text-align:center; font-family:'Space Grotesk',sans-serif; font-weight:400; letter-spacing:-.01em; }
.lead .accent{ font-weight:600; }
.price-note{ font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); text-align:center; margin-top:46px; }

/* ── Movimiento reducido (accesibilidad) ── */
@media (prefers-reduced-motion: reduce){
    *,*::before,*::after{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
    html{ scroll-behavior:auto!important; }
    body{ cursor:auto; }
    #cur,#ring{ display:none!important; }
    .rv{ opacity:1!important; transform:none!important; }
    .hero h1 .ln>span{ transform:none!important; }
    .hero-sub,.hero-btns,.hero-scroll,#heroKicker{ opacity:1!important; transform:none!important; }
    .qtrack{ transform:none!important; }
    .step{ opacity:1!important; }
}
