/* ==========================================================================
   GONZALO VAZQUEZ — pdxsenior.com
   Sistema de diseño
   --------------------------------------------------------------------------
   Rejilla: contenedor 1200 px · espaciado base 8 px
   Tipografía: Manrope (títulos) + Inter (texto). Si no están instaladas en el
   equipo se usa la pila del sistema (ver README para añadir WOFF2 locales).
   Escala: 14 / 15 / 17 / 20-22 / 28-40 / 36-60 px (clamp en títulos)
   Colores: ver variables :root (paleta del encargo)
   ========================================================================== */

/* Fuentes locales opcionales. Para incrustar archivos WOFF2, copia los
   ficheros en assets/fonts/ y descomenta este bloque.
@font-face{font-family:"Manrope";src:url("../assets/fonts/Manrope-Variable.woff2") format("woff2");font-weight:500 800;font-display:swap}
@font-face{font-family:"Inter";src:url("../assets/fonts/Inter-Variable.woff2") format("woff2");font-weight:400 700;font-display:swap}
*/

:root{
  /* Paleta */
  --ink:#012A36;
  --ink-2:#124653;
  --bg:#F7F9F8;
  --mint:#E8F2EF;
  --mist:#EAF0F4;
  --teal:#147D70;
  --teal-hover:#0F6A5F;
  --teal-active:#0C5A51;
  --teal-text:#0F5F55;
  --gold:#E9B866;
  --muted:#52666D;
  --white:#FFFFFF;
  --line:rgba(1,42,54,.14);
  --line-strong:rgba(1,42,54,.28);
  --error:#B3261E;
  --error-bg:#FCEDEC;
  --on-dark-soft:rgba(255,255,255,.84);

  /* Espaciado (base 8 px) */
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:40px;--s6:48px;--s8:64px;--s10:80px;--s12:96px;

  /* Forma */
  --radius:8px;
  --radius-lg:12px;
  --shadow:0 1px 2px rgba(1,42,54,.06),0 10px 28px -14px rgba(1,42,54,.22);
  --container:1200px;

  /* Tipografía */
  --font-head:"Manrope","Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --fs-body:1.0625rem;      /* 17 px */
  --fs-small:.9375rem;      /* 15 px */
  --fs-xs:.875rem;          /* 14 px */
  --fs-h1:clamp(2.25rem,1.55rem + 3vw,3.75rem);
  --fs-h2:clamp(1.75rem,1.35rem + 1.6vw,2.5rem);
  --fs-h3:clamp(1.1875rem,1.1rem + .4vw,1.375rem);
  --fs-lead:clamp(1.125rem,1.05rem + .35vw,1.3125rem);
}

/* Reset ligero ------------------------------------------------------------ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{max-width:100%}
img{display:block;height:auto}
h1,h2,h3,h4{font-family:var(--font-head);color:var(--ink);line-height:1.15;margin:0;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:var(--fs-h1);font-weight:800;letter-spacing:-.025em}
h2{font-size:var(--fs-h2);font-weight:800;letter-spacing:-.02em}
h3{font-size:var(--fs-h3);font-weight:700}
h4{font-size:1.0625rem;font-weight:700}
p{margin:0 0 var(--s2)}
p:last-child{margin-bottom:0}
ul,ol{margin:0;padding:0}
a{color:var(--teal-text);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink)}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:2px}
.on-dark :focus-visible,.site-footer :focus-visible{outline-color:var(--gold)}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:var(--s2);top:-100px;z-index:200;background:var(--ink);color:#fff;padding:12px 20px;border-radius:var(--radius);font-weight:600;text-decoration:none}
.skip-link:focus{top:var(--s2);color:#fff}

/* Iconos ------------------------------------------------------------------ */
.icon{width:24px;height:24px;flex:none;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.icon--fill{fill:currentColor;stroke:none}
.icon--sm{width:20px;height:20px}

/* Layout ------------------------------------------------------------------ */
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--s3)}
.container.container--wide{max-width:1320px}
.section{padding-block:clamp(56px,8vw,96px)}
.section--tight{padding-block:clamp(40px,5vw,64px)}
.section--mint{background:var(--mint)}
.section--mist{background:var(--mist)}
.section--dark{background:var(--ink);color:#fff}
.section--dark h2,.section--dark h3{color:#fff}
.section--white{background:#fff}
.section-head{max-width:720px;margin-bottom:clamp(32px,4vw,48px)}
.section-head p{color:var(--muted);font-size:var(--fs-lead);margin-top:var(--s2)}
.section--dark .section-head p{color:var(--on-dark-soft)}
.eyebrow{display:inline-block;font-family:var(--font-head);font-size:var(--fs-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-text);margin-bottom:var(--s2)}
.section--dark .eyebrow{color:var(--gold)}
.grid{display:grid;gap:var(--s3)}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,6vw,80px);align-items:center}
.split--even{grid-template-columns:repeat(2,minmax(0,1fr))}
.stack>*+*{margin-top:var(--s2)}
.muted{color:var(--muted)}
.small{font-size:var(--fs-small)}

/* Botones ----------------------------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s1);min-height:48px;padding:12px 24px;border:2px solid transparent;border-radius:var(--radius);font-family:var(--font-head);font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s,transform .05s}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--teal);color:#fff}
.btn--primary:hover{background:var(--teal-hover);color:#fff}
.btn--primary:active{background:var(--teal-active)}
.btn--secondary{background:transparent;color:var(--teal-text);border-color:var(--teal)}
.btn--secondary:hover{background:var(--teal);color:#fff}
.btn--accent{background:var(--gold);color:var(--ink)}
.btn--accent:hover{background:#F2C67F;color:var(--ink)}
.btn--accent:active{background:#DDA650}
.btn--ghost-dark{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn--ghost-dark:hover{background:#fff;color:var(--ink)}
.btn--sm{min-height:44px;padding:8px 16px;font-size:.9375rem}
.btn--block{width:100%}
.btn[disabled],.btn[aria-disabled="true"]{background:#D5DDDB;color:#5A6B70;border-color:transparent;cursor:not-allowed;transform:none}
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-head);font-weight:700;color:var(--teal-text);text-decoration:none;min-height:44px}
.link-arrow .icon{width:18px;height:18px;transition:transform .15s}
.link-arrow:hover{color:var(--ink);text-decoration:underline}
.link-arrow:hover .icon{transform:translateX(3px)}
.section--dark .link-arrow{color:var(--gold)}
.section--dark .link-arrow:hover{color:#fff}

/* Cabecera ---------------------------------------------------------------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(247,249,248,.97);border-bottom:1px solid var(--line)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:76px}
.logo{font-family:var(--font-head);font-weight:800;font-size:1.1875rem;letter-spacing:.14em;color:var(--ink);text-decoration:none;white-space:nowrap;display:inline-flex;align-items:center;min-height:44px}
.logo:hover{color:var(--ink)}
.logo span{color:var(--teal-text)}
.nav-list{list-style:none;display:flex;align-items:center;gap:4px}
.nav-list a{display:inline-flex;align-items:center;min-height:44px;padding:8px 10px;border-radius:var(--radius);font-weight:600;font-size:var(--fs-small);color:var(--ink);text-decoration:none}
.nav-list a:hover{background:var(--mint)}
.nav-list a[aria-current="page"]{color:var(--teal-text);box-shadow:inset 0 -2px 0 var(--teal)}
.header-actions{display:flex;align-items:center;gap:var(--s2)}
.header-phone{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;font-size:var(--fs-small);color:var(--ink);text-decoration:none;white-space:nowrap}
.header-phone:hover{color:var(--teal-text)}
.header-phone span{display:none}
.header-phone{min-width:44px;justify-content:center}
.nav-toggle{display:none;align-items:center;justify-content:center;gap:8px;min-height:48px;min-width:48px;padding:8px 12px;background:transparent;border:2px solid var(--line-strong);border-radius:var(--radius);cursor:pointer;font-weight:600}
.nav-toggle .icon-close{display:none}
.nav-toggle[aria-expanded="true"] .icon-close{display:block}
.nav-toggle[aria-expanded="true"] .icon-menu{display:none}
.nav-panel-cta{display:none}

/* Cabecera responsiva: el teléfono con número solo cabe en pantallas amplias;
   el menú se pliega por debajo de 1180 px; en móvil el CTA pasa al panel. */

@media (max-width:1300px){
  .js .nav-toggle{display:inline-flex}
  .js .main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 20px 30px -20px rgba(1,42,54,.35);padding:var(--s2) var(--s3) var(--s3)}
  .js .main-nav.is-open{display:block}
  .nav-list{flex-direction:column;align-items:stretch;gap:4px}
  .nav-list a{padding:12px 16px;font-size:1.0625rem}
  .no-js .header-inner{flex-wrap:wrap;padding-block:var(--s1)}
  .no-js .main-nav{width:100%;order:3}
  .no-js .nav-list{flex-direction:row;flex-wrap:wrap}
}
@media (max-width:700px){
  .header-actions>.btn,.header-actions>.header-phone{display:none}
  .nav-panel-cta{display:grid;gap:var(--s1);margin-top:var(--s2)}
}

/* Migas ------------------------------------------------------------------- */
.breadcrumb{padding-top:var(--s3);font-size:var(--fs-small);color:var(--muted)}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px}
.breadcrumb li+li::before{content:"/";margin-right:8px;color:var(--line-strong)}
.breadcrumb a{color:var(--muted)}
.breadcrumb a:hover{color:var(--ink)}
.breadcrumb [aria-current]{color:var(--ink);font-weight:600}

/* Héroe ------------------------------------------------------------------- */
.hero{padding-block:clamp(40px,6vw,88px)}
.hero h1{max-width:16ch}
.hero--page h1{max-width:20ch}
.hero .lead{font-size:var(--fs-lead);color:var(--muted);max-width:56ch;margin-top:var(--s3)}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s2) var(--s3);margin-top:var(--s4)}
.hero-sub{margin-top:var(--s2);font-weight:600}
.hero-note{margin-top:var(--s3);max-width:52ch;font-size:var(--fs-small);color:var(--muted);padding-left:var(--s2);border-left:3px solid var(--gold)}
.media{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--mint);box-shadow:var(--shadow)}
.media img{width:100%;height:100%;object-fit:cover}
.media--hero{aspect-ratio:5/6}
.media--wide{aspect-ratio:4/3}
.media--land{aspect-ratio:3/2}
.media-chip{position:absolute;left:var(--s2);bottom:var(--s2);right:var(--s2);background:#fff;border-radius:var(--radius);padding:var(--s2);box-shadow:var(--shadow);display:flex;gap:12px;align-items:flex-start;font-size:var(--fs-small);line-height:1.45}
.media-chip .icon{color:var(--teal);margin-top:2px}
.media-chip strong{display:block;font-family:var(--font-head)}
.photo-credit{margin-top:8px;font-size:var(--fs-xs);color:var(--muted)}
.photo-credit a{color:var(--muted)}

@media (max-width:900px){
  .split,.split--even{grid-template-columns:1fr}
  .hero .media--hero{aspect-ratio:4/3;order:-1}
  .hero h1,.hero--page h1{max-width:none}
}

/* Tarjetas ---------------------------------------------------------------- */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s3);box-shadow:var(--shadow)}
.card h3{margin-bottom:var(--s1)}
.card p{color:var(--muted);font-size:var(--fs-small)}
.card-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius);background:var(--mint);color:var(--teal-text);margin-bottom:var(--s2)}
.section--mint .card-icon{background:var(--mint)}
.card--flat{box-shadow:none}

.area-card{display:flex;flex-direction:column;background:var(--ink-2);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-lg);padding:var(--s3)}
.area-card .card-icon{background:rgba(255,255,255,.1);color:var(--gold)}
.area-card h3{font-size:1.25rem}
.area-card dl{margin:var(--s2) 0 var(--s3);display:grid;gap:var(--s2);font-size:var(--fs-small)}
.area-card dt{font-family:var(--font-head);font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin-bottom:2px}
.area-card dd{margin:0;color:var(--on-dark-soft)}
.area-card .btn{margin-top:auto;align-self:flex-start}

/* Pasos ------------------------------------------------------------------- */
.steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3);counter-reset:step}
.steps li{counter-increment:step;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s3);position:relative}
.steps li::before{content:counter(step);display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--font-head);font-weight:800;margin-bottom:var(--s2)}
.steps h3{margin-bottom:var(--s1)}
.steps p{font-size:var(--fs-small);color:var(--muted)}
.steps--vertical{grid-template-columns:1fr;max-width:820px}
.steps--vertical li{padding-left:calc(var(--s3) + 56px)}
.steps--vertical li::before{position:absolute;left:var(--s3);top:var(--s3);margin:0}

/* Listas ------------------------------------------------------------------ */
.check-list{list-style:none;display:grid;gap:12px}
.check-list li{display:flex;gap:12px;align-items:flex-start}
.check-list .icon{color:var(--teal);margin-top:3px;width:22px;height:22px}
.check-list--two{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px var(--s4)}
.dot-list{list-style:none;display:grid;gap:10px}
.dot-list li{position:relative;padding-left:22px}
.dot-list li::before{content:"";position:absolute;left:0;top:.7em;width:8px;height:8px;border-radius:50%;background:var(--teal)}
.num-list{list-style:none;counter-reset:n;display:grid;gap:12px}
.num-list li{counter-increment:n;position:relative;padding-left:44px}
.num-list li::before{content:counter(n);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:var(--mint);color:var(--teal-text);display:flex;align-items:center;justify-content:center;font-family:var(--font-head);font-weight:800;font-size:.9375rem}
@media (max-width:760px){
  .steps{grid-template-columns:1fr}
  .check-list--two{grid-template-columns:1fr}
}

/* Avisos ------------------------------------------------------------------ */
.alert{display:flex;gap:12px;align-items:flex-start;padding:var(--s2) var(--s3);border-radius:var(--radius);background:var(--mist);border-left:4px solid var(--teal);font-size:var(--fs-small);line-height:1.55}
.alert .icon{color:var(--teal-text);margin-top:2px}
.alert strong{font-family:var(--font-head)}
.alert--gold{background:#FBF3E3;border-left-color:var(--gold)}
.alert--gold .icon{color:#8A5A00}
.section--mint .alert,.section--mist .alert{background:#fff}
.amount-tag{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--radius);border:1px solid var(--gold);color:var(--gold);font-size:var(--fs-xs);font-weight:600;line-height:1.4}
.light-amount{border-color:#C79436;color:#6B4700;background:#FBF3E3}

/* Qué preparar / bloques de contenido ------------------------------------- */
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s4)}
.panel h3{margin-bottom:var(--s2)}
.fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.fact{padding-top:var(--s2);border-top:3px solid var(--teal)}
.fact h3{font-size:1.125rem;margin-bottom:6px}
.fact p{font-size:var(--fs-small);color:var(--muted)}
@media (max-width:900px){.fact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.fact-grid{grid-template-columns:1fr}}

.example{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s3);display:flex;flex-direction:column;gap:var(--s2)}
.example-tag{align-self:flex-start;font-size:var(--fs-xs);font-weight:700;font-family:var(--font-head);letter-spacing:.04em;padding:4px 10px;border-radius:999px;background:var(--mist);color:var(--ink-2)}
.example h3{font-size:1.1875rem}
.example h4{font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--teal-text);margin-bottom:4px}
.example p,.example li{font-size:var(--fs-small);color:var(--muted)}
.example ul{padding-left:18px}

/* FAQ --------------------------------------------------------------------- */
.faq{max-width:860px;display:grid;gap:12px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:16px 20px;min-height:56px;font-family:var(--font-head);font-weight:700;font-size:1.0625rem;line-height:1.35}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{background:var(--bg)}
.faq summary .icon{transition:transform .2s;color:var(--teal-text)}
.faq details[open] summary .icon{transform:rotate(180deg)}
.faq details[open] summary{border-bottom:1px solid var(--line)}
.faq .faq-body{padding:16px 20px 20px;color:var(--muted);font-size:var(--fs-body)}

/* Tabla / definiciones ---------------------------------------------------- */
.def-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s3)}
.def{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s3)}
.def h3{margin-bottom:var(--s1)}
.def p{font-size:var(--fs-small);color:var(--muted)}
@media (max-width:900px){.def-grid{grid-template-columns:1fr}}

/* Bloque por área (página compensaciones) --------------------------------- */
.area-block{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:var(--s5);padding-block:var(--s5);border-top:1px solid var(--line)}
.area-block:first-of-type{border-top:0;padding-top:0}
.area-block h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem);margin:var(--s2) 0}
.area-block h3{font-size:1rem;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.06em;color:var(--teal-text);margin-bottom:var(--s1)}
.area-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.area-links{display:flex;flex-wrap:wrap;gap:var(--s1) var(--s3);margin-top:var(--s3);align-items:center}
@media (max-width:900px){.area-block{grid-template-columns:1fr;gap:var(--s3)}.area-cols{grid-template-columns:1fr}}

/* CTA final --------------------------------------------------------------- */
.cta-band{text-align:center}
.cta-band .inner{max-width:720px;margin-inline:auto}
.cta-band p{font-size:var(--fs-lead);color:var(--muted);margin:var(--s2) 0 var(--s4)}
.cta-band .hero-cta{justify-content:center;margin-top:0}
.cta-band .small{margin-top:var(--s2);color:var(--muted)}

/* Contacto ---------------------------------------------------------------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:var(--s6);align-items:start}
.contact-list{list-style:none;display:grid;gap:var(--s3)}
.contact-list li{display:flex;gap:var(--s2);align-items:flex-start}
.contact-list .card-icon{margin:0;flex:none}
.contact-list strong{display:block;font-family:var(--font-head)}
.contact-list a{font-weight:600}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}

/* Formularios ------------------------------------------------------------- */
.field{display:grid;gap:8px;margin-bottom:var(--s3)}
.field label,.field legend{font-weight:600;font-size:var(--fs-small)}
.field .hint{font-size:var(--fs-xs);color:var(--muted);font-weight:400}
.input,.select,.textarea{width:100%;min-height:48px;padding:12px 14px;background:#fff;border:1.5px solid var(--line-strong);border-radius:var(--radius)}
.textarea{min-height:140px;resize:vertical}
.input:hover,.select:hover,.textarea:hover{border-color:var(--ink-2)}
.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:3px solid var(--ink);outline-offset:2px;border-color:var(--ink)}
.is-error{border-color:var(--error)!important}
.error-text{color:var(--error);font-size:var(--fs-small);font-weight:600;display:flex;gap:8px;align-items:center}

/* Cuestionario ------------------------------------------------------------ */
.quiz-shell{max-width:820px;margin-inline:auto}
.quiz-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:clamp(24px,4vw,48px)}
.quiz-intro h2{margin-bottom:var(--s2)}
.quiz-intro .dot-list{margin:var(--s3) 0}
.quiz-preselect{display:inline-flex;align-items:center;gap:8px;background:var(--mint);color:var(--teal-text);font-weight:600;font-size:var(--fs-small);padding:8px 14px;border-radius:var(--radius);margin-bottom:var(--s3)}
.progress{margin-bottom:var(--s4)}
.progress-meta{display:flex;justify-content:space-between;font-size:var(--fs-small);color:var(--muted);margin-bottom:8px;font-weight:600}
.progress-track{height:8px;border-radius:999px;background:var(--mist);overflow:hidden}
.progress-bar{height:100%;background:var(--teal);border-radius:999px;transition:width .25s}
.q-title{font-size:clamp(1.375rem,1.15rem + 1vw,1.875rem);margin-bottom:var(--s1)}
.q-title:focus{outline:none}
.q-help{color:var(--muted);font-size:var(--fs-small);margin-bottom:var(--s3)}
fieldset.options{border:0;margin:0;padding:0;min-width:0;display:grid;gap:12px}
.option{position:relative;display:block}
.option input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer;z-index:1}
.option .option-box{display:flex;align-items:center;gap:14px;min-height:56px;padding:14px 18px;background:#fff;border:1.5px solid var(--line-strong);border-radius:var(--radius);font-weight:500;line-height:1.4;transition:border-color .12s,background-color .12s}
.option .mark{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line-strong);background:#fff;display:flex;align-items:center;justify-content:center}
.option--check .mark{border-radius:5px}
.option input:hover~.option-box{border-color:var(--ink-2);background:var(--bg)}
.option input:checked~.option-box{border-color:var(--teal);background:var(--mint);box-shadow:inset 0 0 0 1px var(--teal)}
.option input:checked~.option-box .mark{background:var(--teal);border-color:var(--teal)}
.option input:checked~.option-box .mark::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff}
.option--check input:checked~.option-box .mark::after{width:10px;height:6px;border-radius:0;background:none;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.option input:focus-visible~.option-box{outline:3px solid var(--ink);outline-offset:2px}
.quiz-error{margin-top:var(--s2);padding:12px 16px;background:var(--error-bg);border-left:4px solid var(--error);border-radius:var(--radius);color:#7A1913;font-weight:600;font-size:var(--fs-small)}
.quiz-nav{display:flex;justify-content:space-between;gap:var(--s2);margin-top:var(--s4);flex-wrap:wrap}
.quiz-nav .btn{min-width:150px}
.quiz-privacy{margin-top:var(--s3);font-size:var(--fs-xs);color:var(--muted)}

.result h2{margin:var(--s1) 0 var(--s2)}
.result-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;font-family:var(--font-head);font-weight:700;font-size:var(--fs-xs);background:var(--mint);color:var(--teal-text)}
.result-badge[data-type="B"]{background:#FBF3E3;color:#6B4700}
.result-badge[data-type="C"]{background:var(--mist);color:var(--ink-2)}
.result-badge[data-type="D"]{background:#EFEFEF;color:#3B4A50}
.result-block{margin-top:var(--s4)}
.result-block h3{font-size:1.125rem;margin-bottom:var(--s2)}
.summary-list{display:grid;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.summary-list div{display:grid;grid-template-columns:minmax(120px,.35fr) 1fr;gap:var(--s2);padding:12px 16px;font-size:var(--fs-small)}
.summary-list div:nth-child(odd){background:var(--bg)}
.summary-list dt{font-weight:700;font-family:var(--font-head)}
.summary-list dd{margin:0;color:var(--muted)}
.result-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--s4)}
@media (max-width:560px){
  .quiz-nav .btn{flex:1 1 100%}
  .summary-list div{grid-template-columns:1fr;gap:2px}
}

/* Páginas legales --------------------------------------------------------- */
.legal{max-width:820px}
.legal h2{font-size:clamp(1.375rem,1.2rem + .6vw,1.75rem);margin:var(--s6) 0 var(--s2)}
.legal h3{font-size:1.125rem;margin:var(--s3) 0 var(--s1)}
.legal ul{padding-left:20px;margin-bottom:var(--s2)}
.legal li{margin-bottom:6px}
.legal .updated{color:var(--muted);font-size:var(--fs-small)}
.legal table{width:100%;border-collapse:collapse;font-size:var(--fs-small);margin:var(--s2) 0}
.legal th,.legal td{text-align:left;padding:10px 12px;border:1px solid var(--line);vertical-align:top}
.legal th{background:var(--mist);font-family:var(--font-head)}
.table-wrap{overflow-x:auto}

/* Pie --------------------------------------------------------------------- */
.site-footer{background:var(--ink);color:var(--on-dark-soft);padding-top:clamp(48px,6vw,80px);font-size:var(--fs-small)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:var(--s5)}
.site-footer h2{font-family:var(--font-head);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:var(--s2)}
.site-footer a{color:#fff;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer ul{list-style:none;display:grid;gap:2px}
.site-footer ul a{display:inline-flex;align-items:center;min-height:36px}
.footer-logo{font-family:var(--font-head);font-weight:800;letter-spacing:.14em;font-size:1.1875rem;color:#fff;display:inline-block;margin-bottom:var(--s2)}
.footer-legal-id{display:grid;gap:4px;margin-top:var(--s2)}
.footer-contact li{display:flex;gap:10px;align-items:flex-start}
.footer-contact .icon{color:var(--gold);width:20px;height:20px;margin-top:3px}
.footer-bottom{margin-top:var(--s6);padding-block:var(--s3);border-top:1px solid rgba(255,255,255,.16);display:grid;gap:var(--s2);font-size:var(--fs-xs)}
.footer-bottom p{margin:0;max-width:90ch}
@media (max-width:960px){.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;gap:var(--s4)}}

/* Responsivo -------------------------------------------------------------- */
@media (max-width:1100px){.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){
  .container{padding-inline:var(--s2)}
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
  .panel{padding:var(--s3)}
  .header-inner{min-height:68px}
  .logo{font-size:1.0625rem;letter-spacing:.1em}
}

/* Movimiento reducido ----------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
@media print{
  .site-header,.site-footer,.cta-band,.nav-toggle{display:none}
  body{background:#fff}
}

/* Inicio al estilo de referencia: entrada, filtros, estados ---------------- */
.trust-notes{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:var(--s3)}
.trust-notes li{display:flex;align-items:center;gap:8px;font-size:var(--fs-small);font-weight:600;color:var(--ink-2)}
.trust-notes li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal)}
.steps--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.entry{margin-top:var(--s5);background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s4)}
.entry-title{font-size:clamp(1.25rem,1.1rem + .6vw,1.625rem);margin-bottom:6px}
.entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:var(--s3)}
.entry-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);color:var(--ink);font-weight:600;text-decoration:none;transition:border-color .15s,background .15s}
.entry-card:hover{border-color:var(--teal);background:var(--mint)}
.entry-card .icon{flex:none;color:var(--teal-text)}
.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--s4)}
.filter-btn{min-height:44px;padding:8px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;font:inherit;font-weight:600;cursor:pointer}
.filter-btn:hover{background:rgba(255,255,255,.1)}
.filter-btn[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.case-card{display:flex;flex-direction:column;gap:12px;background:var(--ink-2);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-lg);padding:var(--s3)}
.case-card[hidden]{display:none}
.case-card h3{font-size:1.25rem}
.case-card p{color:var(--on-dark-soft);font-size:var(--fs-small)}
.case-card .card-icon{background:rgba(255,255,255,.1);color:var(--gold)}
.case-card .btn{margin-top:auto;align-self:flex-start}
.case-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:center}
.case-cat{font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-soft)}
.case-docs strong{color:#fff}
.status{display:inline-block;padding:4px 12px;border-radius:999px;font-size:var(--fs-xs);font-weight:700;border:1px solid transparent}
.st-cond{background:#FBF3E3;color:#6B4700;border-color:#C79436}
.st-docs{background:#E8F2EF;color:#0B5A50;border-color:#147D70}
.st-check{background:#EAF0F4;color:#1F3F52;border-color:#7A97A8}
.hero .split>div:first-child{min-width:0}
.quiz-preselect{margin-bottom:var(--s3);padding:12px 16px;border-radius:var(--radius);background:var(--mint);border:1px solid var(--line);font-weight:600}
@media (max-width:1100px){.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.steps--four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.entry{padding:var(--s2)}.entry-grid{grid-template-columns:1fr}.steps--four{grid-template-columns:1fr}}

/* Estructura simplificada (según el sitio de ejemplo) ---------------------- */
.st-ok{background:#E3F4EE;color:#0B5A50;border-color:#147D70}
.case-card .link-arrow{color:var(--gold);margin-top:auto}
.case-card .link-arrow:hover{color:#fff}
ul.case-docs{list-style:none;display:grid;gap:4px;font-size:var(--fs-small);color:var(--on-dark-soft)}
ul.case-docs li{padding-left:18px;position:relative}
ul.case-docs li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.on-light .filter-btn{border-color:var(--line-strong);color:var(--ink)}
.on-light .filter-btn:hover{background:var(--mint)}
.on-light .filter-btn[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.entry-card span strong{display:block;font-family:var(--font-head)}
.entry-card small{display:block;font-weight:400;color:var(--muted);font-size:var(--fs-small)}
.entry .hero-cta{margin-top:var(--s3)}
.ambitos{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ambitos a{display:flex;align-items:center;gap:12px;min-height:64px;padding:12px 16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;font-weight:600;color:var(--ink);text-decoration:none}
.ambitos a:hover{border-color:var(--teal);background:var(--mint)}
.ambitos .card-icon{margin:0;flex:none}
.cat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}
.cat-block{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s3)}
.cat-block h2{font-size:1.25rem;margin-bottom:var(--s2)}
.situaciones{display:grid;gap:var(--s4);max-width:860px}
.situacion{display:grid;gap:var(--s2);padding-bottom:var(--s4);border-bottom:1px solid var(--line)}
.situacion:last-child{border-bottom:0}
.situacion h2{font-size:clamp(1.5rem,1.2rem + 1vw,2rem)}
.faq-group{margin-bottom:var(--s5)}
.faq-group h2{font-size:1.5rem;margin-bottom:var(--s2)}
.fact-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}
.check-row{display:flex;gap:12px;align-items:flex-start;font-weight:400;font-size:var(--fs-small);cursor:pointer}
.check-row input{width:22px;height:22px;margin-top:2px;flex:none;accent-color:var(--teal)}
@media (max-width:1100px){.fact-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}.ambitos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.cat-grid{grid-template-columns:1fr}.fact-grid--four{grid-template-columns:1fr}.ambitos{grid-template-columns:1fr}}
.case-card .case-cat{align-self:flex-end}
.footer-grid{grid-template-columns:minmax(0,1.4fr) repeat(2,minmax(0,1fr))}
@media (max-width:700px){.footer-grid{grid-template-columns:1fr}}
.case-card h3{color:#fff}
