/* Páginas internas (servicios y casos): misma marca que la portada, sin animaciones pesadas */
.sub main{max-width:1100px;margin:0 auto;padding:8.5rem 5vw 0}
.crumbs{display:flex;flex-wrap:wrap;gap:.5rem;font:500 .62rem var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--dim);margin-bottom:2.2rem}
.crumbs a:hover{color:#fff}.crumbs span[aria-current]{color:var(--muted)}
.sub-hero{padding-bottom:4.5rem;border-bottom:1px solid var(--line)}
.sub-hero h1{font-size:clamp(2.6rem,7vw,5.6rem);letter-spacing:-.055em;line-height:1;margin:1.4rem 0 1.6rem;max-width:16ch}
.sub-hero .lead{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--muted);line-height:1.6;max-width:44rem}
.sub-hero .ctas{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}
.sub-sec{padding:5rem 0;border-bottom:1px solid var(--line)}
.sub-sec>h2{font-size:clamp(1.9rem,4.2vw,3.2rem);max-width:20ch;margin:1rem 0 2.4rem}
.sub-sec .prose{max-width:46rem;color:var(--muted);line-height:1.75;font-size:1.04rem}
.prose p+p{margin-top:1.1rem}.prose strong{color:var(--fg);font-weight:500}
.prose a{color:var(--c1l);text-decoration:underline;text-decoration-color:rgba(191,213,242,.4);text-underline-offset:3px}
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.feat{padding:1.6rem;border-radius:18px}
.feat .mono{color:var(--c2);font-size:.6rem}
.feat h3{font-size:1.2rem;letter-spacing:-.02em;margin:.9rem 0 .6rem;line-height:1.2}
.feat p{color:var(--muted);line-height:1.6;font-size:.95rem}
.steps{display:grid;gap:0;counter-reset:s;max-width:52rem}
.steps li{display:grid;grid-template-columns:3.2rem 1fr;gap:1rem;padding:1.4rem 0;border-top:1px solid var(--line)}
.steps li:last-child{border-bottom:1px solid var(--line)}
.steps .mono{color:var(--c1);padding-top:.25rem}
.steps b{display:block;font-size:1.15rem;font-weight:500;margin-bottom:.35rem;letter-spacing:-.01em}
.steps p{color:var(--muted);line-height:1.6}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 2rem;max-width:52rem}
.checks li{position:relative;padding-left:1.7rem;color:var(--muted);line-height:1.5}
.checks li::before{content:"✓";position:absolute;left:0;color:var(--c2);font-weight:600}
.cmp{width:100%;max-width:52rem;border-collapse:collapse;font-size:.95rem}
.cmp th,.cmp td{text-align:left;padding:.95rem 1rem;border-bottom:1px solid var(--line);vertical-align:top}
.cmp thead th{font:500 .62rem var(--mono);text-transform:uppercase;letter-spacing:.16em;color:var(--dim)}
.cmp td{color:var(--muted)}.cmp td:first-child{color:var(--fg)}
.cmp-wrap{overflow-x:auto}
.shot{border-radius:18px;overflow:hidden;border:1px solid var(--line);margin-top:3rem;background:var(--bg2)}
.shot .win__bar{display:flex;align-items:center;gap:6px;padding:.7rem .9rem;border-bottom:1px solid var(--line)}
.shot .win__bar i{width:9px;height:9px;border-radius:50%;background:#ff6b5e}.shot .win__bar i:nth-child(2){background:#fbc58a}.shot .win__bar i:nth-child(3){background:#93d3a6}
.shot .win__bar b{margin-left:.8rem;font-size:.58rem;color:var(--dim)}
.shot img{display:block;width:100%;height:auto}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:3rem}
.facts div{padding:1.2rem 0;border-top:1px solid var(--line)}
.facts .mono{display:block;color:var(--dim);font-size:.58rem;margin-bottom:.5rem}
.facts b{font-weight:500}
.related{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.related a{padding:1.4rem;border-radius:18px;transition:border-color .3s,transform .3s}
.related a:hover{border-color:rgba(143,180,232,.45);transform:translateY(-3px)}
.related .mono{color:var(--dim);font-size:.58rem}
.related b{display:block;margin-top:.7rem;font-weight:500;font-size:1.1rem}
.related p{margin-top:.4rem;color:var(--muted);font-size:.9rem;line-height:1.5}
.sub .faq{padding:0}.sub .faq__list{margin:0;max-width:52rem}
.endcta{margin:5rem 0 4rem;padding:clamp(2rem,5vw,4rem);border-radius:24px;text-align:center}
.endcta h2{font-size:clamp(2rem,5vw,3.6rem);margin:1rem auto;max-width:18ch}
.endcta p{color:var(--muted);margin-bottom:2rem}
.sub .foot{max-width:1100px;margin:0 auto;padding:2rem 5vw 2.5rem}
.sub .nav__links a.on{color:#fff}
@media(max-width:900px){.feats,.related{grid-template-columns:1fr 1fr}.facts{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.feats,.related,.checks{grid-template-columns:1fr}.steps li{grid-template-columns:2.4rem 1fr}}
html.lite .glass{backdrop-filter:none;-webkit-backdrop-filter:none}

/* ---------- animaciones de entrada (solo si el JS está activo: html.anim) ---------- */
html.ct .curtain{transform:none}
html.anim .sub-hero>*,html.anim .crumbs{opacity:0;transform:translateY(34px)}
html.anim.go .crumbs,html.anim.go .sub-hero>*{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}
html.anim.go .sub-hero>:nth-child(1){transition-delay:.06s}
html.anim.go .sub-hero>:nth-child(2){transition-delay:.14s}
html.anim.go .sub-hero>:nth-child(3){transition-delay:.26s}
html.anim.go .sub-hero>:nth-child(4){transition-delay:.36s}
html.anim.go .sub-hero>:nth-child(n+5){transition-delay:.46s}
html.anim .sub-hero h1{clip-path:inset(0 0 -20% 0)}
html.anim .rv{opacity:0;transform:translateY(40px)}
html.anim .rv.vis{opacity:1;transform:none;transition:opacity .8s cubic-bezier(.2,.8,.2,1) var(--rd,0ms),transform 1s cubic-bezier(.2,.8,.2,1) var(--rd,0ms)}
/* el menú del celular: sus enlaces entran en cascada */
@keyframes dropIn{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
.sub .nav.open .nav__drop a{animation:dropIn .45s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--d,0) * 40ms + 60ms)}
