/* ==========================================================================
   EXTERIORiZA — sistema compartido (identidad v6, oct 2026)
   Lo cargan todas las páginas DESPUÉS de su CSS propio: define los tokens
   nuevos, re-mapea los tokens viejos (tipografía y paleta) y estiliza el
   header y el footer compartidos (site-shell.mjs).
   ========================================================================== */
:root{
  /* Tokens v6 */
  --x-dark:#0d1513;--x-dark2:#15201d;--x-paper:#f1eee7;--x-ink:#121a18;
  --x-fg:#f4f3ef;--x-mute:#93a09c;--x-line:rgba(255,255,255,.12);--x-line-d:rgba(18,26,24,.14);
  --x-teal:#0d9e8f;--x-teal2:#19c4b2;--x-tealdeep:#08332e;--x-amber:#f2b33d;--x-coral:#ff6a4d;--x-wa:#25d366;
  --x-display:"Unbounded","Inter Tight",system-ui,sans-serif;
  --x-body:"Inter Tight",system-ui,sans-serif;
  --x-mono:"JetBrains Mono",ui-monospace,monospace;

  /* Re-mapeo de los tokens de las páginas anteriores */
  --font-heading:var(--x-display);
  --font-body:var(--x-body);
  --cream:var(--x-paper);
  --text-primary:var(--x-ink);
  --text-secondary:#4b5552;
  --text-muted:#6b7470;
  --teal-light:var(--x-teal2);
}

body{font-family:var(--x-body);color:var(--x-ink);background:var(--x-paper)}

/* Unbounded es más ancha que Sora: escala y tracking ajustados */
h1,h2,h3,.section-heading{font-family:var(--x-display);letter-spacing:-.02em;text-wrap:balance}
h1{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.08;font-weight:600}
h2,.section-heading{font-weight:600}

/* El header viejo era fijo; el nuevo no. Se retira el espacio que lo compensaba */
.breadcrumb{padding-top:1.25rem!important}

/* ---------- Header compartido ---------- */
.top{position:relative;z-index:40;background:var(--x-paper);color:var(--x-ink);border-bottom:1px solid var(--x-line-d);font-family:var(--x-body)}
.top__in{display:flex;align-items:center;gap:36px;height:78px;width:min(1360px,100% - 48px);margin-inline:auto}
.top__logo img{height:60px;width:auto;display:block}
.top .menu{display:flex;gap:30px;margin-left:auto}
.top .menu a{position:relative;font-size:15px;font-weight:500;padding:6px 0;color:var(--x-ink);text-decoration:none}
.top .menu a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--x-teal);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.top .menu a:hover::after{transform:scaleX(1)}
.top .btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:12px 20px;font:500 14px/1 var(--x-body);background:var(--x-ink);color:#fff;text-decoration:none;cursor:pointer;transition:transform .2s}
.top .btn:hover{transform:translateY(-2px)}
.top .burger{display:none;margin-left:auto;width:44px;height:44px;border:0;background:transparent;cursor:pointer;position:relative}
.top .burger span,.top .burger span::before,.top .burger span::after{position:absolute;left:11px;width:22px;height:2px;background:var(--x-ink);transition:.25s;content:""}
.top .burger span{top:21px}.top .burger span::before{top:-7px;left:0}.top .burger span::after{top:7px;left:0}
.top.abierto .burger span{background:transparent}
.top.abierto .burger span::before{top:0;transform:rotate(45deg)}
.top.abierto .burger span::after{top:0;transform:rotate(-45deg)}

/* ---------- Footer compartido ---------- */
footer.pie{background:#08100e;border-top:1px solid var(--x-line);padding:56px 0 72px;font:14px/1.6 var(--x-body);color:var(--x-mute)}
footer.pie .wrap{width:min(1360px,100% - 48px);margin-inline:auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.3fr;gap:32px}
footer.pie img.logo{height:44px;width:auto;margin-bottom:14px;filter:brightness(0) invert(1);opacity:.9}
footer.pie h4{font:600 13px var(--x-body);color:var(--x-fg);margin:0 0 12px;letter-spacing:0}
footer.pie ul{list-style:none;margin:0;padding:0}
footer.pie li{margin:6px 0}
footer.pie a{color:var(--x-mute);text-decoration:none}
footer.pie a:hover{color:var(--x-fg)}
footer.pie .legal{grid-column:1/-1;border-top:1px solid var(--x-line);padding-top:20px;margin-top:8px;font-size:12px}

@media (max-width:1000px){
  .top .menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;background:var(--x-paper);border-bottom:1px solid var(--x-line-d);padding:8px 24px 20px;box-shadow:0 20px 30px -20px rgba(0,0,0,.4)}
  .top .menu a{padding:14px 0;font-size:18px;border-bottom:1px solid var(--x-line-d)}
  .top .menu a::after{display:none}
  .top.abierto .menu{display:flex}
  .top .top__cta{display:none}
  .top .burger{display:block}
  footer.pie .wrap{grid-template-columns:1fr 1fr}
  footer.pie .wrap>div:first-child{grid-column:1/-1}
}
@media (max-width:640px){
  .top__in{height:66px;width:calc(100% - 32px)}
  .top__logo img{height:50px}
  .top .menu{padding:4px 16px 16px}
  footer.pie .wrap{width:calc(100% - 32px)}
}

/* ---------- Bloque de contacto compartido (leadSection) ---------- */
.lx{background:radial-gradient(900px 500px at 90% 10%,rgba(25,196,178,.25),transparent 60%),radial-gradient(600px 400px at 0% 100%,rgba(255,106,77,.12),transparent 60%),var(--x-dark);color:var(--x-fg);padding:clamp(72px,9vw,130px) 0}
.lx__in{width:min(1360px,100% - 48px);margin-inline:auto;display:grid;grid-template-columns:minmax(0,680px);justify-content:center;gap:28px}
.lx__cab h2{font:600 clamp(30px,3.6vw,52px)/1.04 var(--x-display);letter-spacing:-.03em;color:#fff;margin:0}
.lx__cab p{color:#b9c3bf;margin-top:14px;font-size:clamp(16px,1.3vw,18px);max-width:52ch}
.lx__form{background:var(--x-paper);color:var(--x-ink);border-radius:20px;padding:clamp(22px,3vw,40px);box-shadow:0 40px 80px -30px rgba(0,0,0,.6);display:grid;gap:14px;font-family:var(--x-body)}
.lx__fila{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lx__form label{display:grid;gap:6px;font-size:14px;font-weight:600}
.lx__form small{font-weight:400;color:#777}
.lx__form input,.lx__form textarea{font:16px var(--x-body);color:var(--x-ink);padding:14px 16px;border:1px solid #c9c5bb;border-radius:10px;background:#fff;resize:vertical;width:100%;box-sizing:border-box}
.lx__form input:focus,.lx__form textarea:focus{outline:none;border-color:var(--x-teal);box-shadow:0 0 0 3px rgba(13,158,143,.15)}
.lx__enviar,.lx__wa{display:flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:15px 24px;font:500 15px/1 var(--x-body);cursor:pointer;text-decoration:none;transition:transform .2s}
.lx__enviar{background:var(--x-ink);color:#fff}
.lx__wa{background:var(--x-wa);color:#03230f}
.lx__enviar:hover,.lx__wa:hover{transform:translateY(-2px)}
.lx__o{display:flex;align-items:center;gap:12px;color:#8a918e;font-size:13px;margin:0}
.lx__o::before,.lx__o::after{content:"";flex:1;height:1px;background:#d6d2c8}
.lx__priv{font-size:12px;color:#777;margin:0}
.form-status{padding:12px 14px;border-radius:10px;font-size:14px}
.form-status-success{background:#e3f4f1;color:#0b5f56}
.form-status-error{background:#fbe9e7;color:#9a2b1f}
@media (max-width:640px){.lx__fila{grid-template-columns:1fr}.lx__in{width:calc(100% - 32px)}}
