/* ============================================================
   GRUPO CISPE — Páginas legales
   ============================================================ */
:root{
  --bg-0:#050607;
  --bg-1:#0B0D0E;
  --bg-2:#141719;
  --bg-blue:#0A1018;
  --steel:#1D2226;
  --gray-mid:#596168;
  --gray-light:#B6BDC2;
  --white:#F2F4F2;
  --white-2:#C9D0CF;
  --blue:#2E6FA8;
  --blue-bright:#38B0F2;
  --blue-deep:#142A3B;
  --blue-glow:rgba(56,176,242,.35);
  --f-display:'Oswald','Bebas Neue',Impact,sans-serif;
  --f-body:'Inter Tight','Inter',system-ui,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,monospace;
  --maxw:900px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg-0);color:var(--white);font-family:var(--f-body);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}

/* Background subtle grid overlay */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.35;
  background-image:
    linear-gradient(rgba(56,176,242,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(56,176,242,.05) 1px, transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(circle at 50% 30%, #000 0%, transparent 70%);
  mask-image:radial-gradient(circle at 50% 30%, #000 0%, transparent 70%);
}
body > *{position:relative;z-index:1}

/* Top bar */
.legal-topbar{position:sticky;top:0;z-index:50;background:rgba(5,6,7,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(56,176,242,.18)}
.legal-topbar__inner{max-width:var(--maxw);margin:0 auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.legal-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--white)}
.legal-brand img{height:34px;width:auto}
.legal-brand__label{font-family:var(--f-display);font-weight:600;letter-spacing:.14em;text-transform:uppercase;font-size:15px;color:var(--white)}
.legal-brand__label span{color:var(--blue-bright)}
.legal-back{font-family:var(--f-mono);font-size:11px;color:var(--gray-light);text-decoration:none;letter-spacing:.14em;text-transform:uppercase;transition:color .2s}
.legal-back:hover{color:var(--blue-bright)}

/* Page */
.legal-page{max-width:var(--maxw);margin:0 auto;padding:64px 24px 96px}
.legal-eyebrow{font-family:var(--f-mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--blue-bright);margin-bottom:18px}
.legal-eyebrow::before{content:"// ";color:var(--gray-mid)}
.legal-title{font-family:var(--f-display);font-weight:600;letter-spacing:.02em;font-size:clamp(34px,5vw,52px);text-transform:uppercase;color:var(--white);margin-bottom:10px;line-height:1.05}
.legal-date{font-family:var(--f-mono);font-size:12px;color:var(--gray-mid);margin-bottom:44px;padding-bottom:26px;border-bottom:1px solid rgba(56,176,242,.15);text-transform:uppercase;letter-spacing:.1em}

.legal-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:52px}
.legal-nav a{display:inline-block;padding:9px 16px;border:1px solid rgba(56,176,242,.25);background:rgba(20,42,59,.4);font-family:var(--f-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-light);text-decoration:none;transition:all .2s}
.legal-nav a:hover{background:rgba(56,176,242,.15);border-color:var(--blue-bright);color:var(--white)}
.legal-nav a.active{background:var(--blue);border-color:var(--blue-bright);color:var(--white);box-shadow:0 0 20px rgba(56,176,242,.25)}

.legal-page h2{font-family:var(--f-display);font-weight:600;letter-spacing:.05em;font-size:22px;text-transform:uppercase;color:var(--blue-bright);margin:44px 0 18px;padding-left:14px;border-left:3px solid var(--blue-bright)}
.legal-page h3{font-family:var(--f-display);font-weight:500;letter-spacing:.04em;font-size:17px;text-transform:uppercase;color:var(--white);margin:26px 0 10px}
.legal-page p{color:var(--gray-light);margin-bottom:16px}
.legal-page ul{margin:0 0 18px 24px;color:var(--gray-light)}
.legal-page li{margin-bottom:8px}
.legal-page strong{color:var(--white);font-weight:600}
.legal-page a{color:var(--blue-bright);text-decoration:none;border-bottom:1px solid rgba(56,176,242,.35);transition:border-color .2s,color .2s}
.legal-page a:hover{color:var(--white);border-color:var(--white)}
.legal-page hr{border:none;border-top:1px solid rgba(56,176,242,.15);margin:32px 0}

/* Info block */
.legal-info{background:linear-gradient(180deg,rgba(20,42,59,.5),rgba(11,13,14,.6));border:1px solid rgba(56,176,242,.2);padding:22px 26px;margin:18px 0 26px;border-radius:2px}
.legal-info p{margin-bottom:6px;font-family:var(--f-mono);font-size:13px;color:var(--gray-light);line-height:1.6}
.legal-info p strong{color:var(--white)}

/* Footer */
.legal-foot{background:var(--bg-1);border-top:1px solid rgba(56,176,242,.18);padding:32px 24px;margin-top:40px}
.legal-foot__inner{max-width:var(--maxw);margin:0 auto;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;align-items:center}
.legal-foot p{font-family:var(--f-mono);font-size:11px;color:var(--gray-mid);letter-spacing:.14em;text-transform:uppercase}
.legal-foot a{color:var(--blue-bright);text-decoration:none}
.legal-foot a:hover{color:var(--white)}

@media (max-width:640px){
  .legal-topbar__inner{flex-direction:column;gap:10px;align-items:flex-start}
  .legal-page{padding:40px 20px 64px}
}
