/* Innectia · hoja compartida (home, landings y diagnóstico).
   Layout: con html.snap, una pantalla por idea (100svh + scroll-snap en escritorio); sin snap, scroll progresivo.
   Look único y deliberado: marfil cálido, tinta, verde Innectia solo para acción y LIVE. */
/* Tipografía única: Geist (SIL Open Font License), alojada en el sitio */
@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/geist-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Geist';font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/geist-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --paper:#FAF8F4; --card:#FFFFFF; --line:#E7E2D8; --line-2:#D5CFC3;
  --ink:#131313; --ink-2:#46433D; --ink-3:#6B675F;
  --green:#0E6B4A; --green-ink:#0E6B4A; --green-soft:#E8F1EC; --on-green:#FFFFFF; --green-hi:#0B5A3E;
  --night:#131313; --night-2:#1F1F1F; --on-night:#FAF8F4; --on-night-2:#B9B4AA;
  --video:#B9AE9B; --video-2:#A99F8D; --video-3:#C9BFAD;
  --serif:'Geist',Georgia,'Times New Roman',serif;
  --sans:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'Geist',ui-monospace,Menlo,monospace;
  --ease:cubic-bezier(.22,.61,.36,1); --ease-io:cubic-bezier(.65,0,.35,1);
  --head:64px;
  color-scheme:light;
}
*{box-sizing:border-box}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
:focus-visible{outline:2px solid var(--green-ink);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--sans);font-weight:600;letter-spacing:-.035em;line-height:1.04;margin:0;text-wrap:balance}
p{margin:0}
em{font-style:normal;color:var(--green-ink)}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--green-ink)}
.muted{color:var(--ink-2)}
.small{font-size:13px;color:var(--ink-3)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;font-weight:600;font-size:15px;text-decoration:none;border:1px solid transparent;transition:transform .16s var(--ease),box-shadow .16s var(--ease),background .16s}
.btn:hover{transform:translateY(-2px)}
.btn-go{background:var(--green);color:var(--on-green);box-shadow:0 0 0 0 rgba(14,107,74,.0)}
.btn-go:hover{box-shadow:0 0 0 6px rgba(14,107,74,.16),0 12px 30px -12px rgba(14,107,74,.55)}
.btn-ink{background:var(--ink);color:var(--paper);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.btn-line{background:rgba(255,255,255,.85);color:var(--ink);border-color:var(--line-2);font-weight:500}
.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* ── Header ── */
header.top{position:fixed;inset:0 0 auto 0;z-index:40;padding-top:env(safe-area-inset-top,0px);background:rgba(250,248,244,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
header.top .wrap{height:var(--head);display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-family:var(--serif);font-size:22px;text-decoration:none;white-space:nowrap}
.logo i{color:var(--green-ink)}
.rec{display:flex;gap:4px;padding:4px;background:var(--card);border:1px solid var(--line);border-radius:999px;overflow-x:auto;scrollbar-width:none;min-width:0}
.rec::-webkit-scrollbar{display:none}
.rec button{all:unset;cursor:pointer;white-space:nowrap;font-size:13px;color:var(--ink-3);padding:8px 13px;border-radius:999px;transition:background .2s,color .2s}
.rec button[aria-pressed="true"]{background:var(--ink);color:var(--paper);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.rec button:hover{color:var(--ink)}
.rec button[aria-pressed="true"]:hover{color:var(--paper)}
.rec button:focus-visible{outline:2px solid var(--green-ink)}
header.top .btn{min-height:40px;padding:0 16px;font-size:14px}
@media (max-width:820px){header.top .btn{display:none}.logo{font-size:24px}}

/* ── Progreso y puntos ── */
.bar{position:fixed;left:0;right:0;top:0;height:2px;z-index:50;background:var(--green-ink);transform-origin:left;transform:scaleX(0)}
.dots{position:fixed;right:18px;top:50%;transform:translateY(-50%);z-index:35;display:none;flex-direction:column;gap:12px}
.dots a{display:flex;align-items:center;justify-content:flex-end;gap:10px;height:16px;text-decoration:none}
.dots a span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);background:rgba(250,248,244,.9);padding:3px 8px;border-radius:6px;opacity:0;transform:translateX(6px);transition:opacity .2s,transform .2s;white-space:nowrap}
.dots:hover a span,.dots a:focus-visible span{opacity:1;transform:none}
.dots a i{display:block;width:6px;height:6px;border-radius:3px;background:var(--line-2);transition:height .35s var(--ease),background .35s}
.dots a[aria-current="true"] i{height:22px;background:var(--green-ink)}

/* ── Secciones (móvil primero: progresivo) ── */
.sec{position:relative;padding-block:calc(var(--head) + 48px) 64px;overflow:hidden}
.sec.dark{background:var(--night);color:var(--on-night);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.sec.white{background:var(--card);border-block:1px solid var(--line)}
.sec .head{display:flex;flex-direction:column;gap:14px;margin-bottom:clamp(24px,4vh,48px);max-width:820px}
.sec h2{font-size:clamp(31px,min(4.37vw,6.55vh),59px)}

@media (min-width:961px) and (min-height:700px) and (pointer:fine){
  html.snap{scroll-snap-type:y mandatory}
  html.snap .sec{height:100svh;scroll-snap-align:start;scroll-snap-stop:always;display:flex;flex-direction:column;justify-content:center;padding-block:calc(var(--head) + 24px) 32px}
  html.snap .dots{display:flex}
}

/* ── Movimiento (ver skill innectia-motion) ── */
.js .sec:not(.on) [data-a]{opacity:0}
.sec.on [data-a]{animation:rise .85s var(--ease) both;animation-delay:calc(var(--i,0) * 90ms)}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.split .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}
.split .w>span{display:inline-block}
.js .sec:not(.on) .split .w>span{transform:translateY(110%)}
.sec.on .split .w>span{animation:wordup .9s var(--ease) both;animation-delay:calc(var(--wi) * 55ms + 120ms)}
@keyframes wordup{from{transform:translateY(110%)}to{transform:none}}
.live{display:inline-flex;align-items:center;gap:7px}
.live::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(14,107,74,.28);animation:pulse 1.8s ease-in-out infinite;color:var(--on-green)}
@keyframes pulse{50%{opacity:.35}}

/* ── Video (marcador animado hasta tener el real) ── */
.vid{position:absolute;inset:0;background:var(--video);overflow:hidden}
.vid::before{content:"";position:absolute;inset:-20%;background:radial-gradient(40% 50% at 70% 40%,var(--video-3),transparent 70%),radial-gradient(35% 40% at 30% 75%,var(--video-2),transparent 70%);animation:drift 22s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(-6%,4%) scale(1.08)}}
.vcap{position:absolute;z-index:2;max-width:330px;background:rgba(19,19,19,.58);color:var(--on-night);border-radius:14px;padding:12px 14px;font-size:12px;line-height:1.45;display:flex;flex-direction:column;gap:4px}
.vcap b{font-family:var(--mono);font-weight:500;letter-spacing:.08em;font-size:11px}

/* Hero cine */
#hero-cine .veil{position:absolute;inset:0;background:linear-gradient(90deg,var(--paper) 0%,rgba(250,248,244,.95) 40%,rgba(250,248,244,.45) 66%,rgba(250,248,244,0) 86%)}
#hero-cine .vcap{right:clamp(16px,4vw,40px);bottom:32px}
.hero-c{position:relative;z-index:1;display:flex;flex-direction:column;gap:22px;max-width:760px}
.hero-c h1{font-size:clamp(42px,min(5.93vw,9.36vh),84px);line-height:.92}
.hero-c .lead{font-size:clamp(17px,1.5vw,20px);color:var(--ink-2);max-width:30em}
.hero-c .lead strong{color:var(--ink);font-weight:600}
/* Hero arco */
.arc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(32px,5vw,72px);align-items:center}
.arc{position:relative;height:clamp(360px,68vh,620px);border-radius:999px 999px 28px 28px;overflow:hidden}
.arc .vcap{left:16px;right:16px;bottom:16px;max-width:none}
@media (max-width:960px){#hero-cine .veil{background:linear-gradient(180deg,rgba(250,248,244,.92) 0%,rgba(250,248,244,.86) 70%,rgba(250,248,244,.6) 100%)}#hero-cine .vcap{position:relative;right:auto;bottom:auto;margin-top:24px}}

/* Timeline */
.tl{position:relative;display:flex;flex-direction:column}
.tl-line{position:absolute;left:0;top:0;width:100%;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease) .2s;--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.sec.on .tl-line{transform:scaleX(1)}
.tl-row{display:grid;grid-template-columns:clamp(96px,12vw,160px) minmax(0,1fr) minmax(0,300px);gap:24px;align-items:center;padding:clamp(8px,1.6vh,18px) 0;border-bottom:1px solid var(--line)}
.tl-t{font-family:var(--serif);font-size:clamp(27px,min(3.12vw,4.68vh),41px);line-height:1;font-variant-numeric:tabular-nums}
.tl-row strong{display:block;font-size:clamp(16px,1.4vw,19px);font-weight:600}
.tl-row .muted{font-size:14.5px}
.chip{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:10px 14px;display:flex;flex-direction:column;gap:2px;font-size:13.5px}
.chip b{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.08em;color:var(--ink-3)}
.chip.full{border-color:rgba(14,107,74,.4)}.chip.full b{color:var(--green-ink)}
.chip.wa{background:var(--green);border-color:var(--green);color:var(--on-green)}.chip.wa b{color:var(--ink)}
.chip.x{background:var(--night);color:var(--on-night);border-color:var(--night);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}.chip.x b{color:var(--green)}
@media (max-width:760px){.tl-row{grid-template-columns:1fr;gap:8px}}

/* Ecosistema */
.eco{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.eco-card{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--card);border-radius:24px;padding:22px;display:flex;flex-direction:column;gap:10px;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.eco-card:hover{transform:translateY(-3px);box-shadow:0 24px 50px -28px rgba(19,19,19,.35)}
.eco-card::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(14,107,74,.12),transparent 60%)}
.eco-card:hover::after{opacity:1}
.eco-art{height:clamp(56px,10vh,120px);border-radius:16px;background:var(--line)}
[data-v="2"] .eco-art,[data-v="4"] .eco-art{border-radius:999px 999px 16px 16px;height:clamp(90px,16vh,180px)}
.eco-card.full{border:2px solid var(--green)}.eco-card.full .eco-art{background:var(--green);color:var(--on-green)}
.eco-card.pro .eco-art{background:var(--line-2)}
.eco-card.x{background:var(--night);color:var(--on-night);border-color:var(--night);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}.eco-card.x .eco-art{background:var(--night-2);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.eco-card .t{font-family:var(--serif);font-size:clamp(20px,1.87vw,25px);line-height:1}
.eco-card .d{font-size:14px;color:var(--ink-2);line-height:1.5}
.eco-card.x .d{color:var(--on-night-2)}
.eco-card .p{margin-top:auto;font-family:var(--serif);font-size:clamp(20px,1.87vw,27px)}
.eco-card .lab{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-3)}
.eco-card.full .lab{color:var(--green-ink)}.eco-card.x .lab{color:var(--green)}
@media (max-width:960px){.eco{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.eco{grid-template-columns:1fr}}

/* Casos */
.cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.case{display:flex;flex-direction:column;gap:8px;text-decoration:none}
.case img{width:100%;max-width:100%;aspect-ratio:900/442;object-fit:cover;border-radius:16px;border:1px solid var(--line);transition:transform .6s var(--ease)}
.case:hover img{transform:scale(1.02)}
[data-v="2"] .case img,[data-v="4"] .case img{aspect-ratio:4/3;border-radius:999px 999px 16px 16px}
.case b{font-weight:600}
@media (max-width:760px){.cases{grid-template-columns:1fr}}

/* Equipo */
.team{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,64px);align-items:center}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ph{background:var(--line);border-radius:18px;display:grid;place-items:center;text-align:center;color:var(--ink-3);font-size:12px;padding:10px;aspect-ratio:1/1}
.ph.tall{grid-row:span 2;aspect-ratio:auto}
.cities{display:flex;gap:8px;flex-wrap:wrap}
.cities span{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line-2);border-radius:999px;padding:6px 12px;font-size:13px}
.nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:8px}
.nums div{border-top:1px solid var(--ink);padding-top:10px}
.nums b{display:block;font-family:var(--serif);font-weight:500;font-size:clamp(27px,2.65vw,36px);line-height:1;font-variant-numeric:tabular-nums}
.nums span{font-size:12.5px;color:var(--ink-3)}
@media (max-width:860px){.team{grid-template-columns:1fr}.nums{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Proceso / garantías */
.steps4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;position:relative}
.steps4 .s{border-top:2px solid var(--ink);padding-top:14px;display:flex;flex-direction:column;gap:6px}
.steps4 .s.go{border-color:var(--green)}
.steps4 .s span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-3)}
.steps4 .s.go span{color:var(--green-ink)}
.steps4 .s strong{font-family:var(--serif);font-weight:500;font-size:clamp(20px,2.03vw,27px);line-height:1}
.steps4 .s p{font-size:14px;color:var(--ink-2)}
@media (max-width:760px){.steps4{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Capítulos */
.chap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,5vw,64px);align-items:center}
.chap .num{font-family:var(--serif);font-size:clamp(55px,min(7.02vw,10.92vh),94px);line-height:.8;color:var(--line-2)}
.chap .txt{display:flex;flex-direction:column;gap:14px}
.chap h2{font-size:clamp(28px,min(3.43vw,5.46vh),44px)}
.mock{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:20px;display:flex;flex-direction:column;gap:9px;box-shadow:0 30px 70px -36px rgba(19,19,19,.3);min-height:300px}
.mock .cap{font-size:12px;color:var(--ink-3);display:flex;justify-content:space-between}
.msg{max-width:84%;padding:10px 14px;border-radius:18px;font-size:14px;line-height:1.45}
.msg.v{align-self:flex-end;background:var(--ink);color:var(--paper);border-bottom-right-radius:6px;--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.msg.a{align-self:flex-start;background:#F3F0E9;border-bottom-left-radius:6px}
.msg.lead{align-self:stretch;max-width:none;background:var(--green-soft);border:1px solid rgba(14,107,74,.3)}
.msg.lead strong{color:var(--green-ink)}
.js .seq{opacity:0;transform:translateY(8px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.js .seq.in{opacity:1;transform:none}
.typing{align-self:flex-start;display:none;gap:4px;padding:12px 14px;border-radius:18px;background:#F3F0E9}
.typing.in{display:flex}
.typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-3);animation:tdot 1.2s ease-in-out infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes tdot{30%{transform:translateY(-3px);opacity:1}0%,60%,100%{opacity:.4}}
.pro-a{background:var(--ink);color:var(--paper);border-radius:16px;padding:13px 15px;font-size:14px;line-height:1.5;min-height:66px;--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.pro-a .src{display:block;margin-top:6px;font-family:var(--mono);font-size:11px;color:var(--green)}
.tags{display:flex;gap:6px;flex-wrap:wrap}.tags span{border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:12px;color:var(--ink-2)}
.crm{background:var(--night);border-radius:26px;padding:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;color:var(--on-night);min-height:280px;position:relative;--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.col{display:flex;flex-direction:column;gap:8px}
.col b{font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.08em;color:var(--on-night-2)}
.col.won b{color:var(--green)}
.card{background:var(--night-2);border-radius:12px;padding:10px;font-size:13px;--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.card.slot{background:transparent;border:1px dashed #3A3A3A;color:transparent}
#mover{transition:transform .65s var(--ease-io),background .3s,color .3s;position:relative;z-index:2}
#mover.won{background:var(--green);color:var(--on-green);font-weight:600}
@media (max-width:860px){.chap{grid-template-columns:1fr}.chap .mock,.chap .crm{order:2}}

/* Escalera y guía */
.stairs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}
.stair{border:1px solid var(--line);background:var(--card);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:8px}
.stair:nth-child(1){height:clamp(200px,34vh,300px)}.stair:nth-child(2){height:clamp(240px,42vh,370px)}.stair:nth-child(3){height:clamp(280px,50vh,440px)}.stair:nth-child(4){height:clamp(320px,58vh,510px)}
.stair .lab{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-3)}
.stair .t{font-family:var(--serif);font-size:clamp(19px,1.79vw,23px);line-height:1}
.stair .d{font-size:14px;color:var(--ink-2)}
.stair .p{margin-top:auto;font-weight:600}
.stair.full{border:2px solid var(--green)}.stair.full .lab{color:var(--green-ink)}
.stair.x{background:var(--night);color:var(--on-night);border-color:var(--night);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}.stair.x .lab{color:var(--green)}.stair.x .d{color:var(--on-night-2)}
.sec.on .stair{animation:stair .9s var(--ease) both;animation-delay:calc(var(--i) * 120ms)}
.js .sec:not(.on) .stair{opacity:0}
@keyframes stair{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}
@media (max-width:760px){.stairs{grid-template-columns:1fr}.stair{height:auto!important}}
.guide{display:flex;flex-direction:column;max-width:900px}
.g-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:clamp(14px,2.6vh,22px) 4px;border-top:1px solid var(--line);font-size:clamp(16px,1.5vw,19px);text-decoration:none;transition:background .2s,padding .2s}
.g-row:last-child{border-bottom:1px solid var(--line)}
.g-row:hover{background:var(--card);padding-inline:14px}
.g-row strong{white-space:nowrap;font-weight:600}
.g-row:hover strong{color:var(--green-ink)}

/* Manifiesto (calma) */
.mani{max-width:900px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:26px}
.mani .stem{width:1px;height:clamp(40px,8vh,72px);background:var(--green-ink);transform:scaleY(0);transform-origin:top;transition:transform 1s var(--ease)}
.sec.on .mani .stem{transform:scaleY(1)}
.mani p.big{font-family:var(--serif);font-size:clamp(25px,min(3.28vw,5.15vh),44px);line-height:1.12}
.mani p.big span{color:var(--ink-3)}

/* Cierre */
.close .vid{background:var(--video-2)}
.close .shade{position:absolute;inset:0;background:rgba(19,19,19,.62)}
.close .wrap{position:relative;z-index:1;display:flex;flex-direction:column;gap:22px}
.close h2{font-size:clamp(37px,min(5.46vw,8.58vh),75px);max-width:11em}
.close h2 em{color:var(--green)}
.close .small{color:var(--on-night-2)}
.close .btn-line{background:transparent;color:var(--on-night);border-color:rgba(250,248,244,.45)}
.foot{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:28px;margin-top:12px;border-top:1px solid rgba(250,248,244,.18);font-size:13px;color:var(--on-night-2)}
.foot .logo{font-size:22px;color:var(--on-night)}.foot .logo i{color:var(--green)}

/* ═══ Sistema de animaciones Innectia (16 patrones · ver skill innectia-motion) ═══ */
/* N1·1 Stagger firma */
.d1{--i:1}.d2{--i:2}.d3{--i:3}.d4{--i:4}
.sec.on .d1,.sec.on .d2,.sec.on .d3,.sec.on .d4{animation-delay:calc(var(--i) * 100ms)}
/* N1·4 Video real */
.vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s var(--ease);filter:sepia(.35) saturate(.8) contrast(.95)}
.vid video.ok{opacity:var(--vo,.55)}
#hero-cine .vid{--vo:.6}.close .vid{--vo:.42}.arc .vid{--vo:.85}
.amb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity 1s;filter:sepia(.4) saturate(.7)}
.amb.ok{opacity:.12}
.sec>.wrap{position:relative;z-index:1}
/* N2·5 Cursor + estela INCT */
.cur,.ring,.trail{position:fixed;left:0;top:0;pointer-events:none;z-index:90;display:none}
.has-cur .cur,.has-cur .ring,.has-cur .trail{display:block}
.has-cur,.has-cur a,.has-cur button,.has-cur label{cursor:none}
.has-cur input,.has-cur textarea{cursor:text}
.cur{width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--green);box-shadow:0 0 0 1px rgba(14,107,74,.5);color:var(--on-green)}
.ring{width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;border:1.5px solid var(--green-ink);transition:width .25s var(--ease),height .25s var(--ease),margin .25s var(--ease),background .25s,opacity .25s}
.ring.big{width:58px;height:58px;margin:-29px 0 0 -29px;background:rgba(14,107,74,.10)}
.ring.flash{background:rgba(14,107,74,.45)}
.trail{font-family:var(--mono);font-size:10px;font-weight:500;color:var(--green-ink);margin:10px 0 0 10px;opacity:.55}
/* N2·6 Hover premium */
.hp{transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s}
.hp:hover{transform:translateY(-4px);border-color:rgba(14,107,74,.45)!important;box-shadow:0 18px 44px -18px rgba(19,19,19,.28)}
/* N2·8 Marquee */
.marq{overflow:hidden;border-block:1px solid rgba(250,248,244,.16);margin-top:8px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marq-t{display:flex;width:max-content;animation:marq 42s linear infinite}
.marq:hover .marq-t{animation-play-state:paused}
.marq-t span{display:inline-flex;align-items:center;gap:10px;padding:12px 22px;white-space:nowrap;font-size:14px;color:var(--on-night-2)}
.marq-t span b{font-weight:500;color:var(--on-night)}
.marq-t span i{font-style:normal;color:var(--green)}
@keyframes marq{to{transform:translateX(-50%)}}
.fx-off-marquee .marq-t{animation:none}
.flag{width:20px;height:14px;border-radius:2px;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.08);overflow:hidden;display:block}
/* N3·9 Carrusel auto-scroll */
.car{overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 3%,#000 97%,transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 3%,#000 97%,transparent 100%);margin-inline:calc(clamp(16px,4vw,40px) * -1);padding:6px clamp(16px,4vw,40px) 14px}
.car::-webkit-scrollbar{display:none}
.car-t{display:flex;gap:16px;width:max-content}
.car .case{width:clamp(250px,24vw,330px);flex:none;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:10px 10px 14px}
.car .case img{height:auto;border-radius:12px;border:0}
.car .case b,.car .case .small{padding-inline:4px}
[data-v="2"] .car .case img,[data-v="4"] .car .case img{aspect-ratio:900/442;border-radius:999px 999px 12px 12px}
/* N3·10 + N2·7 Anfitrión mini (burbuja, typing, chips) */
.host{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.h-launch{all:unset;cursor:pointer;width:58px;height:58px;border-radius:50%;background:var(--ink);display:grid;place-items:center;box-shadow:0 14px 36px -12px rgba(19,19,19,.55);transition:transform .2s var(--ease);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.h-launch:hover{transform:scale(1.06)}.h-launch:active{transform:scale(.94)}
.h-launch:focus-visible{outline:2px solid var(--green-ink);outline-offset:3px}
.h-launch svg{width:24px;height:24px}
.h-launch::after{content:"";position:absolute;width:11px;height:11px;border-radius:50%;background:var(--green);border:2px solid var(--paper);transform:translate(17px,-17px);color:var(--on-green)}
.h-bub{position:relative;max-width:260px;background:var(--card);border:1px solid var(--line);border-radius:18px 18px 6px 18px;padding:12px 34px 12px 14px;font-size:14px;line-height:1.45;box-shadow:0 18px 40px -18px rgba(19,19,19,.35);cursor:pointer;opacity:0;transform:translateX(10px) scale(.96);transform-origin:bottom right;transition:opacity .45s var(--ease),transform .45s var(--ease);pointer-events:none}
.h-bub.in{opacity:1;transform:none;pointer-events:auto}
.h-bub b{display:block;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.1em;color:var(--green-ink);margin-bottom:3px}
.h-x{all:unset;cursor:pointer;position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3);font-size:14px}
.h-x:hover{background:#F3F0E9;color:var(--ink)}
.h-panel{width:min(360px,calc(100vw - 36px));height:min(500px,calc(100svh - 120px));background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:0 30px 80px -30px rgba(19,19,19,.45);display:flex;flex-direction:column;overflow:hidden;opacity:0;transform:translateY(12px) scale(.98);transform-origin:bottom right;pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease);position:absolute;right:0;bottom:70px}
.host.open .h-panel{opacity:1;transform:none;pointer-events:auto}
.h-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);font-size:14px}
.h-head strong{font-weight:600}.h-head .live{display:flex;margin-top:2px}
.h-body{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:9px}
.h-body .msg{animation:rise .4s var(--ease) both}
.h-chips{display:flex;flex-wrap:wrap;gap:6px}
.h-chips button{all:unset;cursor:pointer;font-size:13px;padding:7px 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--card);opacity:0;animation:rise .4s var(--ease) both;animation-delay:calc(var(--i) * 110ms);transition:background .2s,border-color .2s,transform .12s}
.h-chips button:hover{border-color:var(--green-ink);background:var(--green-soft)}
.h-chips button:focus-visible{outline:2px solid var(--green-ink)}
.h-form{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line)}
.h-form input{flex:1;min-width:0;border:1px solid var(--line-2);border-radius:999px;padding:0 14px;height:42px;font:inherit;font-size:14px;background:var(--paper);transition:border-color .2s,box-shadow .2s}
.h-form input:focus{outline:none;border-color:var(--green-ink);box-shadow:0 0 0 4px rgba(14,107,74,.14)}
.h-form button{all:unset;cursor:pointer;width:42px;height:42px;border-radius:50%;background:var(--green);display:grid;place-items:center;font-weight:700;color:var(--on-green)}
.msg a{color:var(--green-ink);font-weight:600}
/* N3·11 Grano estático */
.grain{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.018;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%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.fx-off-grain .grain{display:none}
/* N4·13 Parallax */
[data-depth]{will-change:transform}
/* N4·14 View Transitions */
::view-transition-old(root){animation:.28s var(--ease) both vtout}
::view-transition-new(root){animation:.42s var(--ease) both vtin}
@keyframes vtout{to{opacity:0;transform:translateY(-10px)}}
@keyframes vtin{from{opacity:0;transform:translateY(14px)}}
/* N4·16 Micro-interacciones */
.btn:active,.chip:active,.g-row:active,.case:active{transform:scale(.98)}
.rip{position:absolute;border-radius:50%;pointer-events:none;background:rgba(255,255,255,.55);transform:scale(0);animation:rip .6s var(--ease) forwards}
.btn-go .rip,.h-form .rip{background:rgba(19,19,19,.18)}
@keyframes rip{to{transform:scale(1);opacity:0}}
.btn,.h-form button{position:relative;overflow:hidden}

/* ── Autoridad ── */
.auth{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.au{border:1px solid var(--line);background:var(--card);border-radius:22px;padding:clamp(16px,2.4vh,22px);display:flex;flex-direction:column;gap:10px}
.au .lab{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--green-ink)}
.au .t{font-family:var(--serif);font-size:clamp(20px,1.87vw,25px);line-height:1}
.au ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;font-size:14px;color:var(--ink-2)}
.au li{display:flex;gap:9px;line-height:1.4}
.au li::before{content:"";flex:none;width:6px;height:6px;margin-top:7px;border-radius:2px;background:var(--green);color:var(--on-green)}
.cwv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
.cwv div{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--ink-3)}
.cwv .top2{display:flex;justify-content:space-between;align-items:baseline;color:var(--ink)}
.cwv .top2 b{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.06em}
.cwv .top2 span{font-family:var(--serif);font-size:24px;line-height:1}
.meter{height:6px;border-radius:3px;background:var(--line);overflow:hidden}
.meter i{display:block;height:100%;width:var(--w);background:linear-gradient(90deg,var(--green-ink),var(--green));transform:scaleX(0);transform-origin:left;transition:transform 1.4s var(--ease) .3s}
.sec.on .meter i{transform:scaleX(1)}
.stack{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.stack span{font-family:var(--mono);font-size:11px;border:1px solid var(--line);border-radius:6px;padding:3px 7px;color:var(--ink-2)}
@media (max-width:900px){.auth,.cwv{grid-template-columns:1fr}}

/* ── Panel de efectos (para el equipo) ── */
.fxp{position:fixed;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:60}
.fxp>button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid var(--line-2);font-size:13px;box-shadow:0 10px 30px -16px rgba(19,19,19,.4);backdrop-filter:blur(10px)}
.fxp>button:focus-visible{outline:2px solid var(--green-ink)}
.fxp>button::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green);color:var(--on-green)}
.fx-box{position:absolute;left:0;bottom:50px;width:min(320px,calc(100vw - 36px));background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px;box-shadow:0 30px 70px -30px rgba(19,19,19,.45);display:none;flex-direction:column;gap:10px;font-size:13.5px}
.fxp.open .fx-box{display:flex}
.fx-box h4{margin:0;font-family:var(--serif);font-weight:500;font-size:24px}
.fx-box label{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer}
.fx-box label small{display:block;color:var(--ink-3);font-size:11.5px}
.sw{appearance:none;-webkit-appearance:none;flex:none;width:36px;height:20px;border-radius:999px;background:var(--line-2);position:relative;cursor:pointer;transition:background .2s;margin:0}
.sw::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s var(--ease)}
.sw:checked{background:var(--green-ink)}.sw:checked::after{transform:translateX(16px)}
.sw:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}
.gold{border-top:1px solid var(--line);padding-top:10px;font-size:12.5px;color:var(--ink-2);line-height:1.5}
.gold b{color:var(--ink)}
@media (max-width:640px){.fxp>button .fx-l{display:none}.fxp>button{padding:0 13px}}

/* ── Servicios clickeables + ficha de alcance y precio ── */
button.stair,button.eco-card,button.chip{font:inherit;text-align:left;color:inherit;cursor:pointer;width:100%}
button.chip{width:auto}.tl-row button.chip{width:100%;line-height:1.4}
.eco-art{display:block}
.more{font-size:13px;font-weight:600;color:var(--green-ink);margin-top:4px;opacity:.85;transition:opacity .2s,transform .2s var(--ease)}
.stair .more{margin-top:6px}
.stair.x .more,.eco-card.x .more{color:var(--green)}
button:hover>.more{opacity:1;transform:translateX(3px)}
.chip[data-ficha]{transition:transform .2s var(--ease),border-color .2s,box-shadow .2s}
.chip[data-ficha]:hover{transform:translateY(-2px);border-color:rgba(14,107,74,.6);box-shadow:0 10px 24px -14px rgba(19,19,19,.35)}
.scrim{position:fixed;inset:0;z-index:70;background:rgba(19,19,19,.32);opacity:0;pointer-events:none;transition:opacity .3s var(--ease);backdrop-filter:blur(2px)}
.scrim.in{opacity:1;pointer-events:auto}
.ficha{position:fixed;z-index:71;top:0;right:0;bottom:0;width:min(560px,100vw);background:var(--paper);box-shadow:-30px 0 80px -30px rgba(19,19,19,.45);transform:translateX(104%);transition:transform .45s var(--ease-io);display:flex;flex-direction:column;visibility:hidden}
.ficha.in{transform:none;visibility:visible}
.f-top{display:flex;justify-content:space-between;align-items:center;padding:16px 22px;border-bottom:1px solid var(--line)}
.f-x{all:unset;cursor:pointer;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);font-size:15px}
.f-x:hover{background:var(--card)}.f-x:focus-visible{outline:2px solid var(--green-ink)}
.f-body{flex:1;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:18px}
.f-body h3{font-size:clamp(28px,3.12vw,37px);line-height:.98}
.f-tabs{display:flex;gap:4px;padding:4px;background:var(--card);border:1px solid var(--line);border-radius:999px;align-self:flex-start}
.f-tabs button{all:unset;cursor:pointer;font-size:13.5px;padding:8px 14px;border-radius:999px;color:var(--ink-3)}
.f-tabs button[aria-selected="true"]{background:var(--ink);color:var(--paper);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.f-tabs button:focus-visible{outline:2px solid var(--green-ink)}
.f-plan{display:flex;flex-direction:column;gap:14px;animation:rise .4s var(--ease) both}
.f-price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.f-price b{font-family:var(--serif);font-weight:500;font-size:44px;line-height:1}
.f-price span{font-size:13px;color:var(--ink-3)}
.f-badge{align-self:flex-start;font-family:var(--mono);font-size:11px;letter-spacing:.08em;padding:5px 10px;border-radius:999px;background:var(--green-soft);color:var(--green-ink);border:1px solid rgba(14,107,74,.25)}
.f-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.f-list li{display:flex;gap:10px;font-size:15px;line-height:1.45}
.f-list li::before{content:"✓";flex:none;width:20px;height:20px;border-radius:50%;background:var(--green);color:var(--on-green);font-size:11px;font-weight:700;display:grid;place-items:center;margin-top:1px}
.f-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.f-meta div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-size:13.5px}
.f-meta b{display:block;font-family:var(--mono);font-weight:500;font-size:10.5px;letter-spacing:.1em;color:var(--ink-3);margin-bottom:2px}
.f-note{font-size:13px;color:var(--ink-3);border-top:1px solid var(--line);padding-top:12px}
.f-note strong{color:var(--ink-2);font-weight:600}
.f-cta{display:flex;flex-direction:column;gap:8px;padding:16px 22px calc(16px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--card)}
.f-cta .row{flex-wrap:nowrap}.f-cta .btn{flex:1;white-space:nowrap}.f-cta .btn-go{flex:1.6}
.f-cta a.lnk{font-size:13px;text-align:center;color:var(--ink-2)}
@media (max-width:640px){.ficha{top:auto;height:90svh;width:100vw;border-radius:24px 24px 0 0;transform:translateY(104%)}.f-cta .row{flex-wrap:wrap}.f-meta{grid-template-columns:1fr}}
/* Anfitrión proactivo */
.h-launch .badge{position:absolute;top:-4px;left:-4px;min-width:20px;height:20px;border-radius:10px;background:var(--green);color:var(--on-green);font-size:11px;font-weight:700;display:none;place-items:center;padding:0 5px;border:2px solid var(--paper)}
.h-launch.has .badge{display:grid}
.h-launch{position:relative}
.h-bub .acts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.h-bub .acts button{all:unset;cursor:pointer;font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:999px;background:var(--ink);color:var(--paper);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.h-bub .acts button+button{background:transparent;color:var(--ink);border:1px solid var(--line-2);font-weight:500}
.msg .go{all:unset;cursor:pointer;display:inline-block;margin-top:6px;font-weight:600;color:var(--green-ink);text-decoration:underline}

/* ── Header CTAs ── */
.top-cta{gap:8px;flex-wrap:nowrap}
header.top .btn-line{background:transparent}
@media (max-width:1180px){header.top .btn-diag{display:none}}
/* ── Hero con demo FULL vs PRO ── */
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,4vw,56px);align-items:center}
.hero-grid .hero-c h1{font-size:clamp(37px,min(4.52vw,8.19vh),75px)}
.hero-c .small a{color:var(--green-ink);font-weight:600}
.demo{justify-self:end;width:100%;max-width:500px;height:clamp(440px,68vh,580px);background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:26px;box-shadow:0 40px 90px -40px rgba(19,19,19,.45);display:flex;flex-direction:column;overflow:hidden}
.demo-top{padding:12px 12px 10px;display:flex;flex-direction:column;gap:9px;border-bottom:1px solid var(--line)}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#F3F0E9;border-radius:999px}
.seg button{all:unset;cursor:pointer;text-align:center;font-size:13px;font-weight:600;padding:9px 8px;border-radius:999px;color:var(--ink-3);transition:background .25s,color .25s}
.seg button[data-mode="full"][aria-selected="true"]{background:var(--green);color:var(--on-green)}
.seg button[data-mode="pro"][aria-selected="true"]{background:var(--ink);color:var(--paper);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.seg button:focus-visible,.inds button:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}
.inds{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.inds::-webkit-scrollbar{display:none}
.inds button{all:unset;cursor:pointer;white-space:nowrap;font-size:12.5px;padding:6px 11px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);transition:border-color .2s,background .2s}
.inds button[aria-selected="true"]{border-color:var(--ink);color:var(--ink);background:var(--card);font-weight:600}
.demo-head{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line)}
.demo-head>div{flex:1;min-width:0}
.demo-av{width:34px;height:34px;border-radius:50%;background:var(--ink);color:var(--green);display:grid;place-items:center;font-family:var(--serif);font-size:20px;flex:none;--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.demo[data-mode="full"] .demo-av{background:var(--green);color:var(--on-green)}
.demo-head b{display:block;font-size:14px;font-weight:600}
.demo-head .small{font-size:12px}
.demo-body{flex:1;min-height:0;overflow:hidden;padding:14px 16px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px}
.demo-body .msg{font-size:13.5px;animation:rise .35s var(--ease) both;max-width:88%}
.demo-body .typing{flex:none}
.opts{display:flex;flex-wrap:wrap;gap:6px;align-self:flex-start;max-width:96%}
.opts span{font-size:12.5px;padding:6px 11px;border-radius:999px;border:1px solid var(--green-ink);color:var(--green-ink);background:var(--card);animation:rise .35s var(--ease) both;animation-delay:calc(var(--i) * 90ms);transition:background .2s,color .2s,transform .15s,opacity .3s}
.opts span.pick{background:var(--green);border-color:var(--green);color:var(--on-green);font-weight:600;transform:scale(.96)}
.opts.done span:not(.pick){opacity:.3}
.who{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;color:var(--ink-3);align-self:flex-end}
.rag{align-self:stretch;background:var(--ink);color:var(--paper);border-radius:16px 16px 16px 6px;padding:11px 13px;font-size:13.5px;line-height:1.5;animation:rise .35s var(--ease) both;--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.rag .src{display:block;margin-top:7px;font-family:var(--mono);font-size:10.5px;color:var(--green);opacity:0;transition:opacity .4s}
.rag .src.in{opacity:1}
.demo-foot{padding:11px 16px;border-top:1px solid var(--line);font-size:12.5px;line-height:1.45;color:var(--ink-2);background:#F6F3EC}
.demo-foot b{color:var(--ink)}
.demo-foot .tag{display:inline-block;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;padding:2px 7px;border-radius:6px;margin-right:6px;background:var(--green);color:var(--on-green)}
.demo[data-mode="pro"] .demo-foot .tag{background:var(--ink);color:var(--green);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
@media (max-width:960px){.hero-grid{grid-template-columns:1fr}.demo{justify-self:stretch;max-width:none;height:470px}}
/* ── Catálogo ── */
.cat-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(14px,2.4vh,24px)}
.cat-head>div{display:flex;flex-direction:column;gap:10px}
.cat-head h2{font-size:clamp(27px,min(2.81vw,4.84vh),44px)}
.cat-head p{text-align:right}
.cat-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-items:end;margin-bottom:clamp(10px,1.8vh,16px)}
.cs{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:10px 16px;border-radius:16px;border:1px solid var(--line);background:var(--paper);height:calc(56px + var(--s) * 9px);transition:background .25s,border-color .25s,color .25s,transform .25s var(--ease),box-shadow .25s}
.cs .lab{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--ink-3)}
.cs .t{font-family:var(--serif);font-size:22px;line-height:1}
.cs .p{display:none}
.cs:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}
.cs[aria-selected="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.cs[aria-selected="true"] .lab{color:var(--green)}
.cs.full[aria-selected="true"]{background:var(--green);color:var(--on-green);border-color:var(--green)}.cs.full[aria-selected="true"] .lab{color:var(--ink)}
.cs .t::after{content:" · " attr(data-p)}
.cat-panel{view-transition-name:catpanel}
.ct{--lab:160px;display:grid;grid-template-columns:var(--lab) repeat(var(--n),minmax(0,1fr));grid-template-rows:auto repeat(var(--r),auto) auto;column-gap:10px}
.ct.one{grid-template-columns:var(--lab) minmax(0,1fr) minmax(0,.8fr)}
.ct-lab,.ct-col{display:grid;grid-row:1 / -1;grid-template-rows:subgrid}
.ct-col{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:0 16px;position:relative}
.ct-col.hi{border:2px solid var(--green);box-shadow:0 26px 60px -34px rgba(14,107,74,.55)}
.ct-col.dark{background:var(--night);color:var(--on-night);border-color:var(--night);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.ct-col>*,.ct-lab>*{animation:rise .45s var(--ease) both;animation-delay:calc(var(--k,0) * 35ms)}
.ct-h{padding:12px 0 10px;display:flex;flex-direction:column;gap:2px}
.ct-h .nm{font-family:var(--serif);font-size:24px;line-height:1.05}
.ct-h .pr{font-family:var(--serif);font-size:clamp(23px,2.03vw,30px);line-height:1}
.ct-h .tg{font-size:13px;color:var(--ink-3)}
.ct-col.dark .tg{color:var(--on-night-2)}
.ct-h .bd{position:absolute;top:-11px;left:14px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;padding:3px 9px;border-radius:999px;background:var(--green);color:var(--on-green)}
.ct-c{padding:7px 0;border-top:1px solid var(--line);font-size:13.5px;line-height:1.35;display:flex;align-items:center}
.ct-col.dark .ct-c{border-color:#2A2A2A}
.ct-c.no{color:var(--ink-3)}
.ct-lab .ct-c{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);border-color:var(--line-2)}
.ct-f{padding:10px 0 12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ct-f .btn{min-height:40px;padding:0 16px;font-size:14px}
.ct-f .lnk{all:unset;cursor:pointer;font-size:13px;font-weight:600;color:var(--green-ink);text-decoration:underline}
.ct-col.dark .lnk{color:var(--green)}
.ct-f .lnk:focus-visible{outline:2px solid var(--green-ink)}
.ct-aside{grid-row:1 / -1;align-self:stretch;border:1px dashed var(--line-2);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--ink-2)}
.ct-aside strong{font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.05;color:var(--ink)}
.cat-note{margin-top:10px;font-size:13px;color:var(--ink-3)}
.cat-note b{color:var(--ink-2)}
html.vt-cat::view-transition-old(root),html.vt-cat::view-transition-new(root){animation:none}
::view-transition-old(catpanel){animation:.22s var(--ease) both vtout}
::view-transition-new(catpanel){animation:.4s var(--ease) both vtin}
@media (max-width:860px){
  .cat-head{flex-direction:column;align-items:flex-start}.cat-head p{text-align:left}
  .cat-steps{display:flex;overflow-x:auto;scrollbar-width:none;align-items:stretch}
  .cs{height:auto!important;flex:none;min-width:150px}
  .ct,.ct.one{display:flex;flex-direction:column;gap:14px}
  .ct-lab,.ct-aside{display:none}
  .ct-col{display:flex;flex-direction:column}
  .ct-c{flex-direction:column;align-items:flex-start;gap:2px}
  .ct-c::before{content:attr(data-l);font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
}
/* ── Contacto ── */
.contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:clamp(28px,5vw,64px);align-items:center}
.c-left{display:flex;flex-direction:column;gap:14px}
.routes{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.route{position:relative;display:flex;flex-direction:column;gap:2px;padding:14px 56px 14px 18px;border:1px solid var(--line);border-radius:18px;background:var(--card);text-decoration:none}
.route .r-k{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;color:var(--green-ink)}
.route strong{font-size:17px;font-weight:600}
.route .r-d{font-size:13.5px;color:var(--ink-3)}
.route i{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-style:normal;font-size:20px;transition:transform .2s var(--ease)}
.route:hover i{transform:translate(4px,-50%)}
.route.go{background:var(--green);border-color:var(--green);color:var(--on-green)}
.route.go .r-k,.route.go .r-d{color:var(--ink)}
.cform{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:clamp(18px,2.6vh,26px);display:flex;flex-direction:column;gap:6px;box-shadow:0 30px 70px -40px rgba(19,19,19,.35)}
.cform .k{margin-bottom:4px}
.cform label{font-size:13px;font-weight:600;color:var(--ink-2);margin-top:4px}
.cform input,.cform select,.cform textarea{font:inherit;font-size:15px;color:var(--ink);background:var(--paper);border:1px solid var(--line-2);border-radius:12px;padding:10px 12px;transition:border-color .2s,box-shadow .2s,transform .12s}
.cform textarea{resize:vertical;min-height:56px}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--green-ink);box-shadow:0 0 0 4px rgba(14,107,74,.15)}
.cform .bad{border-color:#B3261E;box-shadow:0 0 0 4px rgba(179,38,30,.1);animation:shake .3s}
@keyframes shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.cform .cf-ok{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:12.5px;color:var(--ink-3);margin:6px 0}
.cform .cf-ok input{margin-top:2px;accent-color:var(--green-ink);width:16px;height:16px;flex:none}
.cform .btn{margin-top:4px}
.cf-msg{font-size:13px;color:#B3261E;min-height:18px}
.cf-done{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:12px 0;animation:rise .5s var(--ease) both}
.cf-done .ok{width:56px;height:56px;border-radius:50%;background:var(--green);display:grid;place-items:center;font-size:26px;font-weight:700;animation:pop .5s var(--ease) both;color:var(--on-green)}
@keyframes pop{0%{transform:scale(.4)}70%{transform:scale(1.1)}100%{transform:none}}
.cf-done strong{font-family:var(--serif);font-weight:500;font-size:27px;line-height:1.05}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
/* ── Barra móvil de CTA ── */
.mbar{display:none}
@media (max-width:820px){
  .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:55;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));background:rgba(250,248,244,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
  .mbar .btn{flex:1;min-height:44px;font-size:14px;padding:0 12px}
  .host,.fxp{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  main{padding-bottom:64px}
}
/* ── Anfitrión proactivo, más visible ── */
.h-launch.has::before{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--green);animation:ping 1.6s var(--ease) infinite}
@keyframes ping{from{transform:scale(.9);opacity:.9}to{transform:scale(1.35);opacity:0}}
.h-bub{max-width:290px;font-size:14.5px}
.h-bub .typing{display:inline-flex;background:none;padding:6px 0}
/* ── Mapa de las 16 + reveal lateral ── */
.fx-box{max-height:calc(100svh - 140px);overflow-y:auto}
.map summary{cursor:pointer;font-weight:600;font-size:13.5px}
.map ol{margin:8px 0 0;padding-left:22px;display:flex;flex-direction:column;gap:2px;font-size:13px}
.map button{all:unset;cursor:pointer;color:var(--ink-2)}
.map button:hover,.map button:focus-visible{color:var(--green-ink);text-decoration:underline}
.sec.on .tl-row[data-a]{animation-name:risex}
@keyframes risex{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}

/* ── Diagnóstico ── */
.diag{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,64px);align-items:center}
.dg-left{display:flex;flex-direction:column;gap:16px}
.dg-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;counter-reset:dg}
.dg-steps li{counter-increment:dg;display:grid;grid-template-columns:36px 1fr;column-gap:12px;align-items:start}
.dg-steps li::before{content:counter(dg);grid-row:span 2;width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--green);display:grid;place-items:center;font-family:var(--mono);font-size:13px;--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.dg-steps b{font-weight:600}
.dg-steps span{font-size:14px;color:var(--ink-3)}
.dg-card{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:clamp(18px,3vh,28px);display:flex;flex-direction:column;gap:18px;box-shadow:0 40px 90px -46px rgba(19,19,19,.45)}
.dg-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.dg-bars{display:flex;flex-direction:column;gap:14px}
.dg-bars>div{display:flex;flex-direction:column;gap:6px}
.dg-bars .top2{display:flex;justify-content:space-between;align-items:baseline}
.dg-bars .top2 b{font-family:var(--mono);font-weight:500;font-size:12px;letter-spacing:.1em;color:var(--ink-3)}
.dg-bars .top2>span{font-family:var(--serif);font-size:23px;line-height:1}
.dg-bars .meter{height:8px}
.meter.low i{background:linear-gradient(90deg,#B98B2E,#E0B94F)}
.dg-next{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:6px}
.dg-next strong{font-family:var(--serif);font-weight:500;font-size:clamp(17px,1.56vw,22px);line-height:1.1}
.dg-next span:last-child{font-size:14px;color:var(--ink-2)}
@media (max-width:860px){.diag{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .sec:not(.on) [data-a],.js .sec:not(.on) .stair,.js .seq{opacity:1;transform:none}
  .js .sec:not(.on) .split .w>span{transform:none}
  .tl-line,.mani .stem,.meter i{transform:none}
  .h-chips button{opacity:1}
  .ficha{transition:none}
  .marq-t{animation:none}
  .vid video,.amb{display:none}
}

/* ═════════ Base común v2: cabecera, idioma, moneda, contacto rápido, pie, landings ═════════ */
.nav{display:flex;gap:2px;align-items:center}
.nav a{font-size:14px;text-decoration:none;color:var(--ink-2);padding:8px 12px;border-radius:999px;transition:background .2s,color .2s;white-space:nowrap}
.nav a:hover{color:var(--ink);background:rgba(19,19,19,.05)}
.nav a[aria-current="page"]{color:var(--ink);font-weight:600;background:var(--card);box-shadow:inset 0 0 0 1px var(--line)}
.tools{display:flex;align-items:center;gap:8px}
.seg2{display:inline-flex;padding:3px;border-radius:999px;background:var(--card);border:1px solid var(--line)}
.seg2 button{all:unset;cursor:pointer;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;padding:5px 9px;border-radius:999px;color:var(--ink-3);transition:background .2s,color .2s}
.seg2 button[aria-pressed="true"]{background:var(--ink);color:var(--paper);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.seg2 button:focus-visible,.nav-btn:focus-visible,.icon-btn:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}
.icon-btn{all:unset;cursor:pointer;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:var(--card);color:var(--ink-2)}
.icon-btn:hover{color:var(--ink);border-color:var(--line-2)}
.nav-btn{all:unset;cursor:pointer;display:none;width:40px;height:40px;border-radius:50%;place-items:center;border:1px solid var(--line);background:var(--card)}
.nav-btn span{display:block;width:16px;height:1.5px;background:var(--ink);position:relative;--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.nav-btn span::before,.nav-btn span::after{content:"";position:absolute;left:0;width:16px;height:1.5px;background:var(--ink);transition:transform .25s var(--ease);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.nav-btn span::before{top:-5px}.nav-btn span::after{top:5px}
header.top.menu-open .nav-btn span{background:transparent}
header.top.menu-open .nav-btn span::before{transform:translateY(5px) rotate(45deg)}
header.top.menu-open .nav-btn span::after{transform:translateY(-5px) rotate(-45deg)}
@media (max-width:1100px){header.top .tools .btn-go{display:none}}
@media (max-width:960px){
  .nav-btn{display:grid}
  .nav{position:absolute;top:calc(var(--head) + env(safe-area-inset-top,0px));left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 16px;background:rgba(250,248,244,.98);border-bottom:1px solid var(--line);display:none}
  header.top.menu-open .nav{display:flex}
  .nav a{padding:14px 8px;border-radius:0;border-bottom:1px solid var(--line);font-size:16px}
  .nav a[aria-current="page"]{box-shadow:none;background:transparent;color:var(--green-ink)}
}
@media (max-width:420px){.tools .seg2:nth-of-type(2) button{padding:5px 7px}}
.price-note{font-size:12.5px;color:var(--ink-3)}
.price-note b{font-weight:600;color:var(--ink-2)}

/* Contacto rápido (speed dial) */
.qc{position:fixed;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));z-index:61}
.qc-btn{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:10px;height:48px;padding:0 20px 0 16px;border-radius:999px;background:var(--ink);color:var(--paper);font-weight:600;font-size:14.5px;box-shadow:0 16px 40px -14px rgba(19,19,19,.55);transition:transform .2s var(--ease);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.qc-btn:hover{transform:translateY(-2px)}.qc-btn:active{transform:scale(.97)}
.qc-btn:focus-visible{outline:2px solid var(--green-ink);outline-offset:3px}
.qc-btn i{width:10px;height:10px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(14,107,74,.22);animation:pulse 1.8s ease-in-out infinite;color:var(--on-green)}
.qc-menu{position:absolute;left:0;bottom:60px;width:min(320px,calc(100vw - 36px));background:var(--card);border:1px solid var(--line);border-radius:22px;padding:8px;box-shadow:0 30px 80px -30px rgba(19,19,19,.45);display:flex;flex-direction:column;gap:4px;opacity:0;transform:translateY(10px) scale(.98);transform-origin:bottom left;pointer-events:none;transition:opacity .25s var(--ease),transform .25s var(--ease)}
.qc.open .qc-menu{opacity:1;transform:none;pointer-events:auto}
.qc-menu a,.qc-menu button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:12px;align-items:center;padding:11px 12px;border-radius:14px;transition:background .2s}
.qc-menu a:hover,.qc-menu button:hover,.qc-menu a:focus-visible,.qc-menu button:focus-visible{background:#F3F0E9}
.qc-menu .ic{flex:none;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:#F3F0E9;font-size:17px}
.qc-menu .go .ic{background:var(--green);color:var(--on-green)}
.qc-menu b{display:block;font-size:14.5px;font-weight:600}
.qc-menu small{display:block;font-size:12.5px;color:var(--ink-3)}
.qc-menu .copied small{color:var(--green-ink)}
@media (max-width:820px){.qc{display:none}}
.mbar .btn-line{background:var(--card)}

/* Pie común */
.sfoot{background:var(--night);color:var(--on-night);padding-block:56px 36px;--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.sfoot .grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:32px}
.sfoot .logo{font-size:30px;color:var(--on-night)}.sfoot .logo i{color:var(--green)}
.sfoot p,.sfoot li,.sfoot a{font-size:14px;color:var(--on-night-2);text-decoration:none;line-height:1.7}
.sfoot a:hover{color:var(--on-night)}
.sfoot ul{list-style:none;margin:0;padding:0}
.sfoot h4{margin:0 0 8px;font-family:var(--mono);font-weight:500;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--green)}
.sfoot .legal{margin-top:36px;padding-top:20px;border-top:1px solid rgba(250,248,244,.14);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--on-night-2)}
@media (max-width:860px){.sfoot .grid{grid-template-columns:1fr 1fr}.sfoot .grid>div:first-child{grid-column:1/-1}}
@media (max-width:820px){.sfoot{padding-bottom:110px}}

/* Landings: secciones de altura libre (sin snap), mismo sistema de movimiento */
html:not(.snap) .sec{padding-block:clamp(72px,11vh,120px)}
html:not(.snap) .sec.lp-hero{padding-top:calc(var(--head) + clamp(48px,9vh,96px));min-height:min(100svh,920px);display:flex;flex-direction:column;justify-content:center}
.lp-hero h1{font-size:clamp(37px,min(5.46vw,8.58vh),81px);line-height:.94}
.lp-hero .lead{font-size:clamp(17px,1.5vw,20px);color:var(--ink-2);max-width:36em}
.crumbs{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.crumbs a{color:inherit;text-decoration:none}.crumbs a:hover{color:var(--green-ink)}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:24px}
.plan.hi{border:2px solid var(--green);box-shadow:0 30px 70px -40px rgba(14,107,74,.6)}
.plan.dark{background:var(--night);color:var(--on-night);border-color:var(--night);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.plan .bd{position:absolute;top:-12px;left:20px;font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;padding:4px 10px;border-radius:999px;background:var(--green);color:var(--on-green)}
.plan .nm{font-family:var(--serif);font-size:25px;line-height:1}
.plan .pr{font-family:var(--serif);font-size:clamp(31px,3.12vw,42px);line-height:1}
.plan .pr small{font-family:var(--sans);font-size:13px;color:var(--ink-3);margin-left:6px}
.plan.dark .pr small,.plan.dark .tg{color:var(--on-night-2)}
.plan .tg{font-size:14.5px;color:var(--ink-2)}
.plan ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14.5px}
.plan li{display:flex;gap:10px;line-height:1.4}
.plan li::before{content:"✓";flex:none;width:18px;height:18px;border-radius:50%;background:var(--green);color:var(--on-green);font-size:10px;font-weight:700;display:grid;place-items:center;margin-top:2px}
.plan .btn{margin-top:auto}
.incexc{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.incexc>div{border:1px solid var(--line);border-radius:22px;padding:22px;background:var(--card)}
.incexc h3{font-size:22px;margin-bottom:12px}
.incexc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;font-size:15px}
.incexc li{display:flex;gap:10px;line-height:1.45}
.incexc .inc li::before{content:"✓";flex:none;width:20px;height:20px;border-radius:50%;background:var(--green);color:var(--on-green);font-size:11px;font-weight:700;display:grid;place-items:center;margin-top:1px}
.incexc .exc li::before{content:"–";flex:none;width:20px;height:20px;border-radius:50%;background:#EDE9E1;color:var(--ink-3);font-size:13px;font-weight:700;display:grid;place-items:center;margin-top:1px}
.incexc .exc{background:transparent;border-style:dashed}
@media (max-width:760px){.incexc{grid-template-columns:1fr}}
.faq{display:flex;flex-direction:column;border-top:1px solid var(--line);max-width:900px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 4px;font-size:clamp(16px,1.4vw,18px);font-weight:600}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:20px;color:var(--green-ink);transition:transform .25s var(--ease)}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 4px 18px;color:var(--ink-2);max-width:62em}
.faq summary:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}
.lp-cta{background:var(--night);color:var(--on-night);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.lp-cta h2{color:var(--on-night)}.lp-cta h2 em{color:var(--green)}
.lp-cta .muted{color:var(--on-night-2)}
.lp-cta .btn-line{background:transparent;color:var(--on-night);border-color:rgba(250,248,244,.45)}
.wa-pre{white-space:pre-wrap;font-family:var(--mono);font-size:11.5px;line-height:1.5;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px;margin:8px 0;max-height:180px;overflow:auto}
/* Panel del equipo (home): se abre desde el engranaje de la cabecera */
.fxp{left:auto;right:max(18px,env(safe-area-inset-right));bottom:auto;top:calc(var(--head) + 10px + env(safe-area-inset-top,0px))}
.fxp>#fx-btn{display:none}
.fxp .fx-box{left:auto;right:0;bottom:auto;top:0}
.rec-panel{flex-wrap:wrap;border-radius:16px;overflow:visible}
.rec-panel button{font-size:12.5px;padding:7px 10px}
/* Catálogo de 3 servicios */
.cat-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.cs .t::after{content:none}
.cs .sub{font-size:12.5px;color:var(--ink-3)}
.cs[aria-selected="true"] .sub{color:var(--on-night-2)}
.cs.full[aria-selected="true"] .sub{color:var(--ink-2)}
.cs.x[aria-selected="true"]{background:var(--night);border-color:var(--night);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.cs{height:calc(64px + var(--s) * 10px)}
.cat-view{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.cat-view button{all:unset;cursor:pointer;font-size:13px;font-weight:600;padding:7px 14px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2);transition:background .2s,color .2s,border-color .2s}
.cat-view button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink);--green:#7FD1A8;--green-ink:#9ADDB9;--on-green:#0B1F17;--green-soft:rgba(127,209,168,.14)}
.cat-view button:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px}
.cat-view .price-note{margin-left:auto}
.cat-ie>div{padding:18px 22px}
.cat-ie h3{font-size:20px;margin-bottom:10px}
.cat-ie ul{gap:8px;font-size:14.5px}
.cat-note a{color:var(--green-ink);font-weight:600;text-decoration:none}
.cat-note a:hover{text-decoration:underline}
@media (max-width:860px){.cat-view .price-note{margin-left:0;width:100%}}
.cs{height:auto;min-height:calc(70px + var(--s) * 10px);justify-content:flex-end}
.ct-h .pr small{font-family:var(--sans);font-size:12.5px;color:var(--ink-3)}
.ct-col.dark .ct-h .pr small{color:var(--on-night-2)}
.cat-note{text-align:right}
/* Correcciones de la base común */
body{margin:0}
button,input,select,textarea{font:inherit}
[hidden]{display:none!important}
.lp-hero .lead{font-size:inherit}
.lp-hero p.lead{font-size:clamp(17px,1.5vw,20px)}
.incexc li,.plan li{display:block;position:relative;padding-left:30px}
.plan li{padding-left:28px}
.incexc li::before,.plan li::before{position:absolute;left:0;top:1px}
.mbar .btn{font-size:13.5px;padding:0 8px;white-space:nowrap}
@media (min-width:821px){.sfoot{padding-bottom:96px}}

/* ═════════ Sistema v3: una sola tipografía, verde profesional, cursor de precisión ═════════ */
.tl-t,.nums b,.steps4 .s strong,.eco-card .t,.eco-card .p,.stair .t,.au .t,.ct-h .pr,.ct-h .nm,.plan .pr,.plan .nm,.dg-next strong,.chap .num,.mani p.big,.cs .t,.f-price b,.incexc h3,.dg-bars .top2>span,.cf-done strong,.logo{font-weight:600;letter-spacing:-.03em}
.k,.lab,.crumbs,.tag,.bd{font-weight:600}
.logo{font-size:24px;letter-spacing:-.04em}
.logo i{font-style:normal;color:var(--green-ink)}
.btn-go:hover{background:var(--green-hi);box-shadow:0 12px 30px -14px rgba(14,107,74,.6)}
.live::before{background:#22A06B;box-shadow:0 0 0 3px rgba(34,160,107,.22)}
::selection{background:#CFE6DA;color:var(--ink)}
/* Cursor de precisión: punto y aro finos que se invierten sobre el fondo */
.trail{display:none!important}
.cur{width:6px;height:6px;margin:-3px 0 0 -3px;background:#fff;box-shadow:none;mix-blend-mode:difference}
.ring{width:30px;height:30px;margin:-15px 0 0 -15px;border:1px solid #fff;background:transparent;mix-blend-mode:difference;transition:width .3s var(--ease),height .3s var(--ease),margin .3s var(--ease),background .3s,opacity .3s}
.ring.big{width:46px;height:46px;margin:-23px 0 0 -23px;background:rgba(255,255,255,.1)}
.ring.flash{background:rgba(255,255,255,.4)}
/* Aviso de cookies */
.ck{position:fixed;left:0;right:0;margin-inline:auto;bottom:max(18px,env(safe-area-inset-bottom));z-index:70;width:min(560px,calc(100vw - 32px));background:var(--card);border:1px solid var(--line);border-radius:20px;padding:16px 18px;box-shadow:0 30px 70px -30px rgba(19,19,19,.45);display:flex;gap:14px;align-items:center;justify-content:space-between;animation:rise .45s var(--ease) both}
.ck p{font-size:13.5px;color:var(--ink-2);line-height:1.45}
.ck a{color:var(--green-ink);font-weight:600}
.ck .row{flex:none;flex-wrap:nowrap;gap:8px}
.ck .btn{min-height:40px;padding:0 16px;font-size:14px}
@media (max-width:820px){.ck{left:16px;right:16px;width:auto;bottom:calc(76px + env(safe-area-inset-bottom,0px));flex-direction:column;align-items:stretch}.ck .row{flex-wrap:wrap}.ck .row .btn{flex:1}}

.linkbtn{background:none;border:0;padding:0;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font:inherit}
