/* ESGAZE · Servicio CBAM — estilos del sitio (identidad oscura verde-neón) */
:root{
  --bg:#060f0b; --bg-2:#0a150f; --surface:#0e1c15; --surface-2:#14271c;
  --border:rgba(120,220,170,.13); --border-2:rgba(120,220,170,.26);
  --fg:#e9f3ec; --muted:#9bb2a6; --muted-2:#c6d6cc;
  --primary:#34e3a0; --primary-2:#17c589; --primary-dim:rgba(52,227,160,.12);
  --amber:#f6c14b; --amber-dim:rgba(246,193,75,.12); --ink:#04110b;
  --display:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --body:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --radius:16px; --maxw:1080px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--body);line-height:1.6;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%}
a{color:var(--primary);text-decoration:none}
h1,h2,h3,h4{font-family:var(--display);margin:0;text-wrap:balance;line-height:1.1}
p{margin:0}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:20px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary)}
.muted{color:var(--muted)}
section{padding-block:60px}
.sec-head{margin-bottom:28px}
.sec-head h2{font-size:clamp(23px,3.4vw,33px);font-weight:800;margin-top:10px;max-width:20ch}
.sec-head p{color:var(--muted-2);margin-top:12px;max-width:60ch;font-size:15.5px}

/* ---- header ---- */
.nav{position:sticky;top:0;z-index:50;background:rgba(6,15,11,.78);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:66px}
.brand{display:flex;align-items:center;gap:11px}
.brand .mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(145deg,var(--primary),var(--primary-2));
  display:grid;place-items:center;color:var(--ink);font-weight:800;font-family:var(--display);font-size:19px;
  box-shadow:0 0 22px rgba(52,227,160,.3)}
.brand .name{font-family:var(--display);font-weight:800;font-size:18px;letter-spacing:.3px}
.brand .sub{font-size:10.5px;color:var(--muted);margin-top:-2px}
.nav-links{display:flex;align-items:center;gap:22px}
.nav-links a{color:var(--muted-2);font-size:14px;font-weight:500}
.nav-links a:hover{color:var(--fg)}
.lang{font-size:12.5px;color:var(--muted);border:1px solid var(--border-2);border-radius:999px;padding:4px 11px}
.lang a{color:var(--muted)}.lang a.on{color:var(--primary);font-weight:700}
@media(max-width:820px){.nav-links .hide-sm{display:none}}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:700;font-size:14.5px;
  border-radius:11px;padding:11px 18px;border:1px solid transparent;cursor:pointer;transition:transform .12s,background .15s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(145deg,var(--primary),var(--primary-2));color:var(--ink);
  box-shadow:0 6px 24px rgba(52,227,160,.22)}
.btn-ghost{background:transparent;border-color:var(--border-2);color:var(--fg)}
.btn-ghost:hover{background:var(--surface)}

/* ---- hero ---- */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.hero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(90% 70% at 18% -10%,rgba(52,227,160,.16),transparent 55%);pointer-events:none}
.hero::after{content:"";position:absolute;inset:0;opacity:.4;pointer-events:none;
  background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);
  background-size:52px 52px;mask-image:radial-gradient(70% 60% at 50% 0,#000,transparent 75%)}
.hero-in{position:relative;padding-block:68px 72px}
.hero h1{font-size:clamp(32px,6.2vw,58px);font-weight:800;letter-spacing:-.01em;max-width:15ch;margin-top:18px}
.hero h1 .hl{color:var(--primary)}
.hero .lead{font-size:clamp(16px,2.3vw,19px);color:var(--muted-2);max-width:60ch;margin-top:20px}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.hero .chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.chip{font-size:12.5px;color:var(--muted-2);background:var(--surface);border:1px solid var(--border);
  border-radius:999px;padding:7px 14px}
.chip b{color:var(--fg)}

/* ---- generic cards / grids ---- */
.grid{display:grid;gap:16px}
.g4{grid-template-columns:repeat(4,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
@media(max-width:860px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:1fr}.g2{grid-template-columns:1fr}}
@media(max-width:460px){.g4{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px}
.card.soft{background:var(--bg-2)}
.alert{background:var(--amber-dim);border-color:rgba(246,193,75,.3)}

/* step / feature */
.step .k{width:34px;height:34px;border-radius:10px;background:var(--primary-dim);color:var(--primary);
  display:grid;place-items:center;font-family:var(--display);font-weight:800;margin-bottom:12px}
.alert .step-k,.alert .k{background:rgba(246,193,75,.16);color:var(--amber)}
.step h3,.feat h3{font-size:16px;font-weight:700;margin-bottom:6px}
.step p,.feat p{font-size:13.5px;color:var(--muted)}

/* stat tiles */
.tile .n{font-family:var(--display);font-weight:800;font-size:30px;font-variant-numeric:tabular-nums;line-height:1}
.tile .n .u{font-size:15px;color:var(--primary);margin-left:3px}
.tile .l{font-size:12.5px;color:var(--muted);margin-top:8px}

/* sectors */
.sector{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);
  border-radius:13px;padding:14px 16px}
.sector .ic{font-size:20px}
.sector .t{font-weight:700;font-size:14.5px}
.sector .d{font-size:12px;color:var(--muted)}

/* two audiences */
.aud{position:relative;overflow:hidden}
.aud .flag{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.aud h3{font-size:20px;font-weight:800;margin-bottom:8px}
.aud p{font-size:14px;color:var(--muted-2)}
.aud ul{margin:14px 0 0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:8px}
.aud li{font-size:13.5px;color:var(--muted-2);padding-left:24px;position:relative}
.aud li::before{content:"";position:absolute;left:4px;top:8px;width:7px;height:7px;border-radius:50%;
  background:var(--primary);box-shadow:0 0 8px var(--primary)}

/* quantified band */
.band{background:linear-gradient(120deg,var(--surface-2),var(--bg-2));border:1px solid var(--border-2);
  border-radius:20px;padding:30px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}
.band .big{font-family:var(--display);font-weight:800;font-size:clamp(34px,6vw,46px);color:var(--primary);line-height:1}
.band .txt{flex:1;min-width:240px}
.band .txt p{color:var(--muted-2);font-size:14.5px}
.band small{color:var(--muted);font-size:11.5px;display:block;margin-top:10px}

/* FAQ */
.faq details{background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:0 18px;margin-bottom:10px}
.faq summary{cursor:pointer;list-style:none;padding:17px 0;font-family:var(--display);font-weight:700;font-size:15px;
  display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--primary);font-size:20px;font-weight:700;flex:0 0 auto}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 18px;color:var(--muted-2);font-size:14px;margin-top:-4px}

/* CTA band */
.cta-band{background:radial-gradient(120% 140% at 80% 0,rgba(52,227,160,.16),transparent 60%),var(--bg-2);
  border:1px solid var(--border-2);border-radius:22px;padding:40px 32px;text-align:center}
.cta-band h2{font-size:clamp(24px,4vw,34px);font-weight:800;max-width:22ch;margin:0 auto}
.cta-band p{color:var(--muted-2);margin:14px auto 0;max-width:52ch}
.cta-band .mailrow{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap;justify-content:center;align-items:center}
.cta-band .email{font-family:var(--display);font-weight:700;color:var(--fg);background:var(--surface);
  border:1px solid var(--border-2);border-radius:11px;padding:11px 16px;font-size:14.5px}

/* footer */
footer{border-top:1px solid var(--border);padding-block:34px 44px;margin-top:20px}
.foot-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-start}
.foot-legal{font-size:12px;color:var(--muted);max-width:56ch;line-height:1.6}
.foot-legal b{color:var(--muted-2)}
.foot-links{display:flex;gap:18px;font-size:13px}
.foot-links a{color:var(--muted-2)}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn:hover{transform:none}}
