/* CitaHuella.es — hoja de estilos única. Paleta: naranja cálido.
   Tipografía: Plus Jakarta Sans, auto-alojada en site/fonts/. No se conecta con terceros.
   Cinco pesos en .woff2 (400/500/600/700/800), unos 30 KB cada uno. */

@font-face{font-family:"Plus Jakarta Sans";src:url("fonts/jakarta-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("fonts/jakarta-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("fonts/jakarta-600.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("fonts/jakarta-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Plus Jakarta Sans";src:url("fonts/jakarta-800.woff2") format("woff2");font-weight:800;font-style:normal;font-display:swap}

:root{
  --font-h:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-b:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --hw:700; --hw-d:800; --hls:-.028em; --hls-d:-.045em;

  --bg:#fff; --surface:#fdf7f3; --text:#1f1611; --muted:#6b5a50; --muted2:#a4958b;
  --line:#eee4dd; --line-strong:#ddcfc5; --card-bg:#fff;

  --accent:#c2541e; --accent-bright:#d1602a; --accent-d:#ad4a1b; --accent-dd:#8f3e19;
  --accent-l:#f0b391; --accent-xl:#fdeee6;
  --on-accent:#fff; --btn2-bg:#fff; --btn-shadow:0 2px 8px rgba(143,62,25,.26);

  --r:16px; --r-lg:20px; --rb:10px; --r-pill:999px;
  --shadow:0 1px 2px rgba(74,42,22,.06),0 2px 6px -1px rgba(74,42,22,.05);
  --shadow-md:0 1px 2px rgba(74,42,22,.07),0 4px 12px -2px rgba(74,42,22,.08),0 12px 28px -8px rgba(74,42,22,.08);
  --shadow-lg:0 1px 2px rgba(74,42,22,.08),0 8px 20px -4px rgba(74,42,22,.1),0 24px 48px -12px rgba(74,42,22,.14);
  --ring:inset 0 1px 0 rgba(255,255,255,.9);

  --head-bg:rgba(255,255,255,.9); --head-text:#1f1611; --head-muted:#6b5a50; --head-active:#ad4a1b;
  --head-accent:#c2541e; --head-line:#eee4dd; --head-line-strong:#ddcfc5;
  --head-cta-bg:#c2541e; --head-cta-text:#fff; --head-cta-line:#c2541e; --head-cta-hover:#8f3e19;

  --hero-bg:#fdf7f3; --hero-text:#1f1611; --hero-lead:#5c4c43; --hero-bul:#33261f; --hero-line:#eee4dd;
  --hero-badge-bg:#fff; --hero-badge-text:#ad4a1b; --hero-badge-line:#f0b391;
  --hero-check-bg:#c2541e; --hero-check-text:#fff;
  --hero-tile-bg:#fff; --hero-tile-line:#f0ded2; --hero-tile-num:#ad4a1b; --hero-tile-lab:#6b5a50;

  --form-bg:#fff; --form-line:#eee4dd; --form-shadow:0 18px 44px rgba(31,22,17,.11);

  --foot-bg:#2b1810; --foot-text:#bda99c; --foot-head:#fff; --foot-accent:#ef9663; --foot-hover:#fff;
  --foot-line:rgba(255,255,255,.11); --foot-muted:#9a8478;

  /* Alias de compatibilidad: las páginas generadas usan estos nombres en sus estilos
     en línea. Se mapean sobre los tokens de arriba, así el color vive en un solo sitio. */
  --divider:var(--line);
  --font-heading:var(--font-h);
  --font-body:var(--font-b);
  --a100:var(--accent-xl);
  --a400:var(--accent-l);
  --a700:var(--accent);
  --a800:var(--accent-dd);
  --n600:var(--muted);--n300:var(--line-strong);
  --n700:var(--muted);
  --n800:#3d322b;
}

*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-b);font-size:16.5px;line-height:1.68;letter-spacing:-.006em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"kern" 1,"liga" 1}
h1,h2,h3,h4{font-family:var(--font-h);font-weight:var(--hw);letter-spacing:var(--hls);margin:0;line-height:1.16;text-wrap:balance}
h1{letter-spacing:var(--hls-d)}
h3,h4{letter-spacing:-.02em}
a{color:var(--accent-d);text-underline-offset:3px}
a:hover{color:var(--accent-dd)}
img{max-width:100%}
::selection{background:var(--accent-xl)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

.wrap{max-width:1180px;margin:0 auto;padding:0 26px}
.eyebrow{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--accent-d)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;font-family:var(--font-b);font-size:15px;font-weight:600;letter-spacing:-.012em;padding:13px 26px;border-radius:var(--rb);border:1px solid transparent;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}
.btn-primary{background:linear-gradient(180deg,var(--accent) 0%,var(--accent-d) 52%,var(--accent-dd) 100%);border-color:var(--accent-dd);color:var(--on-accent);box-shadow:0 1px 2px rgba(120,52,20,.2),0 4px 12px -2px rgba(120,52,20,.28),inset 0 1px 0 rgba(255,255,255,.26)}
.btn-primary:hover{background:linear-gradient(180deg,var(--accent-d) 0%,var(--accent-dd) 52%,#7a3414 100%);border-color:#7a3414;color:var(--on-accent);box-shadow:0 2px 4px rgba(120,52,20,.24),0 8px 22px -4px rgba(120,52,20,.34),inset 0 1px 0 rgba(255,255,255,.22)}
.btn-primary:active{transform:translateY(1px);box-shadow:0 1px 2px rgba(120,52,20,.26),inset 0 1px 2px rgba(80,32,10,.2)}
.btn-secondary{background:linear-gradient(180deg,#fff 0%,#fdf9f6 100%);border-color:var(--line-strong);color:var(--text);box-shadow:0 1px 2px rgba(74,42,22,.06),inset 0 1px 0 rgba(255,255,255,.9)}
.btn-secondary:hover{background:linear-gradient(180deg,#fff 0%,var(--accent-xl) 100%);border-color:var(--accent-l);color:var(--accent-dd);box-shadow:0 1px 2px rgba(74,42,22,.08),0 4px 12px -3px rgba(74,42,22,.1),inset 0 1px 0 rgba(255,255,255,.9)}
.btn-block{display:flex;width:100%}

.card{position:relative;background:linear-gradient(180deg,#fff 0%,#fffdfb 100%);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow),var(--ring);transition:box-shadow .22s cubic-bezier(.22,1,.36,1),border-color .22s,transform .22s cubic-bezier(.22,1,.36,1)}
.card:hover{box-shadow:var(--shadow-md),var(--ring);border-color:var(--line-strong);transform:translateY(-2px)}
.chip{display:inline-block;font-size:13.5px;text-decoration:none;color:var(--text);background:linear-gradient(180deg,#fff 0%,#fdfaf8 100%);border:1px solid var(--line-strong);border-radius:var(--r-pill);padding:7px 15px;box-shadow:0 1px 1px rgba(74,42,22,.04);transition:background .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s}
.chip:hover{border-color:var(--accent-l);background:linear-gradient(180deg,#fff8f3 0%,var(--accent-xl) 100%);color:var(--accent-dd);box-shadow:0 2px 6px -1px rgba(194,84,30,.16);transform:translateY(-1px)}
.pill{display:inline-block;font-size:12.5px;font-weight:600;padding:5px 13px;border-radius:var(--r-pill);background:linear-gradient(180deg,#fff6f0 0%,var(--accent-xl) 100%);color:var(--accent-dd);box-shadow:inset 0 0 0 1px rgba(194,84,30,.16)}

.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.split{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:52px;align-items:start}

table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:13px 15px;border-bottom:1px solid var(--line);font-size:14.5px;vertical-align:top}
th{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);background:linear-gradient(180deg,#fdf9f6 0%,var(--surface) 100%);font-weight:600;box-shadow:inset 0 -1px 0 var(--line-strong)}
tbody tr:hover{background:var(--surface)}
.num{font-variant-numeric:tabular-nums;letter-spacing:-.02em}

section.pad{padding-block:52px}
.longform p{font-size:17px;line-height:1.75;letter-spacing:-.008em;margin:0 0 16px;max-width:64ch}
.longform h2{font-size:29px;letter-spacing:-.032em;margin:38px 0 15px}

details{border-bottom:1px solid var(--line);padding:18px 0}
summary{font-family:var(--font-h);font-size:19px;font-weight:var(--hw);letter-spacing:-.026em;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:22px;color:var(--accent);line-height:1;flex:none}
details[open] summary::after{content:"\2212"}
summary:hover{color:var(--accent-dd)}

header.site{position:sticky;top:0;z-index:30;background:var(--head-bg);border-bottom:1px solid var(--head-line);backdrop-filter:saturate(1.4) blur(8px);box-shadow:0 1px 0 rgba(74,42,22,.045),0 1px 12px -6px rgba(74,42,22,.14)}
header.site .bar{display:flex;align-items:center;gap:20px;padding:12px 26px;max-width:1180px;margin:0 auto}
header.site .brand{display:flex;align-items:center;gap:9px;font-family:var(--font-h);font-weight:700;font-size:20px;letter-spacing:-.02em;text-decoration:none;color:var(--head-text);white-space:nowrap;flex:none}
header.site .brand span{color:var(--head-accent)}
header.site .brand .mark{color:var(--head-accent);flex:none}
header.site .en{text-decoration:none;font-size:12.5px;font-weight:600;letter-spacing:.04em;color:var(--head-muted);border:1px solid var(--head-line-strong);padding:6px 10px;border-radius:var(--rb);flex:none}
header.site .en:hover{color:var(--head-text);border-color:var(--head-accent)}
header.site .wa{text-decoration:none;font-size:13.5px;font-weight:600;background:var(--head-cta-bg);color:var(--head-cta-text);padding:9px 15px;border-radius:var(--rb);white-space:nowrap;border:1px solid var(--head-cta-line);flex:none}
header.site .wa svg{width:16px;height:16px;flex:none}
header.site .wa{display:inline-flex;align-items:center;gap:7px}
header.site .wa:hover{background:var(--head-cta-hover);color:var(--head-cta-text)}
nav.site{overflow-x:auto;min-width:0;scrollbar-width:none;display:flex;align-items:center;gap:19px;font-size:14.5px;flex:1;min-width:0;margin-left:6px}
nav.site a{color:var(--head-muted);text-decoration:none;white-space:nowrap;padding:4px 0;border-bottom:2px solid transparent}
nav.site a:hover{color:var(--head-text);border-bottom-color:var(--head-line-strong)}
nav.site a[aria-current]{color:var(--head-active);border-bottom-color:var(--head-accent);font-weight:600}
header.site .nt{position:absolute;opacity:0;pointer-events:none}
header.site .burger{display:none;flex:none;width:40px;height:40px;border:1px solid var(--head-line-strong);border-radius:var(--rb);cursor:pointer;align-items:center;justify-content:center;background:var(--bg)}
header.site .burger span,header.site .burger span::before,header.site .burger span::after{display:block;width:17px;height:2px;background:var(--head-text);border-radius:2px;content:""}
header.site .burger span{position:relative}
header.site .burger span::before{position:absolute;top:-6px}
header.site .burger span::after{position:absolute;top:6px}
header.site .burger:hover{border-color:var(--head-accent)}

@media(max-width:1080px){
  header.site .bar{gap:14px;padding:12px 20px}
  nav.site{gap:15px;font-size:14px;margin-left:2px}
  header.site .en{display:none}
}
@media(max-width:930px){
  header.site .bar{flex-wrap:wrap;gap:12px;padding:11px 18px}
  header.site .burger{display:flex;order:3}
  header.site .wa{order:2;margin-left:auto;font-size:13px;padding:9px 13px}
  header.site .brand{order:0}
  header.site .clock{order:1}
  nav.site{order:4;display:none;flex:0 0 100%;flex-direction:column;align-items:stretch;gap:0;margin:0 -18px;padding:4px 0 6px;border-top:1px solid var(--head-line)}
  nav.site a{padding:13px 18px;font-size:16px;border-bottom:1px solid var(--head-line)}
  nav.site a:last-child{border-bottom:0}
  nav.site a[aria-current]{border-bottom-color:var(--head-line);background:var(--accent-xl)}
  header.site .nt:checked~nav.site{display:flex}
}

/* ── Reloj de España en la cabecera ── */
.clock{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--head-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.clock-d{flex:none;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2.5px rgba(194,84,30,.15)}
.clock time{font-style:normal}

/* ── Formulario del hero: visible en escritorio, a un toque en móvil ── */
.hero-cta{display:none}
.fopen-close{display:none}
@media(max-width:760px){
  .hero-cta{display:grid;gap:10px;margin-top:4px}
  .hero-cta .btn{width:100%}
  .hero .formcard{display:none}
  .fopen:checked ~ .formcard{display:block;animation:fopen-in .22s ease}
  .fopen:checked ~ .hero-cta .fopen-lab{display:none}
  .fopen:checked ~ .hero-cta .fopen-close{display:inline-flex}
  @keyframes fopen-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
}
@media(max-width:1180px){.clock{font-size:12.5px}}
@media(max-width:420px){.clock{display:none}}

.hero .split{grid-template-columns:minmax(0,1fr) minmax(360px,.92fr);gap:46px}
.hero{position:relative;background:var(--hero-bg);color:var(--hero-text);border-bottom:1px solid var(--hero-line);background-image:radial-gradient(760px 460px at 8% -12%,#fae0cf 0%,rgba(250,224,207,0) 62%),radial-gradient(900px 500px at 96% 4%,#fdf1e6 0%,rgba(253,241,230,0) 58%),linear-gradient(180deg,rgba(255,255,255,0) 62%,rgba(255,255,255,.55) 100%)}
.hero h1{font-size:clamp(32px,4.5vw,50px);line-height:1.02;letter-spacing:-.048em;margin:22px 0 18px;max-width:21ch;color:var(--hero-text);font-weight:var(--hw-d);text-wrap:balance}
.hero h1 .hl{color:var(--accent-d)}
.hero .badge{display:inline-block;font-size:12.5px;font-weight:600;letter-spacing:.05em;padding:7px 14px;border-radius:var(--r-pill);background:var(--hero-badge-bg);color:var(--hero-badge-text);border:1px solid var(--hero-badge-line);white-space:nowrap}
.hero p.lead{font-size:17.5px;line-height:1.6;letter-spacing:-.013em;margin:0 0 24px;max-width:46ch;color:var(--hero-lead);text-wrap:pretty}
.hero .bul{display:flex;gap:12px;align-items:flex-start;font-size:15.5px;line-height:1.55;color:var(--hero-bul);margin-bottom:12px}
.hero .bul i{flex:none;width:20px;height:20px;margin-top:2px;border-radius:50%;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-dd) 100%);color:var(--hero-check-text);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;font-style:normal;box-shadow:0 1px 2px rgba(120,52,20,.28),inset 0 1px 0 rgba(255,255,255,.3)}

.statband{padding-bottom:34px}
.statline::-webkit-scrollbar{display:none}
.urg{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;line-height:1.5;color:var(--text);cursor:pointer;padding:9px 11px;border:1px solid var(--line-strong);border-radius:var(--rb);background:#fffdfc}
.urg:hover{border-color:var(--accent-l);background:var(--accent-xl)}
.urg input{flex:none;margin-top:2px;width:17px;height:17px;accent-color:var(--accent)}
.urg:has(input:checked){border-color:var(--accent);background:var(--accent-xl)}

.voz{display:flex;gap:10px;align-items:flex-start;margin:16px 0 0;padding:12px 14px;border:1px dashed var(--accent-l);border-radius:var(--rb);background:rgba(255,255,255,.55);font-size:14.5px;line-height:1.55;color:var(--hero-bul)}
.voz span:first-child{font-size:17px;line-height:1.3;flex:none}
.voz a{font-weight:600}
@media(max-width:760px){.voz{font-size:14px;padding:11px 12px}}

.statline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:baseline;font-size:13.5px;color:var(--hero-lead);border-top:1px solid var(--hero-line);padding-top:16px}
.statline>span{display:flex;align-items:baseline;justify-content:center;gap:6px;white-space:nowrap;min-width:0;border-right:1px solid var(--hero-line)}
.statline>span:last-child{padding-right:0;border-right:0}
.statline b{font-family:var(--font-h);font-weight:700;font-size:21px;line-height:1;color:var(--hero-tile-num);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
@media(max-width:420px){.statline{gap:10px 0;font-size:12.5px}.statline{gap:10px 0;font-size:12.5px}.statline b{font-size:19px}}

.statgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--hero-tile-line);border:1px solid var(--hero-tile-line);border-radius:var(--r);overflow:hidden}
.statgrid div{background:var(--hero-tile-bg);padding:17px 16px}
.statgrid b{display:block;font-family:var(--font-h);font-weight:700;font-size:27px;line-height:1;color:var(--hero-tile-num);font-variant-numeric:tabular-nums}
.statgrid span{display:block;font-size:11.5px;color:var(--hero-tile-lab);margin-top:7px;letter-spacing:.02em}

.statpanel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:32px;background:var(--card-bg)}
.statpanel>div{padding:19px 17px;border-left:1px solid var(--line)}
.statpanel>div:first-child{border-left:0}
.statpanel b{display:block;font-family:var(--font-h);font-weight:700;font-size:27px;color:var(--accent-d);font-variant-numeric:tabular-nums}
.statpanel span{display:block;font-size:12.5px;color:var(--muted);margin-top:6px}

.formcard{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fffdfb 100%);border:1px solid var(--form-line);border-radius:var(--r-lg);padding:20px 20px 18px;box-shadow:0 1px 2px rgba(74,42,22,.08),0 10px 24px -6px rgba(74,42,22,.12),0 30px 64px -16px rgba(74,42,22,.18),inset 0 1px 0 rgba(255,255,255,.9);color:var(--text)}
.formcard::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--accent-d) 0%,var(--accent-bright) 42%,#e8a06a 100%)}
.formcard>h2{font-size:20px!important;letter-spacing:-.022em;margin-bottom:4px!important}
.field{display:grid;gap:5px}
.field[hidden]{display:none}
.field>label{font-size:10.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.input{width:100%;font-family:inherit;font-size:14.5px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:var(--rb);background:#fffdfc;color:var(--text);box-shadow:inset 0 1px 2px rgba(74,42,22,.05);transition:border-color .16s,box-shadow .16s}
.input::placeholder{color:var(--muted2)}
.input:focus{outline:none;border-color:var(--accent);box-shadow:inset 0 1px 2px rgba(74,42,22,.04),0 0 0 3px var(--accent-xl)}


.select{width:100%;font-family:inherit;font-size:14.5px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:var(--rb);background:var(--bg);color:var(--text);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b5a50' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}
.select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}
.oflist{border:1px solid var(--line);border-radius:var(--rb);background:var(--surface);max-height:196px;overflow-y:auto;padding:4px}
.oflist label{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:6px;font-size:14px;line-height:1.45;cursor:pointer;font-weight:400;letter-spacing:0;text-transform:none;color:var(--text)}
.oflist label:hover{background:var(--accent-xl)}
.oflist input{flex:none;margin-top:2px;width:16px;height:16px;accent-color:var(--accent)}
.oflist .loc{display:block;font-size:12.5px;color:var(--muted);font-weight:400;letter-spacing:0;text-transform:none}
.oflist .all{border-bottom:1px solid var(--line);margin-bottom:4px;font-weight:600;text-transform:none;letter-spacing:0}
.ofnote{font-size:12.5px;color:var(--muted);margin:8px 0 0;line-height:1.55}

.chartwrap{border:1px solid var(--line);border-radius:var(--r);background:var(--card-bg);padding:18px 14px 8px;overflow-x:auto}
.chart{display:block;width:100%;min-width:640px;height:auto}
.chart rect{fill:var(--accent);transition:fill .15s}
.chart line{stroke:var(--line);stroke-width:1}
.chart text{font-family:var(--font-b)}
.chart .ax{font-size:11.5px;fill:var(--muted)}
.chart .vl{font-size:14px;font-weight:700;fill:var(--accent-dd)}
.chart .nm{font-size:12.5px;fill:var(--text)}
.chart .mt{font-size:11px;fill:var(--muted)}
.chart a:hover rect{fill:var(--accent-dd)}
.chart a{cursor:pointer}
@media(max-width:760px){.chartwrap{padding:14px 8px 6px}}

.sec-top{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}
.live{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;letter-spacing:.02em;padding:7px 14px 7px 12px;border-radius:999px;border:1px solid #6b4620;background:rgba(232,181,63,.08);color:#f0d9a8;white-space:nowrap}
.live-dot{position:relative;flex:none;width:8px;height:8px;border-radius:50%;background:#ffd24c;box-shadow:0 0 6px rgba(255,210,76,.9)}
.live-dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1.5px solid rgba(255,210,76,.6);animation:live-ring 2.2s cubic-bezier(.3,0,.5,1) infinite}
@keyframes live-ring{0%{transform:scale(.55);opacity:.85}70%{transform:scale(1.5);opacity:0}100%{transform:scale(1.5);opacity:0}}
@media(prefers-reduced-motion:reduce){.live-dot::after{animation:none;opacity:.5;transform:scale(1)}}
@media(max-width:640px){.live{font-size:11.5px;padding:6px 12px 6px 10px}}

/* ── Banda oscura: el oro necesita fondo profundo para leerse como metal ── */
.dark-band{background:#221409;background-image:radial-gradient(900px 420px at 18% -10%,#3a2411 0,rgba(58,36,17,0) 70%);border-top:1px solid #3b2512;border-bottom:1px solid #3b2512;color:#f3e6d6}
.dark-band .eyebrow{color:#e8b53f}
.dark-band h2{color:#fff}
.dark-band p{color:#d6c3ad}
.dark-band .lastbox{border:1px solid rgba(255,255,255,.14);border-radius:var(--r);overflow:hidden;background:rgba(255,255,255,.03)}
.last-head,.last{display:grid;grid-template-columns:110px 150px minmax(0,1fr) minmax(0,1.1fr);gap:14px;align-items:baseline;padding:11px 18px}
.last-head{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:#a89384;border-bottom:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04)}
.last{border-top:1px solid rgba(255,255,255,.08);font-size:14.5px;color:#f0e7df}
.last:first-of-type{border-top:0}
.last .num{font-variant-numeric:tabular-nums}
.last em{font-style:normal;margin-left:8px;font-size:12.5px;color:var(--accent-l)}
@media(max-width:700px){
  .last-head{display:none}
  .last{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px 14px;padding:13px 16px}
  .last span:nth-child(1)::before{content:"Reservada ";color:#a89384;font-size:12px}
  .last span:nth-child(2)::before{content:"Cita ";color:#a89384;font-size:12px}
}

.dark-band .rkbox{background:#2b1a0c;border-color:#4a3016;box-shadow:0 10px 30px rgba(0,0,0,.34)}
.dark-band .rk-head{background:#201308;border-bottom-color:#4a3016;color:#b39a7c}
.dark-band .rk{border-top-color:#3b2512;color:#f3e6d6}
.dark-band .rk:hover{background:#38220f}
.dark-band .rk-i{border-color:#6b4a22}
.dark-band .rk-top .rk-i{background:#e8b93c;border-color:#e8b93c;box-shadow:0 0 6px rgba(232,185,60,.5)}
.dark-band .rk:hover .rk-n{color:#f5d67e}
.dark-band .rk-t{background:linear-gradient(to bottom,transparent calc(50% - .5px),#4a3016 calc(50% - .5px),#4a3016 calc(50% + .5px),transparent calc(50% + .5px)) 0 0/100% 100% no-repeat}
.dark-band .rk-t::before{background:repeating-linear-gradient(to right,#5c3c1c 0 1px,transparent 1px 25%);opacity:.9;z-index:0}
.dark-band .rk:hover .rk-t{background:linear-gradient(to bottom,transparent calc(50% - .5px),#5c3c1c calc(50% - .5px),#5c3c1c calc(50% + .5px),transparent calc(50% + .5px)) 0 0/100% 100% no-repeat}
.dark-band .rk-v{color:#fff}
.dark-band .rk-p{color:#c9b191}
.dark-band .rk-top .rk-p{color:#f5d67e}
.dark-band .rk-o{color:#b39a7c}
.dark-band .rk-foot{background:#201308;border-top-color:#4a3016}
.dark-band .rk-fl{color:#b39a7c}
.dark-band .rk-ft{color:#f5d67e}
.dark-band .btn-secondary{background:transparent;border-color:#6b4620;color:#f3e6d6}
.dark-band .btn-secondary:hover{background:#38220f;border-color:#e8b53f;color:#f5d67e}
/* sobre fondo oscuro el oro brilla: se recupera el brillo alto y el resalte de las dos primeras */
.dark-band .rk-f{background:linear-gradient(180deg,#c28e06 0%,#f0c422 10%,#ffe07a 24%,#eab81c 36%,#c28e06 48%,#8f6303 57%,#d8a812 72%,#a97803 88%,#7a5402 100%);filter:drop-shadow(0 0 3px rgba(255,200,60,.28));position:relative;z-index:1}
.dark-band .rk-top .rk-f{background:linear-gradient(180deg,#e8ae14 0%,#ffdc4e 10%,#fff6cf 24%,#ffd63c 36%,#eeb412 48%,#b07c06 57%,#ffd23a 72%,#d69a0a 88%,#a06f04 100%);filter:drop-shadow(0 0 5px rgba(255,214,76,.55))}
.dark-band .rk:hover .rk-f{background:linear-gradient(180deg,#f0be2a 0%,#ffe887 10%,#fffbe8 24%,#ffe368 36%,#f7c521 48%,#c08c08 57%,#ffdd5c 72%,#e0a70e 88%,#ab7805 100%);filter:drop-shadow(0 0 6px rgba(255,220,90,.6))}

/* ── Ranking de citas por provincia ── */
.rkbox{--rk-cols:34px 178px minmax(0,1fr) 66px 58px 52px;border:1px solid var(--line);border-radius:var(--r);background:var(--card-bg);overflow:hidden;box-shadow:var(--shadow)}
.rk-head,.rk,.rk-foot{display:grid;grid-template-columns:var(--rk-cols);align-items:center;gap:20px;padding:0 22px}
.rk-head{height:40px;background:var(--surface);border-bottom:1px solid var(--line);font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.rk-head>span{font-family:var(--font-b);font-size:10.5px;font-weight:700;letter-spacing:.13em;color:inherit;background:none}
.rk-head>span::before{content:none}
.rkh-r{text-align:right}
.rk{height:56px;text-decoration:none;color:var(--text);border-top:1px solid var(--line);transition:background .14s}
.rk-rows .rk:first-child{border-top:0}
.rk:hover{background:var(--accent-xl)}
.rk-i{width:7px;height:7px;border-radius:50%;background:none;border:1.5px solid var(--accent-l);box-sizing:border-box}
.rk-top .rk-i{background:var(--accent);border-color:var(--accent)}
.rk-n{font-size:15.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em}
.rk:hover .rk-n{color:var(--accent-dd)}
.rk-t{position:relative;height:14px;min-width:0;background:
    linear-gradient(to bottom,transparent calc(50% - .5px),var(--line) calc(50% - .5px),var(--line) calc(50% + .5px),transparent calc(50% + .5px)) 0 0/100% 100% no-repeat}
.rk-t::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(to right,var(--line-strong) 0 1px,transparent 1px 25%);opacity:.45}
.rk-f{position:relative;display:block;height:100%;min-width:4px;
  background:linear-gradient(180deg,#e0a713 0%,#ffd642 10%,#ffec9e 24%,#fdcf3a 36%,#e5a810 48%,#b07c06 57%,#f3c62c 72%,#cc9308 88%,#9a6c04 100%);
  filter:drop-shadow(0 0 2px rgba(204,147,8,.55));
  -webkit-mask-image:repeating-linear-gradient(to right,#000 0 9px,transparent 9px 13px);
  mask-image:repeating-linear-gradient(to right,#000 0 9px,transparent 9px 13px);
  -webkit-mask-size:100% 100%;mask-size:100% 100%}
.rk-top .rk-f{background:linear-gradient(180deg,#c28e06 0%,#f0c422 10%,#ffe07a 24%,#eab81c 36%,#c28e06 48%,#8f6303 57%,#d8a812 72%,#a97803 88%,#7a5402 100%);
  filter:drop-shadow(0 0 2px rgba(154,108,4,.6))}
.rk:hover .rk-f{background:linear-gradient(180deg,#a67703 0%,#d4ab12 10%,#ecca5c 24%,#cc9f0e 36%,#a67703 48%,#785102 57%,#bb9008 72%,#8f6302 88%,#5f4101 100%);
  filter:drop-shadow(0 0 2px rgba(120,81,2,.62))}
.rk-v{font-family:var(--font-h);font-weight:700;font-size:20px;text-align:right;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.rk-p{font-size:13px;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
.rk-top .rk-p{color:var(--accent-d);font-weight:600}
.rk-o{font-size:13px;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}
.rk-foot{height:46px;background:var(--surface);border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;gap:16px}
.rk-fl{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rk-ft{font-family:var(--font-h);font-weight:700;font-size:17px;color:var(--accent-d);font-variant-numeric:tabular-nums}
@media(max-width:860px){.rkbox{--rk-cols:28px 138px minmax(0,1fr) 58px 50px 44px}.rk-head,.rk,.rk-foot{gap:13px;padding:0 16px}.rk-n{font-size:14.5px}}
@media(max-width:640px){
  .rk-head{display:none}
  .rk{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"i name val" "t track track";height:auto;gap:8px 12px;padding:14px 16px}
  .rk-i{grid-area:i}
  .rk-n{grid-area:name}
  .rk-v{grid-area:val;font-size:19px}
  .rk-t{grid-area:track;height:12px}
  .rk-p,.rk-o{display:none}
  .rk-foot{padding:0 16px}
  .rk-fl{white-space:normal;font-size:12px;line-height:1.4}
}

.bars{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card-bg)}
.barrow{display:grid;grid-template-columns:150px minmax(0,1fr) 58px 118px;gap:14px;align-items:center;padding:13px 18px;border-top:1px solid var(--line);text-decoration:none;color:var(--text)}
.barrow:first-child{border-top:0}
.barrow:hover{background:var(--surface);color:var(--accent-dd)}
.barname{font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bartrack{height:12px;border-radius:999px;background:var(--accent-xl);overflow:hidden}
.barfill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent-d) 0%,var(--accent) 100%);transition:background .15s}
.barrow:hover .barfill{background:linear-gradient(90deg,var(--accent-dd) 0%,var(--accent-d) 100%)}
.barnum{font-family:var(--font-h);font-weight:700;font-size:18px;text-align:right;font-variant-numeric:tabular-nums}
.barmeta{font-size:12.5px;color:var(--muted);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
@media(max-width:760px){
  .barrow{grid-template-columns:minmax(0,1fr) 54px;grid-template-areas:"name num" "track track" "meta meta";gap:6px 12px;padding:14px 16px}
  .barname{grid-area:name}.barnum{grid-area:num}.bartrack{grid-area:track}.barmeta{grid-area:meta;text-align:left}
}

.wiz{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--card-bg);padding:24px;box-shadow:var(--shadow);margin:0 0 30px}
.wiz-q{font-family:var(--font-h);font-weight:700;font-size:23px;letter-spacing:var(--hls);margin:0 0 4px}
.wiz-hint{font-size:14px;color:var(--muted);margin:0 0 18px}
.wiz-opts{display:grid;gap:10px}
.wiz-opts button{font-family:var(--font-b);font-size:16px;font-weight:500;text-align:left;padding:15px 18px;border:1px solid var(--line-strong);border-radius:var(--rb);background:var(--bg);color:var(--text);cursor:pointer;min-height:52px;transition:background .14s,border-color .14s,color .14s}
.wiz-opts button:hover{background:var(--accent-xl);border-color:var(--accent-l);color:var(--accent-dd)}
.wiz-opts button small{display:block;font-size:13.5px;font-weight:400;color:var(--muted);margin-top:3px}
.wiz-opts button:hover small{color:var(--accent-d)}
.wiz-back{background:none;border:0;font-family:var(--font-b);font-size:13.5px;color:var(--muted);cursor:pointer;padding:0;margin-bottom:14px;text-decoration:underline}
.wiz-back:hover{color:var(--accent-dd)}
.wiz-res{border-top:3px solid var(--accent);border-radius:var(--rb);background:var(--accent-xl);padding:20px 22px}
.wiz-res .lab{font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent-dd)}
.wiz-res h3{font-family:var(--font-h);font-weight:700;font-size:26px;margin:8px 0 4px;letter-spacing:var(--hls)}
.wiz-res .price{font-family:var(--font-h);font-weight:700;font-size:20px;color:var(--accent-d);font-variant-numeric:tabular-nums;margin-bottom:12px}
.wiz-res p{margin:0 0 12px;font-size:15.5px;line-height:1.7;max-width:64ch}
.wiz-res .bring{font-size:14.5px;line-height:1.65;color:var(--muted);border-top:1px solid var(--accent-l);padding-top:12px;margin-top:4px}
.wiz-res .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.wiz-all{font-size:14.5px;color:var(--muted);margin:0 0 14px}
@media(max-width:760px){.wiz{padding:18px}.wiz-q{font-size:20px}.wiz-opts button{font-size:15.5px;padding:14px 16px}}

.chooser-list{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--card-bg)}
.chooser{border-bottom:1px solid var(--line);padding:0}
.chooser:last-child{border-bottom:0}
.chooser>summary{padding:17px 20px;font-family:var(--font-h);font-size:17.5px;font-weight:600;line-height:1.4}
.chooser>summary:hover{background:var(--surface)}
.chooser[open]>summary{background:var(--accent-xl);color:var(--accent-dd)}
.chooser-body{padding:4px 20px 20px;border-top:1px solid var(--line)}
.chooser-title{display:inline-block;font-family:var(--font-h);font-weight:700;font-size:15px;color:var(--accent-dd);background:var(--accent-xl);border-radius:var(--r-pill);padding:6px 14px;margin:14px 0 12px}
.chooser-body p{font-size:15.5px;line-height:1.75;margin:0 0 11px;max-width:68ch}
.chooser-links{margin-top:14px!important;font-size:15px}
@media(max-width:760px){.chooser>summary{padding:15px 16px;font-size:16px}.chooser-body{padding:4px 16px 18px}}

/* Bloques de lectura rápida — sin fuentes nuevas, sin JS */
.tldr{border:1px solid var(--accent-l);border-left:4px solid var(--accent);border-radius:var(--rb);background:var(--accent-xl);padding:18px 22px;margin:0 0 30px;max-width:68ch}
.tldr-lab{display:block;font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--accent-dd);margin-bottom:10px}
.tldr ul{margin:0;padding-left:20px}
.tldr li{font-size:15.5px;line-height:1.7;margin-bottom:7px}
.tldr li:last-child{margin-bottom:0}
.tldr li strong{color:var(--accent-dd)}

.longform h2{padding-top:4px;border-top:1px solid var(--line);margin-top:42px}
.longform h2:first-of-type{border-top:0;margin-top:30px}
.lead{font-size:18.5px!important;line-height:1.62!important;color:var(--text)!important}

@media(max-width:760px){
  .tldr{padding:15px 17px}
}

.rtl{direction:rtl;text-align:right}
.rtl h1,.rtl h2,.rtl h3,.rtl p,.rtl li{text-align:right}
.rtl .longform p{text-align:right}
.rtl ul,.rtl ol{padding-right:20px;padding-left:0}
.rtl summary::after{margin-right:auto;margin-left:0}
.rtl .tldr{border-left:0;border-right:3px solid var(--accent)}
.rtl .card{text-align:right}

footer.site{background:var(--foot-bg);color:var(--foot-text);margin-top:auto;border-top:1px solid var(--foot-line)}
footer.site .cols{display:grid;grid-template-columns:minmax(0,1.45fr) repeat(3,minmax(0,1fr));gap:34px 30px;padding:44px 26px 40px;max-width:1180px;margin:0 auto;font-size:13.5px;line-height:1.75}
footer.site .cols>div:first-child{grid-column:1/-1;padding-bottom:26px;border-bottom:1px solid var(--foot-line)}
footer.site .cols>div:first-child p{max-width:58ch}
footer.site h4{color:var(--foot-head);font-weight:700;margin:0 0 10px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-family:var(--font-b)}
footer.site a{color:var(--foot-text);text-decoration:none;display:block;margin-bottom:6px}
footer.site a:hover{color:var(--foot-hover)}
footer.site .brand{font-family:var(--font-h);font-weight:700;font-size:20px;color:var(--foot-head);margin-bottom:10px;white-space:nowrap}
footer.site .brand .mark{color:var(--foot-accent);margin-right:9px;vertical-align:-5px}
footer.site .brand span{color:var(--foot-accent)}
footer.site .foot-langs{display:flex;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid var(--foot-line)}
footer.site .foot-langs a{display:inline;margin:0;font-size:13.5px}
footer.site .legal div{display:flex;gap:18px;justify-content:space-between;align-items:baseline;flex-wrap:wrap}
footer.site .foot-legal-links{display:flex;gap:16px;flex-wrap:wrap}
footer.site .foot-legal-links a{display:inline;margin:0;font-size:12.5px}
@media(max-width:760px){footer.site .legal div{flex-direction:column;gap:12px}}
footer.site .legal{border-top:1px solid var(--foot-line)}
footer.site .legal div{max-width:1180px;margin:0 auto;padding:18px 26px;font-size:12.5px;color:var(--foot-muted)}

@media(max-width:1060px){.formcard .g2{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1000px){#c-form .g2{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1020px){footer.site .cols{grid-template-columns:repeat(3,minmax(0,1fr))}footer.site .cols>div:first-child{grid-column:1/-1}}
@media(max-width:620px){footer.site .cols{grid-template-columns:minmax(0,1fr)}}
@media(max-width:980px){.g3,.g4,.statgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  header.site .bar{flex-wrap:wrap;gap:12px;padding:12px 18px}
  header.site .tag{display:none}
  header.site .brand{font-size:19px}
  header.site .brand .mark{width:22px;height:22px;margin-right:8px;vertical-align:-5px}
  header.site .en{margin-left:auto}
  header.site .wa{font-size:13.5px;padding:9px 14px}
  nav.site{padding:0 18px;gap:20px}
  .wrap,.wrap[style]{padding-left:18px!important;padding-right:18px!important}
  .g2,.g3,.g4,.statgrid,.split,.statpanel,footer.site .cols{grid-template-columns:minmax(0,1fr)}
  .hero .split{grid-template-columns:minmax(0,1fr);gap:28px}
  .statpanel>div{border-left:0;border-top:1px solid var(--line)}
  .statpanel>div:first-child{border-top:0}
  .hero h1{font-size:31px;line-height:1.16}
  h1{font-size:31px!important;line-height:1.16!important}
  h2{font-size:25px!important}
  .longform h2{font-size:24px}
  table{display:block;overflow-x:auto}
  .formcard{padding:22px}
  .hero .badge{white-space:normal;font-size:11.5px}
}

@media(max-width:430px){
  .statline{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px}
  .statline>span:nth-child(2n){border-right:0}
  .statline>span:nth-child(-n+2){padding-bottom:13px;border-bottom:1px solid var(--hero-line)}
}

/* Texto secundario sobre las secciones oscuras: el gris claro no llega al 4.5:1 sobre #221409 */
.dark-note{color:#c4ae9c!important}

/* Botón flotante de WhatsApp — disco con pulso "en línea" */
.wafloat{position:fixed;right:20px;bottom:20px;z-index:80;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#2ac45f 0%,#1fa64f 55%,#158f42 100%);color:#fff;text-decoration:none;box-shadow:0 3px 8px rgba(13,94,44,.3),0 12px 28px -6px rgba(13,94,44,.44),inset 0 1px 0 rgba(255,255,255,.28);transition:transform .2s cubic-bezier(.22,1,.36,1),box-shadow .2s}
.wafloat::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25d366;animation:wa-ping 2.4s cubic-bezier(.24,.6,.4,1) infinite;pointer-events:none}
@keyframes wa-ping{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.55);opacity:0}100%{transform:scale(1.55);opacity:0}}
.wafloat:hover{color:#fff;transform:scale(1.06);box-shadow:0 4px 10px rgba(13,94,44,.32),0 18px 38px -8px rgba(13,94,44,.5),inset 0 1px 0 rgba(255,255,255,.24)}
.wafloat:active{transform:scale(.97)}
.wafloat svg{width:30px;height:30px;flex:none;position:relative;z-index:1}
.wafloat span{display:none}
.wafloat .dot{position:absolute;top:2px;right:2px;width:13px;height:13px;border-radius:50%;background:#34e07a;border:2.5px solid #fff;z-index:2;box-shadow:0 0 0 1px rgba(13,94,44,.18)}
.wafloat .lbl{position:absolute;right:70px;top:50%;transform:translateY(-50%) translateX(6px);white-space:nowrap;background:#fff;color:var(--text);font-family:var(--font-b);font-size:13.5px;font-weight:600;padding:9px 14px;border-radius:10px;box-shadow:0 2px 6px rgba(31,22,17,.1),0 10px 24px -6px rgba(31,22,17,.18);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s cubic-bezier(.22,1,.36,1)}
.wafloat .lbl b{display:block;font-weight:500;font-size:11.5px;color:#158f42;letter-spacing:.02em}
.wafloat:hover .lbl{opacity:1;transform:translateY(-50%) translateX(0)}
@media(max-width:620px){.wafloat{right:15px;bottom:15px;width:54px;height:54px}.wafloat svg{width:28px;height:28px}.wafloat .lbl{display:none}}
@media(prefers-reduced-motion:reduce){.wafloat::before{animation:none;opacity:0}}
@media print{.wafloat{display:none}}

/* Icono de trámite */
.tico{flex:none;width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#fdf4ee 0%,var(--accent-xl) 100%);color:var(--accent-d);box-shadow:inset 0 0 0 1px rgba(194,84,30,.14)}
.tico svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card:hover .tico{background:linear-gradient(180deg,#fceadf 0%,#fbe0d0 100%);color:var(--accent-dd)}
.thead{display:flex;align-items:center;gap:13px}
