/* Estilos de bloomayor.cl
   Colores y tipografías: cambia las variables de :root (tema claro) y del bloque oscuro. */
/* Layout: one column page, full-bleed color bands, content in a 1120px track */
:root{
  --ground:#F0EEE9; --surface:#FFFFFF; --blush:#FCE6EE;
  --ink:#2B1722; --ink-muted:#6B5560; --line:#E3D9DC; --line-strong:#8E7480;
  --copihue:#B3194D; --on-copihue:#FFFFFF; --copihue-tint:#FCE6EE;
  --aromo:#F4B400; --on-aromo:#2B1722; --aromo-tint:#FFF1C7;
  --laguna:#0E6866; --on-laguna:#FFFFFF; --laguna-tint:#D7EFEC;
  --focus:#2B1722; --shadow:0 2px 14px rgba(43,23,34,.08);
  --font-display:Poppins,"Avenir Next","Trebuchet MS",sans-serif;
  --font-body:"Atkinson Hyperlegible",Verdana,"Segoe UI",sans-serif;
  --r-sm:8px; --r-md:16px; --r-lg:28px; --r-pill:999px;
  --track:1120px;
}
@media (prefers-color-scheme: dark){
  :root{
    --ground:#1C1217; --surface:#281A21; --blush:#3A2430;
    --ink:#FBEFF3; --ink-muted:#CDB7C1; --line:#3E2A34; --line-strong:#9E8691;
    --copihue:#FF7AA3; --on-copihue:#2B0A17; --copihue-tint:#4A2232;
    --aromo:#FFC93D; --on-aromo:#2B1722; --aromo-tint:#463813;
    --laguna:#5CCFC4; --on-laguna:#08201F; --laguna-tint:#13363A;
    --focus:#FBEFF3; --shadow:0 2px 14px rgba(0,0,0,.45);
    color-scheme:dark;
  }
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--font-body);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,svg{max-width:100%}
[hidden]{display:none!important}
a{color:var(--copihue);text-underline-offset:4px}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--track);margin:0 auto;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}
h1,h2,h3{font-family:var(--font-display);line-height:1.15;text-wrap:balance;margin:0}
h2{font-size:clamp(30px,4.2vw,44px);font-weight:600;letter-spacing:-.01em}
h3{font-size:26px;font-weight:600}
p{margin:0}
.lede{font-size:20px;color:var(--ink-muted);max-width:36em}
.eyebrow{font-size:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--copihue)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;z-index:20;display:inline-flex;align-items:center;min-height:48px;background:var(--surface);padding:0 18px;border-radius:var(--r-sm);font-weight:700}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 26px;border-radius:var(--r-md);border:2px solid transparent;font:700 18px/1.2 var(--font-body);letter-spacing:.01em;text-decoration:none;cursor:pointer;transition:transform .12s ease,filter .12s ease}
.btn:hover{filter:brightness(1.06)}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--copihue);color:var(--on-copihue)}
.btn--secondary{background:var(--surface);color:var(--ink);border-color:var(--line-strong)}
.btn--market{background:var(--aromo);color:var(--on-aromo)}
.btn--pro{background:var(--laguna);color:var(--on-laguna)}
.btn--sm{min-height:48px;padding:0 18px;font-size:17px}
.btn svg{width:22px;height:22px;flex:none}

/* Header */
header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--ground) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.logo{display:flex;align-items:center;min-height:48px;width:170px;color:var(--ink)}
.logo svg{display:block;width:100%;height:auto}
.nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.nav ul a{display:inline-flex;align-items:center;min-height:48px;padding:0 14px;border-radius:var(--r-sm);color:var(--ink);text-decoration:none;font-weight:700}
.nav ul a:hover{background:var(--blush)}
.nav-menu{display:flex;align-items:center;gap:10px}
.nav ul a[aria-current="page"]{background:var(--copihue-tint);box-shadow:inset 0 -3px 0 var(--copihue)}
.nav-toggle{display:none}
.nav-toggle__bars{display:grid;gap:4px;width:22px}
.nav-toggle__bars span{display:block;height:3px;border-radius:2px;background:currentColor}
@media (max-width:860px){
  .logo{width:140px}
  .nav{flex-wrap:wrap}
  .nav-toggle{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 16px;border-radius:var(--r-sm);background:var(--surface);border:2px solid var(--line-strong);color:var(--ink);font:700 17px/1 var(--font-body);cursor:pointer}
  .site-header.is-open .nav-toggle{background:var(--blush)}
  .nav-menu{display:none;width:100%;flex-direction:column;align-items:stretch;gap:8px;padding:10px 0 18px;border-top:1px solid var(--line)}
  .site-header.is-open .nav-menu{display:flex}
  .nav ul{flex-direction:column;gap:4px}
  .nav ul a{min-height:56px;padding:0 16px;font-size:19px}
  .nav-cta{width:100%;min-height:56px;margin-top:6px}
}

/* Hero */
.hero{padding-block:clamp(48px,8vw,96px)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero h1{font-size:clamp(42px,6.4vw,76px);font-weight:600;letter-spacing:-.02em;line-height:1.02}
.hero h1 em{font-style:normal;color:var(--copihue)}
.hero .lede{margin-top:22px}
.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}
.hero-note{margin-top:20px;font-size:16px;color:var(--ink-muted)}
.art{position:relative;aspect-ratio:1/1;max-width:480px;width:100%;justify-self:end}
.art svg{width:100%;height:100%;display:block}
@media (max-width:860px){.hero-grid{grid-template-columns:1fr}.art{justify-self:center;max-width:340px;order:-1}}

/* Pillars */
section{scroll-margin-top:90px}
.band{padding-block:clamp(56px,8vw,96px)}
.band--surface{background:var(--surface)}
.section-head{display:grid;gap:14px;margin-bottom:40px;max-width:44em}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
@media (max-width:960px){.pillars{grid-template-columns:1fr}}
.pillar{display:flex;flex-direction:column;gap:16px;padding:30px;border-radius:var(--r-lg);background:var(--ground);border:1px solid var(--line);min-width:0}
.tag{align-self:flex-start;justify-self:start;display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 14px;border-radius:var(--r-pill);font-size:16px;font-weight:700;color:var(--ink)}
.tag::before{content:"";width:10px;height:10px;border-radius:50%;background:currentColor}
.tag--tocatta{background:var(--copihue-tint)}.tag--tocatta::before{background:var(--copihue)}
.tag--market{background:var(--aromo-tint)}.tag--market::before{background:var(--aromo);box-shadow:inset 0 0 0 1px var(--ink)}
.tag--pro{background:var(--laguna-tint)}.tag--pro::before{background:var(--laguna)}
.pillar ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.pillar li{display:flex;gap:12px;align-items:flex-start}
.pillar li::before{content:"";flex:none;width:10px;height:10px;margin-top:10px;border-radius:50%;border:2px solid var(--ink-muted)}
.pillar__rotulo{font-size:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.pillar ul.chequeo{gap:12px}
.pillar ul.chequeo > li::before{content:"\2713";display:grid;place-items:center;width:26px;height:26px;margin-top:1px;border:none;border-radius:50%;background:var(--copihue-tint);color:var(--copihue);font-size:16px;font-weight:700;line-height:1;
box-shadow:inset 0 0 0 1px var(--copihue)}
.pillar.pillar--market ul.chequeo > li::before{background:var(--aromo-tint);color:var(--ink);box-shadow:inset 0 0 0 1px var(--aromo)}
.pillar.pillar--pro ul.chequeo > li::before{background:var(--laguna-tint);color:var(--laguna);box-shadow:inset 0 0 0 1px var(--laguna)}
.pillar__foto{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-md);background:var(--blush)}

/* Píldoras de comunas: se arman solas desde data/actividades.json */
.chips{display:grid;gap:12px;margin-top:28px}
.chips__rotulo{font-size:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted)}
.chips__lista{display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none}
.chip{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:0 17px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line-strong);color:var(--ink);font-size:17px;font-weight:700}
.chip::before{content:"";flex:none;width:9px;height:9px;border-radius:50%;background:var(--copihue)}
.chip--tipo::before{background:var(--aromo);box-shadow:inset 0 0 0 1px var(--ink)}
.chips__lista + .chips__rotulo{margin-top:8px}
.chips__nota{font-size:16px;color:var(--ink-muted);margin-top:4px}
.pillar .btn{margin-top:auto;align-self:flex-start}
.pillar-slogan{font-family:var(--font-display);font-weight:500;font-size:19px;color:var(--ink-muted)}

/* Market steps */
.talent{background:var(--copihue);color:var(--on-copihue)}
.talent .eyebrow{color:var(--on-copihue);opacity:.85}
.talent h2{font-size:clamp(36px,5.6vw,64px)}
.talent .lede{color:var(--on-copihue);opacity:.9}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;padding:0;list-style:none;counter-reset:s}
@media (max-width:860px){.steps{grid-template-columns:1fr}}
.steps li{counter-increment:s;background:var(--surface);color:var(--ink);border-radius:var(--r-lg);padding:28px;display:grid;gap:10px}
.steps li::before{content:counter(s);display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--aromo);color:var(--on-aromo);font:700 22px/1 var(--font-display)}
.steps h3{font-size:22px}

/* Join */
.join{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
@media (max-width:860px){.join{grid-template-columns:1fr}}
.join-card{display:grid;gap:14px;align-content:start;justify-items:start;padding:28px;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);min-width:0}
.join-card .row{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}

/* FAQ */
.faq{display:grid;gap:12px;max-width:820px}
.faq details{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:64px;padding:14px 22px;font-weight:700;font-size:19px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--blush);color:var(--ink);font:600 24px/1 var(--font-display)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 22px 22px;color:var(--ink-muted)}

/* Contact + footer */
.contact{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:center}
@media (max-width:860px){.contact{grid-template-columns:1fr}}
.contact-list{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.contact-list a{display:flex;align-items:center;gap:14px;min-height:64px;padding:12px 20px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none;font-weight:700;overflow-wrap:anywhere}
.contact-list a:hover{border-color:var(--line-strong)}
.contact-list .ico{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%}
.contact-list small{display:block;font-weight:400;color:var(--ink-muted);font-size:16px}
.site-footer{background:#1C1217;color:#F3E6EC;padding-block:52px 28px;border-top:1px solid #3E2A34}
.site-footer :focus-visible{outline-color:#FFFFFF}
.footer-grid{display:grid;grid-template-columns:minmax(230px,1fr) 2.1fr;gap:44px}
@media (max-width:960px){.footer-grid{grid-template-columns:1fr;gap:34px}}
.footer-brand .logo{width:175px;margin-bottom:18px}
.footer-claim{font-family:var(--font-display);font-weight:500;font-size:19px;color:#FFFFFF}
.footer-social{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:6px;justify-items:start}
.footer-social a{display:inline-flex;align-items:center;gap:12px;min-height:48px;color:#F3E6EC;text-decoration:none;font-weight:700;overflow-wrap:anywhere}
.footer-social a span{text-decoration:underline;text-underline-offset:4px}
.footer-social svg{width:24px;height:24px;flex:none}
.footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
@media (max-width:860px){.footer-cols{grid-template-columns:repeat(2,1fr)}}
@media (max-width:360px){.footer-cols{grid-template-columns:1fr}}
.footer-col h2{font-size:18px;font-weight:600;color:#FFFFFF;letter-spacing:.02em}
.footer-col ul{list-style:none;margin:8px 0 0;padding:0}
.footer-col a{display:flex;align-items:center;min-height:48px;padding:6px 0;line-height:1.35;font-size:17px;color:#F3E6EC;text-decoration:underline;text-underline-offset:4px}
.site-footer a:hover{color:#FF9BBB}
.footer-bottom{margin-top:38px;padding-top:20px;border-top:1px solid #3E2A34}
.footer-bottom p{font-size:16px;color:#CDB7C1}

/* WhatsApp o correo: .only-wa aparece solo si script.js tiene número */
html:not(.has-wa) .only-wa{display:none!important}
html.has-wa .only-mail{display:none!important}

/* Títulos de página y avisos de contenido pendiente */
h1{font-size:clamp(34px,5vw,52px);font-weight:600;letter-spacing:-.01em}
.todo{max-width:44em;padding:20px 22px;border:2px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface);color:var(--ink-muted)}

/* Botón flotante de contacto */
.fab{position:fixed;z-index:12;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:12px;min-height:56px;padding:0 22px 0 18px;border-radius:var(--r-pill);background:var(--laguna);color:var(--on-laguna);font:700 17px/1.2 var(--font-body);text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.fab:hover{filter:brightness(1.08)}
.fab__ico{display:inline-flex}
.fab svg{display:block;width:26px;height:26px}

/* Barra inferior fija, solo en celular */
.mobile-bar{display:none}
@media (max-width:860px){
  body{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .mobile-bar{display:block;position:fixed;z-index:11;left:0;right:0;bottom:0;padding:10px max(16px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-right));background:color-mix(in srgb,var(--ground) 94%,transparent);backdrop-filter:blur(8px);border-top:1px solid var(--line)}
  .mobile-bar .btn{width:100%}
  .fab{width:56px;height:56px;padding:0;justify-content:center;bottom:calc(88px + env(safe-area-inset-bottom))}
  .fab__text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
}

/* ===== Fase 2: tarjetas de datos, cómo funciona y verificación ===== */

/* Rejilla de tarjetas (agenda, piezas, profesionales) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
@media (max-width:960px){.cards{grid-template-columns:1fr}}
.card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:26px;border-radius:var(--r-lg);background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow)}
.card h3{font-size:22px}
.card__meta{display:flex;flex-wrap:wrap;gap:8px}
.card__fecha{font-family:var(--font-display);font-weight:600;font-size:19px;color:var(--copihue)}
.card__datos{display:grid;gap:8px;margin:0;padding:0;list-style:none;color:var(--ink-muted)}
.card__datos li{display:flex;gap:12px;align-items:flex-start}
.card__datos li::before{content:"";flex:none;width:8px;height:8px;margin-top:10px;border-radius:50%;background:var(--line-strong)}
.cargando{color:var(--ink-muted)}
.aviso{max-width:44em;padding:18px 20px;border-radius:var(--r-md);background:var(--blush);color:var(--ink)}
.seccion-cta{margin-top:30px}

/* Etiquetas */
.badge{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 14px;border-radius:var(--r-pill);font-size:16px;font-weight:700;color:var(--ink)}
.badge svg{width:16px;height:16px;flex:none}
.badge--ejemplo{background:var(--aromo-tint);box-shadow:inset 0 0 0 2px var(--aromo)}
.badge--tipo{background:var(--copihue-tint)}
.badge--verif{background:var(--laguna-tint)}

/* Piezas de Bloomayor Market */
.prod__foto{display:block;width:100%;height:auto;aspect-ratio:1/1;border-radius:var(--r-md);object-fit:cover;background:var(--blush)}
.act__foto{display:block;width:100%;height:auto;aspect-ratio:4/3;border-radius:var(--r-md);object-fit:cover;background:var(--blush)}
.prod__foto--vacia{display:grid;place-items:center;margin:0;background:var(--blush);border:2px dashed var(--line-strong);color:var(--ink-muted);font-size:16px}
.prod__autor{color:var(--ink-muted)}
.prod__precio{font-family:var(--font-display);font-weight:600;font-size:22px}

/* Profesionales */
.pro__avatar{display:grid;place-items:center;width:64px;height:64px;margin:0;border-radius:50%;background:var(--laguna-tint);color:var(--laguna);font:700 24px/1 var(--font-display)}
.pro__foto{width:64px;height:64px;border-radius:50%;object-fit:cover}
.pro__profesion{font-weight:700}
.pro__comunas{color:var(--ink-muted)}
.verif{display:grid;gap:14px;padding:30px;margin-bottom:34px;border-radius:var(--r-lg);background:var(--laguna-tint)}
.verif h3{font-size:24px}
.verif-list{display:grid;gap:10px;margin:0;padding:0;list-style:none;max-width:60em}
.verif-list li{display:flex;gap:12px;align-items:flex-start}
.verif-list li::before{content:"";flex:none;width:10px;height:10px;margin-top:10px;border-radius:50%;background:var(--laguna)}

/* Cómo funciona */
.howto{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:960px){.howto{grid-template-columns:1fr}}
.howto-col{display:grid;gap:14px;align-content:start;min-width:0;padding:30px;border-radius:var(--r-lg);background:var(--ground);border:1px solid var(--line)}
.howto-col h3{font-size:23px}
.howto-col > .tag{justify-self:start}
.howto .howto-col--market ol > li::before{background:var(--aromo);color:var(--on-aromo);box-shadow:inset 0 0 0 1px var(--ink)}
.howto .howto-col--pro ol > li::before{background:var(--laguna);color:var(--on-laguna)}
.howto ol{counter-reset:paso;display:grid;gap:18px;margin:6px 0 0;padding:0;list-style:none}
.howto ol > li{counter-increment:paso;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.howto ol > li::before{content:counter(paso);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--copihue);color:var(--on-copihue);font:700 20px/1 var(--font-display)}

/* La franja copihue lleva tarjetas claras encima */
.talent .cards .card{border-color:transparent}
.talent .aviso{background:var(--surface)}
.talent .cargando{color:var(--on-copihue);opacity:.9}

/* Cifras de la prueba social (oculta hasta tener datos reales) */
.cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:0 0 34px;padding:0;list-style:none}
@media (max-width:860px){.cifras{grid-template-columns:1fr}}
.cifras li{display:grid;gap:6px;padding:26px;border-radius:var(--r-lg);background:var(--ground);border:1px solid var(--line)}
.cifras strong{font:600 40px/1 var(--font-display);color:var(--copihue)}
.card blockquote{margin:0;font-size:19px}

/* Cierre */
.cierre{display:grid;gap:28px;justify-items:start}

/* ============ Fase 3: filtros, catálogo y directorio ============ */

/* ---- Filtros de la agenda (botones grandes, no selects) ---- */
.filtros{display:grid;gap:24px;margin-bottom:28px}
.filtro{min-width:0;margin:0;padding:0;border:0}
.filtro legend{display:block;width:100%;padding:0;margin-bottom:12px;font-family:var(--font-display);font-weight:600;font-size:20px;color:var(--ink)}
.filtro__ops{display:flex;flex-wrap:wrap;gap:10px}
.filtro-btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 20px;border-radius:var(--r-pill);background:var(--surface);border:2px solid var(--line-strong);color:var(--ink);font:700 17px/1.2 var(--font-body);cursor:pointer}
.filtro-btn:hover{border-color:var(--ink-muted)}
.filtro-btn[aria-pressed="true"]{background:var(--copihue);border-color:var(--copihue);color:var(--on-copihue)}
.filtro-btn[aria-pressed="true"]::before{content:"✓";font-size:19px;line-height:1}
.conteo{margin-bottom:22px;font-weight:700;color:var(--ink-muted)}

/* ---- Botón al pie de cada tarjeta ---- */
.card__cta{margin-top:auto;width:100%}
.card__agotado{font-weight:700;color:var(--ink-muted)}

/* ---- Aclaración de cómo se compra o se agenda ---- */
.nota-compra{max-width:44em;margin-top:32px;padding:20px 22px;border-radius:var(--r-md);background:var(--blush);color:var(--ink)}

/* ---- Listas y notas de las páginas de pilares ---- */
.verif-list--suelta{margin-top:30px}
.verif-nota{color:var(--ink-muted)}
.howto .pasos-simples{counter-reset:ps;gap:12px}
.howto .pasos-simples > li{counter-increment:ps;grid-template-columns:34px minmax(0,1fr);gap:12px}
.howto .pasos-simples > li::before{content:counter(ps);width:34px;height:34px;font:700 17px/1 var(--font-display)}

/* ---- Pasos sobre fondo claro: que la tarjeta se distinga del fondo ---- */
.band--surface .steps li{background:var(--ground);border:1px solid var(--line)}
.steps--market li::before{box-shadow:inset 0 0 0 1px var(--ink)}

/* ============ Fase 4: páginas institucionales y legales ============ */

/* ---- Salto a una categoría (preguntas frecuentes) ---- */
.salto{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px}

/* ---- Cuatro pasos en vez de tres ---- */
.steps--4{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}

/* ---- Tarjetas de "Súmate" ---- */
.join-card h2{font-size:26px}

/* ---- Iconos redondos de la lista de contacto ---- */
.contact-list .ico svg{width:22px;height:22px}
.ico--copihue{background:var(--copihue-tint);color:var(--copihue)}
.ico--laguna{background:var(--laguna-tint);color:var(--laguna)}
.ico--aromo{background:var(--aromo-tint);color:var(--ink)}

/* ---- Páginas legales ---- */
.legal-h2{margin-bottom:34px}
.legal-meta{margin-top:22px;color:var(--ink-muted)}
.legal{counter-reset:leg;display:grid;gap:34px;margin:0;padding:0;list-style:none;max-width:70em}
.legal > li{counter-increment:leg;display:grid;gap:14px;min-width:0}
.legal h3{font-size:23px}
.legal h3::before{content:counter(leg) ". ";color:var(--ink-muted)}

/* ---- Enlaces dentro de un párrafo: que se puedan tocar ---- */
.faq details p a,.legal p a,.card p a,.howto-col p a,.join-card p a{padding-block:14px;margin-block:-14px}

/* Fotos reales: portada a dos columnas y pie de foto */
.intro-foto{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,52px);align-items:center}
.figura{margin:0;display:grid;gap:12px;min-width:0}
.figura img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r-lg);background:var(--blush);box-shadow:var(--shadow)}
.figura figcaption{font-size:16px;line-height:1.5;color:var(--ink-muted);max-width:34em}
@media (max-width:860px){.intro-foto{grid-template-columns:1fr}}

/* Equipo: tarjeta de persona con retrato */
.personas{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:22px;margin-bottom:28px}
.persona{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;min-width:0;padding:26px;border-radius:var(--r-lg);background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow)}
.persona__foto{display:block;flex:none;width:168px;height:168px;border-radius:var(--r-lg);object-fit:cover;background:var(--blush)}
.persona__texto{display:grid;gap:10px;min-width:0}
.persona__rol{font-weight:700;color:var(--copihue)}
.persona__enlaces{margin:0}
.persona__enlaces a{display:inline-flex;align-items:center;gap:10px;min-height:48px;color:var(--copihue);font-weight:700;text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.persona__enlaces svg{flex:none;width:24px;height:24px}
@media (max-width:560px){
  .personas{grid-template-columns:1fr}
  .persona{grid-template-columns:1fr;gap:18px}
  .persona__foto{width:136px;height:136px}
}
