:root{--ease-out:cubic-bezier(.23,1,.32,1);--tr-200:color 200ms ease,background-color 200ms ease,border-color 200ms ease,box-shadow 200ms ease,opacity 200ms ease,filter 200ms ease,transform 200ms cubic-bezier(.23,1,.32,1);--tr-250:color 250ms ease,background-color 250ms ease,border-color 250ms ease,box-shadow 250ms ease,opacity 250ms ease,filter 250ms ease,transform 200ms cubic-bezier(.23,1,.32,1);--tr-160:color 160ms ease,background-color 160ms ease,border-color 160ms ease,box-shadow 160ms ease,opacity 160ms ease,filter 160ms ease,transform 160ms cubic-bezier(.23,1,.32,1);--tr-300:color 300ms ease,background-color 300ms ease,border-color 300ms ease,box-shadow 300ms ease,opacity 300ms ease,filter 300ms ease,transform 200ms cubic-bezier(.23,1,.32,1);--tr-220:color 220ms ease,background-color 220ms ease,border-color 220ms ease,box-shadow 220ms ease,opacity 220ms ease,filter 220ms ease,transform 200ms cubic-bezier(.23,1,.32,1);--tr-150:color 150ms ease,background-color 150ms ease,border-color 150ms ease,box-shadow 150ms ease,opacity 150ms ease,filter 150ms ease,transform 150ms cubic-bezier(.23,1,.32,1);--tr-180:color 180ms ease,background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease,opacity 180ms ease,filter 180ms ease,transform 180ms cubic-bezier(.23,1,.32,1);}


:root{
  --navy:#1C2E6E;--navy-dk:#0D1635;--navy-md:#152050;
  --green:#2B7A2B;--green-h:#349434;--green-lt:#EAF5EA;
  --gray-bg:#F0F2F7;--border:#D8DCE8;
  --red:#C0392B;--amber:#D4890A;
  --text:#0F1624;--muted:#2E3A52;--soft:#5B6680;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Outfit',sans-serif;font-size:16px;background:#fff;color:var(--text);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none}

.top-alert{background:var(--navy-dk);padding:.6rem 5vw;display:flex;align-items:center;justify-content:center;gap:.65rem}
.top-alert p{font-size:.92rem;color:rgba(255,255,255,.92);text-align:center;line-height:1.45}
.top-alert strong{color:#FFD96A;font-weight:700}
.alert-dot{width:7px;height:7px;border-radius:50%;background:#3fb950;flex-shrink:0;animation:blink 1.6s infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}

nav{position:sticky;top:0;z-index:200;height:66px;background:rgba(255,255,255,.97);border-bottom:1.5px solid var(--border);display:flex;align-items:center;padding:0 5vw;gap:1rem;backdrop-filter:blur(16px);box-shadow:0 2px 16px rgba(15,22,36,.06)}
.nav-brand svg{height:30px;width:auto}
.nav-brand svg{height:30px !important;width:auto !important;max-width:160px !important;display:block !important}
.nav-menu{display:flex;gap:.1rem;list-style:none;margin-left:auto}
.nav-menu a{display:block;padding:.42rem .9rem;font-size:.95rem;font-weight:600;color:var(--muted);border-radius:7px;transition:var(--tr-160);white-space:nowrap}
.nav-menu a:hover{background:var(--gray-bg);color:var(--navy)}
.nav-menu a.active{color:var(--green);background:var(--green-lt)}
.nav-btn{display:flex;align-items:center;gap:.4rem;background:var(--green);color:#fff;padding:.52rem 1.05rem;border-radius:8px;font-size:.9rem;font-weight:700;transition:var(--tr-200);flex-shrink:0;white-space:nowrap}
.nav-btn:hover{background:var(--green-h);box-shadow:0 4px 12px rgba(18,26,58,0.18)}
.nav-btn svg{width:13px;height:13px}

.fab{position:fixed;bottom:1.6rem;right:1.6rem;z-index:500;display:flex;align-items:center;gap:.5rem;background:#25D366;color:#fff;padding:.82rem 1.35rem;border-radius:50px;font-size:.95rem;font-weight:700;box-shadow:0 6px 24px rgba(18,26,58,0.18);transition:var(--tr-250)}
.fab:hover{background:#20BD5A;box-shadow:0 8px 28px rgba(18,26,58,0.18)}

.hero{background:var(--navy-dk);display:grid;grid-template-columns:58% 42%;min-height:auto;padding-top:1rem;padding-bottom:1rem;position:relative;overflow:hidden;align-items:center}
.hero-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 55% 65% at 105% 50%,rgba(43,122,43,.18),transparent 60%),radial-gradient(ellipse 40% 50% at -5% 80%,rgba(28,46,110,.55),transparent 60%)}
.hero-mesh{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:56px 56px}
.hero-accent{position:absolute;right:0;top:0;bottom:0;width:42%;background:rgba(43,122,43,.05);clip-path:polygon(14% 0,100% 0,100% 100%,0 100%)}
.hero-left{padding:2.5rem 2.5rem 2.5rem 7vw;position:relative;z-index:2}
.h-chip{display:inline-flex;align-items:center;gap:.45rem;background:rgba(63,185,80,.15);border:1px solid rgba(63,185,80,.35);color:#7CC47C;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.38rem .95rem;border-radius:20px;margin-bottom:1.2rem;width:fit-content}
.h-chip .d{width:5px;height:5px;border-radius:50%;background:#3fb950;animation:blink 1.5s infinite}
.hero h1{font-family:'Newsreader',serif;font-size:clamp(2.2rem,3.5vw,3.3rem);font-weight:700;line-height:1.1;color:#fff;margin-bottom:1.4rem}
.hero h1 .green{color:#7CC47C}
.hero-sub{font-size:1.1rem;line-height:1.85;color:rgba(255,255,255,.9);max-width:480px;margin-bottom:1.6rem}
.hero-sub b{color:#fff;font-weight:700}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1.4rem}
.btn-hero{display:flex;align-items:center;gap:.5rem;background:var(--green);color:#fff;padding:.95rem 1.85rem;border-radius:9px;font-size:.97rem;font-weight:700;transition:var(--tr-200);box-shadow:0 4px 22px rgba(18,26,58,0.18)}
.btn-hero:hover{background:var(--green-h);box-shadow:0 6px 22px rgba(18,26,58,0.18)}
.hero-trust{display:flex;flex-wrap:wrap;gap:.55rem}
.h-badge{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.12);border:1.5px solid rgba(255,255,255,.3);border-radius:20px;padding:.48rem 1.05rem;font-size:.88rem;color:#fff;font-weight:600}
.h-badge::before{content:'✓';color:#7CC47C;font-weight:800;font-size:.78rem}
.hero-right{padding:2.2rem 5vw 2.2rem 1rem;position:relative;z-index:2;display:flex;flex-direction:column;gap:.65rem}
.hc{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:1.1rem 1.3rem;display:flex;align-items:center;gap:.9rem;transition:var(--tr-200)}
.hc:nth-child(1){border-left:3px solid #3fb950}
.hc:nth-child(2){border-left:3px solid #f0883e}
.hc:nth-child(3){border-left:3px solid #58a6ff}
.hc:nth-child(4){border-left:3px solid var(--green)}
.hc:hover{background:rgba(255,255,255,.11)}
.hc-ico{font-size:1.3rem;width:34px;text-align:center;flex-shrink:0}
.hc b{display:block;font-size:.98rem;font-weight:700;color:#fff;margin-bottom:.15rem}
.hc span{font-size:.88rem;color:rgba(255,255,255,.75)}

#mz-1.active{background:#EAF5EA;border-color:var(--green);color:var(--green)}
#mz-2.active{background:#FEF9E7;border-color:#d97706;color:#d97706}
#mz-3.active{background:#FFF4EC;border-color:#c45f1a;color:#c45f1a}
#mz-4.active{background:#F3E8FF;border-color:#7c3aed;color:#7c3aed}
.tmc-hidden{display:none}

.lbl{display:inline-flex;align-items:center;gap:.45rem;font-size:.76rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--green)}
.lbl::before{content:'';width:14px;height:2px;background:var(--green)}
.lbl-w{color:#7CC47C}.lbl-w::before{background:#7CC47C}
.sh{font-family:'Newsreader',serif;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:700;line-height:1.15;color:var(--text)}
.sh-w{color:#fff;-webkit-font-smoothing:antialiased}
.sp{font-size:1.05rem;line-height:1.82;color:var(--muted);max-width:560px;margin:.75rem auto 0;text-align:center}
.sec-ctr{text-align:center;margin-bottom:1.8rem;max-width:720px;margin-left:auto;margin-right:auto}

.alc-band{background:var(--navy-dk);padding:.9rem 7vw;border-top:3px solid var(--green)}
.alc-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:3.5rem;align-items:center;max-width:1140px;margin:0 auto}
.alc-tag{display:inline-flex;align-items:center;gap:.5rem;background:rgba(43,122,43,.2);border:1px solid rgba(43,122,43,.4);color:#7CC47C;font-size:.7rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;padding:.4rem 1rem;border-radius:20px;margin-bottom:1.3rem}
.alc-h{font-family:'Newsreader',serif;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:700;color:#fff;line-height:1.25;margin-bottom:1rem}
.alc-h em{color:#7CC47C;font-style:normal}
.alc-p{font-size:1rem;line-height:1.9;color:rgba(255,255,255,.92);margin-bottom:.8rem}
.alc-p strong{color:#fff;font-weight:700}
.alc-cards{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.alc-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:11px;padding:1.15rem 1.3rem;position:relative;overflow:hidden}
.alc-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.alc-card:nth-child(1)::before{background:#f0883e}
.alc-card:nth-child(2)::before{background:#d29922}
.alc-card:nth-child(3)::before{background:#58a6ff}
.alc-card:nth-child(4)::before{background:#3fb950}
.alc-lbl-s{font-size:.68rem;font-weight:800;color:rgba(255,255,255,.5);letter-spacing:.13em;text-transform:uppercase;display:block;margin-bottom:.4rem}
.alc-num{font-size:1.25rem;font-weight:800;color:#fff;display:block;margin-bottom:.25rem}
.alc-desc{font-size:.86rem;color:rgba(255,255,255,.65);line-height:1.55}

.calc-section{background:var(--gray-bg);padding:1rem 7vw}
.calc-wrap{max-width:860px;margin:2rem auto 0;background:#fff;border:1.5px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(15,22,36,.1)}

.calc-progress{display:flex;align-items:center;justify-content:center;gap:0;padding:1.8rem 2rem 0}
.calc-step-dot{display:flex;flex-direction:column;align-items:center;gap:6px}
.calc-step-circle{width:34px;height:34px;border-radius:50%;font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;transition:var(--tr-300)}
.calc-step-circle.done{background:var(--green);color:#fff;border:2px solid var(--green)}
.calc-step-circle.active{background:var(--green-lt);color:var(--green);border:2px solid var(--green)}
.calc-step-circle.idle{background:var(--gray-bg);color:var(--soft);border:1.5px solid var(--border)}
.calc-step-lbl{font-size:10px;color:var(--soft);font-weight:600;white-space:nowrap}
.calc-step-lbl.active-lbl{color:var(--green);font-weight:700}
.calc-step-line{width:72px;height:1.5px;margin:0 6px 18px;background:var(--border);transition:background .3s}
.calc-step-line.done-line{background:var(--green)}

.calc-body{padding:2rem 2.4rem 2rem}
.calc-body h3{font-family:'Newsreader',serif;font-size:1.45rem;font-weight:700;color:var(--navy);margin-bottom:.4rem}
.calc-body p.sub{font-size:1.02rem;color:var(--muted);margin-bottom:1.6rem}

.field{margin-bottom:1rem}
.field label{display:block;font-size:.85rem;font-weight:700;color:var(--navy);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.4rem}
.field input[type=text],.field input[type=number],.field select{width:100%;padding:.82rem 1rem;border:1.5px solid var(--border);border-radius:8px;font-family:'Outfit',sans-serif;font-size:1rem;color:var(--text);outline:none;transition:border-color .2s;background:#fff}
.field input:focus,.field select:focus{border-color:var(--green)}
.field input.filled{border-color:rgba(43,122,43,.45)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.field-note{font-size:.82rem;color:var(--muted);margin-top:.28rem;line-height:1.5}

.presiones-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1.4rem}
.presion-card{border:1.5px solid var(--border);border-radius:10px;padding:.85rem 1rem;cursor:pointer;transition:var(--tr-200);user-select:none}
.presion-card:hover{border-color:rgba(43,122,43,.3);background:rgba(43,122,43,.03)}
.presion-card.selected{border-color:var(--green);background:var(--green-lt)}
.presion-card .p-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.2rem}
.presion-card .p-icon{font-size:1.05rem}
.presion-card .p-label{font-size:.92rem;font-weight:700;color:var(--navy)}
.presion-card.selected .p-label{color:var(--green)}
.presion-card .p-desc{font-size:.82rem;color:var(--muted);line-height:1.45}
.presion-check{margin-left:auto;color:var(--green);font-size:.95rem;display:none}
.presion-card.selected .presion-check{display:block}

.alc-tabs{display:flex;gap:.5rem;margin-bottom:1.4rem}
.alc-tab{flex:1;padding:.72rem .5rem;border-radius:8px;border:1.5px solid var(--border);cursor:pointer;text-align:center;transition:var(--tr-200);font-family:'Outfit',sans-serif;font-size:.88rem;font-weight:700;color:var(--navy);background:#fff}
.alc-tab.a1.active{background:#FFF4EC;border-color:#f0883e;color:#c45f1a}
.alc-tab.a2.active{background:#FEFAE8;border-color:#d29922;color:#9a6f0a}
.alc-tab.a3.active{background:#EDF4FF;border-color:#58a6ff;color:#1a5cb5}
.alc-tab-sub{font-size:.74rem;font-weight:500;margin-top:2px;opacity:.85}

.num-field{margin-bottom:1.05rem}
.num-field label{display:flex;align-items:center;justify-content:space-between;margin-bottom:.4rem}
.num-field .nf-left{display:flex;align-items:center;gap:.45rem;font-size:.97rem;color:var(--navy);font-weight:600}
.num-field .nf-tco2{font-size:.85rem;font-weight:700;color:var(--green)}
.num-wrap{position:relative}
.num-wrap input{width:100%;padding:.82rem 80px .82rem .9rem;border:1.5px solid var(--border);border-radius:8px;font-family:'Outfit',monospace;font-size:1rem;color:var(--text);outline:none;transition:border-color .2s}
.num-wrap input:focus{border-color:var(--green)}
.num-wrap input.has-val{border-color:rgba(43,122,43,.5)}
.num-unit{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:.78rem;color:var(--muted);pointer-events:none;white-space:nowrap;font-weight:600}
.tip-btn{background:none;border:1px solid var(--border);border-radius:50%;width:20px;height:20px;font-size:.75rem;color:var(--muted);cursor:help;display:inline-flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;font-family:monospace;line-height:1}
.tip-box{display:none;position:absolute;bottom:120%;left:50%;transform:translateX(-50%);background:var(--navy-dk);color:rgba(255,255,255,.92);font-size:.82rem;line-height:1.6;padding:.75rem 1rem;border-radius:8px;width:230px;z-index:50;box-shadow:0 6px 24px rgba(0,0,0,.3);pointer-events:none;font-family:'Outfit',sans-serif;font-weight:400}
.tip-btn:hover .tip-box{display:block}

.live-preview{background:var(--green-lt);border:1.5px solid rgba(43,122,43,.2);border-radius:10px;padding:1rem 1.2rem;margin-bottom:1.2rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.85rem}
.lp-item{text-align:center}
.lp-val{font-size:1.15rem;font-weight:800;color:var(--green);display:block;font-family:monospace}
.lp-lbl{font-size:.72rem;color:var(--muted);margin-top:2px;display:block}

.btn-primary{display:flex;align-items:center;justify-content:center;gap:.45rem;background:var(--green);color:#fff;padding:.92rem 1.8rem;border-radius:9px;font-size:.97rem;font-weight:700;border:none;cursor:pointer;font-family:'Outfit',sans-serif;transition:var(--tr-200);width:100%}
.btn-primary:hover{background:var(--green-h);box-shadow:0 4px 16px rgba(18,26,58,0.18)}
.btn-primary:disabled{background:var(--border);color:var(--soft);cursor:not-allowed;box-shadow:none}
.btn-secondary{padding:.82rem 1.4rem;border:1.5px solid var(--border);border-radius:9px;background:#fff;color:var(--muted);font-family:'Outfit',sans-serif;font-size:.92rem;font-weight:600;cursor:pointer;transition:var(--tr-200)}
.btn-secondary:hover{border-color:var(--navy);color:var(--navy)}
.btn-row{display:flex;gap:.75rem}
.btn-row .btn-primary{flex:1}

.result-section{background:#fff;padding:2rem 7vw}
.result-wrap{max-width:860px;margin:0 auto}
.result-disclaimer{background:#FFFBEB;border:1.5px solid rgba(212,137,10,.25);border-radius:10px;padding:.85rem 1.1rem;margin-bottom:1.4rem;display:flex;gap:.7rem;align-items:flex-start}
.result-disclaimer p{font-size:.85rem;color:var(--muted);line-height:1.6;margin:0}
.result-disclaimer strong{color:var(--amber)}
.result-header{background:#fff;border-radius:14px;padding:1.8rem 2rem;margin-bottom:1.2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.2rem;border:1.5px solid #D8DCE8;border-top:3px solid var(--green)}
.rh-left h2{font-family:'Newsreader',serif;font-size:1.55rem;font-weight:700;color:var(--navy);margin-bottom:.3rem}
.rh-meta{font-size:.88rem;color:var(--muted)}
.rh-right{text-align:right}
.rh-val{font-size:3.2rem;font-weight:800;color:var(--green);line-height:1;font-family:'Outfit',monospace}
.rh-unit{font-size:.88rem;color:var(--soft);margin-top:.2rem}
.rh-date{font-size:.75rem;color:var(--soft);margin-top:.15rem}

.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin-bottom:1.2rem}
.kpi-card{background:#fff;border:1.5px solid var(--border);border-radius:11px;padding:1.1rem;text-align:center;transition:var(--tr-200)}
.kpi-card:hover{border-color:rgba(43,122,43,.28);box-shadow:0 4px 12px rgba(15,22,36,.08)}
.kpi-val{font-size:1.35rem;font-weight:800;display:block;font-family:monospace;line-height:1.2}
.kpi-unit{font-size:.7rem;color:var(--soft);display:block;margin:.2rem 0}
.kpi-lbl{font-size:.8rem;color:var(--muted);font-weight:600}

.dist-card{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1rem}
.dist-card h4{font-family:'Newsreader',serif;font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:1.2rem}
.dist-row{margin-bottom:1rem}
.dist-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}
.dist-lbl{font-size:.88rem;color:var(--muted)}
.dist-val{font-size:.9rem;font-weight:700;color:var(--text);font-family:monospace}
.dist-pct{font-size:.78rem;color:var(--soft);margin-left:.4rem}
.dist-bar-bg{height:7px;background:var(--gray-bg);border-radius:4px;overflow:hidden}
.dist-bar-fill{height:100%;border-radius:4px;transition:width 1s ease}

.sim-card{background:var(--navy-dk);border:1.5px solid rgba(255,255,255,.1);border-radius:12px;padding:1.5rem;margin-bottom:1rem}
.sim-card h4{font-family:'Newsreader',serif;font-size:1.05rem;font-weight:700;color:#fff;margin-bottom:.3rem}
.sim-card p{font-size:.88rem;color:rgba(255,255,255,.6);margin-bottom:1rem}
.sim-row{display:flex;align-items:center;gap:.9rem;margin-bottom:1rem}
.sim-row span{font-size:.8rem;color:rgba(255,255,255,.5)}
.sim-row input[type=range]{flex:1;accent-color:#7CC47C}
.sim-pct{font-size:1.1rem;font-weight:800;color:#7CC47C;min-width:40px;font-family:monospace}
.sim-results{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}
.sim-box{background:rgba(255,255,255,.06);border-radius:9px;padding:.85rem;text-align:center}
.sim-val{font-size:1rem;font-weight:800;display:block;font-family:monospace;color:#7CC47C}
.sim-lbl{font-size:.7rem;color:rgba(255,255,255,.5);margin-top:3px;display:block}
.sim-note{font-size:.72rem;color:rgba(255,255,255,.35);margin-top:.75rem;font-style:italic}

.plan-card{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:1.5rem;margin-bottom:1rem}
.plan-card h4{font-family:'Newsreader',serif;font-size:1.05rem;font-weight:700;color:var(--navy);margin-bottom:1.2rem}
.plan-item{border-left:3px solid;padding-left:1.1rem;margin-bottom:1.1rem;padding-bottom:1.1rem;border-bottom:1px solid var(--border)}
.plan-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.plan-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}
.plan-title{display:flex;align-items:center;gap:.55rem;font-size:.97rem;font-weight:700;color:var(--navy)}
.plan-pills{display:flex;gap:.35rem;flex-wrap:wrap}
.plan-pill{font-size:.72rem;font-weight:700;padding:.2rem .65rem;border-radius:20px;border:1px solid}
.plan-desc{font-size:.9rem;color:var(--muted);line-height:1.65}
.plan-reduct{font-size:.85rem;font-weight:700;color:var(--green);margin-top:.4rem;font-family:monospace}
.plan-note{font-size:.72rem;color:var(--soft);margin-top:.6rem;font-style:italic}

.puertas-card{background:var(--green-lt);border:1.5px solid rgba(43,122,43,.2);border-radius:12px;padding:1.5rem;margin-bottom:1rem}
.puertas-card h4{font-family:'Newsreader',serif;font-size:1.05rem;font-weight:700;color:var(--green);margin-bottom:1rem}
.puerta-item{display:flex;align-items:flex-start;gap:.75rem;background:#fff;border-radius:9px;padding:.85rem 1rem;margin-bottom:.6rem;border:1px solid rgba(43,122,43,.12)}
.puerta-item:last-child{margin-bottom:0}
.puerta-ico{font-size:1.2rem;flex-shrink:0;margin-top:.05rem}
.puerta-body b{display:block;font-size:.92rem;font-weight:700;color:var(--navy);margin-bottom:.18rem}
.puerta-body span{font-size:.82rem;color:var(--muted);line-height:1.5}
.puerta-check{margin-left:auto;color:var(--green);font-size:1rem;flex-shrink:0}

.result-cta{background:linear-gradient(135deg,var(--navy-md),var(--navy-dk));border-radius:14px;padding:2.2rem 2rem;text-align:center;border:1px solid rgba(124,196,124,.15)}
.result-cta p{color:rgba(255,255,255,.72);font-size:.97rem;margin-bottom:.75rem}
.result-cta h3{font-family:'Newsreader',serif;font-size:1.55rem;font-weight:700;color:#fff;margin-bottom:1.4rem}
.result-cta-btns{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap;margin-bottom:.9rem}
.btn-cta-main{background:var(--green);color:#fff;padding:.95rem 2rem;border-radius:9px;font-family:'Outfit',sans-serif;font-size:.97rem;font-weight:700;display:flex;align-items:center;gap:.4rem;transition:var(--tr-200)}
.btn-cta-main:hover{background:var(--green-h)}
.btn-cta-sec{background:transparent;border:1.5px solid rgba(255,255,255,.28);color:rgba(255,255,255,.8);padding:.95rem 2rem;border-radius:9px;font-family:'Outfit',sans-serif;font-size:.97rem;font-weight:600;display:flex;align-items:center;gap:.4rem;transition:var(--tr-200)}
.btn-cta-sec:hover{border-color:rgba(255,255,255,.55);color:#fff}
.result-cta-sub{font-size:.8rem;color:rgba(255,255,255,.4)}

.mirror{background:#fff;padding:1.4rem 7vw}
.mirror-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem}
.mcard{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:1.4rem;position:relative;overflow:hidden;transition:var(--tr-250)}
.mcard::after{content:'';position:absolute;top:0;left:0;right:0;height:3.5px;background:var(--green)}
.mcard:hover{border-color:rgba(43,122,43,.28);box-shadow:0 8px 24px rgba(15,22,36,.1)}
.mcard-q{font-family:'Newsreader',serif;font-size:1rem;font-style:italic;font-weight:600;color:var(--navy);line-height:1.52;margin-bottom:.9rem}
.mcard-q::before{content:'"';font-size:2.4rem;color:rgba(43,122,43,.14);line-height:0;vertical-align:-.55rem;margin-right:.15rem}
.mcard p{font-size:.98rem;line-height:1.78;color:#374151}
.mcard-who{display:inline-flex;align-items:center;gap:.4rem;margin-top:1rem;font-size:.72rem;font-weight:700;color:var(--green);text-transform:uppercase;letter-spacing:.1em}
.mcard-who::before{content:'';width:10px;height:1.5px;background:var(--green)}

.proceso{background:var(--gray-bg);padding:1.4rem 7vw}
.pasos-scroll{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;margin-top:2rem}
.paso-card{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:1.6rem 1.4rem}

.contraste{background:var(--navy-md);padding:1rem 7vw}
.vs-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:880px;margin:1.5rem auto 0}
.vs-card{border-radius:14px;padding:2rem;border:1.5px solid}
.vs-sin{background:#fff;border-color:rgba(192,57,43,.22)}
.vs-con{background:rgba(255,255,255,.07);border-color:rgba(43,122,43,.3)}
.vs-head{display:flex;align-items:center;gap:.7rem;margin-bottom:1.4rem}
.vs-badge{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:.34rem .85rem;border-radius:20px}
.badge-sin{background:rgba(192,57,43,.1);color:var(--red)}
.badge-con{background:rgba(43,122,43,.15);color:#7CC47C}
.vs-title{font-family:'Newsreader',serif;font-size:1rem;font-weight:700}
.vs-sin .vs-title{color:var(--red)}
.vs-con .vs-title{color:#fff}
.vs-list{list-style:none;display:flex;flex-direction:column;gap:.55rem}
.vs-list li{font-size:.97rem;display:flex;align-items:flex-start;gap:.55rem;line-height:1.55}
.vs-sin .vs-list li{color:var(--muted)}
.vs-con .vs-list li{color:rgba(255,255,255,.88)}
.vs-list li::before{flex-shrink:0;font-size:.78rem;margin-top:.15rem;font-weight:700}
.vs-sin .vs-list li::before{content:'✗';color:var(--red)}
.vs-con .vs-list li::before{content:'✓';color:#7CC47C}

.faq{background:#fff;padding:1.4rem 7vw}
.faq-grid{max-width:760px;margin:1.4rem auto 0;display:flex;flex-direction:column;gap:.5rem}
.faq-item{border:1.5px solid var(--border);border-radius:11px;overflow:hidden;transition:var(--tr-200)}
.faq-item.open{border-color:rgba(43,122,43,.3)}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;cursor:pointer;font-weight:700;color:var(--navy);font-size:1rem;gap:1rem;background:#fff;border:none;width:100%;text-align:left;font-family:'Outfit',sans-serif}
.faq-q:hover{background:var(--gray-bg)}
.faq-icon{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--green-lt);color:var(--green);display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:transform .3s}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--green);color:#fff}
.faq-a{max-height:0;overflow:hidden;padding:0 1.4rem;font-size:.97rem;color:var(--muted);line-height:1.78;transition:max-height .25s cubic-bezier(.23,1,.32,1),padding .25s cubic-bezier(.23,1,.32,1);background:#fff}
.faq-item.open .faq-a{max-height:400px;padding:.15rem 1.4rem 1.3rem}

.contacto{background:var(--navy-dk);padding:1.5rem 7vw}
.c-info h2{font-family:'Newsreader',serif;font-size:clamp(1.7rem,2.8vw,2.4rem);font-weight:700;color:#fff;line-height:1.2;margin-bottom:1rem}
.c-info h2 em{color:#7CC47C;font-style:normal}
.c-info p{font-size:1.03rem;line-height:1.88;color:rgba(255,255,255,.88);margin-bottom:1.4rem}
.c-items{display:flex;flex-direction:column;gap:.85rem}
.c-item{display:flex;align-items:center;gap:.85rem;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:1rem 1.2rem}
.c-item-ico{font-size:1.15rem;width:38px;text-align:center;flex-shrink:0}
.c-item b{display:block;font-size:.88rem;font-weight:700;color:#fff;margin-bottom:.12rem}
.c-item a,.c-item span{font-size:.88rem;color:rgba(255,255,255,.68)}
.c-item a:hover{color:#7CC47C}
.c-form{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:2rem;backdrop-filter:blur(6px)}
.c-form h3{font-family:'Newsreader',serif;font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:1.4rem}
.cf-title{font-family:'Newsreader',serif;font-size:1.18rem;font-weight:700;color:#fff;margin-bottom:.25rem;text-align:center}
.cf-sub{font-size:.88rem;color:rgba(255,255,255,.58);margin-bottom:1.55rem;line-height:1.58}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.fnote{font-size:.74rem;color:rgba(255,255,255,.35);text-align:center;margin-top:.72rem;line-height:1.68}
/* Estilos del .field dentro del formulario de contacto oscuro */
.c-form .field{margin-bottom:.85rem}
.c-form .field label{display:block;font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.58);margin-bottom:.42rem}
.c-form .field input,.c-form .field select,.c-form .field textarea{width:100%;padding:.75rem .95rem;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);border-radius:9px;color:#fff;font-family:'Outfit',sans-serif;font-size:.95rem;outline:none;transition:var(--tr-200);appearance:none;resize:none}
.c-form .field input:focus,.c-form .field select:focus,.c-form .field textarea:focus{border-color:rgba(43,122,43,.65);background:rgba(255,255,255,.12)}
.c-form .field input::placeholder,.c-form .field textarea::placeholder{color:rgba(255,255,255,.3)}
.c-form .field select option{background:var(--navy-dk)}
.c-form .field select:invalid,.c-form .field select option[value=""]{color:rgba(255,255,255,.3)}
.cf-field{margin-bottom:1rem}
.cf-field label{display:block;font-size:.78rem;font-weight:700;color:rgba(255,255,255,.62);text-transform:uppercase;letter-spacing:.07em;margin-bottom:.38rem}
.cf-field input,.cf-field select,.cf-field textarea{width:100%;padding:.78rem 1rem;background:rgba(255,255,255,.08);border:1.5px solid rgba(255,255,255,.14);border-radius:8px;color:#fff;font-family:'Outfit',sans-serif;font-size:.97rem;outline:none;transition:border-color .2s}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{border-color:rgba(124,196,124,.5)}
.cf-field input::placeholder,.cf-field textarea::placeholder{color:rgba(255,255,255,.35)}
.cf-field select option{color:var(--text);background:#fff}
.cf-field textarea{resize:vertical;min-height:90px}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.btn-enviar{display:flex;align-items:center;justify-content:center;gap:.5rem;background:var(--green);color:#fff;padding:.92rem 1.8rem;border-radius:9px;font-size:.97rem;font-weight:700;border:none;cursor:pointer;font-family:'Outfit',sans-serif;transition:var(--tr-200);width:100%;margin-top:.5rem}
.btn-enviar:hover{background:var(--green-h);box-shadow:0 4px 16px rgba(18,26,58,0.18)}
.btn-enviar:disabled{opacity:.6;cursor:not-allowed}
.btn-enviar svg{width:16px;height:16px;flex-shrink:0}
.gracias-msg{display:none;text-align:center;padding:2.5rem 1.5rem}
.gracias-msg h3{font-family:'Newsreader',serif;font-size:1.4rem;font-weight:700;color:#7CC47C;margin-bottom:.7rem}
.gracias-msg p{font-size:.97rem;color:rgba(255,255,255,.72);line-height:1.75;margin-bottom:1.2rem}

footer{background:#060D1C;padding:1.6rem 7vw;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem;border-top:1px solid rgba(255,255,255,.06)}
.norm{background:#060D1C;padding:.65rem 5vw;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.55rem;border-top:1px solid rgba(255,255,255,.06)}
.norm-lbl{font-size:.7rem;font-weight:800;color:rgba(255,255,255,.5);text-transform:uppercase;letter-spacing:.1em;white-space:nowrap}
.norm-sep{width:1px;height:9px;background:rgba(255,255,255,.14);flex-shrink:0}
.norm-txt{font-size:.75rem;color:rgba(255,255,255,.48);text-align:center}

.modo-selector{display:flex;gap:0;border:2px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:1.6rem;background:var(--gray-bg)}
.modo-btn{flex:1;padding:.82rem 1rem;font-family:'Outfit',sans-serif;font-size:.95rem;font-weight:700;border:none;cursor:pointer;transition:var(--tr-200);background:transparent;color:var(--soft);text-align:center;line-height:1.3}
.modo-btn .modo-sub{font-size:.72rem;font-weight:500;opacity:.75;display:block;margin-top:2px}
.modo-btn.active-simple{background:var(--green);color:#fff;box-shadow:inset 0 0 0 0}
.modo-btn.active-auditoria{background:var(--navy-dk);color:#7CC47C}
.modo-divider{width:2px;background:var(--border);flex-shrink:0}
.audit-section{background:#fff;border:1.5px solid var(--border);border-left:3px solid var(--navy);border-radius:9px;padding:1.2rem 1.4rem;margin-bottom:1.2rem}
/* ═══ SI/NO TOGGLE SECTIONS ═══ */
.si-no-section{background:var(--gray-bg);border:1.5px solid var(--border);border-radius:12px;padding:.95rem 1.1rem;margin-top:.85rem}
.si-no-header{display:flex;align-items:center;justify-content:space-between;gap:.9rem;flex-wrap:wrap}
.si-no-question{display:flex;align-items:flex-start;gap:.7rem;flex:1;min-width:0}
.si-no-icon{font-size:1.45rem;line-height:1;margin-top:.05rem;flex-shrink:0}
.si-no-texts{min-width:0}
.si-no-title{font-size:.93rem;font-weight:700;color:var(--navy);line-height:1.35}
.si-no-hint{font-size:.77rem;color:var(--soft);margin-top:.18rem;line-height:1.45}
.si-no-btns{display:flex;gap:.38rem;flex-shrink:0}
.sino-btn{border:2px solid var(--border);background:#fff;color:var(--muted);font-family:'Outfit',sans-serif;font-size:.84rem;font-weight:700;padding:.42rem .85rem;border-radius:8px;cursor:pointer;transition:var(--tr-180);min-width:44px}
.sino-btn:hover{border-color:var(--navy)}
.sino-btn.sino-no.active{background:#FEE2E2;border-color:#EF4444;color:#991B1B}
.sino-btn.sino-si.active{background:var(--green-lt);border-color:var(--green);color:var(--green)}
.si-no-reveal{margin-top:.85rem;padding-top:.85rem;border-top:1.5px dashed var(--border);animation:fadeSlide .22s ease}
@keyframes fadeSlide{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.si-no-explain{background:#EEF2FF;border:1px solid rgba(28,46,110,.14);border-left:3px solid var(--navy);border-radius:8px;padding:.7rem 1rem;font-size:.82rem;color:var(--muted);line-height:1.65;margin-bottom:.8rem}
.sino-warn{background:#FFF8E7;border:1px solid rgba(212,137,10,.25);border-left:3px solid var(--amber);border-radius:8px;padding:.65rem .9rem;font-size:.8rem;color:var(--muted);line-height:1.6;margin-top:.5rem}
/* ═══ WASTE TYPE TABS ═══ */
.res-tab{border:1.5px solid var(--border);background:#fff;color:var(--muted);font-family:'Outfit',sans-serif;font-size:.8rem;font-weight:700;padding:.45rem .85rem;border-radius:20px;cursor:pointer;transition:var(--tr-180);white-space:nowrap}
.res-tab:hover{border-color:var(--navy);color:var(--navy)}
.res-tab.active{background:var(--navy);border-color:var(--navy);color:#fff}
.audit-section-title{font-size:.72rem;font-weight:800;color:var(--navy);text-transform:uppercase;letter-spacing:.12em;margin-bottom:.9rem;display:flex;align-items:center;gap:.5rem}
.evidence-field{margin-bottom:.85rem}
.evidence-field label{display:block;font-size:.8rem;font-weight:600;color:var(--muted);margin-bottom:.3rem}
.evidence-field input,.evidence-field select{width:100%;padding:.65rem .85rem;border:1.5px solid var(--border);border-radius:7px;font-family:'Outfit',sans-serif;font-size:.88rem;color:var(--text);outline:none;transition:border-color .2s;background:#fff}
.evidence-field input:focus,.evidence-field select:focus{border-color:var(--navy)}
.evidence-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.uncertainty-box{background:#EFF6FF;border:1px solid #BFDBFE;border-radius:8px;padding:.9rem 1.1rem;margin:.8rem 0;font-size:.85rem;color:#1e3a5f;line-height:1.65}
.uncertainty-box strong{color:var(--navy)}

@keyframes navThermoShine{0%,100%{opacity:1}50%{opacity:.75}}
.nav-thermo{display:inline-flex;align-items:center;gap:.42rem;background:linear-gradient(135deg,#2B9A2B,#3fb950);color:#fff;font-family:'Outfit',sans-serif;font-size:.78rem;font-weight:800;padding:.42rem .95rem;border-radius:20px;text-decoration:none;white-space:nowrap;position:relative;flex-shrink:0;box-shadow:0 3px 14px rgba(18,26,58,0.18);animation:navThermoShine 2.4s ease infinite;letter-spacing:.01em;transition:box-shadow .2s}
.nav-thermo:hover{box-shadow:0 5px 20px rgba(18,26,58,0.18)}
.nav-thermo-dot{width:7px;height:7px;border-radius:50%;background:#fff;opacity:.9;animation:blink 1.4s ease infinite;flex-shrink:0}

.nav-ham,#nav-ham{display:none !important;margin-left:auto !important;}
#mobile-menu{display:none !important;position:fixed !important;top:58px !important;left:0 !important;right:0 !important;z-index:999999 !important;background:#ffffff !important;flex-direction:column !important;padding:0 !important;box-shadow:0 6px 28px rgba(15,22,36,.2) !important;border-bottom:3px solid var(--green) !important;max-height:calc(100vh - 58px) !important;overflow-y:auto !important;width:100% !important}
#mobile-menu.is-open{display:flex !important}
.smenu-head{display:flex !important;align-items:center !important;justify-content:space-between !important;padding:0 5vw !important;height:54px !important;border-bottom:1px solid var(--border) !important;background:#fff !important;flex-shrink:0 !important}
.smenu-logo{font-family:"Arial Black",Arial,sans-serif !important;font-size:1.1rem !important;font-weight:900 !important;color:var(--navy) !important}
.smenu-x{width:32px !important;height:32px !important;border-radius:50% !important;border:none !important;background:var(--gray-bg) !important;color:var(--navy) !important;font-size:1.1rem !important;cursor:pointer !important;display:flex !important;align-items:center !important;justify-content:center !important}
#mobile-menu a{display:flex !important;align-items:center !important;gap:.75rem !important;padding:1.05rem 5vw !important;font-family:'Outfit',sans-serif !important;font-size:1rem !important;font-weight:600 !important;color:var(--navy) !important;border-bottom:1px solid var(--border) !important;text-decoration:none !important}
#mobile-menu a.active{color:var(--green) !important;background:var(--green-lt) !important}
#mobile-menu a:last-child{border-bottom:none !important}
#mobile-menu a:hover{background:var(--gray-bg) !important}

@media(max-width:1060px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-right{display:none}
  .hero-accent{display:none}
  .hero-left{padding:4.5rem 5vw 2.5rem}
  .alc-inner,.c-grid,.vs-grid{grid-template-columns:1fr;gap:2rem}
  .alc-cards{grid-template-columns:1fr 1fr}
  .mirror-grid,.kpi-grid{grid-template-columns:1fr 1fr}
  .pasos-scroll{grid-template-columns:1fr 1fr}
  .field-row,.cf-row,.frow{grid-template-columns:1fr}
}
@media(max-width:640px){
  nav{padding:0 4vw !important;height:58px !important}
  .nav-menu{display:none !important}
  .nav-btn{display:none !important}
  .nav-thermo{display:none !important}
  .nav-ham,#nav-ham{display:flex !important;align-items:center !important;justify-content:center !important;background:var(--gray-bg) !important;border:1px solid var(--border) !important;border-radius:7px !important;width:38px !important;height:38px !important;cursor:pointer !important;flex-direction:column !important;gap:5px !important;padding:0 !important;margin-left:auto !important}
  .nav-ham span{display:block !important;width:18px !important;height:2px !important;background:var(--navy) !important;border-radius:2px !important}
  .hero-left{padding:2rem 5vw 1.5rem}
  .hero h1{font-size:2rem}
  .mirror-grid,.kpi-grid,.sim-results,.live-preview,.presiones-grid{grid-template-columns:1fr !important}
  .alc-tabs{flex-direction:column}
  .btn-row{flex-direction:column}
  .result-cta-btns{flex-direction:column}
  .alc-cards{grid-template-columns:1fr}
  .pasos-scroll{display:flex !important;flex-direction:row !important;overflow-x:auto !important;scroll-snap-type:x mandatory !important;-webkit-overflow-scrolling:touch !important;gap:1rem !important;margin-left:-5vw !important;margin-right:-5vw !important;padding:0 5vw 1rem !important;scrollbar-width:none !important}
  .paso-card{min-width:80vw !important;scroll-snap-align:start !important}
  .vs-grid{grid-template-columns:1fr}
  .calc-body{padding:1.5rem}
  .c-grid{gap:2.5rem}
}
/* ── SBTi PANEL v6 ── */
.sbti-card{background:linear-gradient(135deg,#EEF2FF,#F0F7FF);border:1.5px solid rgba(28,46,110,.18);border-left:4px solid var(--navy);border-radius:14px;padding:1.4rem 1.6rem;margin-bottom:1.2rem}
.sbti-card h4{font-family:'Newsreader',serif;font-size:1.1rem;font-weight:700;color:var(--navy);margin-bottom:.25rem}
.sbti-subtitle{font-size:.83rem;color:var(--muted);margin-bottom:1rem;line-height:1.5}
.sbti-targets{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.7rem;margin-bottom:1rem}
.sbti-target{background:#fff;border-radius:10px;padding:.9rem 1rem;border:1.5px solid var(--border);text-align:center}
.sbti-target-year{font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--soft);margin-bottom:.3rem}
.sbti-target-pct{font-size:1.4rem;font-weight:800;color:var(--navy);display:block;margin-bottom:.15rem}
.sbti-target-abs{font-size:.8rem;color:var(--muted)}
.sbti-target.t15{border-color:rgba(43,122,43,.4);background:#EAF5EA}
.sbti-target.t15 .sbti-target-pct{color:#16a34a}
.sbti-note{font-size:.78rem;color:var(--muted);line-height:1.6;background:rgba(28,46,110,.05);border-radius:8px;padding:.7rem 1rem}
/* ── FUENTES AGUA v6 ── */
.agua-section{background:linear-gradient(135deg,#EFF6FF,#F0F9FF);border:1.5px solid rgba(59,130,246,.25);border-left:4px solid #3b82f6;border-radius:10px;padding:.9rem 1.1rem;margin-bottom:1.1rem}
/* ── PROGRESO DIAGNÓSTICO GEI ── */
.calc-completion{background:var(--green-lt);border:1px solid rgba(43,122,43,.2);border-radius:8px;padding:.55rem 1rem;margin:0 0 1rem;display:flex;align-items:center;gap:.7rem;font-size:.82rem;color:var(--green);font-weight:600}
.calc-completion-bar{flex:1;height:6px;background:rgba(43,122,43,.15);border-radius:3px;overflow:hidden}
.calc-completion-fill{height:100%;background:var(--green);border-radius:3px;transition:width .4s}
/* ── ÍNDICE ESG v6 ── */
.esg-index-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:1.4rem 1.6rem;margin-bottom:1.2rem}
.esg-index-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}
.esg-score-badge{width:64px;height:64px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:3px solid;flex-shrink:0;font-weight:800}
.esg-score-val{font-size:1.5rem;line-height:1}
.esg-score-max{font-size:.62rem;margin-top:1px}
.esg-dims{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.75rem}
.esg-dim{display:flex;align-items:center;gap:.5rem;font-size:.82rem;color:var(--muted)}
.esg-dim-bar{flex:1;height:5px;background:var(--gray-bg);border-radius:3px;overflow:hidden}
.esg-dim-fill{height:100%;border-radius:3px;transition:width .8s}
.esg-rec-tag{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:700;padding:.3rem .75rem;border-radius:20px;border:1.5px solid;margin:.25rem .2rem 0 0}
/* ── ANIMACIONES DE SCROLL ── */
.reveal{opacity:0;transform:translateY(12px);transition:opacity .45s cubic-bezier(.23,1,.32,1),transform .45s cubic-bezier(.23,1,.32,1)}
.reveal.active{opacity:1;transform:translateY(0)}
/* ── MODO APP INMERSIVO ── */
.calc-fullscreen{position:fixed !important;top:0 !important;left:0 !important;width:100vw !important;height:100vh !important;z-index:99999 !important;overflow-y:auto !important;background:var(--gray-bg) !important;padding:3rem 5vw !important;animation:appAparece 0.4s ease-out}
@keyframes appAparece{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
body.app-locked{overflow:hidden !important}

.foot-brand{font-family:'Newsreader',serif;font-size:1.12rem;font-weight:800;color:#fff;letter-spacing:.02em}
.foot-tag{font-size:.7rem;color:rgba(255,255,255,.6);font-style:italic;margin-top:.04rem}
.foot-email{color:rgba(255,255,255,.92);font-size:.82rem;font-weight:700;transition:var(--tr-200);letter-spacing:.01em}
.foot-copy{font-size:.67rem;color:rgba(255,255,255,.48)}

html{max-width:100%;overflow-x:hidden}
*{box-sizing:border-box}
@media(max-width:640px){
  .hero{grid-template-columns:1fr !important;min-height:auto !important}
  .hero-right{display:none !important}
  .hero-left{padding:2rem 5vw 1.5rem !important;width:100% !important}
  .norm-bar,.normative-bar,[class*="norm"]{overflow-x:auto !important;-webkit-overflow-scrolling:touch !important;white-space:nowrap !important;max-width:100vw !important}
  .mirror-grid,.kpi-grid,.alc-inner,.c-grid,.vs-grid{grid-template-columns:1fr !important}
  .alc-cards{grid-template-columns:1fr !important}
  .pasos-scroll{display:flex !important;flex-direction:row !important;overflow-x:auto !important;scroll-snap-type:x mandatory !important;-webkit-overflow-scrolling:touch !important;gap:1rem !important;padding:0 5vw 1rem !important;scrollbar-width:none !important}
  .paso-card{min-width:80vw !important;scroll-snap-align:start !important}
}

/* === MOBILE RESPONSIVE FIX === */
@media(max-width:640px){
  html,body{max-width:100% !important;overflow-x:hidden !important}
  nav{overflow:visible !important;max-width:none !important}
  .nav-ham,#nav-ham{display:flex !important;max-width:none !important;width:38px !important;height:38px !important;flex-shrink:0 !important}
  .nav-brand{max-width:none !important}
  .nav-brand svg{max-width:160px !important}
  nav[aria-label="Ruta de navegación"] ol{flex-wrap:nowrap !important;overflow-x:auto !important}
  nav[aria-label="Ruta de navegación"] li:last-child{overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important;max-width:55vw !important;flex-shrink:1 !important}
  img,picture,video,canvas,iframe{max-width:100% !important;height:auto !important}
  .hero,.hero-left,.hero-right,[class*="grid"],[class*="inner"],[class*="wrap"],[class*="card"],section,article,main,header,footer{box-sizing:border-box !important}
  img,svg,video,canvas{max-width:100% !important;height:auto !important}
  .hero{grid-template-columns:1fr !important;min-height:auto !important;overflow:hidden !important}
  .hero-right,.hero-accent{display:none !important}
  .hero-left{padding:2rem 5vw 1.5rem !important;width:100% !important;min-width:0 !important}
  .norm-bar,.normative-bar,.nbar,[class*="norm-"]{overflow-x:auto !important;white-space:nowrap !important;max-width:100vw !important;width:100vw !important;margin-left:-5vw !important;padding-left:5vw !important}
  .mirror-grid,.kpi-grid,.alc-inner,.c-grid,.vs-grid,.r-grid,.svc-grid,.sec-grid,.porq-grid,.remoto-grid,.exp-inner,.steps,.pasos{grid-template-columns:1fr !important}
  .alc-cards,.exp-cards,.mirror-grid{grid-template-columns:1fr !important}
  .pasos-scroll{display:flex !important;flex-direction:row !important;overflow-x:auto !important;scroll-snap-type:x mandatory !important;-webkit-overflow-scrolling:touch !important;gap:1rem !important;padding:0 5vw 1rem !important;scrollbar-width:none !important;max-width:100vw !important}
  .paso-card{min-width:80vw !important;scroll-snap-align:start !important;flex-shrink:0 !important}
  .btn-row,.result-cta-btns,.alc-tabs{flex-direction:column !important}
  .hero h1{font-size:clamp(1.6rem,7vw,2.4rem) !important}
  section,div[style*="max-width"]{max-width:100% !important}
}
