/* =========================================================
   NODO v2 — páginas secundarias (privacidad, gracias, 404)
   ========================================================= */

body.page{min-height:100vh; display:flex; flex-direction:column;}
body.page main{flex:1;}
/* en páginas interiores el botón del menú se ve también en celular */
.nav-cta{display:inline-flex;}

/* encabezado de página interior */
.page-hero{
  position:relative; overflow:hidden; isolation:isolate;
  padding:88px 0 56px; border-bottom:1px solid var(--line);
  background:
    radial-gradient(700px 360px at 85% 0%, rgba(20,60,100,.35), transparent 70%),
    var(--bg);
}
.page-hero h1{font-size:clamp(30px, 2.6vw + 16px, 50px); max-width:20ch;}
.page-hero .fecha{
  margin-top:20px; display:inline-flex; align-items:center; gap:10px;
  font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; color:var(--text-3);
  padding:6px 12px; border:1px solid var(--line-2); border-radius:999px;
}
.volver{display:flex; width:fit-content; align-items:center; gap:8px; font-size:14px; font-weight:500; color:var(--text-2); margin-bottom:28px; transition:color .2s;}
.volver:hover{color:var(--amber);}

/* ---------- PRIVACIDAD ---------- */
.doc-layout{display:grid; grid-template-columns:240px 1fr; gap:64px; padding:64px 0 112px; align-items:start;}
.doc-toc{position:sticky; top:104px;}
.doc-toc h2{
  font-family:var(--font-mono); font-size:11.5px; font-weight:500; letter-spacing:.14em; text-transform:uppercase;
  color:var(--text-3); margin-bottom:14px;
}
.doc-toc ol{list-style:none; border-left:1px solid var(--line);}
.doc-toc a{display:block; padding:7px 0 7px 16px; margin-left:-1px; border-left:1px solid transparent; font-size:14px; color:var(--text-2); transition:color .2s, border-color .2s;}
.doc-toc a:hover, .doc-toc a.active{color:var(--text); border-left-color:var(--amber);}

.doc{max-width:72ch;}
.doc > p:first-child{font-size:17.5px; color:var(--text);}
.doc h2{
  font-size:22px; text-transform:none; letter-spacing:-0.01em;
  margin:48px 0 14px; padding-top:28px; border-top:1px solid var(--line);
  display:flex; align-items:baseline; gap:14px;
}
.doc h2 .n{font-family:var(--font-mono); font-size:13px; font-weight:500; color:var(--amber);}
.doc p{color:var(--text-2); font-size:16px; margin-bottom:14px;}
.doc strong{color:var(--text);}
.doc ul{margin:6px 0 16px; padding:0; list-style:none; display:grid; gap:8px;}
.doc li{position:relative; padding-left:22px; color:var(--text-2); font-size:16px;}
.doc li::before{content:""; position:absolute; left:2px; top:.7em; width:7px; height:7px; border-radius:1px; background:var(--amber);}
.doc a{color:var(--amber); font-weight:600; text-decoration:underline; text-underline-offset:3px;}
.doc .destacado{
  margin:20px 0; padding:20px 22px; border-radius:var(--radius-sm);
  border:1px solid var(--amber-line); background:var(--amber-soft);
}
.doc .destacado p{margin:0; color:var(--text);}

/* ---------- GRACIAS / 404 ---------- */
.center-stage{
  flex:1; display:flex; align-items:center; position:relative; overflow:hidden; isolation:isolate;
  padding:96px 0;
  background:radial-gradient(700px 420px at 50% 30%, rgba(20,60,100,.32), transparent 70%), var(--bg);
}
.center-stage::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:48px 48px;
  -webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 45%, #000 20%, transparent 80%);
          mask-image:radial-gradient(ellipse 60% 60% at 50% 45%, #000 20%, transparent 80%);
}
.stage-card{max-width:600px; margin:0 auto; padding:52px 44px; text-align:center;}
.stage-card h1{font-size:clamp(26px, 2vw + 16px, 38px); margin:26px 0 14px;}
.stage-card p{color:var(--text-2); font-size:17px; max-width:46ch; margin:0 auto;}
.stage-card .acciones{margin-top:34px; display:flex; flex-wrap:wrap; justify-content:center; gap:12px;}

/* check animado */
.check-badge{
  width:76px; height:76px; margin:0 auto; border-radius:50%;
  display:flex; align-items:center; justify-content:center; position:relative;
  background:var(--amber); color:var(--amber-ink);
  box-shadow:0 0 0 10px rgba(242,169,59,.12), 0 0 40px rgba(242,169,59,.35);
}
.check-badge path{stroke-dasharray:30; stroke-dashoffset:30; animation:draw .6s .25s var(--ease) forwards;}
@keyframes draw{to{stroke-dashoffset:0;}}
.next-steps{margin-top:36px; text-align:left; border-top:1px solid var(--line); padding-top:26px; display:grid; gap:14px;}
.next-steps li{list-style:none; display:grid; grid-template-columns:32px 1fr; gap:12px; align-items:start; font-size:15px; color:var(--text-2);}
.next-steps b{
  width:28px; height:28px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-size:11.5px; font-weight:500; color:var(--amber); border:1px solid var(--amber-line);
}

/* 404 */
.err-code{
  font-family:var(--font-display); font-weight:700; line-height:.9; letter-spacing:-0.05em;
  font-size:clamp(96px, 16vw, 180px);
  color:transparent; -webkit-text-stroke:1.5px var(--amber);
  text-shadow:0 0 60px rgba(242,169,59,.25);
}
.err-mono{font-family:var(--font-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--text-3); margin-top:14px;}
.enlaces{margin-top:34px; padding-top:24px; border-top:1px solid var(--line); display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px; font-size:15px;}
.enlaces a{color:var(--text-2); font-weight:500;}
.enlaces a:hover{color:var(--amber);}
.stage-card.sin-tope{padding-top:0;}
.site-footer.compacto{padding-top:40px;}
.site-footer.compacto .footer-bottom{margin-top:0; border-top:none; padding-top:0;}

@media (max-width: 900px){
  .doc-layout{grid-template-columns:1fr; gap:28px; padding-top:40px;}
  .doc-toc{position:static; padding:20px; border:1px solid var(--line); border-radius:var(--radius);}
}
@media (max-width: 480px){
  .page-hero{padding:56px 0 40px;}
  .stage-card{padding:36px 22px;}
  .stage-card .acciones .btn{width:100%;}
}

/* subtítulos dentro del aviso y campos pendientes de capturar */
.doc h3{font-size:16px; margin:22px 0 8px; color:var(--text); text-transform:none; letter-spacing:-0.01em;}
.doc mark.pendiente{background:rgba(242,169,59,.22); color:var(--amber-hi); padding:1px 6px; border-radius:4px;}
.doc .destacado p + p{margin-top:10px;}
