/* css/site.css — sistema compartido de las páginas interiores, en el lenguaje
   de la home (rama rediseno-visual): tipografía SF, nav de vidrio que invierte
   sobre las hojas claras, hojas alternadas claro/oscuro con esquinas
   redondeadas, tarjetas de vidrio, botones con flecha, modal de agenda.
   La home (index.html) conserva su CSS propio; esta hoja la sigue. */

:root{--black:#020304;--white:#f3f5f6;--blue:#3098ff;--blue-hi:#8dd1ff;--blue-ink:#287fbe;--ease:cubic-bezier(.16,1,.3,1);
  --display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;
  --text:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;
  --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,monospace}
*{box-sizing:border-box}html{background:#000;scroll-behavior:smooth}body{margin:0;overflow-x:clip;background:#000;color:var(--white);font-family:var(--text);-webkit-font-smoothing:antialiased}
a{color:inherit}button{font:inherit}:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(141,209,255,.4);border-radius:8px}
.skip{position:absolute;left:-9999px;top:12px;z-index:200;padding:10px 14px;border-radius:10px;background:#fff;color:#07131b}.skip:focus{left:12px}
img{max-width:100%}
.wrap{width:min(1240px,100%);margin-inline:auto}

/* ---------- Nav (idéntico al de la home) ---------- */
.site-nav{position:fixed;z-index:100;top:16px;left:0;right:0;width:min(calc(100% - 32px),1200px);margin-inline:auto;min-height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:7px 22px;border:1px solid rgba(255,255,255,.17);border-radius:22px;background:linear-gradient(118deg,rgba(255,255,255,.10),rgba(255,255,255,.035) 52%,rgba(190,225,242,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 20px 54px rgba(0,0,0,.34);backdrop-filter:blur(32px) saturate(1.5);-webkit-backdrop-filter:blur(32px) saturate(1.5);transition:background .45s ease,border-color .45s ease,box-shadow .45s ease}
.nav-logo{justify-self:start;display:flex;align-items:center;gap:10px;text-decoration:none}.nav-logo img{display:block;width:44px;height:44px}.nav-logo .wordmark{font-size:21px}
.wordmark{display:inline-flex;align-items:baseline;color:#f5f7f8;font-family:var(--display);font-weight:700;letter-spacing:-.03em;line-height:1;text-transform:uppercase}.wordmark b{font-weight:700;color:var(--blue-hi)}
.nav-pill{justify-self:center;display:flex;align-items:center;gap:3px}
.nav-pill>a,.nav-group>button{display:flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border:0;border-radius:999px;background:transparent;color:rgba(255,255,255,.68);text-decoration:none;font-family:var(--text);font-size:.72rem;font-weight:500;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:background .22s ease,color .2s}
.nav-pill>a:hover,.nav-group>button:hover,.nav-group>button[aria-expanded="true"]{background:rgba(255,255,255,.1);color:#8dd1ff}
.nav-group{position:relative;display:flex;align-items:center;height:42px}.nav-group>button{gap:7px}.nav-group>button i{width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s ease}.nav-group>button[aria-expanded="true"] i{transform:rotate(225deg) translate(-1px,-1px)}
.nav-mega{position:fixed;top:87px;left:50%;width:min(720px,82vw);padding:12px;border:1px solid rgba(238,247,250,.12);border-radius:25px;background:linear-gradient(145deg,rgba(16,23,29,.98),rgba(6,10,13,.97));box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 34px 90px rgba(0,0,0,.58);backdrop-filter:blur(38px) saturate(1.12);-webkit-backdrop-filter:blur(38px) saturate(1.12);opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:opacity .22s ease,transform .22s ease,visibility .22s}
.nav-group.is-open .nav-mega{opacity:1;visibility:visible;transform:translate(-50%,0)}
.mega-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.mega-grid a{display:block;padding:15px;border-radius:10px;color:#fff;text-decoration:none;font-family:var(--text);font-size:13px;transition:background .18s,transform .3s var(--ease)}.mega-grid a:hover{background:rgba(141,209,255,.08);transform:translateX(4px)}.mega-grid a span{display:block;margin-top:5px;color:rgba(255,255,255,.52);font-family:var(--text);font-size:11px;line-height:1.45}.mega-grid a.is-featured{background:linear-gradient(135deg,rgba(141,209,255,.2),rgba(255,255,255,.05));border:1px solid rgba(141,209,255,.2)}
.nav-book{justify-self:end;display:inline-flex;align-items:center;min-height:32px;padding:0 18px;border:1px solid transparent;border-radius:999px;background:var(--blue-hi);color:#04222e;text-decoration:none;font-family:var(--text);font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 4px 14px rgba(10,25,35,.2);transition:transform .3s var(--ease),box-shadow .3s}
.nav-book:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),0 14px 34px rgba(141,209,255,.3)}.nav-book:active{transform:scale(.97)}
.nav-toggle{display:none;justify-self:end;width:48px;height:48px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(15,21,26,.6);color:#fff;backdrop-filter:blur(20px);cursor:pointer}
.mobile-menu{display:none}
.site-nav--clara{background:linear-gradient(118deg,rgba(255,255,255,.34),rgba(255,255,255,.16) 52%,rgba(202,226,242,.24));border-color:rgba(8,22,30,.13);box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 18px 44px rgba(16,32,42,.12);backdrop-filter:blur(30px) saturate(1.9);-webkit-backdrop-filter:blur(30px) saturate(1.9)}
.site-nav--clara .wordmark{color:#3a4249}.site-nav--clara .wordmark b{color:var(--blue-ink)}.site-nav--clara .nav-pill>a,.site-nav--clara .nav-group>button{color:rgba(7,22,29,.68)}.site-nav--clara .nav-pill>a:hover,.site-nav--clara .nav-group>button:hover{color:#07161d;background:rgba(7,22,29,.06)}
.site-nav--clara .nav-book{background:linear-gradient(150deg,rgba(9,24,32,.94),rgba(9,24,32,.8));border-color:rgba(9,24,32,.22);color:#eef7fa;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 26px rgba(16,32,42,.18)}.site-nav--clara .nav-book:hover{background:linear-gradient(150deg,#0b1f29,rgba(11,31,41,.9))}
.site-nav--clara .nav-toggle{border-color:rgba(8,22,30,.16);background:rgba(255,255,255,.5);color:#07161d}

/* ---------- Tipografía compartida ---------- */
.kicker{margin:0 0 14px;color:var(--accent,var(--blue-hi));font:500 9.5px/1.4 var(--mono);letter-spacing:.18em;text-transform:uppercase}
.h-display{margin:0;font-family:var(--display);font-weight:560;letter-spacing:-.05em;line-height:.96}
.h-display span{color:var(--accent,var(--blue-hi))}
.lead{max-width:560px;margin:0;color:var(--ink-2);font-family:var(--text);font-size:clamp(14px,1.2vw,17px);line-height:1.6}
.chips{display:flex;flex-wrap:wrap;gap:10px 12px}
.chips span{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:0 12px;border:1px solid var(--chip-border);border-radius:999px;background:var(--chip-bg);color:var(--ink-2);font:500 9.5px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.chips span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}

/* ---------- Botones ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:14px;min-height:52px;padding:5px 20px 5px 5px;border-radius:15px;text-decoration:none;font-family:var(--display);font-size:13px;font-weight:600;cursor:pointer;transition:transform .34s var(--ease),background .34s ease,box-shadow .34s ease}
.btn b{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:11px;font-size:16px;font-weight:500;transition:transform .34s var(--ease),background .3s ease,color .3s ease}
.btn:hover b{transform:translateX(4px)}
.btn--glass{border:1px solid rgba(255,255,255,.72);background:linear-gradient(145deg,rgba(244,249,252,.95),rgba(210,227,237,.82));color:#07131b;box-shadow:inset 0 1px 0 #fff,0 16px 36px rgba(0,0,0,.2)}
.btn--glass b{background:linear-gradient(145deg,#111b22,#030608);color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 7px 18px rgba(0,0,0,.24)}
.btn--glass:hover{transform:translateY(-2px);background:linear-gradient(145deg,rgba(244,249,252,.98),rgba(210,227,237,.88));box-shadow:inset 0 1px 0 #fff,0 18px 38px rgba(0,0,0,.24)}.btn--glass:hover b{color:var(--blue-hi)}
.sheet--light .btn--glass{border-color:rgba(255,255,255,.9);background:rgba(255,255,255,.46);box-shadow:inset 0 1px 0 #fff,0 12px 30px rgba(43,57,66,.1);backdrop-filter:blur(22px)}
.sheet--light .btn--glass:hover{background:rgba(255,255,255,.66);box-shadow:inset 0 1px 0 #fff,0 18px 38px rgba(43,57,66,.14)}.sheet--light .btn--glass:hover b{background:var(--blue-ink);color:#fff}
.btn--dark{border:1px solid rgba(255,255,255,.15);background:rgba(0,0,0,.72);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.btn--dark b{background:linear-gradient(180deg,var(--blue-hi),var(--blue));color:#03101b;box-shadow:inset 0 1px 0 #fff,0 0 25px rgba(48,152,255,.3)}
.btn--dark:hover{background:rgba(0,0,0,.86)}
.btn--ghost{min-height:auto;padding:0;gap:10px;border-radius:0;color:var(--ink);font-family:var(--text);font-size:12.5px;letter-spacing:.02em}
.btn--ghost b{width:28px;height:28px;flex-basis:28px;border-radius:9px;background:var(--ink);color:var(--ink-inverse);font-size:14px}
.btn--ghost:hover{color:var(--accent)}.btn--ghost:hover b{background:var(--accent)}
.actions{display:flex;flex-wrap:wrap;gap:14px 18px;align-items:center}

/* ---------- Hoja de portada (hero de página) ---------- */
.page-hero{position:relative;z-index:1;display:flex;align-items:flex-end;min-height:min(72svh,760px);padding:clamp(150px,20vh,210px) clamp(22px,5vw,76px) clamp(64px,8vh,96px);overflow:clip;background:#050708;color:var(--white);--ink:#f3f5f6;--ink-2:rgba(255,255,255,.64);--ink-inverse:#050708;--accent:#8dd1ff;--chip-border:rgba(141,209,255,.16);--chip-bg:rgba(8,18,25,.42)}
.page-hero::before{content:"";position:absolute;inset:0;background:url('../assets/bg-gov.jpg') 68% center/cover no-repeat;filter:grayscale(1) contrast(1.15) brightness(.5);opacity:.6}
.page-hero--tall{min-height:100svh;align-items:center}
.card .list{margin-top:6px}.card .list li{padding:9px 0;font-size:13px}.card .list li:last-child{border-bottom:0}
.page-hero--signal::before{background-image:url('../assets/bg-signal.jpg');background-position:center}
.page-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 74% 40%,rgba(48,152,255,.3),transparent 24%),linear-gradient(90deg,rgba(5,7,8,.94) 0%,rgba(5,7,8,.7) 40%,rgba(5,7,8,.2) 72%,rgba(5,7,8,.55) 100%),linear-gradient(180deg,rgba(5,7,8,.35),rgba(5,7,8,.1) 55%,rgba(5,7,8,.85)),linear-gradient(rgba(141,209,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(141,209,255,.06) 1px,transparent 1px);background-size:auto,auto,auto,52px 52px,52px 52px}
.page-hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:6vw;align-items:end}
.page-hero .kicker{animation:copy-in .8s var(--ease) .1s both}
.page-hero h1{max-width:14ch;margin:0;font-family:var(--display);font-size:clamp(42px,5.6vw,84px);font-weight:560;line-height:.94;letter-spacing:-.06em;animation:copy-in .9s var(--ease) .18s both}
.page-hero h1 span{color:var(--blue-hi)}
.page-hero .lead{margin-top:22px;animation:copy-in .9s var(--ease) .26s both}
.page-hero .actions{margin-top:30px;animation:copy-in .9s var(--ease) .34s both}
.page-hero .chips{margin-top:26px;animation:copy-in .9s var(--ease) .4s both}
.page-hero__aside{display:grid;gap:12px;animation:copy-in 1s var(--ease) .4s both}
.hero-panel{padding:20px 22px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(255,255,255,.06);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 24px 60px rgba(0,0,0,.35)}
.hero-panel h2{margin:0 0 12px;font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:-.02em}
.hero-panel ul{margin:0;padding:0;list-style:none;display:grid;gap:0}
.hero-panel li{display:grid;grid-template-columns:12px 1fr;gap:10px;align-items:baseline;padding:9px 0;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.72);font-size:13px;line-height:1.45}
.hero-panel li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue-hi);transform:translateY(-1px)}
@keyframes copy-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* ---------- Hojas (secciones) ---------- */
/* Las hojas van con bordes rectos: solo la primera tras la portada entra como
   hoja redondeada sobre el hero, y el cierre sobre la última. Con secciones
   cortas, redondear todas se convertía en un apilado de bandejas. */
.sheet{position:relative;z-index:2;padding:clamp(72px,9vw,118px) clamp(22px,5vw,76px) clamp(64px,8vw,104px);overflow:clip}
.page-hero+.sheet{z-index:2;margin-top:-42px;border-radius:42px 42px 0 0;box-shadow:0 -30px 90px rgba(0,0,0,.45)}
.sheet::before,.sheet::after{content:"";position:absolute;inset:0;pointer-events:none}
.sheet>.wrap{position:relative;z-index:2}
.sheet--light{background:#e3e6e8;color:#080b0e;--ink:#080b0e;--ink-2:rgba(8,11,14,.62);--ink-inverse:#f5f7f8;--accent:#287fbe;--line:rgba(8,22,30,.1);--chip-border:rgba(40,127,190,.3);--chip-bg:rgba(255,255,255,.5);--card-bg:linear-gradient(150deg,rgba(255,255,255,.74),rgba(255,255,255,.44));--card-border:rgba(255,255,255,.94);--card-shadow:inset 0 1px 0 #fff,0 18px 44px rgba(42,64,77,.1);--card-shadow-hover:inset 0 1px 0 #fff,0 28px 64px rgba(42,64,77,.16);--arrow-bg:#0b1f29;--arrow-ink:#fff}
.page-hero+.sheet--light{box-shadow:0 -30px 90px rgba(0,0,0,.45),inset 0 1px 0 #fff}
.sheet--light::before{background:linear-gradient(100deg,rgba(227,230,232,.97),rgba(227,230,232,.72) 50%,rgba(227,230,232,.42)),url('../assets/bg-signal.jpg') 62% center/cover no-repeat;filter:grayscale(.85);opacity:.5}
.sheet--light::after{background:radial-gradient(circle at 80% 12%,rgba(48,152,255,.18),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.62),transparent 48%)}
.sheet--dark{background:#070c10;color:#f3f5f6;--ink:#f3f5f6;--ink-2:rgba(255,255,255,.62);--ink-inverse:#070c10;--accent:#8dd1ff;--line:rgba(255,255,255,.12);--chip-border:rgba(141,209,255,.18);--chip-bg:rgba(8,18,25,.42);--card-bg:linear-gradient(120deg,rgba(255,255,255,.07),rgba(255,255,255,.025));--card-border:rgba(255,255,255,.13);--card-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 26px 70px rgba(0,0,0,.28);--card-shadow-hover:inset 0 1px 0 rgba(255,255,255,.18),0 34px 80px rgba(0,0,0,.4);--arrow-bg:#8dd1ff;--arrow-ink:#061018}
.sheet--dark::before{background:linear-gradient(100deg,rgba(7,12,16,.96),rgba(7,12,16,.7) 52%,rgba(7,12,16,.42)),url('../assets/bg-gov.jpg') 70% center/cover no-repeat;filter:grayscale(.85) brightness(.5);opacity:.55}
.sheet--dark::after{background:radial-gradient(circle at 75% 18%,rgba(48,152,255,.14),transparent 30%),linear-gradient(180deg,rgba(7,12,16,.2),transparent 40% 78%,rgba(5,8,11,.5)),linear-gradient(rgba(141,209,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(141,209,255,.05) 1px,transparent 1px);background-size:auto,auto,52px 52px,52px 52px}
.sheet--tight{padding-top:clamp(56px,7vw,88px);padding-bottom:clamp(56px,7vw,88px)}
.sheet-head{display:grid;grid-template-columns:1.25fr .75fr;gap:6vw;align-items:end;margin-bottom:clamp(30px,5vh,56px)}
.sheet-head .h-display{max-width:760px;font-size:clamp(32px,4.2vw,60px)}
.sheet-head .lead{max-width:440px;margin-bottom:7px;font-size:clamp(13px,1.1vw,16px)}
.sheet-head--stack{grid-template-columns:1fr;gap:0}.sheet-head--stack .lead{margin-top:20px;max-width:640px}

/* ---------- Tarjetas ---------- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cards--2{grid-template-columns:repeat(2,minmax(0,1fr))}.cards--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.card{position:relative;display:flex;flex-direction:column;gap:10px;min-height:170px;padding:22px 22px 22px;border:1px solid var(--card-border);border-radius:22px;background:var(--card-bg);box-shadow:var(--card-shadow);color:inherit;text-decoration:none;transition:transform .45s var(--ease),box-shadow .45s ease}
.card--link{padding-bottom:58px}
.card--link:hover{transform:translateY(-5px);box-shadow:var(--card-shadow-hover)}
.card .kicker{margin:0 0 6px;max-width:none;font-size:9px}
.card--feature p{max-width:60ch}
.card h3{margin:0;font-family:var(--display);font-size:clamp(18px,1.5vw,21px);font-weight:600;letter-spacing:-.03em;line-height:1.1}
.card p{margin:0;max-width:38ch;color:var(--ink-2);font-family:var(--text);font-size:13px;line-height:1.5}
.card .chip{align-self:flex-start;margin-top:auto;padding:4px 9px;border:1px solid var(--chip-border);border-radius:999px;color:var(--accent);font:500 8.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.card .chip--solid{background:var(--accent);border-color:var(--accent);color:var(--ink-inverse)}
.card--link::after{content:"→";position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--arrow-bg);color:var(--arrow-ink);font-size:14px;transition:transform .3s var(--ease),background .3s ease}
.card--link:hover::after{transform:translateX(3px);background:var(--accent);color:var(--ink-inverse)}
.card--num{padding-top:20px}
.card--num .num{display:block;margin-bottom:22px;color:transparent;-webkit-text-stroke:1.3px var(--accent);font-family:var(--display);font-size:clamp(44px,4.6vw,64px);font-weight:300;line-height:.8;opacity:.75}
.card--stat{gap:4px}.card--stat b{font-family:var(--display);font-size:clamp(30px,3vw,42px);font-weight:560;letter-spacing:-.05em;line-height:1}
.card--tall{min-height:260px}
.card--feature{grid-column:span 2}

.linklist{display:grid;gap:0;margin-top:8px}
.linklist a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line);color:var(--ink);text-decoration:none;font-size:14px;transition:color .25s ease}
.linklist a::after{content:"→";color:var(--accent);opacity:.6;transition:transform .3s var(--ease),opacity .3s}
.linklist a:hover{color:var(--accent)}.linklist a:hover::after{transform:translateX(3px);opacity:1}

.cards--plain{gap:0 clamp(24px,3vw,48px)}
.cards--plain .card{min-height:0;padding:22px 0 26px;border:0;border-top:1px solid var(--line);border-radius:0;background:none;box-shadow:none}
.cards--plain .card::before{content:"";position:absolute;top:-1px;left:0;width:44px;height:2px;background:var(--accent)}
.cards--plain .card p{max-width:none}
.cards--plain .card--num .num{margin-bottom:18px;font-size:clamp(40px,4vw,54px)}

/* ---------- Pasos (método) ---------- */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.step{position:relative;display:flex;flex-direction:column;gap:12px;padding:24px 0 6px;border-top:1px solid var(--line)}.step::before{content:"";position:absolute;top:-1px;left:0;width:44px;height:2px;background:var(--accent)}
.step .num{display:block;color:transparent;-webkit-text-stroke:1.3px var(--accent);font-family:var(--display);font-size:clamp(52px,5vw,72px);font-weight:300;line-height:.75;opacity:.8}
.step h3{margin:14px 0 0;font-family:var(--display);font-size:clamp(19px,1.6vw,23px);font-weight:600;letter-spacing:-.03em;line-height:1.1}
.step p{margin:0;color:var(--ink-2);font-size:13px;line-height:1.55}
.step .chip{align-self:flex-start;margin-top:auto;padding:6px 11px;border:1px solid var(--chip-border);border-radius:999px;background:var(--chip-bg);color:var(--ink-2);font:500 8.5px/1.3 var(--mono);letter-spacing:.06em;text-transform:uppercase}

/* ---------- Copy + panel lateral ---------- */
.split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(30px,5vw,80px);align-items:start}
.split .h-display{max-width:640px;font-size:clamp(28px,3.4vw,46px)}
.split .lead{max-width:600px;margin-top:20px}
.split .lead+.lead{margin-top:14px}
.split h3{margin:32px 0 12px;font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:-.02em}
.list{margin:0;padding:0;list-style:none;display:grid;gap:0;max-width:600px}
.list li{display:grid;grid-template-columns:14px 1fr;gap:12px;align-items:baseline;padding:12px 0;border-top:1px solid var(--line);color:var(--ink);font-size:14px;line-height:1.5}
.list li::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);transform:translateY(-1px)}
.list li:last-child{border-bottom:1px solid var(--line)}
.panel{padding:24px;border:1px solid var(--card-border);border-radius:24px;background:var(--card-bg);box-shadow:var(--card-shadow)}
.panel h3{margin:0 0 14px;font-family:var(--display);font-size:16px;font-weight:600;letter-spacing:-.02em}
.panel .list li{font-size:13px;padding:10px 0}
.panel .btn{margin-top:20px}
.panel p{margin:0;color:var(--ink-2);font-size:13px;line-height:1.55}

/* ---------- Afirmación / límite ---------- */
.claim{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;max-width:920px;padding:6px 0 6px 26px;border-left:3px solid var(--accent)}
.claim strong{font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.claim p{margin:0;color:var(--ink-2);font-size:14px;line-height:1.55}
.claim b{color:var(--accent)}

/* ---------- Flujo (portal) ---------- */
.flow{display:flex;flex-wrap:wrap;gap:8px}
.flow span{display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:0 14px;border:1px solid var(--card-border);border-radius:999px;background:var(--card-bg);box-shadow:var(--card-shadow);font:500 10px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.flow span:not(:last-child)::after{content:"→";color:var(--accent)}

/* ---------- Tabla de oferta (planes) ---------- */
.offer-group{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(24px,5vw,80px);padding:clamp(34px,5vh,56px) 0;border-top:1px solid var(--line)}
.offer-group:first-of-type{border-top:0;padding-top:0}
.offer-group h2{margin:0;font-family:var(--display);font-size:clamp(26px,3vw,40px);font-weight:560;letter-spacing:-.045em;line-height:1}
.offer-group>p{margin:14px 0 0;max-width:380px;color:var(--ink-2);font-size:14px;line-height:1.55}
.offer-group .cards{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}

/* ---------- Cierre: contacto integrado ---------- */
.closing{--ink:#f5f7f8;--ink-2:rgba(255,255,255,.66);--accent:#8dd1ff;position:relative;z-index:3;margin-top:-42px;padding:clamp(80px,10vw,130px) clamp(22px,5vw,76px) clamp(56px,6vw,84px);border-radius:42px 42px 0 0;background:#040607;color:#f5f7f8;overflow:clip;box-shadow:0 -30px 90px rgba(0,0,0,.5)}
.closing::before{content:"";position:absolute;z-index:0;inset:-8% 0;background:radial-gradient(circle at 70% 30%,rgba(48,152,255,.27),transparent 18%),url('../assets/bg-signal.jpg') center/cover no-repeat;filter:grayscale(.82) brightness(.35);opacity:.72}
.closing::after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(180deg,rgba(4,6,7,.08),rgba(4,6,7,.36) 62%,rgba(4,6,7,.72))}
.closing .wrap{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(40px,6vw,90px);align-items:start}
.closing h2{max-width:720px;margin:0;font-family:var(--display);font-size:clamp(50px,6.2vw,96px);line-height:.86;letter-spacing:-.07em;font-weight:560}
.closing h2 span{color:var(--blue-hi)}
.closing .lead{max-width:470px;margin-top:26px}
.closing-channels{display:grid;max-width:470px;margin-top:34px;border-top:1px solid rgba(255,255,255,.12)}
.closing-channels>*{display:grid;grid-template-columns:110px 1fr;gap:16px;align-items:baseline;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12);color:inherit;text-decoration:none}
.closing-channels i{color:rgba(255,255,255,.42);font:500 9px/1.4 var(--mono);font-style:normal;letter-spacing:.14em;text-transform:uppercase}
.closing-channels b{font-size:14px;font-weight:500;color:rgba(255,255,255,.88);transition:color .3s ease}.closing-channels a:hover b{color:var(--blue-hi)}
.closing .actions{margin-top:30px}
.cf{display:grid;gap:14px;padding:clamp(20px,2.4vw,30px);border:1px solid rgba(255,255,255,.16);border-radius:26px;background:rgba(255,255,255,.06);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 30px 80px rgba(0,0,0,.35)}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cf-field{display:grid;gap:7px}
.cf-field>span{color:rgba(255,255,255,.5);font:500 9px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.cf-field input,.cf-field select,.cf-field textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid rgba(255,255,255,.14);border-radius:13px;background:rgba(0,0,0,.34);color:#f5f7f8;font-family:var(--text);font-size:14px;line-height:1.4;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;-webkit-appearance:none;appearance:none}
.cf-field textarea{min-height:112px;resize:vertical}
.cf-field input::placeholder,.cf-field textarea::placeholder{color:rgba(255,255,255,.3)}
.cf-field select{padding-right:40px;background-image:linear-gradient(45deg,transparent 50%,rgba(255,255,255,.6) 50%),linear-gradient(135deg,rgba(255,255,255,.6) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 15px) 21px;background-size:5px 5px;background-repeat:no-repeat}
.cf-field select option{color:#0b1216;background:#fff}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{outline:none;border-color:rgba(141,209,255,.75);background:rgba(0,0,0,.46);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 0 0 3px rgba(48,152,255,.18)}
.cf-trap{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}
.cf-consent{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;margin-top:2px;color:rgba(255,255,255,.55);font-size:11.5px;line-height:1.5}
.cf-consent input{margin:2px 0 0;width:15px;height:15px;accent-color:var(--blue)}
.cf-consent a{color:rgba(255,255,255,.85);text-decoration:underline;text-underline-offset:2px}
.cf-submit{width:100%;justify-content:space-between;margin-top:4px;border:1px solid rgba(255,255,255,.15)}.cf-submit em{padding-right:14px;font-style:normal}
.cf-submit:disabled{opacity:.6;cursor:progress}
.cf-status{margin:0;padding:12px 14px;border-radius:12px;background:rgba(141,209,255,.1);color:#cfe9ff;font-size:13px;line-height:1.5}
.cf-status.is-error{background:rgba(255,90,73,.12);color:#ffb3aa}

/* ---------- Footer ---------- */
.site-footer{position:relative;z-index:3;padding:46px clamp(28px,5vw,76px) 28px;background:#040607;color:#eef3f5;border-top:1px solid rgba(255,255,255,.1)}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,1fr);gap:4vw}.footer-brand{max-width:350px}
.footer-logo{display:inline-flex;align-items:center;gap:12px;margin-bottom:22px;text-decoration:none}.footer-logo img{display:block;width:52px;height:52px}.footer-logo .wordmark{font-size:25px}
.footer-brand p{margin:0;color:rgba(255,255,255,.58);font-size:13px;line-height:1.6}
.footer-col h3{margin:5px 0 20px;color:rgba(255,255,255,.42);font-size:9px;font-weight:500;letter-spacing:.13em;text-transform:uppercase}
.footer-col a{display:block;margin:0 0 13px;color:rgba(255,255,255,.74);text-decoration:none;font-size:13px}.footer-col a:hover{color:#fff}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:40px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.4);font:400 9px/1.5 var(--mono);letter-spacing:.06em}

/* ---------- Modal de agenda ---------- */
.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px}.modal[hidden]{display:none}
.modal__bg{position:absolute;inset:0;background:rgba(2,4,6,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.modal__box{position:relative;width:min(960px,100%);max-height:calc(100svh - 40px);overflow:auto;padding:clamp(22px,3vw,34px);border:1px solid rgba(255,255,255,.16);border-radius:26px;background:linear-gradient(160deg,rgba(20,27,33,.96),rgba(8,12,16,.96));color:#f5f7f8;box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 40px 120px rgba(0,0,0,.6);animation:modal-in .45s var(--ease) both}
@keyframes modal-in{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}
.modal__x{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.16);border-radius:12px;background:rgba(255,255,255,.05);color:rgba(255,255,255,.7);font-size:15px;cursor:pointer;transition:background .25s ease,color .25s ease}.modal__x:hover{background:rgba(255,255,255,.12);color:#fff}
.modal__box h3{margin:0;padding-right:60px;font-family:var(--display);font-size:clamp(26px,3vw,38px);font-weight:570;letter-spacing:-.045em;line-height:1}
.modal__lead{max-width:560px;margin:12px 0 0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.55}
.modal__slot{margin-top:18px}.modal iframe{display:block;width:100%;height:min(640px,66svh);border:0;border-radius:16px;background:#fff}

/* ---------- Artículo (recursos) ---------- */
.prose{max-width:680px}
.prose p{margin:0 0 18px;color:var(--ink-2);font-family:var(--text);font-size:clamp(15px,1.15vw,17px);line-height:1.65}
.prose p:last-child{margin-bottom:0}
.prose b,.prose strong{color:var(--ink);font-weight:600}
.prose h3{margin:36px 0 12px;font-family:var(--display);font-size:clamp(20px,1.8vw,26px);font-weight:600;letter-spacing:-.03em;line-height:1.1}
.prose h3:first-child{margin-top:0}
.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.prose .claim{margin:28px 0}
.split .prose{max-width:none}
.tbl-wrap{overflow-x:auto;margin-top:clamp(30px,4vw,48px);border:1px solid var(--card-border);border-radius:22px;background:var(--card-bg);box-shadow:var(--card-shadow)}
.tbl{width:100%;min-width:640px;border-collapse:collapse;font-family:var(--text);font-size:13.5px;line-height:1.5}
.tbl th,.tbl td{padding:16px 22px;text-align:left;vertical-align:top;border-top:1px solid var(--line)}
.tbl thead th{border-top:0;color:var(--accent);font:500 9.5px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase}
.tbl tbody th{width:20%;color:var(--ink);font-family:var(--display);font-weight:600;letter-spacing:-.02em}
.tbl td{color:var(--ink-2)}.tbl td.is-hi{color:var(--ink)}
.tbl td.is-hi::before{content:"";display:inline-block;width:6px;height:6px;margin:0 9px 2px 0;border-radius:50%;background:var(--accent)}
.tbl caption{caption-side:bottom;padding:14px 22px 16px;text-align:left;color:var(--ink-2);font:500 9.5px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase}
.doc-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0 24px;margin-top:26px;border-top:1px solid var(--line)}
.doc-meta div{padding:14px 0;border-bottom:1px solid var(--line)}
.doc-meta i{display:block;margin-bottom:5px;color:var(--ink-2);font:500 9px/1.4 var(--mono);font-style:normal;letter-spacing:.14em;text-transform:uppercase}
.doc-meta b{font-family:var(--display);font-size:14px;font-weight:600;letter-spacing:-.02em}

/* ---------- Revelado ---------- */
.rvjs .reveal{opacity:0;transform:translateY(30px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rvjs .reveal.is-visible{opacity:1;transform:none}
.reveal:nth-child(2){transition-delay:.06s}.reveal:nth-child(3){transition-delay:.12s}.reveal:nth-child(4){transition-delay:.18s}.reveal:nth-child(5){transition-delay:.24s}.reveal:nth-child(6){transition-delay:.3s}

/* ---------- Safari / movimiento reducido ---------- */
.is-safari .site-nav,.is-safari .nav-mega,.is-safari .mobile-menu,.is-safari .btn--glass,.is-safari .hero-panel,.is-safari .cf{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.is-safari .site-nav{background:rgba(8,13,17,.9)}.is-safari .site-nav--clara{background:rgba(236,240,243,.94)}.is-safari .nav-mega,.is-safari .mobile-menu{background:rgba(7,11,14,.97)}.is-safari .cf,.is-safari .hero-panel{background:rgba(20,26,30,.92)}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

/* ---------- Responsive ---------- */
@media(max-width:1000px){.cards,.cards--4{grid-template-columns:repeat(2,minmax(0,1fr))}.card--feature{grid-column:span 2}.page-hero .wrap{grid-template-columns:1fr}.page-hero__aside{max-width:520px}}
@media(max-width:900px){
  .site-nav{grid-template-columns:1fr auto;padding-left:16px}.nav-logo img{width:38px;height:38px}.nav-logo .wordmark{font-size:19px}.nav-pill,.nav-book{display:none}.nav-toggle{display:block}
  .mobile-menu{position:fixed;z-index:99;top:88px;left:18px;right:18px;display:grid;gap:6px;padding:12px;border:1px solid rgba(255,255,255,.18);border-radius:25px;background:rgba(10,15,19,.94);backdrop-filter:blur(30px);opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .22s ease,transform .22s ease,visibility .22s}
  .mobile-menu.is-open{opacity:1;visibility:visible;transform:none}.mobile-menu a{padding:15px;border-radius:15px;color:#fff;text-decoration:none;font-size:15px}.mobile-menu a:hover{background:rgba(255,255,255,.08)}.mobile-menu .mobile-book{margin-top:5px;background:var(--blue);color:#06131c;text-align:center;font-weight:600}
  .sheet-head,.split,.offer-group,.closing .wrap{grid-template-columns:1fr}.sheet-head .lead{margin-top:16px}.closing .cf{max-width:640px}
}
@media(max-width:600px){
  .cards--plain{gap:0}.cards--plain .card{padding:20px 0}
  .site-nav{top:15px;width:calc(100% - 32px);border-radius:19px}
  .page-hero{padding:130px 20px 56px;min-height:0}.page-hero h1{font-size:clamp(38px,11vw,52px)}.page-hero .actions{align-items:stretch;flex-direction:column}.page-hero .actions .btn{width:100%}
  .sheet{padding:64px 20px 56px}.page-hero+.sheet{margin-top:-30px;border-radius:30px 30px 0 0}.sheet-head .h-display{font-size:clamp(30px,9vw,40px)}
  .cards,.cards--2,.cards--4,.steps{grid-template-columns:1fr}.card--feature{grid-column:auto}.card{min-height:0}
  .claim{grid-template-columns:1fr;gap:8px}.claim strong{white-space:normal}
  .closing{margin-top:-30px;padding:70px 20px 50px;border-radius:30px 30px 0 0}.closing h2{font-size:54px}.closing-channels>*{grid-template-columns:1fr;gap:4px}.cf{padding:16px;border-radius:20px}.cf-row{grid-template-columns:1fr}
  .site-footer{padding:46px 20px 24px}.footer-grid{grid-template-columns:1fr 1fr;gap:36px 22px}.footer-brand{grid-column:1/-1}.footer-bottom{align-items:flex-start;flex-direction:column}
  .flow span{min-height:34px;padding:0 11px;font-size:9px}
  .tbl th,.tbl td{padding:13px 16px;font-size:13px}.tbl-wrap{border-radius:18px}
}
@media(max-width:1000px) and (min-width:601px){.footer-grid{grid-template-columns:1.4fr repeat(2,1fr)}.footer-brand{grid-row:span 2}}
