/* =============================================================
   ACCESO SALUD — Sistema de diseño v2 (Iteración 3 — paleta/tipografía
   del design system + logo definitivos de la marca)
   Base clara paper/cream · Lora + Figtree · teal de peso · ámbar solo acción
   Contraste auditado WCAG AA (ver docs/dev/auditoria-contraste.txt) — recalculado
   con la paleta nueva antes de aplicarla.
   ============================================================= */

/* ---------- 1. Fuentes self-hosted ---------- */
@font-face{font-family:'Lora';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/lora-500.woff2') format('woff2');}
@font-face{font-family:'Lora';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/lora-600.woff2') format('woff2');}
@font-face{font-family:'Lora';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/lora-700.woff2') format('woff2');}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/figtree-400.woff2') format('woff2');}
@font-face{font-family:'Figtree';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/figtree-600.woff2') format('woff2');}
@font-face{font-family:'Figtree';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/figtree-700.woff2') format('woff2');}
@font-face{font-family:'Figtree';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/figtree-400-italic.woff2') format('woff2');}
@font-face{font-family:'Figtree';font-style:italic;font-weight:700;font-display:swap;src:url('../fonts/figtree-700-italic.woff2') format('woff2');}

/* ---------- 2. Tokens ---------- */
:root{
  /* Paleta (§1.2) — actualizada Iteración 3 con los valores exactos del design system */
  --paper:#FDFBF7;
  --cream:#F7F0E4;
  --teal-900:#0F4D4A;
  --teal-600:#1F7A73;
  --teal-700:#186660;        /* extensión AA: texto/links teal sobre cream (teal-600 da 4.27) */
  --amber:#F08C2D;
  --amber-700:#DB7A1B;
  --amber-text:#F5AE6A;      /* extensión AA: texto chico ámbar sobre teal-900 (5.11) */
  --ink:#222222;
  --white:#ffffff;
  --error:#A4262C;           /* extensión: estados de error de formulario (7.0 sobre paper) */
  --wa-green:#25D366;
  /* Texto derivado */
  --txt-2:#454545;           /* secundario sobre claros */
  --txt-lead:#3C3C3C;
  --txt-on-teal:#CFE0DD;
  --txt-foot:#BCD3CF;
  --txt-foot-muted:#9DBDB8;
  /* Tipografía (§1.3) — escala fluida 375→1180px */
  --font-display:'Lora',Georgia,'Times New Roman',serif;
  --font-body:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
  --fs-h1:clamp(2.0625rem, 1.48rem + 2.48vw, 3.3125rem);   /* 33→53px */
  --fs-h2:clamp(1.5625rem, 1.24rem + 1.37vw, 2.25rem);     /* 25→36px */
  --fs-h3:clamp(1.21875rem, 1.146rem + .31vw, 1.375rem);   /* 19.5→22px */
  --fs-lead:clamp(1.0625rem, .96rem + .43vw, 1.28125rem);  /* 17→20.5px */
  --fs-body:clamp(1.0625rem, 1.03rem + .12vw, 1.125rem);   /* 17→18px */
  --fs-small:.9rem;                                        /* 14.4px */
  --fs-eyebrow:.8125rem;                                   /* 13px */
  /* Espaciado (§1.4, escala de 8) */
  --sp-1:.5rem; --sp-2:1rem; --sp-3:1.5rem; --sp-4:2rem; --sp-6:3rem; --sp-8:4rem; --sp-12:6rem;
  /* Layout */
  --maxw:1180px;
  --pad-x:clamp(1.1rem, 4vw, 2rem);
  --sec-y:clamp(3rem, 6vw, 5rem);
  /* Radios (§1.2 original — Ismael prefiere estos por sobre los pill del design system nuevo) */
  --r-btn:10px; --r-card:14px; --r-block:20px;
  /* Bordes y sombras */
  --line:rgba(15,77,74,.14);
  --line-soft:rgba(15,77,74,.10);
  --line-input:rgba(15,77,74,.60); /* 3.3:1 no-texto sobre blanco/paper */
  --shadow-card:0 10px 28px rgba(15,77,74,.10);
  --shadow-float:0 8px 24px rgba(15,45,44,.24);
  /* Alturas mínimas táctiles */
  --tap:52px;
}

/* ---------- 3. Reset y base ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--fs-body);
  line-height:1.6;
  color:var(--ink);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,svg,video{max-width:100%;height:auto;display:block;}
[id]{scroll-margin-top:92px;} /* anclas bajo el header sticky */

/* ---------- 4. Tipografía ---------- */
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:1.15;color:var(--teal-900);margin:0 0 .6em;}
h1{font-size:var(--fs-h1);letter-spacing:-.01em;text-wrap:balance;}
h2{font-size:var(--fs-h2);text-wrap:balance;}
h3{font-size:var(--fs-h3);}
h4{font-family:var(--font-body);font-size:var(--fs-small);font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
p{margin:0 0 1rem;}
.lead{font-size:var(--fs-lead);line-height:1.5;color:var(--txt-lead);max-width:58ch;}
small,.small{font-size:var(--fs-small);}
.prose{max-width:68ch;}
a{color:var(--teal-600);text-decoration-thickness:1.5px;text-underline-offset:3px;}
a:hover{color:var(--teal-900);}
.sec-cream a:not(.btn){color:var(--teal-700);}
strong{font-weight:700;}
::selection{background:var(--amber);color:var(--ink);}

/* ---------- 5. Accesibilidad ---------- */
:focus-visible{outline:3px solid var(--teal-600);outline-offset:2px;border-radius:2px;}
.sec-teal :focus-visible,.site-footer :focus-visible{outline-color:var(--amber);}
.skip-link{position:absolute;left:-999px;top:0;z-index:300;background:var(--amber);color:var(--ink);font-weight:700;padding:.7rem 1.2rem;border-radius:0 0 var(--r-btn) 0;text-decoration:none;}
.skip-link:focus{left:0;}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}

/* ---------- 6. Layout ---------- */
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad-x);}
.section{padding-block:var(--sec-y);}
.sec-paper{background:var(--paper);}
.sec-cream{background:var(--cream);}
.sec-teal{background:var(--teal-900);color:var(--txt-on-teal);}
.sec-teal h1,.sec-teal h2,.sec-teal h3{color:var(--white);}
.sec-teal p{color:var(--txt-on-teal);}
.sec-head{max-width:62ch;margin-bottom:var(--sp-4);}
.sec-head p{color:var(--txt-2);margin:.7rem 0 0;}
.sec-teal .sec-head p{color:var(--txt-on-teal);}
.eyebrow{display:block;font-size:var(--fs-eyebrow);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-600);margin:0 0 .6rem;}
.sec-cream .eyebrow{color:var(--teal-700);}
.sec-teal .eyebrow{color:var(--amber-text);}

/* ---------- 7. Botones (§1.5.1-3) ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--font-body);font-weight:600;font-size:1.02rem;line-height:1.2;
  min-height:var(--tap);padding:.8rem 1.5rem;border-radius:var(--r-btn);
  text-decoration:none;cursor:pointer;border:2px solid transparent;text-align:center;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .12s ease;
}
@media (max-width:400px){.btn{padding-inline:.6rem;}}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--amber);color:var(--ink);}
.btn-primary:hover{background:var(--amber-700);color:var(--ink);transform:translateY(-1px);}
.btn-outline{background:transparent;border-color:var(--teal-900);color:var(--teal-900);}
.btn-outline:hover{background:var(--teal-900);color:var(--white);}
.btn-ghost-light{background:transparent;border-color:rgba(255,255,255,.55);color:var(--white);}
.btn-ghost-light:hover{background:rgba(255,255,255,.12);color:var(--white);}
.btn svg{flex:none;}

/* ---------- 8. Badges y píldoras (§1.5.6) ---------- */
.badge{display:inline-block;background:var(--white);border:1px solid rgba(15,77,74,.18);color:var(--teal-900);font-weight:600;font-size:.85rem;padding:.4rem .95rem;border-radius:999px;}
.badge b,.badge strong{color:var(--teal-700);font-weight:700;}
.badge-amber{display:inline-block;background:var(--amber);color:var(--ink);font-weight:700;font-size:.72rem;letter-spacing:.02em;padding:.18rem .65rem;border-radius:999px;}

/* ---------- 9. Header (§3.1) ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(253,251,247,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.7rem;}
.brand{display:flex;align-items:center;gap:.65rem;line-height:1;text-decoration:none;flex:none;}
.brand .brand-icon{display:block;height:40px;width:auto;flex:none;}
.brand .brand-lockup{display:flex;flex-direction:column;}
.brand .brand-logo{display:block;height:28px;width:auto;}
.brand .brand-desc{font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--teal-600);margin-top:5px;font-weight:600;}
.nav-links{display:none;}
.nav-cta{display:none;}
.nav-toggle{display:inline-flex;align-items:center;gap:.45rem;background:none;border:2px solid var(--teal-900);border-radius:8px;padding:.5rem .8rem;color:var(--teal-900);font-family:var(--font-body);font-weight:600;font-size:.95rem;cursor:pointer;min-height:44px;}
.nav-toggle[aria-expanded="true"]{background:var(--teal-900);color:var(--white);}
@media (min-width:860px){
  .nav-links{display:flex;align-items:center;gap:1.6rem;}
  .nav-links a{color:var(--teal-900);text-decoration:none;font-weight:600;font-size:.98rem;padding:.3rem 0;border-bottom:2px solid transparent;}
  .nav-links a:hover,.nav-links a[aria-current="page"]{border-bottom-color:var(--amber);color:var(--teal-900);}
  .nav-cta{display:inline-flex;}
  .nav-toggle{display:none;}
  .mobile-menu{display:none!important;}
}
/* Menú móvil */
.mobile-menu{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 14px 30px rgba(15,77,74,.12);padding:1rem var(--pad-x) 1.4rem;display:none;}
.mobile-menu.is-open{display:block;}
.mobile-menu a{display:block;padding:.85rem .2rem;color:var(--teal-900);text-decoration:none;font-weight:600;font-size:1.05rem;border-bottom:1px solid var(--line-soft);}
.mobile-menu a:last-of-type{border-bottom:0;}
.mobile-menu .btn{width:100%;margin-top:.9rem;}

/* Dropdown "Cómo ayudamos" (§3.1 It.2) — mismo trigger visual que un link de nav. */
.nav-dropdown-trigger{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;margin:0;cursor:pointer;font-family:var(--font-body);line-height:1.6;}
.nav-dropdown-trigger::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-3px;transition:transform .15s ease;}
.nav-dropdown-trigger[aria-expanded="true"]::after{transform:rotate(-135deg);margin-top:3px;}
.nav-dropdown{list-style:none;margin:0;padding:0;}
.nav-dropdown[hidden]{display:none;}
.nav-dropdown a{text-decoration:none;}
@media (min-width:860px){
  .nav-dropdown-wrap{position:relative;}
  .nav-dropdown-trigger{color:var(--teal-900);font-weight:600;font-size:.98rem;padding:.3rem 0;border-bottom:2px solid transparent;}
  .nav-dropdown-trigger:hover,.nav-dropdown-trigger[aria-current="page"]{border-bottom-color:var(--amber);}
  .nav-dropdown:not([hidden]){display:block;position:absolute;top:calc(100% + .9rem);left:-1rem;min-width:15rem;background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:.5rem;z-index:10;}
  .nav-dropdown li+li{margin-top:.1rem;}
  .nav-dropdown a{display:block;padding:.6rem .8rem;border-radius:8px;color:var(--teal-900);font-weight:600;font-size:.92rem;}
  .nav-dropdown a:hover{background:var(--cream);}
  .nav-dropdown a[aria-current="page"]{color:var(--amber-700);}
}
.mobile-menu .nav-dropdown-wrap{border-bottom:1px solid var(--line-soft);}
.mobile-menu .nav-dropdown-trigger{width:100%;justify-content:space-between;padding:.85rem .2rem;color:var(--teal-900);font-weight:600;font-size:1.05rem;}
.mobile-menu .nav-dropdown:not([hidden]){padding:0 0 .6rem .9rem;}
.mobile-menu .nav-dropdown a{padding:.6rem .2rem;color:var(--teal-700);font-weight:600;font-size:.98rem;}

/* ---------- 10. Hero — Pattern C (§1.6) ---------- */
.hero{background:linear-gradient(180deg,var(--paper) 0%,var(--cream) 100%);padding:clamp(2.8rem,6vw,4.6rem) 0 clamp(2rem,4vw,3rem);}
.hero .badge{margin-bottom:1.2rem;}
.hero h1{max-width:19ch;margin-bottom:1.1rem;}
.hero .lead{margin-bottom:1.7rem;}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;}
.hero-actions .btn{width:100%;}
@media (min-width:560px){.hero-actions .btn{width:auto;}}
.hero-note{font-size:var(--fs-small);color:var(--teal-700);margin:1.1rem 0 0;font-weight:600;}
.hero-center .wrap{text-align:center;}
.hero-center .badge,.hero-center h1,.hero-center .lead{margin-inline:auto;}
.hero-center .hero-actions{justify-content:center;}
.hero-band{position:relative;width:100%;aspect-ratio:4/1;min-height:200px;max-height:480px;background:var(--cream);overflow:hidden;border-top:1px solid rgba(15,77,74,.08);}
.hero-band img,.hero-band svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-band .band-label{position:absolute;right:clamp(1rem,4vw,2.5rem);bottom:.9rem;color:rgba(15,77,74,.55);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;}
/* Motivo "acceso": trazo que se dibuja al cargar (una sola vez, sutil) */
.hero-band .path-draw{stroke-dasharray:1600;stroke-dashoffset:1600;animation:as-draw 1.6s ease-out .15s forwards;}
@keyframes as-draw{to{stroke-dashoffset:0;}}
/* Hero interno (páginas sin banda) */
.page-hero{background:linear-gradient(180deg,var(--paper) 0%,var(--cream) 100%);padding:clamp(2.2rem,5vw,3.4rem) 0 clamp(1.8rem,3.5vw,2.6rem);border-bottom:1px solid rgba(15,77,74,.08);}
.page-hero h1{max-width:24ch;margin-bottom:.6rem;}
.page-hero .lead{margin-bottom:0;}
.page-hero .crumbs{margin-bottom:1.1rem;}

/* ---------- 11. Tarjetas de vertical (§1.5.4) ---------- */
.grid{display:grid;grid-template-columns:1fr;gap:1.1rem;}
@media (min-width:560px){.grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:860px){.grid{grid-template-columns:repeat(3,1fr);}}
.card{position:relative;background:var(--white);border:1px solid rgba(15,77,74,.12);border-radius:var(--r-card);padding:1.5rem;transition:transform .14s ease,box-shadow .2s ease;}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card);}
.card .ico{width:42px;height:42px;border-radius:10px;background:var(--cream);border:1px solid rgba(15,77,74,.12);display:flex;align-items:center;justify-content:center;margin-bottom:.9rem;color:var(--teal-900);}
.card h3{margin-bottom:.4rem;}
.card p{font-size:.98rem;color:var(--txt-2);margin:0;}
.card-link{color:inherit;text-decoration:none;}
.card-link::after{content:"";position:absolute;inset:0;border-radius:var(--r-card);}
.card:has(.card-link:focus-visible){outline:3px solid var(--teal-600);outline-offset:2px;}

/* ---------- 12. Pasos numerados (§1.5.10 — solo sección proceso) ---------- */
.steps{display:grid;grid-template-columns:1fr;gap:1.8rem;counter-reset:paso;}
@media (min-width:560px){.steps{grid-template-columns:repeat(2,1fr);}}
@media (min-width:860px){.steps{grid-template-columns:repeat(var(--steps-cols,3),1fr);}}
.step{display:flex;gap:1rem;align-items:flex-start;}
.step .num{flex:none;display:flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--teal-900);color:var(--white);font-family:var(--font-display);font-weight:700;font-size:1.1rem;line-height:1;}
.sec-teal .step .num{background:var(--amber);color:var(--ink);}
.step h3{margin:.2rem 0 .4rem;}
.step p{font-size:.98rem;margin:0;color:var(--txt-2);}
.sec-teal .step p{color:var(--txt-on-teal);}

/* ---------- 13. Bloque herramienta (§1.5.9) ---------- */
.toolcard{background:var(--white);border:2px solid var(--teal-600);border-radius:var(--r-block);padding:clamp(1.8rem,4vw,2.6rem);display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center;justify-content:space-between;}
.toolcard h2{max-width:22ch;margin-bottom:0;}
.toolcard p{color:var(--txt-2);margin:.6rem 0 0;max-width:46ch;}
.toolcard .btn{flex:none;}

/* ---------- 13b. Checklist de documentación ---------- */
.doc-check{background:var(--white);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--shadow-card);padding:1.15rem 1.4rem;margin:.4rem 0 1.3rem;max-width:70ch;}
.doc-check ul{list-style:none;margin:0;padding:0;}
.doc-check li{position:relative;padding:.6rem 0 .6rem 2.1rem;border-bottom:1px solid var(--line-soft);}
.doc-check li:last-child{border-bottom:none;}
.doc-check li::before{content:"✓";position:absolute;left:0;top:.72rem;width:20px;height:20px;border-radius:6px;background:var(--teal-600);color:var(--white);font-weight:700;font-size:.8rem;line-height:20px;text-align:center;}
.doc-tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:.14rem .55rem;border-radius:999px;background:var(--cream);color:var(--teal-700);margin-left:.4rem;vertical-align:middle;white-space:nowrap;}
.doc-tag-must{background:var(--teal-900);color:var(--white);}

/* ---------- 13c. Glosario ---------- */
.glossary{margin:0;max-width:70ch;}
.glossary dt{font-family:var(--font-display);font-weight:600;font-size:1.18rem;color:var(--teal-900);margin:1.5rem 0 0;}
.glossary dt:first-of-type{margin-top:0;}
.glossary dd{margin:.35rem 0 0;}

/* ---------- 14. Bloque confianza ---------- */
.trust{display:grid;grid-template-columns:1fr;gap:2.4rem;align-items:center;}
@media (min-width:860px){.trust{grid-template-columns:1.1fr .9fr;}}
.trust ul,.trust-list{list-style:none;padding:0;margin:1rem 0 0;}
.trust li,.trust-list li{padding-left:1.7rem;position:relative;margin-bottom:.7rem;font-weight:500;}
.trust li::before,.trust-list li::before{content:"";position:absolute;left:0;top:.5em;width:9px;height:9px;border-radius:50%;background:var(--teal-600);}
.trust-visual{background:var(--cream);border:1px solid var(--line);border-radius:var(--r-block);min-height:230px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.trust-visual span{color:rgba(15,77,74,.55);font-size:.8rem;letter-spacing:.05em;text-transform:uppercase;padding:1rem;text-align:center;}

/* ---------- 15. Acordeón FAQ (§1.5.5) ---------- */
.faq{max-width:780px;}
.faq-home .faq{max-width:72ch;margin-inline:auto;}
.qa{border-bottom:1px solid rgba(15,77,74,.16);}
.qa-q{width:100%;text-align:left;background:none;border:none;padding:1.15rem 2.4rem 1.15rem 0;font-family:var(--font-display);font-weight:600;font-size:1.12rem;line-height:1.3;color:var(--teal-900);cursor:pointer;position:relative;}
.qa-q::after{content:"+";position:absolute;right:.2rem;top:50%;transform:translateY(-50%);font-family:var(--font-body);font-weight:400;font-size:1.6rem;color:var(--amber-700);transition:transform .2s ease;}
.qa-q[aria-expanded="true"]::after{content:"–";}
.qa-a{overflow:hidden;max-height:0;transition:max-height .28s ease;}
.qa-a-inner{padding:0 0 1.2rem;}
.qa-a p{color:var(--txt-2);margin:0 0 .8rem;}
.qa-a p:last-child{margin-bottom:0;}
/* Agrupador temático (página FAQ) */
.faq-group{margin-bottom:var(--sp-4);}
.faq-group h2{font-size:1.35rem;margin-bottom:.4rem;}

/* ---------- 16. CTA final ---------- */
.finalcta{text-align:center;}
.finalcta h2{max-width:24ch;margin:0 auto 1.5rem;}
.finalcta .hero-actions{justify-content:center;}

/* ---------- 17. Footer (§3.2) ---------- */
.site-footer{background:var(--teal-900);color:var(--txt-foot);padding:3rem 0 2rem;font-size:.95rem;}
.foot-top{display:grid;grid-template-columns:1fr;gap:2rem;padding-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.12);}
@media (min-width:560px){.foot-top{grid-template-columns:1fr 1fr;}}
@media (min-width:860px){.foot-top{grid-template-columns:1.3fr 1fr 1fr 1fr;}}
@media (min-width:1080px){.foot-top{grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;}}
.site-footer .brand-mark{font-family:var(--font-display);font-weight:700;font-size:1.4rem;color:var(--white);}
.site-footer .brand-mark span{color:var(--amber);}
.site-footer .foot-tag{font-family:var(--font-display);color:#EAF3F1;font-size:1.05rem;margin:.6rem 0;}
.site-footer .foot-desc{color:var(--txt-foot-muted);font-size:var(--fs-small);max-width:36ch;}
.site-footer .foot-contact{font-size:var(--fs-small);margin-top:.9rem;line-height:1.9;}
.site-footer .foot-heading{font-family:var(--font-body);font-size:var(--fs-small);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--white);margin:0 0 .8rem;}
.site-footer ul{list-style:none;padding:0;margin:0;}
.site-footer li{margin-bottom:.55rem;}
.site-footer a{color:var(--txt-foot);text-decoration:none;}
.site-footer a:hover{color:var(--white);text-decoration:underline;}
.foot-bottom{padding-top:1.4rem;display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem;color:var(--txt-foot-muted);font-size:.85rem;}
.foot-bottom a{color:var(--txt-foot-muted);}
@media (max-width:859px){.site-footer{padding-bottom:6.5rem;}} /* aire para el WA flotante */

/* ---------- 18. WhatsApp flotante (§3.3) ---------- */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:120;background:var(--wa-green);color:var(--ink);border-radius:999px;padding:.8rem 1.25rem;font-weight:700;font-size:1rem;text-decoration:none;box-shadow:var(--shadow-float);display:inline-flex;align-items:center;gap:.5rem;}
.wa-float:hover{filter:brightness(.94);color:var(--ink);}
.wa-float svg{flex:none;}
.wa-float:focus-visible{outline:3px solid var(--teal-900);outline-offset:2px;}


/* ---------- 20. Breadcrumbs (§1.5.8) ---------- */
.crumbs{font-size:var(--fs-small);color:var(--txt-2);}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;padding:0;margin:0;}
.crumbs li{display:flex;align-items:center;gap:.45rem;}
.crumbs li+li::before{content:"›";color:var(--teal-600);}
.crumbs a{color:var(--teal-700);text-decoration:none;}
.crumbs a:hover{text-decoration:underline;}
.crumbs [aria-current="page"]{color:var(--txt-2);}

/* ---------- 21. Formularios (§1.5.7 / §4.2) ---------- */
.form{max-width:640px;}
.field{margin-bottom:1.25rem;}
.field label{display:block;font-weight:600;color:var(--teal-900);margin-bottom:.4rem;font-size:.98rem;}
.field .opt{font-weight:400;color:var(--txt-2);font-size:var(--fs-small);}
.field input[type="text"],.field input[type="tel"],.field input[type="email"],.field select,.field textarea{
  width:100%;min-height:48px;padding:.65rem .9rem;
  font-family:var(--font-body);font-size:1rem;color:var(--ink);
  background:var(--white);border:1.5px solid var(--line-input);border-radius:var(--r-btn);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.field textarea{min-height:120px;resize:vertical;}
.field ::placeholder{color:#6B6B6B;opacity:1;}
.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--teal-600);outline-offset:1px;border-color:var(--teal-600);}
.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' fill='none'%3E%3Cpath d='M1 1l6 6 6-6' stroke='%230F4D4A' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem;}
/* Radios y checks accesibles */
.choice{display:flex;align-items:flex-start;gap:.6rem;padding:.55rem 0;cursor:pointer;font-weight:400;}
.choice input{width:22px;height:22px;flex:none;margin:.1rem 0 0;accent-color:var(--teal-600);}
.choice span{line-height:1.45;}
/* Error: texto + ícono, nunca solo color */
.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--error);}
.field-error{display:flex;align-items:flex-start;gap:.4rem;color:var(--error);font-size:var(--fs-small);font-weight:600;margin-top:.4rem;}
.field-error svg{flex:none;margin-top:.15rem;}
.form-note{font-size:var(--fs-small);color:var(--txt-2);}
/* Honeypot: fuera de pantalla (no display:none) */
.hp-wrap{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden;}
/* Estado de envío */
.form-status{margin-top:1rem;font-weight:600;}
.form-status.is-error{color:var(--error);}

/* ---------- 22. Autodiagnóstico (§4.3) ---------- */
.tool-app{background:var(--white);border:2px solid var(--teal-600);border-radius:var(--r-block);padding:clamp(1.4rem,4vw,2.4rem);max-width:760px;}
.tool-progress{height:8px;background:var(--cream);border-radius:999px;overflow:hidden;margin-bottom:1.6rem;}
.tool-progress-bar{height:100%;width:0;background:var(--amber);border-radius:999px;transition:width .25s ease;}
.tool-step-label{font-size:var(--fs-small);font-weight:700;color:var(--teal-600);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem;}
.tool-question{font-family:var(--font-display);font-size:1.45rem;font-weight:600;color:var(--teal-900);line-height:1.25;margin:0 0 1.2rem;}
.tool-options{display:grid;gap:.7rem;margin:0;padding:0;list-style:none;}
.tool-option{width:100%;text-align:left;background:var(--paper);border:2px solid var(--line);border-radius:var(--r-btn);padding:.85rem 1.1rem;font-family:var(--font-body);font-size:1.02rem;font-weight:600;color:var(--teal-900);cursor:pointer;min-height:var(--tap);transition:border-color .15s ease,background .15s ease;}
.tool-option:hover{border-color:var(--teal-600);background:var(--white);}
.tool-input{width:100%;min-height:48px;padding:.65rem .9rem;font-family:var(--font-body);font-size:1rem;border:1.5px solid var(--line-input);border-radius:var(--r-btn);background:var(--white);color:var(--ink);}
.tool-nav{display:flex;justify-content:space-between;align-items:center;margin-top:1.4rem;gap:1rem;}
.tool-back{background:none;border:none;color:var(--teal-700);font-family:var(--font-body);font-weight:600;font-size:.98rem;cursor:pointer;padding:.5rem .2rem;text-decoration:underline;text-underline-offset:3px;}
.tool-back:hover{color:var(--teal-900);}
.tool-result h2{margin-bottom:.8rem;}
.tool-result .lead{margin-bottom:1.4rem;}
.tool-result-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin:1.2rem 0;}
.tool-disclaimer{font-size:var(--fs-small);color:var(--txt-2);border-top:1px solid var(--line-soft);padding-top:1rem;margin-top:1.6rem;}

/* ---------- 21-bis. Callout de énfasis en lead (§B4.2) ---------- */
.callout{border-left:3px solid var(--teal-600);background:var(--cream);padding:1.1rem 1.3rem;border-radius:var(--r-block);margin:0 0 1.7rem;}
.callout p{font-family:var(--font-display);font-size:1.15rem;line-height:1.4;color:var(--teal-900);margin:0;}

/* ---------- 22-bis. Imagen de apoyo en hubs (§B3) ---------- */
.spot-img{width:100%;max-width:100%;height:auto;border-radius:var(--r-block);margin:0 0 1.4rem;}
@media (min-width:860px){
  .spot-img{width:360px;height:360px;float:right;margin:0 0 1rem 1.8rem;}
}

/* ---------- 23. Artículo / contenido legal (clusters, legales) ---------- */
.article{max-width:68ch;}
.article h2{margin-top:2.2rem;}
.article h3{margin-top:1.6rem;}
.article ul,.article ol{padding-left:1.4rem;margin:0 0 1rem;}
.pending-inline{color:var(--teal-700);background:var(--cream);padding:.1rem .4rem;border-radius:4px;font-style:italic;}
.article li{margin-bottom:.45rem;}
.article a{color:var(--teal-700);}

/* ---------- 23-bis. Microdisclaimer YMYL (Iteración 2 §0.3) ---------- */
.ymyl-disclaimer{font-size:var(--fs-small);color:var(--txt-2);border-top:1px solid var(--line-soft);padding-top:1rem;margin-top:2rem;max-width:68ch;}

/* ---------- 24. Placeholder de contenido pendiente ---------- */
.pending{background:var(--cream);border:2px dashed rgba(15,77,74,.35);border-radius:var(--r-card);padding:1.2rem 1.4rem;margin:1.2rem 0;color:var(--teal-900);}
.pending strong{display:block;font-size:.78rem;letter-spacing:.07em;text-transform:uppercase;color:var(--teal-700);margin-bottom:.3rem;}
.pending p{margin:0;font-size:.95rem;color:var(--txt-2);}

/* ---------- 25. Bloque de links relacionados ---------- */
.related{background:var(--cream);border-radius:var(--r-card);padding:1.4rem 1.5rem;margin-top:2.4rem;}
.related h2,.related h3{font-size:1.15rem;margin:0 0 .8rem;}
.related ul{list-style:none;padding:0;margin:0;}
.related li{margin-bottom:.55rem;padding-left:1.2rem;position:relative;}
.related li::before{content:"›";position:absolute;left:0;color:var(--amber-700);font-weight:700;}
.related a{color:var(--teal-700);font-weight:600;}

/* ---------- 26. Blog ---------- */
.post-grid{display:grid;grid-template-columns:1fr;gap:1.1rem;}
@media (min-width:560px){.post-grid{grid-template-columns:repeat(2,1fr);}}
@media (min-width:860px){.post-grid{grid-template-columns:repeat(3,1fr);}}
.post-card{display:flex;flex-direction:column;background:var(--white);border:1px solid rgba(15,77,74,.12);border-radius:var(--r-card);padding:1.4rem;transition:transform .14s ease,box-shadow .2s ease;}
.post-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-card);}
.post-card .meta{font-size:var(--fs-small);color:var(--txt-2);margin-bottom:.5rem;}
.post-card .meta .cat{color:var(--teal-700);font-weight:700;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;}
.post-card h2,.post-card h3{font-size:1.2rem;margin:0 0 .5rem;}
.post-card p{font-size:.95rem;color:var(--txt-2);margin:0;}
.author-box{display:flex;gap:1rem;align-items:center;background:var(--cream);border-radius:var(--r-card);padding:1.1rem 1.3rem;margin:2rem 0;}
.author-box .avatar{width:52px;height:52px;border-radius:50%;background:var(--teal-900);color:var(--cream);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;flex:none;}
.author-box p{margin:0;font-size:var(--fs-small);color:var(--txt-2);}
.author-box .who{font-weight:700;color:var(--teal-900);font-size:1rem;}
.post-dates{font-size:var(--fs-small);color:var(--txt-2);}

/* ---------- 27. Contacto ---------- */
.contact-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:start;}
@media (min-width:860px){.contact-grid{grid-template-columns:1.2fr .8fr;}}
.contact-aside{background:var(--cream);border-radius:var(--r-block);padding:1.6rem;}
.contact-aside h2{font-size:1.3rem;}
.contact-aside .btn{width:100%;margin-top:.6rem;}
.contact-aside dl{margin:1.2rem 0 0;}
.contact-aside dt{font-weight:700;color:var(--teal-900);font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.04em;margin-top:1rem;}
.contact-aside dd{margin:0.2rem 0 0;color:var(--txt-2);}

/* ---------- 28. 404 ---------- */
.error404-box{text-align:center;padding-block:var(--sp-8);}
.error404-box h1{margin-bottom:.8rem;}
.error404-box .links{display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center;margin-top:1.6rem;}

/* ---------- 29. Utilidades ---------- */
.mt-0{margin-top:0!important;}.mb-0{margin-bottom:0!important;}
.center{text-align:center;}
.cta-row{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;margin-top:1.4rem;}

/* ---------- 30. Movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;}
  .hero-band .path-draw{stroke-dashoffset:0;animation:none;}
}

.h3-size{font-size:var(--fs-h3)}
.ymyl-review{font-size:var(--fs-small);color:var(--txt-2);max-width:68ch;margin:.35rem 0 0}
.trust-cred{padding:1.6rem}.cred-list{list-style:none;margin:0;padding:0;width:100%}.cred-list li{display:flex;flex-direction:column;gap:.15rem;padding:.9rem 0;border-bottom:1px solid var(--line)}.cred-list li:last-child{border-bottom:none}.cred-list strong{font-family:var(--font-display);font-size:1.06rem;color:var(--teal-900)}.cred-list span{font-size:var(--fs-small);color:var(--txt-2);text-transform:none;letter-spacing:0;padding:0;text-align:left}
