/* Elsa Capital LLC — estilos compartidos (base: DESIGN.md Notion) */
:root{
  --primary:#5645d4;--primary-pressed:#4534b3;--primary-deep:#3a2a99;
  --navy:#0a1530;--navy-deep:#070f24;--navy-mid:#1a2a52;
  --orange:#dd5b00;--pink:#ff64c8;--purple:#7b3ff2;--teal:#2a9d99;--green:#1aae39;--yellow:#f5d75e;
  --peach:#ffe8d4;--rose:#fde0ec;--mint:#d9f3e1;--lavender:#e6e0f5;--sky:#dcecfa;--cream:#f8f5e8;--yellow-bold:#f9e79f;
  --canvas:#fff;--surface:#f6f5f4;--surface-soft:#fafaf9;
  --hairline:#e5e3df;--hairline-strong:#c8c4be;
  --ink:#1a1a1a;--charcoal:#37352f;--slate:#5d5b54;--steel:#787671;--stone:#a4a097;
  --on-dark:#fff;--on-dark-muted:#b9b5ad;
  --r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px;--r-xxl:20px;
  --wrap:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:16px;line-height:1.55;color:var(--charcoal);background:var(--canvas);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:4px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}

/* idioma */
html[data-lang="es"] [lang="en"]:not(html),html[data-lang="en"] [lang="es"]:not(html){display:none!important}

/* botones */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;line-height:1.3;padding:11px 18px;border-radius:var(--r-md);transition:background .15s,border-color .15s,transform .15s;white-space:nowrap}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-pressed)}
.btn-secondary{border:1px solid var(--hairline-strong);color:var(--ink)}
.btn-secondary:hover{background:var(--surface)}
.btn-on-dark{background:#fff;color:var(--ink)}
.btn-on-dark:hover{background:#ece9e4}
.btn-ghost-dark{border:1px solid rgba(255,255,255,.35);color:#fff}
.btn-ghost-dark:hover{background:rgba(255,255,255,.08)}
.btn-lg{font-size:15px;padding:13px 22px}

/* cabecera */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--hairline)}
.nav-in{display:flex;align-items:center;gap:28px;height:64px}
.brand{display:flex;align-items:center;gap:10px;font-weight:600;font-size:17px;color:var(--ink);letter-spacing:-.2px}
.brand-mark{width:30px;height:30px;flex:none}
.brand small{font-weight:500;color:var(--steel);font-size:12px;margin-left:2px}
.nav-links{display:flex;gap:4px;margin-left:8px}
.nav-links a{font-size:14px;font-weight:500;color:var(--slate);padding:8px 12px;border-radius:var(--r-sm)}
.nav-links a:hover{background:var(--surface);color:var(--ink)}
.nav-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.lang{display:inline-flex;border:1px solid var(--hairline);border-radius:var(--r-md);padding:2px}
.lang button{font-size:12px;font-weight:600;padding:5px 9px;border-radius:6px;color:var(--steel)}
.lang button[aria-pressed="true"]{background:var(--ink);color:#fff}
.menu-btn{display:none;width:40px;height:40px;border-radius:var(--r-md);align-items:center;justify-content:center}
.menu-btn:hover{background:var(--surface)}
.mobile-menu{display:none;border-top:1px solid var(--hairline);padding:12px 24px 20px;background:#fff}
.mobile-menu a{display:block;padding:12px 4px;font-weight:500;border-bottom:1px solid var(--hairline)}
.mobile-menu .btn{margin-top:16px;width:100%}
.nav.open .mobile-menu{display:block}

/* tipografía */
.eyebrow{font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--primary)}
.h-display{font-size:clamp(40px,6.4vw,72px);font-weight:600;line-height:1.05;letter-spacing:-2px;color:#fff}
.h1{font-size:clamp(32px,4.4vw,48px);font-weight:600;line-height:1.12;letter-spacing:-.8px;color:var(--ink)}
.h3{font-size:22px;font-weight:600;line-height:1.3;color:var(--ink);letter-spacing:-.2px}
.lead{font-size:18px;line-height:1.55;color:var(--slate)}
.section{padding:96px 0}
.section-head{max-width:680px;margin-bottom:48px}
.section-head .h1{margin:10px 0 14px}

/* pie */
.footer{background:var(--navy-deep);color:var(--on-dark-muted);padding:64px 0 32px;font-size:14px}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:40px}
.footer .brand{color:#fff}
.footer h4{color:#fff;font-size:13px;font-weight:600;margin-bottom:14px}
.footer ul{list-style:none;display:grid;gap:10px}
.footer a:hover{color:#fff}
.footer-legal{margin-top:48px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;font-size:13px}

/* páginas legales */
.legal{padding:56px 0 96px}
.legal .wrap{max-width:780px}
.legal h1{font-size:clamp(30px,4vw,40px);font-weight:600;letter-spacing:-.6px;color:var(--ink);margin:10px 0 6px}
.legal .updated{color:var(--steel);font-size:14px;margin-bottom:36px}
.legal h2{font-size:20px;font-weight:600;color:var(--ink);margin:34px 0 10px}
.legal p,.legal li{color:var(--charcoal);margin-bottom:10px}
.legal ul{padding-left:20px}
.legal dl{display:grid;grid-template-columns:200px 1fr;gap:8px 16px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-lg);padding:20px 22px;margin:8px 0 6px}
.legal dt{font-weight:600;color:var(--ink);font-size:14px}
.legal dd{font-size:15px}
.legal table{width:100%;border-collapse:collapse;font-size:14px;margin:8px 0}
.legal th,.legal td{border:1px solid var(--hairline);padding:10px 12px;text-align:left;vertical-align:top}
.legal th{background:var(--surface);color:var(--ink)}
.back{font-size:14px;color:var(--primary);font-weight:500}

@media (max-width:960px){
  .nav-links,.nav-right .btn{display:none}
  .menu-btn{display:inline-flex}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child{grid-column:1/-1}
}
@media (max-width:600px){
  .wrap{padding:0 16px}
  .section{padding:72px 0}
  .legal dl{grid-template-columns:1fr;gap:2px}
  .legal dd{margin-bottom:10px}
  .footer-grid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
