/* Codenacci · sitio público (F1). CSS propio, sin CDN. Convertido de Codenacci.dc.html.
   Fuentes autoalojadas en /vendor/fonts/fuentes.css (si faltan, cae a Georgia / Segoe UI / sistema). */

*,*::before,*::after{box-sizing:border-box}
:root{
  --accent:#7b4dff;
  --accent-d:color-mix(in srgb,var(--accent) 82%,#000);   /* relleno de botones: contraste AA con texto blanco */
  --accent-ink:color-mix(in srgb,var(--accent) 76%,#000); /* acento como texto sobre fondo claro */
  --violet:#a58bff;--violet2:#5a2fe0;--teal:#27d9f7;--pink:#ff3d9a;--night:#0b0f1a;
  --grad:linear-gradient(90deg,#27d9f7 0%,#7b4dff 52%,#ff3d9a 100%);
  --ink:#1d1c1d;--txt:#3a3a3a;--line:#1b2236;--line2:#2a3350;--mut:#888;--soft:#b9b9b9;
  --panel:#111729;--cool:#f2f3f6;--rule:#dadce0;--hair:#f0f0f0;
  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --sans:'Montserrat','Segoe UI',system-ui,-apple-system,Roboto,'Helvetica Neue',Arial,sans-serif;
}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.site{margin:0;background:var(--night);color:#fff;font:400 16px/1.5 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:clip}
.site a{color:var(--teal);text-decoration:none}
.sec.light a:not([class]){color:var(--accent-ink)}
.site a:hover{color:var(--violet)}
.site img{max-width:100%;height:auto}
.site picture{display:block}
.site input,.site textarea,.site button,.site select{font-family:inherit}
.site ::placeholder{color:#888}
.site :focus-visible{outline:2px solid var(--violet);outline-offset:2px;border-radius:4px}
.site [hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:8px;z-index:200;background:#fff;color:#000!important;padding:10px 16px;border-radius:8px}
.skip:focus{left:8px}
.rel{position:relative}
.min0{min-width:0}
.stretch::after{content:"";position:absolute;inset:0}
.mt20{margin-top:20px}.mt24{margin-top:24px}.mt28{margin-top:28px}.mt40{margin-top:40px}.mt44{margin-top:44px}.mt48{margin-top:48px}.mt72{margin-top:72px}
.center{text-align:center}.mw760{max-width:760px}

/* ---------- Layout ---------- */
.wrap{max-width:1240px;margin:0 auto;padding-inline:20px}
.sec{padding-block:clamp(56px,8vw,88px)}
.sec.light{background:#fff;color:var(--ink)}
.sec.dark{background:var(--night)}
.sec.soft-dark{background:var(--panel);border-top:1px solid var(--line)}
.sec.other{background:var(--panel);border-top:1px solid var(--line);padding-block:clamp(48px,7vw,72px)}
.bt{border-top:1px solid var(--line)}.bt-l{border-top:1px solid var(--hair)}
.sec.dark.rel,.sec.soft-dark{overflow:hidden}

/* ---------- Tipografía ---------- */
.kicker{font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.kicker.sm{font-size:12px;letter-spacing:.12em}
.kicker.green{color:var(--teal)}.kicker.green2{color:var(--teal)}
.light .kicker.green{color:var(--accent-ink)}
.kicker.violet{color:var(--violet)}.kicker.violet2{color:var(--violet2)}.kicker.grey{color:var(--mut)}
.light .kicker.grey{color:#6b6b6b}
.h1,.h2{font-family:var(--serif);font-weight:400;margin:0}
.h1{font-size:clamp(40px,6vw,92px);line-height:1.02;letter-spacing:-.02em;margin-top:18px;max-width:1100px;text-wrap:balance}
.h1.xl{font-size:clamp(44px,5vw,80px);line-height:1.08;letter-spacing:0;margin-top:16px}
.h1.md{font-size:clamp(36px,4vw,64px);line-height:1.12;letter-spacing:0;margin-top:16px;text-wrap:pretty}
.h1.dk{color:var(--ink)}
.h1 em.g,.quote .g{font-style:italic;color:var(--accent-ink)}
.h2{font-size:clamp(30px,3vw,46px);line-height:1.18;margin-top:16px;text-wrap:pretty}
.h2.lg{font-size:clamp(34px,3.8vw,58px);line-height:1.15}
.lead-d{color:var(--soft);font-size:19px;line-height:1.6;margin:22px 0 0;max-width:480px;text-wrap:pretty}
.page-hero .lead-d{max-width:720px}
.lead-l{color:var(--ink);font-size:clamp(18px,1.6vw,22px);line-height:1.55;margin:0;text-wrap:pretty}
.body-l{color:var(--txt);font-size:16px;line-height:1.7;margin:20px 0 0;text-wrap:pretty}
.two-txt .body-l{font-size:17px;margin:0}
.body-l strong{color:var(--ink);font-weight:600}
.note{color:var(--mut);font-size:14px;margin:24px 0 0;max-width:720px}
.note.l{color:#6b6b6b}

/* ---------- Botones ---------- */
.btn-cta,.btn-submit,.btn-side,.btn-solid{background:linear-gradient(100deg,#6a3df0 0%,#a52fb8 55%,#d02a84 100%);color:#fff!important;border:1px solid transparent;border-radius:8px;cursor:pointer;font-size:15px;line-height:1.3;display:inline-block;text-align:center;transition:background .15s,color .15s}
.btn-cta{padding:18px 44px;white-space:nowrap}
.btn-cta:hover,.btn-submit:hover:not(:disabled),.btn-solid:hover{background:#fff;color:var(--violet2)!important;border-color:#fff}
.btn-out{color:#fff!important;font-size:15px;padding:16px 36px;border-radius:8px;border:1px solid #3a3a3a;display:inline-block}
.btn-out:hover{background:#fff;color:#000!important;border-color:#fff}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.btn-row .btn-cta{padding:16px 36px}

/* ---------- Cabecera ---------- */
.hdr{position:sticky;top:0;z-index:60;background:rgba(11,15,26,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hdr-in{max-width:1240px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:28px}
.brand{color:#fff!important;font-family:var(--serif);font-size:24px;white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}
.brand-txt .bdot{color:var(--teal)}
.site .brand-img,.brand-img{height:44px;width:auto;max-width:260px;display:block}
.hdr::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--grad);opacity:.9;pointer-events:none}
.nav{display:none;align-items:center;gap:28px;flex:1;min-width:0}
.nav-a{color:#fff!important;font-size:15px;padding:6px 0;border-bottom:2px solid transparent}
.nav-a:hover{color:#888!important}
.nav-a.on{border-bottom-color:var(--teal)}
.dd{position:relative;display:flex;align-items:center;gap:4px}
.dd-btn{background:none;border:0;color:#888;font-size:11px;cursor:pointer;padding:10px 8px;line-height:1}
.dd-menu{display:none;position:absolute;top:100%;left:-16px;margin-top:12px;min-width:300px;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px;box-shadow:0 4px 12px #00000026;gap:2px;z-index:70}
.dd-menu::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}
.dd.open .dd-menu{display:grid}
@media (hover:hover){.dd:hover .dd-menu{display:grid}}
.dd-h{color:var(--mut);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:8px 14px 4px}
.dd-a{display:flex;justify-content:space-between;gap:12px;padding:11px 14px;border-radius:8px;color:#fff!important;font-size:15px}
.dd-a small{color:var(--mut);font-size:12px}
.dd-a:hover{background:#1b2236;color:var(--teal)!important}
.dd-sep{height:1px;background:var(--line);margin:6px 0}
.hdr-end{margin-left:auto;display:flex;align-items:center;gap:18px}
.langs{display:flex;align-items:center;border:1px solid var(--line2);border-radius:100px;padding:3px;gap:2px}
.pill{color:#888!important;border-radius:100px;padding:6px 14px;font-size:13px;letter-spacing:.04em}
.pill.on,.pill.on:hover{background:#fff;color:#000!important}
.pill:hover{color:#fff!important}
.btn-login{display:none;background:#1d1c1d;color:#fff!important;font-size:14px;letter-spacing:.01em;padding:14px 30px;border-radius:8px;border:1px solid var(--line2);white-space:nowrap}
.btn-login:hover{background:#fff;color:#000!important;border-color:#fff}
.burger{width:44px;height:44px;border:1px solid var(--line2);border-radius:8px;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;padding:0}
.burger span{width:18px;height:1.5px;background:#fff;display:block;transition:transform .2s,opacity .2s}
.burger[aria-expanded=true] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.burger[aria-expanded=true] span:nth-child(2){opacity:0}
.burger[aria-expanded=true] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
.mnav{border-top:1px solid var(--line);padding:12px 20px 24px;display:grid;gap:2px;max-height:calc(100vh - 73px);overflow-y:auto}
.mnav>a{color:#fff!important;font-size:17px;padding:14px 0;border-bottom:1px solid var(--line)}
.mnav-grp{padding:14px 0;border-bottom:1px solid var(--line);display:grid;gap:2px}
.mnav-h{color:var(--mut)!important;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.mnav-s{color:#fff!important;font-size:16px;padding:10px 0 10px 12px;border-left:1px solid var(--line2);margin-top:2px}
.mnav .mnav-login{display:block;margin-top:16px;font-size:15px;padding:16px;text-align:center;border-bottom:1px solid var(--line2)}
@media (min-width:900px){
  .nav{display:flex}.btn-login{display:inline-block}.burger,.mnav{display:none!important}
}

/* ---------- Aurora (fondo animado) ---------- */
@keyframes cdAuroraA{0%{transform:translate(0,0) rotate(0) scale(1)}25%{transform:translate(12%,-8%) rotate(6deg) scale(1.12)}50%{transform:translate(22%,4%) rotate(0) scale(1)}75%{transform:translate(8%,10%) rotate(-6deg) scale(.92)}100%{transform:translate(0,0) rotate(0) scale(1)}}
@keyframes cdAuroraB{0%{transform:translate(0,0) scaleY(1)}25%{transform:translate(-14%,8%) scaleY(1.25)}50%{transform:translate(-4%,16%) scaleY(.9)}75%{transform:translate(10%,6%) scaleY(1.15)}100%{transform:translate(0,0) scaleY(1)}}
@keyframes cdAuroraC{0%{transform:translate(0,0) skewX(0)}25%{transform:translate(10%,12%) skewX(-10deg)}50%{transform:translate(-6%,18%) skewX(0)}75%{transform:translate(-14%,4%) skewX(10deg)}100%{transform:translate(0,0) skewX(0)}}
@keyframes cdFlow{0%{background-position:0% 50%;transform:translateX(-8%) rotate(-8deg)}50%{background-position:100% 50%;transform:translateX(8%) rotate(-4deg)}100%{background-position:0% 50%;transform:translateX(-8%) rotate(-8deg)}}
@keyframes cdHue{0%{filter:hue-rotate(0)}50%{filter:hue-rotate(-28deg)}100%{filter:hue-rotate(0)}}
@keyframes cdCurtain{0%{opacity:.3;transform:translateX(0) scaleY(.85)}25%{opacity:.9;transform:translateX(60%) scaleY(1.1)}50%{opacity:.5;transform:translateX(120%) scaleY(.95)}75%{opacity:.85;transform:translateX(60%) scaleY(1.15)}100%{opacity:.3;transform:translateX(0) scaleY(.85)}}
@keyframes cdTwinkle{from{opacity:.15}to{opacity:.85}}
@keyframes cdFade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.aurora{position:absolute;inset:0;overflow:hidden;pointer-events:none;animation:cdHue 40s ease-in-out infinite}
.aurora.soft{opacity:.4}
.ab{position:absolute;border-radius:50%;filter:blur(60px);will-change:transform,opacity;mix-blend-mode:screen}
.ab.ribbon{left:-20%;top:30%;width:140%;height:26%;filter:blur(50px);background-image:linear-gradient(90deg,rgba(39,217,247,.55),rgba(110,170,240,.45),rgba(123,77,255,.55),rgba(39,217,247,.55));background-size:300% 100%;animation:cdFlow 30s ease-in-out infinite}
.ab.a{left:-10%;top:42%;width:62%;height:34%;background:radial-gradient(ellipse at center,rgba(39,217,247,.85) 0%,rgba(39,217,247,.25) 45%,transparent 70%);animation:cdAuroraA 26s linear infinite}
.ab.b{left:26%;top:22%;width:26%;height:52%;background:radial-gradient(ellipse at center,rgba(130,200,235,.7) 0%,rgba(90,140,220,.25) 50%,transparent 72%);animation:cdAuroraB 32s linear infinite}
.ab.c{left:44%;top:8%;width:28%;height:58%;background:radial-gradient(ellipse at center,rgba(123,77,255,.75) 0%,rgba(140,80,220,.25) 50%,transparent 72%);animation:cdAuroraC 29s linear infinite}
.ab.d{left:60%;top:-14%;width:52%;height:44%;background:radial-gradient(ellipse at center,rgba(255,61,154,.9) 0%,rgba(220,40,150,.3) 45%,transparent 70%);animation:cdAuroraA 36s linear -12s infinite reverse}
.ab.e{left:14%;top:34%;width:9%;height:46%;filter:blur(28px);background:linear-gradient(180deg,transparent,rgba(150,235,252,.6),transparent);animation:cdCurtain 14s ease-in-out infinite}
.ab.f{left:50%;top:18%;width:7%;height:50%;filter:blur(26px);background:linear-gradient(180deg,transparent,rgba(255,170,215,.55),transparent);animation:cdCurtain 17s ease-in-out -5s infinite}
.ab.g{left:33%;top:26%;width:6%;height:48%;filter:blur(24px);background:linear-gradient(180deg,transparent,rgba(190,225,255,.5),transparent);animation:cdCurtain 20s ease-in-out -9s infinite}
.av{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,15,26,0) 40%,rgba(11,15,26,.65) 100%)}
.stars{position:absolute;inset:0;background-repeat:no-repeat}
.stars.s1{animation:cdTwinkle 4.2s ease-in-out 0s infinite alternate}
.stars.s2{animation:cdTwinkle 5.6s ease-in-out .9s infinite alternate}
.stars.s3{animation:cdTwinkle 7.1s ease-in-out 2.2s infinite alternate}
.stars.s1{background-image:radial-gradient(circle 1px at 49.04% 39.26%,rgba(255,255,255,0.47) 0 90%,transparent 100%),radial-gradient(circle 1.5px at 5.01% 65.74%,rgba(255,255,255,0.47) 0 90%,transparent 100%),radial-gradient(circle 1px at 7.96% 64.84%,rgba(255,255,255,0.49) 0 90%,transparent 100%),radial-gradient(circle 1px at 49.58% 30.72%,rgba(255,255,255,0.47) 0 90%,transparent 100%),radial-gradient(circle 1px at 21.52% 27.55%,rgba(255,255,255,0.38) 0 90%,transparent 100%),radial-gradient(circle 1px at 15.44% 49.50%,rgba(255,255,255,0.68) 0 90%,transparent 100%),radial-gradient(circle 1px at 23.03% 20.72%,rgba(255,255,255,0.33) 0 90%,transparent 100%),radial-gradient(circle 1.5px at 35.94% 5.40%,rgba(255,255,255,0.28) 0 90%,transparent 100%),radial-gradient(circle 1.5px at 45.84% 67.69%,rgba(255,255,255,0.50) 0 90%,transparent 100%),radial-gradient(circle 1px at 44.40% 61.77%,rgba(255,255,255,0.43) 0 90%,transparent 100%),radial-gradient(circle 1px at 23.28% 51.80%,rgba(255,255,255,0.55) 0 90%,transparent 100%),radial-gradient(circle 1px at 74.16% 31.94%,rgba(255,255,255,0.30) 0 90%,transparent 100%),radial-gradient(circle 1px at 88.69% 66.36%,rgba(255,255,255,0.65) 0 90%,transparent 100%),radial-gradient(circle 1px at 58.54% 9.23%,rgba(255,255,255,0.55) 0 90%,transparent 100%),radial-gradient(circle 1px at 75.39% 64.72%,rgba(255,255,255,0.47) 0 90%,transparent 100%),radial-gradient(circle 1px at 30.89% 16.99%,rgba(255,255,255,0.36) 0 90%,transparent 100%)}
.stars.s2{background-image:radial-gradient(circle 1px at 87.89% 41.26%,rgba(255,255,255,0.64) 0 90%,transparent 100%),radial-gradient(circle 1px at 41.92% 38.52%,rgba(255,255,255,0.34) 0 90%,transparent 100%),radial-gradient(circle 1px at 40.17% 53.12%,rgba(255,255,255,0.36) 0 90%,transparent 100%),radial-gradient(circle 1px at 74.30% 9.23%,rgba(255,255,255,0.68) 0 90%,transparent 100%),radial-gradient(circle 1px at 35.98% 41.00%,rgba(255,255,255,0.75) 0 90%,transparent 100%),radial-gradient(circle 1px at 16.87% 2.62%,rgba(255,255,255,0.52) 0 90%,transparent 100%),radial-gradient(circle 1px at 8.64% 28.24%,rgba(255,255,255,0.46) 0 90%,transparent 100%),radial-gradient(circle 1px at 2.95% 42.03%,rgba(255,255,255,0.52) 0 90%,transparent 100%),radial-gradient(circle 1.5px at 91.48% 38.16%,rgba(255,255,255,0.66) 0 90%,transparent 100%),radial-gradient(circle 1px at 65.88% 10.79%,rgba(255,255,255,0.35) 0 90%,transparent 100%),radial-gradient(circle 1px at 17.84% 24.09%,rgba(255,255,255,0.53) 0 90%,transparent 100%),radial-gradient(circle 1px at 39.00% 2.23%,rgba(255,255,255,0.68) 0 90%,transparent 100%),radial-gradient(circle 1px at 21.05% 9.38%,rgba(255,255,255,0.73) 0 90%,transparent 100%),radial-gradient(circle 1px at 55.64% 39.70%,rgba(255,255,255,0.66) 0 90%,transparent 100%),radial-gradient(circle 1px at 34.45% 17.36%,rgba(255,255,255,0.43) 0 90%,transparent 100%)}
.stars.s3{background-image:radial-gradient(circle 1px at 49.86% 16.46%,rgba(255,255,255,0.53) 0 90%,transparent 100%),radial-gradient(circle 1px at 23.26% 38.29%,rgba(255,255,255,0.64) 0 90%,transparent 100%),radial-gradient(circle 1px at 4.77% 28.86%,rgba(255,255,255,0.73) 0 90%,transparent 100%),radial-gradient(circle 1px at 86.04% 52.32%,rgba(255,255,255,0.26) 0 90%,transparent 100%),radial-gradient(circle 1px at 58.75% 32.84%,rgba(255,255,255,0.70) 0 90%,transparent 100%),radial-gradient(circle 1px at 14.56% 34.58%,rgba(255,255,255,0.49) 0 90%,transparent 100%),radial-gradient(circle 1px at 45.14% 51.72%,rgba(255,255,255,0.61) 0 90%,transparent 100%),radial-gradient(circle 1.5px at 42.16% 8.42%,rgba(255,255,255,0.50) 0 90%,transparent 100%),radial-gradient(circle 1px at 97.27% 38.85%,rgba(255,255,255,0.63) 0 90%,transparent 100%),radial-gradient(circle 1px at 2.16% 67.16%,rgba(255,255,255,0.44) 0 90%,transparent 100%),radial-gradient(circle 1px at 48.48% 17.54%,rgba(255,255,255,0.42) 0 90%,transparent 100%),radial-gradient(circle 1px at 27.90% 24.15%,rgba(255,255,255,0.50) 0 90%,transparent 100%),radial-gradient(circle 1.5px at 32.09% 11.15%,rgba(255,255,255,0.65) 0 90%,transparent 100%),radial-gradient(circle 1px at 52.72% 42.71%,rgba(255,255,255,0.32) 0 90%,transparent 100%),radial-gradient(circle 1px at 81.45% 43.00%,rgba(255,255,255,0.48) 0 90%,transparent 100%)}
.aurora.is-off,.aurora.is-off *{animation-play-state:paused!important}
@media (max-width:700px){
  .ab{filter:blur(34px)}.ab.ribbon{filter:blur(30px)}
  .ab.e,.ab.f,.ab.g{display:none}
}

/* ---------- Portada: diapositivas ---------- */
.hero{overflow:hidden;background:var(--night);border-bottom:1px solid var(--line)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,15,26,.35) 0%,rgba(11,15,26,0) 40%,rgba(11,15,26,.55) 100%)}
.hero-in{padding-block:clamp(48px,8vw,96px) 32px;min-height:min(780px,calc(100vh - 73px));display:grid;grid-template-rows:1fr auto;gap:24px}
.slides{display:grid}
.slide{grid-area:1/1;display:grid;grid-template-rows:1fr auto;gap:32px;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}
.slide.on{opacity:1;visibility:visible}
.slide.on .slide-main{animation:cdFade .7s ease both}
.slide-main{align-self:center;display:grid;gap:28px;min-width:0}
.hero-t{font-family:var(--serif);font-weight:400;font-size:clamp(38px,6vw,92px);line-height:1;letter-spacing:-.02em;margin:0;max-width:1100px;text-wrap:balance}
.hero-t em{font-style:italic;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.08em;padding-bottom:.08em}
.hero-p{max-width:620px;margin:0;color:#e6e6e6;font-size:clamp(16px,1.4vw,18px);line-height:1.6;text-wrap:pretty}
.hero-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:20px 24px}
.hero-item{border-top:1px solid rgba(255,255,255,.22);padding-top:12px;min-width:0}
.hi-k{color:var(--violet);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.hi-t{color:#fff;font-size:16px;font-weight:500;margin-top:4px}
.hi-d{color:var(--soft);font-size:14px;line-height:1.55;margin-top:4px}
/* Slides 2–4: diseño visual (tarjetas con ícono, sellos y línea de tiempo) en vez de párrafos */
.slide-split{grid-template-columns:1fr;gap:26px;align-items:center}
.hero-t.sm{font-size:clamp(34px,4.4vw,66px);line-height:1.04}
.ss-head{display:grid;gap:18px;min-width:0}
.ss-quote{margin:0;max-width:520px;padding:4px 0 4px 16px;border-left:3px solid;border-image:linear-gradient(180deg,var(--teal),var(--violet)) 1;color:#dcdcdc;font-size:clamp(15px,1.25vw,17px);line-height:1.6;text-wrap:pretty}
.slide.on .pcard,.slide.on .seal,.slide.on .tl-step{animation:cdFade .6s ease both;animation-delay:var(--d,0ms)}
.pcards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.pcard{position:relative;padding:16px;border-radius:18px;background:linear-gradient(160deg,rgba(255,255,255,.10),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);min-width:0}
.pc-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,rgba(39,217,247,.38),rgba(140,133,255,.38));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);margin-bottom:12px}
.pc-n{position:absolute;top:14px;right:16px;font:500 12px var(--sans,inherit);letter-spacing:.12em;color:var(--violet)}
.pc-t{color:#fff;font-size:16px;font-weight:600}
.pc-d{color:var(--soft);font-size:13px;line-height:1.5;margin-top:4px}
.seals{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.seal{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);min-width:0}
.seal b{display:block;color:#fff;font-size:15px;font-weight:600;line-height:1.3}
.seal small{display:block;color:var(--soft);font-size:12.5px;line-height:1.45;margin-top:3px}
.seal-ck{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--violet));color:#07101c;box-shadow:0 0 0 4px rgba(111,220,200,.14)}
.tl{list-style:none;margin:0;padding:0;display:grid;gap:18px;position:relative}
.tl::before{content:"";position:absolute;left:22px;top:22px;bottom:22px;width:2px;background:linear-gradient(180deg,var(--teal),var(--violet));opacity:.7}
.tl-step{position:relative;padding-left:64px;min-width:0}
.tl-n{position:absolute;left:0;top:0;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#050607;border:2px solid transparent;background-image:linear-gradient(#050607,#050607),linear-gradient(135deg,var(--teal),var(--violet));background-origin:border-box;background-clip:padding-box,border-box;font-family:var(--serif);font-size:22px;color:#fff}
.tl-chip{display:inline-block;padding:3px 10px;border-radius:999px;background:rgba(140,133,255,.16);border:1px solid rgba(140,133,255,.4);color:#d9d6ff;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}
.tl-t{color:#fff;font-size:18px;font-weight:600;margin-top:8px}
.tl-d{color:var(--soft);font-size:13.5px;line-height:1.55;margin-top:4px}
@media (max-width:560px){
  .pcards{gap:10px}.pcard{padding:14px}.pc-d{display:none}.pc-ic{width:36px;height:36px;margin-bottom:10px}
  .seals{grid-template-columns:1fr;gap:8px}.seal{padding:11px 12px;align-items:center}.seal small{display:none}
}
@media (min-width:1000px){
  .slide-split{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:56px}
  .seals{grid-template-columns:repeat(2,minmax(0,1fr))}
  .slide-timeline .slide-split{grid-template-columns:1fr}
  .tl{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .tl::before{left:23px;right:calc(33.333% - 23px);top:23px;bottom:auto;width:auto;height:2px;background:linear-gradient(90deg,var(--teal),var(--violet))}
  .tl-step{padding-left:0;padding-top:64px}
}
.slide-meta{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;padding-top:14px;border-top:1px solid rgba(255,255,255,.28);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.sm-k{color:var(--teal)}.sm-b{color:#d6d6d6}
.dots{display:flex;align-items:center;gap:8px;height:8px}
.dot{position:relative;width:8px;height:8px;border-radius:100px;background:var(--line2);border:0;padding:0;cursor:pointer;transition:width .3s,background .3s}
.dot::before{content:"";position:absolute;inset:-10px -4px}
.dot.on{width:28px;background:var(--grad)}

/* ---------- Etapas, planes, extras, compromisos, pasos ---------- */
.stages{margin-top:36px;display:grid}
.stage{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:28px;padding:32px 0;border-top:1px solid var(--hair)}
.stage-h{display:flex;gap:20px;align-items:baseline}
.stage-n{font-family:var(--serif);font-size:52px;line-height:1;color:var(--rule)}
.stage h3{font-family:var(--serif);font-weight:500;font-size:26px;margin:0}
.stage .kicker{margin-top:4px;letter-spacing:.1em}
.stage-b{display:grid;gap:10px}
.stage-b p{margin:0;font-size:16px;line-height:1.65;color:var(--ink)}
.stage-b p.mute{color:var(--txt)}

.cards{display:grid;gap:24px}
.cards.plans{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
/* Todas las tarjetas igual; el estilo destacado (antes solo la del medio) aparece al pasar el cursor o con foco, y la tarjeta se eleva. */
.plan{position:relative;display:flex;flex-direction:column;padding:32px;border-radius:8px;background:var(--night);border:1px solid var(--line);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,background-color .35s ease,border-color .35s ease}
.plan::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;box-shadow:0 0 0 1px var(--accent),0 0 36px color-mix(in srgb,var(--accent) 35%,transparent);transition:opacity .35s ease}
.plan:hover,.plan:focus-within{background:var(--panel);border-color:var(--accent);transform:translateY(-8px);box-shadow:0 24px 48px #0000008c,0 4px 12px #00000026}
.plan:hover::after,.plan:focus-within::after{opacity:1}
.plan:hover .plan-cta,.plan:focus-within .plan-cta{letter-spacing:.1em}
.plan-t{font-family:var(--serif);font-weight:400;font-size:34px;line-height:1.1;margin:14px 0 0}
.plan-t a{color:#fff}.plan-t a:hover{color:var(--teal)}
.plan-for{color:var(--soft);font-size:15px;line-height:1.6;margin:12px 0 0}
.plan-prefix{color:var(--mut);font-size:14px;font-style:italic;margin-top:20px}
.dash{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:10px}
.plan-for+.dash{margin-top:20px}
.dash li{display:flex;gap:12px;font-size:15px;color:#fff}
.dash li span{color:var(--teal)}
.plan-cta{margin-top:auto;padding-top:26px;color:var(--violet);font-size:13px;letter-spacing:.06em;text-transform:uppercase;transition:letter-spacing .3s ease}

.cards.extras,.cards.minor{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.xcard{position:relative;background:var(--cool);border:1px solid var(--hair);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s}
.xcard:hover{box-shadow:0 4px 12px #00000026}
.xcard-img{width:100%;height:190px;object-fit:cover;display:block}
.xcard-b{padding:28px;display:flex;flex-direction:column;gap:12px;flex:1}
.xcard-t{font-family:var(--serif);font-weight:500;font-size:28px;line-height:1.2;margin:0}
.xcard-t a{color:var(--ink)}.xcard-t a:hover{color:var(--accent-ink)}
.xcard p{color:var(--txt);font-size:15px;line-height:1.6;margin:0}
.xcard-cta{margin-top:auto;padding-top:8px;color:var(--accent-ink);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.minor-c{border:1px solid var(--rule);border-radius:8px;padding:26px 28px}
.minor-c h3{font-family:var(--serif);font-weight:500;font-size:22px;margin:10px 0 0}
.minor-c p{color:var(--txt);font-size:15px;line-height:1.6;margin:10px 0 0}

.plans-l .plan{background:#fff;border:1px solid var(--rule);color:var(--ink)}
.plans-l .plan::after{box-shadow:0 0 0 2px var(--accent-ink)}
.plans-l .plan:hover,.plans-l .plan:focus-within{background:var(--cool);border-color:var(--accent-ink);transform:translateY(-8px);box-shadow:0 22px 44px #1d1c1d24,0 4px 12px #00000014}
.plans-l .plan-t a{color:var(--ink)}.plans-l .plan-t a:hover{color:var(--accent-ink)}
.plans-l .plan-for{color:var(--txt)}.plans-l .plan-prefix{color:#5f5f5f}
.plans-l .dash li{color:var(--ink)}.plans-l .dash li span{color:var(--accent-ink)}
.plans-l .kicker{color:var(--violet2)}.plans-l .plan-cta{color:var(--violet2)}
.cards.commits{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.commit{background:var(--night);border:1px solid var(--line);border-radius:8px;padding:28px}
.commit-n{color:var(--teal);font-family:var(--serif);font-size:24px}
.commit h3{font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.25;margin:10px 0 0}
.commit p{color:var(--soft);font-size:15px;line-height:1.6;margin:10px 0 0}
.rule{margin-top:56px;padding-top:32px;border-top:1px solid var(--line);max-width:860px}
.rule-i{color:var(--mut);font-size:14px;margin:0}
.rule-q{font-family:var(--serif);font-size:clamp(24px,2.4vw,36px);line-height:1.35;margin:12px 0 0;text-wrap:pretty}
.rule-a{font-family:var(--serif);font-style:italic;color:var(--teal);font-size:clamp(22px,2.2vw,30px);margin:12px 0 0}

.steps{list-style:none;padding:0;margin-block:44px 0;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.step{background:var(--cool);border:1px solid var(--hair);border-radius:8px;padding:32px}
.step h3{font-family:var(--serif);font-weight:500;font-size:26px;margin:12px 0 0}
.step p{color:var(--txt);font-size:15px;line-height:1.6;margin:12px 0 0}

.cta{border-top:1px solid var(--line)}
.shade-x{position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,15,26,.75) 0%,rgba(11,15,26,.2) 100%)}
.cta-in{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
.cta-txt{max-width:760px;min-width:0}
.cta-p{font-family:var(--serif);font-size:clamp(24px,2.4vw,36px);line-height:1.4;margin:16px 0 0;text-wrap:pretty}

/* ---------- Detalle de servicio ---------- */
.svc-hero{overflow:hidden;background:var(--night);border-bottom:1px solid var(--line)}
.svc-hero>picture{position:absolute;inset:0}
.svc-bg{width:100%;height:100%;object-fit:cover;opacity:.28;display:block}
.svc-shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--night) 10%,rgba(11,15,26,.6) 100%)}
.svc-in{padding-block:clamp(56px,8vw,88px)}
.back{color:var(--mut)!important;font-size:14px}.back:hover{color:#fff!important}
.svc-for{color:#fff;font-size:22px;line-height:1.5;max-width:700px;margin:20px 0 0;text-wrap:pretty}
.svc-intro{color:var(--soft);font-size:17px;line-height:1.65;max-width:700px;margin:16px 0 0;text-wrap:pretty}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:56px}
.two>div{min-width:0}
.prefix-l{color:#6b6b6b;font-size:15px;font-style:italic}
.dash-l{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:16px}
.dash-l li{display:flex;gap:14px;align-items:flex-start;border-bottom:1px solid var(--hair);padding-bottom:16px;color:var(--ink);font-size:17px}
.dash-l li span{color:var(--violet2)}
.grid-cells{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.cell{background:var(--night);padding:30px 26px}
.cell-n{color:var(--teal);font-family:var(--serif);font-size:32px;line-height:1}
.cell h3{font-size:17px;font-weight:500;margin:16px 0 4px}
.cell p{color:var(--mut);font-size:15px;line-height:1.6;margin:12px 0 0}
.others{margin-top:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:16px}
.other-a{display:block;border:1px solid var(--line);border-radius:8px;padding:24px;color:#fff!important;font-size:17px;background:var(--night)}
.other-a:hover{border-color:var(--violet);color:var(--teal)!important}

/* ---------- Nosotros y perfiles ---------- */
.two-txt{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:32px 56px}
.two-txt.top{align-items:start;gap:40px}
.grid-pillars{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:8px;overflow:hidden}
.pillar{background:#fff;padding:36px 32px;display:flex;flex-direction:column;gap:14px;min-width:0}
.pillar-v{align-self:flex-end;color:var(--accent-ink);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.pillar h3{font-family:var(--serif);font-weight:400;font-size:clamp(30px,2.8vw,40px);line-height:1.1;margin:0}
.pillar p{color:var(--txt);font-size:15px;line-height:1.65;margin:6px 0 0;text-wrap:pretty}
.team{margin:44px auto 0;max-width:760px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}
.member{position:relative;display:flex;flex-direction:column;transition:opacity .2s}
.member.has-link:hover{opacity:.85}
.avatar{width:180px;height:180px;border-radius:50%;object-fit:cover;display:block;margin:40px auto 0;border:1px solid var(--line2)}
.member-b{padding:24px 28px 36px;text-align:center}
.member h3{font-family:var(--serif);font-weight:400;font-size:28px;margin:0}
.member h3 a{color:#fff}.member h3 a:hover{color:#fff}
.member-r{color:var(--mut);font-size:14px;margin-top:4px}
.member-cta{margin-top:14px;color:var(--violet);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.grid-prob{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1px;background:var(--hair);border:1px solid var(--hair);border-radius:8px;overflow:hidden}
.prob{background:var(--cool);padding:30px 26px}
.prob h3{font-family:var(--serif);font-weight:400;font-size:24px;margin:0 0 10px}
.prob p{color:var(--txt);font-size:15px;line-height:1.6;margin:0}
.quote{font-family:var(--serif);font-size:clamp(24px,2.2vw,32px);line-height:1.35;margin:0;color:var(--ink);text-wrap:pretty}

.prof-top{padding-block:64px 48px}
.prof-meta{margin-top:36px;padding-top:20px;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:12px 40px;color:var(--mut);font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.prof-meta .w{color:#fff}
.prof-fig{background:var(--night);padding-bottom:64px}
.prof-fig figure{margin-block:0}
.prof-img{width:100%;height:clamp(320px,46vw,620px);object-fit:cover;border-radius:8px;display:block}
.prof-fig figcaption{color:var(--mut);font-size:13px;margin-top:12px}
.dek{font-family:var(--serif);font-style:italic;color:var(--soft);font-size:clamp(22px,2.2vw,30px);line-height:1.45;margin:28px 0 0;max-width:860px;text-wrap:pretty}
.prof-grid{display:flex;flex-wrap:wrap;gap:64px;align-items:flex-start}
.prof-text{min-width:0;flex:2 1 480px;max-width:760px;display:grid;gap:24px}
.prof-text p{font-size:18px;line-height:1.75;color:var(--txt);margin:0;text-wrap:pretty}
.prof-text p.p-lead{font-size:19px;color:var(--ink)}
.cap{float:left;font-family:var(--serif);font-size:88px;line-height:.8;margin:8px 12px 0 0;color:var(--accent-ink)}
.prof-text h2{font-family:var(--serif);font-weight:400;font-size:34px;line-height:1.2;margin:24px 0 0}
.prof-text blockquote{margin:32px 0;padding:36px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.prof-text blockquote p{font-family:var(--serif);font-size:clamp(28px,3vw,42px);line-height:1.3;color:var(--ink);text-wrap:balance}
.prof-side{min-width:0;flex:1 1 260px;display:grid;gap:36px;position:sticky;top:110px}
.side-h{color:var(--violet2);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding-bottom:10px;border-bottom:1px solid var(--rule)}
.prof-side p{color:var(--txt);font-size:15px;line-height:1.6;margin:14px 0 0}
.side-l{display:grid;gap:6px;margin-top:14px;font-size:15px;color:var(--txt)}
.side-l.dash2{gap:10px}
.dash2 div{display:flex;gap:10px}.dash2 span{color:var(--accent-ink)}
.btn-side{padding:16px 28px}
.btn-side:hover{background:var(--ink);border-color:var(--ink)}

/* ---------- Asesoría ---------- */
.contact-sec{border-bottom:1px solid var(--line)}
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:64px;align-items:start}
.contact-data{margin:38px 0 0;display:grid;gap:16px;font-size:16px}
.contact-data div{display:flex;gap:12px}
.contact-data dt{color:var(--mut);min-width:100px}
.contact-data dd{margin:0}
.contact-data a{color:#fff}.contact-data a:hover{color:var(--violet)}
.form-card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:36px;box-shadow:0 4px 12px #00000026;scroll-margin-top:96px}
.form-t{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.2;margin:10px 0 0}
.form-sub{color:var(--mut);font-size:15px;line-height:1.6;margin:12px 0 0}
.form{display:grid;gap:16px;margin-top:24px}
.fld{display:grid;gap:8px;font-size:14px;color:#fff}
.fld input,.fld select,.fld textarea{width:100%;background:var(--night);border:1px solid var(--line2);border-radius:8px;padding:15px;font-size:15px;color:#fff;color-scheme:dark}
.fld textarea{resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(39,217,247,.28)}
.site [aria-invalid=true]{border-color:#e0707a!important}
.ferr{color:#ff9a9a;font-size:13px}
.form-alert{margin:0;color:#ff9a9a;font-size:14px;border:1px solid #6b2a2f;border-radius:8px;padding:10px 14px}
.consent{display:grid;gap:6px}
.chk{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.55;color:#d6d6d6;cursor:pointer}
.chk input{margin-top:2px;width:18px;height:18px;accent-color:var(--accent);flex:none}
.chk a{color:var(--violet);text-decoration:underline}
.btn-submit{padding:16px 36px;width:100%}
.btn-submit:disabled{opacity:.7;cursor:default}
.form-ok{color:var(--teal);font-size:14px;margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cards.fit{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.fit-yes{background:var(--cool);border:1px solid var(--hair);border-radius:8px;padding:32px}
.fit-no{border:1px solid var(--rule);border-radius:8px;padding:32px}
.fit ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:14px}
.fit li{display:flex;gap:12px;font-size:16px;line-height:1.55;color:var(--ink)}
.fit-no li{color:var(--txt)}
.fit-yes li span{color:var(--accent-ink)}.fit-no li span{color:var(--violet2)}

/* ---------- Pie ---------- */
.ftr{position:relative;overflow:hidden;background:var(--night);border-top:1px solid var(--line)}
.ftr-in{position:relative;max-width:1224px;margin:0 auto;padding:64px 24px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:32px}
.ftr-in>div{min-width:0}
.ftr-brand .brand{font-size:24px}
.ftr-eyebrow{color:var(--mut);font-size:14px;line-height:1.6;margin:10px 0 0}
.ftr-h{font-family:var(--serif);font-weight:400;font-size:20px;line-height:1.3;margin:0 0 10px}
.ftr-p{color:#fff;font-size:14px;line-height:1.6;margin:0}
.ftr-p a{color:#fff}.ftr-p a:hover{color:var(--violet)}
.ftr-links{display:grid;gap:6px}
.ftr-links a{color:var(--mut);font-size:14px}.ftr-links a:hover{color:#fff}
.ftr-social{display:flex;gap:28px;align-items:flex-start;justify-content:flex-end}
.ftr-social a{color:#fff;display:inline-flex;padding:4px}.ftr-social a:hover{color:var(--mut)}
.ftr-bottom{position:relative;max-width:1224px;margin:0 auto;padding:0 24px 44px;color:var(--mut);font-size:13px;display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between}
.ftr-legal{display:flex;flex-wrap:wrap;gap:6px 18px}
.ftr-legal a{color:var(--mut)}.ftr-legal a:hover{color:#fff}

/* ---------- Aviso de cookies ---------- */
.cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:760px;margin:0 auto;background:var(--panel);border:1px solid var(--line2);border-radius:12px;padding:16px 18px;display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;box-shadow:0 8px 28px #000a;color:#e6e6e6;font-size:14px;line-height:1.5}
.cookies p{margin:0;flex:1 1 300px}
.cookies p a{color:var(--violet);text-decoration:underline}
.cookies-btns{display:flex;gap:10px;flex-wrap:wrap}
.cookies .btn-ghost,.cookies .btn-solid{font-size:14px;padding:10px 18px;border-radius:8px;cursor:pointer}
.btn-ghost{background:none;color:#fff;border:1px solid #3a3a3a}
.btn-ghost:hover{background:#fff;color:#000}

/* ---------- Legales ---------- */
.legal .narrow{max-width:820px}
.draft{display:inline-block;background:#fff6dd;border:1px solid #ecd9a0;color:#6b5400;font-size:13px;line-height:1.4;padding:6px 12px;border-radius:6px;margin:0 8px 8px 0}
.draft a{color:#6b5400;text-decoration:underline}
.legal h1{margin-top:12px}
.legal-date{color:#6b6b6b;font-size:13px;margin:14px 0 0}
.legal-intro{margin:24px 0 0}
.legal p,.legal li{font-size:16px;line-height:1.7;color:var(--txt)}
.legal p{margin:12px 0 0}
.legal ul{margin:12px 0 0;padding-left:22px;display:grid;gap:6px}
.legal h2{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.25;color:var(--ink);margin:36px 0 0}
.legal a{color:var(--accent-ink);text-decoration:underline}
.legal-tbl{overflow-x:auto;margin-top:14px}
.legal-tbl table{border-collapse:collapse;width:100%;min-width:460px;font-size:14px;color:var(--txt)}
.legal-tbl th,.legal-tbl td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--hair);vertical-align:top}
.legal-tbl th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#6b6b6b}
.legal-back{margin-top:40px!important}

/* ---------- Pantallas pequeñas ---------- */
@media (max-width:560px){
  .form-card{padding:24px 20px}
  .ftr-social{justify-content:flex-start}
  .btn-cta{padding-inline:28px}
  .plan{padding:26px 22px}
  .step,.fit-yes,.fit-no{padding:26px 22px}
  .hdr-in{gap:12px}
  .hdr-end{gap:10px}
  .pill{padding:6px 11px}
  .prof-grid{gap:40px}
  .cap{font-size:72px}
}

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .aurora,.aurora *{animation:none!important}
  .plan,.plan:hover,.plan:focus-within{transform:none!important;transition:none}
  .slide,.slide.on .slide-main,.slide.on .pcard,.slide.on .seal,.slide.on .tl-step{transition:none;animation:none}
  .dot,.burger span{transition:none}
}

/* ================= Sitio moderno: logo, movimiento y microinteracciones ================= */
html{scroll-behavior:smooth}
.site{animation:cdPage .5s ease both}
.site.leaving{opacity:0;transition:opacity .22s ease}
@keyframes cdPage{from{opacity:0}to{opacity:1}}

/* Scroll reveal (solo si hay JS: la clase rv-on la pone site.js) */
.rv-on .rv{opacity:0;transform:translateY(22px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--rd,0ms);will-change:opacity,transform}
.rv-on .rv.in{opacity:1;transform:none;will-change:auto}

/* Titulares: entrada sutil */
.hero-t{animation:cdRise .9s cubic-bezier(.2,.7,.2,1) both}
.hero-p{animation:cdRise .9s .12s cubic-bezier(.2,.7,.2,1) both}
@keyframes cdRise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero-t em{background-size:200% 100%;animation:cdShine 8s ease-in-out infinite alternate}
@keyframes cdShine{from{background-position:0 0}to{background-position:100% 0}}

/* Botones: elevación y presión */
.btn-cta,.btn-submit,.btn-side,.btn-solid,.btn-out,.btn-login,.btn-ghost{transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .2s ease,box-shadow .25s ease}
.btn-cta:hover,.btn-submit:hover:not(:disabled),.btn-side:hover,.btn-solid:hover,.btn-out:hover,.btn-login:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(106,61,240,.28)}
.btn-cta:active,.btn-submit:active,.btn-side:active,.btn-solid:active,.btn-out:active,.btn-login:active,.btn-ghost:active{transform:translateY(0) scale(.97);box-shadow:none}

/* Enlaces de navegación: subrayado animado */
.nav-a,.ftr-p a{position:relative}
.nav-a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:2px;background:var(--teal);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.nav-a:hover::after{transform:scaleX(1)}
.nav-a.on{border-bottom-color:transparent}.nav-a.on::after{transform:scaleX(1)}

/* Tarjetas e imágenes */
.pcard,.seal,.other-a,.member,.plan{transition:transform .35s cubic-bezier(.2,.7,.2,1),border-color .3s ease,box-shadow .35s ease,background-color .3s ease}
.pcard:hover,.other-a:hover,.member:hover{transform:translateY(-4px)}
.pcard:hover{border-color:rgba(39,217,247,.45);box-shadow:0 14px 34px rgba(0,0,0,.35)}
.other-a:hover{box-shadow:0 12px 28px rgba(0,0,0,.35)}
.member img,.sec img:not(.brand-img){transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.member:hover img{transform:scale(1.04)}
.member,.plan{overflow:hidden}

/* Indicadores del slider */
.dot{transition:width .35s ease,background-color .3s ease,transform .2s ease}
.dot:hover{transform:scale(1.25)}

/* Menús desplegables */
.dd-menu{transition:opacity .2s ease,transform .2s ease}
.mnav:not([hidden]){animation:cdRise .25s ease both}

/* Rendimiento: no pintar secciones lejanas hasta que se acercan */
.sec:not(:first-child){content-visibility:auto;contain-intrinsic-size:auto 600px}

@media (max-width:640px){
  .rv-on .rv{transform:translateY(14px);transition-duration:.5s}
  .btn-row{flex-direction:column}.btn-row .btn-cta,.btn-row .btn-out{width:100%;text-align:center}
}

@media (prefers-reduced-motion:reduce){
  .site,.hero-t,.hero-p,.hero-t em,.mnav:not([hidden]){animation:none!important}
  .rv-on .rv{opacity:1!important;transform:none!important;transition:none!important}
  .btn-cta,.btn-submit,.btn-side,.btn-solid,.btn-out,.btn-login,.btn-ghost,.pcard,.seal,.other-a,.member,.member img,.nav-a::after,.dot{transition:none!important}
  .btn-cta:hover,.btn-out:hover,.btn-login:hover,.btn-side:hover,.pcard:hover,.other-a:hover,.member:hover,.member:hover img,.dot:hover{transform:none!important}
}

/* Compromisos (Servicios): mismo efecto hover que las tarjetas de planes */
.commit{position:relative;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,background-color .35s ease,border-color .35s ease}
.commit::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;opacity:0;box-shadow:0 0 0 1px var(--accent),0 0 36px color-mix(in srgb,var(--accent) 35%,transparent);transition:opacity .35s ease}
.commit:hover{background:#151b2e;border-color:var(--accent);transform:translateY(-8px);box-shadow:0 24px 48px #0000008c,0 4px 12px #00000026}
.commit:hover::after{opacity:1}
@media (prefers-reduced-motion:reduce){.commit,.commit:hover{transform:none!important;transition:none}}

/* Logo: cabecera solo con el texto (gradiente original); pie con el logo completo */
.site .brand-img,.brand-img{filter:none;height:30px;max-width:220px}
.brand-full{display:block;height:auto;width:auto;max-height:150px;max-width:100%;filter:none}
.ftr-brand .brand-full{margin-bottom:6px}
