/* Who's Talking — colores, tipografía y piezas comunes a todas las páginas */
:root{
  --brand:#2E3192; --brand-deep:#151951; --on-brand:#FFFFFF; --on-brand-soft:#D4D6F5; --peach:#F4B183;
  --bg:#F5F6FB; --surface:#FFFFFF; --ink:#151951; --muted:#575C84; --line:#DCDFEF; --link:#2E3192;
  --accent:#C55A11; --cta:#C55A11; --cta-ink:#FFFFFF; --chip:#E3E5F7; --ok:#2E7D4F; --warn:#B3261E;
  --a1:#E0A800; --a2:#C00000; --b1:#4472C4; --b2:#548135;
  --font-d:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --font-b:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --brand:#262A86; --brand-deep:#0E1033; --on-brand-soft:#C9CCF0;
  --bg:#0E1033; --surface:#171A47; --ink:#ECEDFA; --muted:#A9ADD3; --line:#2C3068; --link:#B8BCFF;
  --accent:#F4B183; --cta:#F4B183; --cta-ink:#151951; --chip:#262A66; --ok:#7BD3A0; --warn:#FF8A80;
  --a1:#F2C230; --a2:#F06A6A; --b1:#7FA2E6; --b2:#8CC56B; color-scheme:dark}}
:root[data-theme="dark"]{
  --brand:#262A86; --brand-deep:#0E1033; --on-brand-soft:#C9CCF0;
  --bg:#0E1033; --surface:#171A47; --ink:#ECEDFA; --muted:#A9ADD3; --line:#2C3068; --link:#B8BCFF;
  --accent:#F4B183; --cta:#F4B183; --cta-ink:#151951; --chip:#262A66; --ok:#7BD3A0; --warn:#FF8A80;
  --a1:#F2C230; --a2:#F06A6A; --b1:#7FA2E6; --b2:#8CC56B; color-scheme:dark}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-b);font-size:16px;line-height:1.55;-webkit-text-size-adjust:100%}
a{color:var(--link)}
.in{max-width:960px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}

/* Barra superior */
.nav{background:var(--brand-deep);color:var(--on-brand);position:sticky;top:0;z-index:20}
.nav .in{display:flex;align-items:center;gap:8px;min-height:60px}
.nav .home{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--on-brand);font-family:var(--font-d);font-weight:800;font-size:16px;margin-right:auto;min-width:0}
.nav .home img{width:44px;height:auto;display:block}
.nav .home span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav a.lnk{color:var(--on-brand-soft);text-decoration:none;font-weight:700;font-size:15px;padding:10px 10px;border-radius:10px;white-space:nowrap}
.nav a.lnk:hover,.nav a.lnk[aria-current="page"]{color:var(--on-brand);background:rgba(255,255,255,.08)}
.nav a.lnk:focus-visible,.btn:focus-visible{outline:3px solid var(--peach);outline-offset:2px}
@media (max-width:600px){.nav .home span{display:none}.nav a.lnk{padding:10px 8px;font-size:14px}}

/* Botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:700;text-decoration:none;border-radius:12px;padding:12px 18px;min-height:48px;border:2px solid transparent;cursor:pointer}
.btn.main{background:var(--cta);color:var(--cta-ink)}
.btn.line{border-color:var(--on-brand-soft);color:var(--on-brand);background:transparent}
.btn.brand{background:var(--brand);color:#fff}
.btn.ghost{background:transparent;color:var(--link);border-color:var(--line)}
.btn[disabled]{opacity:.6;cursor:default}

/* Formularios de la parte privada */
.box{background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:24px}
.field{display:flex;flex-direction:column;gap:5px;min-width:0}
.field label{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{font:inherit;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:10px 12px;min-height:46px;width:100%}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{outline:3px solid var(--accent);outline-offset:1px}
.hint{font-size:13px;color:var(--muted)}
.msg{border-radius:12px;padding:12px 14px;font-weight:600;margin:0 0 16px}
.msg.err{background:color-mix(in srgb,var(--warn) 12%,transparent);color:var(--warn)}
.msg.ok{background:color-mix(in srgb,var(--ok) 14%,transparent);color:var(--ok)}
h1,h2,h3{font-family:var(--font-d);letter-spacing:-.3px;line-height:1.15}
