@font-face{font-family:Newsreader;src:url(../fonts/newsreader-latin-opszwght-normal.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}
@font-face{font-family:Newsreader;src:url(../fonts/newsreader-latin-opszwght-italic.woff2) format("woff2");font-weight:200 800;font-style:italic;font-display:swap}
@font-face{font-family:Inter;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --blue:#1b4f72;--deep:#123a56;--leaf:#17784a;--leaf-d:#0f5f39;--green:#1f9a5c;--mint:#9bf6ba;
  --ink:#16222b;--mute:#44505a;--line:#cdd8e0;--tint:#eef4f8;--paper:#fff;
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;
  --r:6px;--r2:10px;
  --serif:Newsreader,Georgia,serif;--sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --max:1200px;--pad:clamp(20px,4vw,48px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{margin:0;font:400 1rem/1.6 var(--sans);color:var(--ink);background:var(--paper);overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p,ul,ol,figure,blockquote,dl,dd{margin:0}
ul,ol{padding:0;list-style:none}
a{color:var(--blue)}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:2px}
.oscuro :focus-visible,.cierre :focus-visible,.pie :focus-visible{outline-color:var(--mint)}
.saltar{position:absolute;left:var(--s4);top:-60px;background:var(--blue);color:#fff;padding:var(--s3) var(--s4);border-radius:var(--r);z-index:100;transition:top .12s var(--ease)}
.saltar:focus{top:var(--s3)}
.caja{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.seccion{padding:clamp(64px,9vw,112px) 0}
.seccion.tinte{background:var(--tint)}
.cabecera-sec{max-width:46rem;margin-bottom:var(--s7)}
.eyebrow{font:600 .75rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--leaf);margin-bottom:var(--s3)}
h2{font:500 clamp(1.75rem,3.2vw,2.5rem)/1.15 var(--serif);color:var(--deep);letter-spacing:-.01em}
h3{font:600 1.0625rem/1.3 var(--sans);color:var(--ink)}
.intro{color:var(--mute);margin-top:var(--s3);font-size:1.0625rem}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);min-height:48px;padding:0 var(--s5);border-radius:var(--r);font:600 .9375rem/1 var(--sans);text-decoration:none;border:2px solid transparent;cursor:pointer;transition:background-color .12s var(--ease),color .12s var(--ease),border-color .12s var(--ease)}
.btn svg{width:20px;height:20px;flex:none}
.btn-pri{background:var(--leaf);color:#fff}
.btn-pri:hover{background:var(--leaf-d)}
.btn-sec{background:#fff;color:var(--blue);border-color:var(--blue)}
.btn-sec:hover{background:var(--tint)}
.btn-claro{background:#fff;color:var(--deep)}
.btn-claro:hover{background:var(--mint)}
.btn-blq{width:100%}
.btn-txt{min-height:44px;padding:0 var(--s4);color:var(--blue);background:transparent;border-color:transparent}
.btn-txt:hover{background:var(--tint)}

/* cabecera */
.cab{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line)}
.cab .caja{display:flex;align-items:center;gap:var(--s5);min-height:72px}
.marca{display:flex;align-items:center;gap:var(--s3);text-decoration:none;color:var(--deep)}
.marca img,.marca svg{width:40px;height:40px;flex:none}
.marca b{display:block;font:700 1.0625rem/1.1 var(--sans);letter-spacing:.06em;color:var(--blue)}
.marca small{display:block;font:500 .6875rem/1.2 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
.nav{display:flex;gap:var(--s5);margin-left:auto;align-items:center}
.nav a{color:var(--ink);text-decoration:none;font-weight:500;font-size:.9375rem;padding:var(--s2) 0;border-bottom:2px solid transparent;transition:border-color .12s var(--ease)}
.nav a:hover{border-bottom-color:var(--leaf)}
.acciones{display:flex;align-items:center;gap:var(--s2)}
.menu-btn{display:none;margin-left:auto;width:48px;height:48px;border:1px solid var(--line);background:#fff;border-radius:var(--r);align-items:center;justify-content:center;color:var(--deep);cursor:pointer}
.menu-btn svg{width:24px;height:24px}
.menu-btn .x{display:none}
.menu-btn[aria-expanded=true] .x{display:block}
.menu-btn[aria-expanded=true] .b{display:none}

/* hero */
.hero{background:var(--tint);padding:clamp(48px,7vw,96px) 0}
.hero .caja{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:clamp(32px,6vw,80px);align-items:center}
h1{font:500 clamp(2.25rem,4.4vw,3.375rem)/1.08 var(--serif);color:var(--deep);letter-spacing:-.015em}
h1 em{display:block;color:var(--blue);font-style:italic}
.hero .lead{font-size:1.125rem;color:var(--mute);margin:var(--s5) 0;max-width:36rem}
.puntos{display:grid;gap:var(--s3);margin-bottom:var(--s6)}
.puntos li{display:flex;gap:var(--s3);align-items:flex-start}
.puntos svg{width:22px;height:22px;color:var(--leaf);flex:none;margin-top:2px}
.hero .para{margin-top:var(--s5);font-size:.9375rem;color:var(--mute)}
.tarjeta{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:var(--s6);box-shadow:0 1px 2px rgba(18,58,86,.06)}
.tarjeta h2{font-size:1.5rem;margin-bottom:var(--s3)}
.tarjeta p{color:var(--mute)}
.tarjeta .btn{margin-top:var(--s5)}
.tarjeta .linea{display:flex;align-items:center;gap:var(--s3);margin-top:var(--s4);padding:var(--s3) var(--s4);background:var(--tint);border-radius:var(--r);color:var(--deep);font-weight:500;text-decoration:none;min-height:44px}
.tarjeta .linea svg{width:20px;height:20px;flex:none;color:var(--blue)}
.tarjeta .linea:hover{background:#e0ebf3}

/* martes */
.dia{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--s4);position:relative;counter-reset:x}
.dia li{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:var(--s5);display:flex;flex-direction:column;gap:var(--s4)}
.hora{font:500 1.75rem/1 var(--serif);color:var(--blue);font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:var(--s3)}
.hora::after{content:"";height:2px;flex:1;background:var(--line);border-radius:2px}
.dia h3{font-size:1.0625rem}
.dia .lab{display:block;font:600 .6875rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;margin-bottom:var(--s1);color:var(--mute)}
.dia .antes p{color:var(--mute);font-size:.9375rem}
.dia .con{margin-top:auto;padding-top:var(--s4);border-top:1px solid var(--line)}
.dia .con .lab{color:var(--leaf)}
.dia .con p{font-size:.9375rem}

/* pantallas */
.pantallas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}
.pantallas figure{background:#fff;border:1px solid var(--line);border-radius:var(--r2);overflow:hidden;display:flex;flex-direction:column}
.pantallas .foto{background:var(--tint);border-bottom:1px solid var(--line);aspect-ratio:5/3;overflow:hidden}
.pantallas img{width:100%;height:100%;object-fit:cover;object-position:left top}
.pantallas figcaption{padding:var(--s5);display:flex;flex-direction:column;gap:var(--s2);flex:1}
.pantallas figcaption p{color:var(--mute);font-size:.9375rem}
.rotulo{margin-top:auto;padding-top:var(--s3);font:600 .75rem/1.3 var(--sans);color:var(--blue)}

/* especialidades */
.espec{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5)}
.espec li{padding:var(--s5) 0 0;border-top:3px solid var(--blue)}
.espec h3{margin-bottom:var(--s2);font:500 1.375rem/1.2 var(--serif);color:var(--deep)}
.espec p{color:var(--mute);font-size:.9375rem}
.extras{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5);margin-top:var(--s7)}
.extras li{background:var(--tint);border-radius:var(--r2);border-left:4px solid var(--green);padding:var(--s5) var(--s6)}
.extras h3{margin-bottom:var(--s2)}
.extras p{color:var(--mute);font-size:.9375rem}

/* precios (alternador sin JS: radios hermanos) */
.per{position:absolute;opacity:0;pointer-events:none}
.alterna{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s4);margin-bottom:var(--s6)}
.alterna .grupo{display:inline-flex;background:var(--tint);border:1px solid var(--line);border-radius:var(--r);padding:var(--s1)}
.alterna label{min-height:44px;padding:0 var(--s5);display:inline-flex;align-items:center;border-radius:4px;font-weight:600;font-size:.9375rem;color:var(--mute);cursor:pointer}
#per-m:checked ~ .alterna label[for=per-m],#per-a:checked ~ .alterna label[for=per-a]{background:var(--blue);color:#fff}
#per-m:focus-visible ~ .alterna label[for=per-m],#per-a:focus-visible ~ .alterna label[for=per-a]{outline:3px solid var(--blue);outline-offset:3px}
.badge{display:inline-block;padding:var(--s1) var(--s3);background:#d7f7e3;color:#0b4a2b;border-radius:999px;font:600 .8125rem/1.5 var(--sans)}
.tarifas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s5);align-items:stretch}
.tarifa{background:#fff;border:1px solid var(--line);border-radius:var(--r2);padding:var(--s6);display:flex;flex-direction:column;gap:var(--s4)}
.tarifa.fuerte{border:2px solid var(--blue)}
.tarifa.menor{background:var(--tint)}
.tarifa h3{font:500 1.5rem/1.2 var(--serif);color:var(--deep)}
.tarifa .sub{color:var(--mute);font-size:.9375rem;margin-top:calc(var(--s2)*-1)}
.precio{display:flex;align-items:baseline;gap:var(--s2);flex-wrap:wrap}
.precio .mon{font:600 .9375rem/1 var(--sans);color:var(--mute)}
.precio .num{font:500 3rem/1 var(--serif);color:var(--deep);font-variant-numeric:tabular-nums}
.precio .un{color:var(--mute);font-size:.9375rem}
.equiv{color:var(--leaf);font-weight:600;font-size:.9375rem;min-height:1.5em}
.tarifa ul{display:grid;gap:var(--s3);font-size:.9375rem}
.tarifa li{display:flex;gap:var(--s3)}
.tarifa li svg{width:20px;height:20px;color:var(--leaf);flex:none;margin-top:2px}
.tarifa .btn{margin-top:auto}
.v-a{display:none}
#per-a:checked ~ .tarifas .v-a{display:revert}
#per-a:checked ~ .tarifas .v-m{display:none}
#per-a:checked ~ .tarifas .precio.v-a{display:flex}
.sedes{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--s5);margin-top:var(--s5);background:var(--tint);border-radius:var(--r2);padding:var(--s5) var(--s6);align-items:start}
.sedes h3{font:500 1.25rem/1.2 var(--serif);color:var(--deep)}
.sedes p{color:var(--mute);font-size:.9375rem}
.nota{margin-top:var(--s5);padding:var(--s4) var(--s5);border-left:4px solid var(--blue);background:#fff;font-size:.9375rem;color:var(--mute);max-width:60rem}
.nota b{color:var(--deep)}
.seccion.tinte .sedes{background:#fff;border:1px solid var(--line)}

/* seguridad */
.oscuro{background:var(--deep);color:#fff}
.oscuro .eyebrow{color:var(--mint)}
.oscuro h2{color:#fff}
.oscuro .intro{color:#d3e3ee}
.segu{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--s5)}
.segu li{border-top:2px solid var(--mint);padding-top:var(--s5)}
.segu svg{width:28px;height:28px;color:var(--mint);margin-bottom:var(--s3)}
.segu h3{color:#fff;margin-bottom:var(--s2)}
.segu p{color:#d3e3ee;font-size:.9375rem}
.cita{margin-top:var(--s8);font:italic 400 clamp(1.375rem,2.6vw,2rem)/1.3 var(--serif);max-width:44rem;color:#fff}

/* faq */
.faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s4);align-items:start}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r2)}
.faq summary{cursor:pointer;list-style:none;padding:var(--s5);font-weight:600;display:flex;justify-content:space-between;gap:var(--s4);align-items:center;min-height:48px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:400 1.5rem/1 var(--sans);color:var(--blue);flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq details p{padding:0 var(--s5) var(--s5);color:var(--mute)}

/* cierre */
.cierre{background:var(--blue);color:#fff;padding:clamp(56px,8vw,96px) 0}
.cierre .caja{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--s7);align-items:center}
.cierre .eyebrow{color:var(--mint)}
.cierre h2{color:#fff}
.cierre p{color:#e3eef5;margin-top:var(--s3);max-width:40rem}
.cierre .lado{display:grid;gap:var(--s4)}
.cierre .lado a:not(.btn){color:#fff;font-weight:500}
.cierre dl{display:grid;gap:var(--s2);font-size:.9375rem}
.cierre dt{font:600 .6875rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--mint)}

/* pie */
.pie{background:var(--deep);color:#d3e3ee;padding:var(--s7) 0 var(--s6);font-size:.875rem}
.pie .caja{display:grid;gap:var(--s5)}
.pie .fila{display:flex;flex-wrap:wrap;gap:var(--s5) var(--s7);justify-content:space-between;align-items:flex-start}
.pie .marca b,.pie .marca small{color:#fff}
.pie nav ul{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5)}
.pie a{color:#fff;text-underline-offset:3px}
.pie a:hover{color:var(--mint)}
.pie nav a{display:inline-block;padding:var(--s2) 0}
.pie .copy{border-top:1px solid rgba(255,255,255,.2);padding-top:var(--s5)}

/* legal */
.legal{padding:clamp(40px,6vw,80px) 0}
.legal .caja{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(32px,5vw,72px);align-items:start}
.toc{position:sticky;top:96px;font-size:.9375rem;max-height:calc(100vh - 120px);overflow:auto}
.toc h2{font:600 .75rem/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--leaf);margin-bottom:var(--s3)}
.toc ol{display:grid;gap:var(--s1)}
.toc ol ol{padding-left:var(--s4);margin-top:var(--s1)}
.toc a{display:block;padding:var(--s1) 0;color:var(--ink);text-decoration:none}
.toc a:hover{color:var(--blue);text-decoration:underline}
.doc{min-width:0;max-width:46rem}
.doc>a:first-child{display:inline-block;margin-bottom:var(--s4)}
.doc .meta{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);color:var(--mute);font-size:.9375rem;margin:var(--s4) 0}
.doc .resumen{font-size:1.125rem;color:var(--mute);padding:var(--s4) var(--s5);background:var(--tint);border-left:4px solid var(--blue);border-radius:0 var(--r) var(--r) 0;margin-bottom:var(--s6)}
.doc h2{margin:var(--s7) 0 var(--s4);font-size:1.75rem}
.doc h3{font:600 1.25rem/1.3 var(--sans);margin:var(--s6) 0 var(--s3);color:var(--deep)}
.doc h4{font:600 1.0625rem/1.3 var(--sans);margin:var(--s5) 0 var(--s2)}
.doc p{margin:0 0 var(--s4);overflow-wrap:anywhere}
.doc ul,.doc ol{margin:0 0 var(--s4);padding-left:var(--s6)}
.doc ul{list-style:disc}
.doc ol{list-style:decimal}
.doc li{margin-bottom:var(--s2);overflow-wrap:anywhere}
.doc blockquote{margin:0 0 var(--s4);padding:var(--s3) var(--s5);border-left:4px solid var(--green);background:var(--tint)}
.doc .tabla{overflow-x:auto;margin:0 0 var(--s5);border:1px solid var(--line);border-radius:var(--r)}
.doc table{border-collapse:collapse;width:100%;min-width:32rem;font-size:.9375rem}
.doc th,.doc td{padding:var(--s3) var(--s4);text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.doc th{background:var(--tint);font-weight:600}
.doc code{font:.9em ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--tint);padding:1px 5px;border-radius:3px}
.doc hr{border:0;border-top:1px solid var(--line);margin:var(--s6) 0}
.doc h2,.doc h3,.doc h4{scroll-margin-top:96px}
.sola{padding:clamp(64px,10vw,140px) 0;text-align:left}
.sola .caja{max-width:44rem;margin:0}
.sola h1{margin-bottom:var(--s4)}
.sola p{color:var(--mute);margin-bottom:var(--s5)}

@media (max-width:1100px){
  .dia{grid-template-columns:repeat(2,minmax(0,1fr))}
  .segu{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:960px){
  .hero .caja,.cierre .caja,.legal .caja{grid-template-columns:minmax(0,1fr)}
  .pantallas,.espec,.tarifas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .toc{position:static;max-height:none}
  .sedes{grid-template-columns:1fr}
}
@media (max-width:820px){
  .js .menu-btn{display:inline-flex}
  .js .cab .caja{flex-wrap:wrap;gap:var(--s3)}
  .js .nav,.js .acciones{display:none;width:100%}
  .js .cab.abierto .nav,.js .cab.abierto .acciones{display:flex}
  .js .nav{flex-direction:column;align-items:stretch;gap:0;margin:0}
  .js .nav a{padding:var(--s3) 0;border-bottom:1px solid var(--line);min-height:44px;display:flex;align-items:center}
  .js .acciones{flex-direction:column;align-items:stretch;padding-bottom:var(--s4)}
  .cab .caja{flex-wrap:wrap}
  .nav{width:100%;order:3;gap:var(--s4);flex-wrap:wrap;margin:0}
  .acciones{order:4;width:100%}
  .js .nav{order:0}
}
@media (max-width:640px){
  .dia,.pantallas,.espec,.extras,.tarifas,.segu,.faq{grid-template-columns:minmax(0,1fr)}
  .tarjeta,.tarifa{padding:var(--s5)}
  .hero .btn{width:100%}
  .cierre .btn{width:100%}
  .alterna .grupo{width:100%}
  .alterna label{flex:1;justify-content:center}
  .pie .fila{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;scroll-behavior:auto!important}
}
