:root{--ink:#17132b;--ink-soft:#615878;--paper:#fbf9ff;--card:#fff;--line:#e5ddf2;--teal:#c7f464;--teal-dark:#6d28d9;--amber:#ff8a4c;--coral:#ff4d9d;--violet:#9b5cff;--lime:#d7ff66;--blue:#5b7cfa;--shadow:0 16px 45px rgba(16,27,54,.08);--radius:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);line-height:1.55}a{color:inherit}.shell{max-width:1160px;margin:auto;padding-left:1.2rem;padding-right:1.2rem}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:10;background:var(--ink);color:#fff;padding:.7rem 1rem;border-radius:9px}.site-header{background:var(--ink);color:#fff;position:sticky;top:0;z-index:5;border-bottom:1px solid rgba(255,255,255,.12)}.nav{min-height:76px;display:flex;align-items:center;gap:1.35rem}.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:800;letter-spacing:-.02em;white-space:nowrap}.brand-mark{width:34px;height:34px;border-radius:11px;background:var(--teal);color:var(--ink);display:grid;place-items:center;font-weight:900;font-size:1.15rem}.nav-links{display:flex;gap:.2rem;align-items:center;margin-left:0}.nav-search{position:relative;flex:1;max-width:360px;margin-left:auto;z-index:8}.nav-search-input{display:flex;align-items:center;gap:.35rem;background:#24203f;border:1px solid rgba(215,255,102,.45);border-radius:11px;padding:.1rem .25rem .1rem .65rem;box-shadow:0 5px 20px rgba(12,8,30,.18)}.nav-search-input:focus-within{border-color:var(--lime);box-shadow:0 0 0 3px rgba(215,255,102,.16)}.nav-search-input>span{color:var(--lime);font-size:1.2rem;line-height:1}.nav-search-input input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#fff;padding:.48rem .25rem;font:inherit;font-size:.84rem}.nav-search-input input::placeholder{color:#bdb4da}.nav-search-input button{border:0;background:transparent;color:#c9c1dd;font-size:1.25rem;line-height:1;cursor:pointer;padding:.25rem .4rem;border-radius:7px}.nav-search-input button:hover{background:rgba(255,255,255,.1);color:#fff}.search-results{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:#fff;color:var(--ink);border:1px solid #d9c9f5;border-radius:14px;padding:.4rem;box-shadow:0 18px 40px rgba(23,19,43,.2)}.search-result{display:block;text-decoration:none;padding:.65rem .7rem;border-radius:10px}.search-result:hover,.search-result:focus{background:#f2edff;outline:0}.search-result strong{display:block;color:var(--teal-dark);font-size:.86rem}.search-result span{display:block;color:var(--ink-soft);font-size:.78rem;margin-top:.12rem}.search-empty-result{padding:.8rem;color:var(--coral);font-size:.82rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nav-links a{color:#dce6fb;text-decoration:none;font-size:.9rem;padding:.5rem .65rem;border-radius:9px}.nav-links a:hover{background:rgba(255,255,255,.12);color:#fff}.nav-note{display:inline-flex;align-items:center;gap:.4rem;font-size:.78rem;color:#b6c3df;white-space:nowrap}.dot{width:7px;height:7px;border-radius:50%;background:var(--coral);display:inline-block}.hero{display:grid;grid-template-columns:1.07fr .93fr;gap:2.5rem;align-items:center;padding:4rem 1.2rem 3.4rem}.eyebrow{color:var(--teal-dark);font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;font-weight:850}.hero h1,h2,h3{line-height:1.08;letter-spacing:-.045em;margin:0 0 1rem}.hero h1{font-size:clamp(2.3rem,5.8vw,4.6rem);max-width:760px}.lede{color:var(--ink-soft);font-size:1.12rem;max-width:650px;margin:0 0 1.65rem}.actions{display:flex;flex-wrap:wrap;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:.82rem 1.05rem;font:inherit;font-weight:780;cursor:pointer;text-decoration:none}.btn-primary{color:#fff;background:var(--teal-dark);box-shadow:0 8px 18px rgba(8,127,121,.18)}.btn-primary:hover{background:#076b67}.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.hero-panel{background:radial-gradient(circle at 88% 12%,rgba(124,58,237,.55),transparent 35%),radial-gradient(circle at 12% 90%,rgba(199,244,100,.24),transparent 40%),var(--ink);border-radius:26px;color:#fff;padding:1.35rem;box-shadow:var(--shadow);transform:rotate(1deg)}.panel-top{display:flex;justify-content:space-between;color:#bdc9e3;font-size:.78rem;margin-bottom:1.3rem}.demo-chip{border-radius:999px;padding:.28rem .55rem;color:#18112b;background:var(--lime);font-size:.72rem;font-weight:850}.hero-reading{font-size:3.4rem;letter-spacing:-.06em;font-weight:800;margin-bottom:.25rem}.hero-reading span{font-size:1rem;color:#bac6df;letter-spacing:0}.hero-copy{color:#c3cee6;margin:0}.meter{height:9px;border-radius:99px;background:#2b3b61;overflow:hidden;margin:1.3rem 0}.meter span{display:block;width:72%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--amber))}.mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem}.mini-stat{background:#172648;border:1px solid #2b3b61;padding:.75rem;border-radius:12px}.mini-stat b{display:block;font-size:1.35rem}.mini-stat small{color:#aebad4}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stat{padding:1.4rem 1rem;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat b{display:block;font-size:2rem;letter-spacing:-.05em}.stat span{color:var(--ink-soft);font-size:.86rem}.section{padding:3.5rem 0}.section-muted{background:#eef2f8}.section-heading{display:flex;justify-content:space-between;gap:1rem;align-items:end;margin-bottom:1.5rem}.section-heading h2{margin-top:.35rem}.section-heading p{margin:0;color:var(--ink-soft);max-width:560px}.grid{display:grid;gap:1rem}.grid-3{grid-template-columns:repeat(3,1fr)}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;box-shadow:0 5px 20px rgba(16,27,54,.03)}.card h3{font-size:1.25rem}.card p{color:var(--ink-soft);margin:0}.card-kicker{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;font-weight:850;margin-bottom:.7rem}.p0{color:var(--teal-dark)}.p1{color:var(--coral)}.p2{color:var(--violet)}.card-link{display:inline-block;margin-top:1rem;text-decoration:none;color:var(--teal-dark);font-weight:780;font-size:.92rem}.calculator-groups{display:grid;gap:.7rem}.catalog{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.catalog summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;font-weight:780}.catalog summary::-webkit-details-marker{display:none}.catalog summary:after{content:'+';color:var(--teal-dark);font-size:1.2rem}.catalog[open] summary:after{content:'−'}.catalog summary strong{color:var(--teal-dark);font-size:.82rem;white-space:nowrap}.catalog-list{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;padding:0 1.1rem 1.1rem}.catalog-list div{display:flex;gap:.6rem;align-items:baseline;border-top:1px solid #edf0f6;padding-top:.55rem;font-size:.9rem}.catalog-list b{color:var(--teal-dark);font-size:.77rem;min-width:2.1rem}.catalog-list span{color:var(--ink-soft)}.visual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.visual{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem;min-height:92px}.visual b{display:block;color:var(--violet);font-size:.78rem;margin-bottom:.35rem}.visual span{font-weight:700;font-size:.93rem}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:2rem;align-items:start}.muted{color:var(--ink-soft)}.check-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.check-card h3{margin-bottom:.6rem}.check-card ul{margin:0;padding-left:1.2rem;color:var(--ink-soft);display:grid;gap:.45rem}.timeline{display:grid;gap:.9rem}.timeline article{display:grid;grid-template-columns:52px 1fr;gap:1rem;align-items:start;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:1rem}.timeline h3{font-size:1.15rem;margin-bottom:.3rem}.timeline p{margin:0;color:var(--ink-soft)}.step{width:42px;height:42px;border-radius:13px;background:#e0f8f4;color:var(--teal-dark);display:grid;place-items:center;font-weight:850}.status{display:inline-block;margin-top:.7rem;color:var(--teal-dark);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850}.status.pending{color:var(--amber)}.callout{border-radius:22px;background:var(--ink);color:#fff;padding:1.6rem;display:flex;justify-content:space-between;gap:1.5rem;align-items:center}.callout .eyebrow{color:var(--amber)}.callout h2{margin:.35rem 0 .65rem}.callout p{color:#c3cee6;margin:0;max-width:760px}.callout-mark{font-size:3rem;color:var(--teal);line-height:1}.footer{background:var(--ink);color:#fff;padding:2.5rem 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}.footer h3{font-size:1rem;letter-spacing:-.02em}.footer p,.footer a,.footer span{display:block;color:#bac6df;font-size:.9rem;text-decoration:none;margin:.35rem 0}.footer a:hover{color:#fff}@media(max-width:850px){.nav{flex-wrap:wrap;padding-top:.65rem;padding-bottom:.65rem}.nav-note{order:3;width:100%}.nav-links{margin-left:auto}.hero{grid-template-columns:1fr;padding-top:2.6rem}.hero-panel{transform:none}.grid-3{grid-template-columns:1fr}.visual-grid{grid-template-columns:repeat(2,1fr)}.two-col{grid-template-columns:1fr}.catalog-list{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.nav-links{width:100%;overflow:auto;margin-left:0}.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.visual-grid,.catalog-list{grid-template-columns:1fr}.section{padding:2.7rem 0}.section-heading{display:block}.section-heading p{margin-top:.8rem}.hero h1{font-size:2.55rem}.callout{display:block}.callout-mark{display:none}.footer-grid{grid-template-columns:1fr}}
.search-panel{margin-top:2.2rem;padding-top:1.2rem;padding-bottom:1.2rem;display:grid;grid-template-columns:1fr .92fr;gap:1.8rem;align-items:center;background:linear-gradient(120deg,rgba(0,205,176,.12),rgba(124,58,237,.08));border:1px solid rgba(124,58,237,.18);border-radius:22px}.search-panel h2{font-size:clamp(1.45rem,2.5vw,2.1rem);margin:.35rem 0 .55rem}.search-panel p{margin:0;color:var(--ink-soft)}.search-box{background:rgba(255,255,255,.8);padding:1rem;border:1px solid rgba(124,58,237,.2);border-radius:16px}.search-box label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:850;color:var(--violet);margin-bottom:.45rem}.search-input-wrap{display:flex;align-items:center;gap:.5rem;border:2px solid #cfd4e7;background:#fff;border-radius:12px;padding:.15rem .35rem .15rem .8rem}.search-input-wrap:focus-within{border-color:var(--coral);box-shadow:0 0 0 4px rgba(255,77,109,.12)}.search-input-wrap>span{font-size:1.4rem;color:var(--coral);line-height:1}.search-input-wrap input{width:100%;border:0;outline:0;background:transparent;padding:.7rem .2rem;font:inherit;color:var(--ink)}.search-input-wrap button{border:0;background:transparent;color:var(--ink-soft);font-size:1.4rem;line-height:1;cursor:pointer;padding:.3rem .45rem;border-radius:8px}.search-input-wrap button:hover{background:#f1efff;color:var(--violet)}.search-status{font-size:.82rem;margin:.55rem 0 0!important}.is-hidden{display:none!important}.search-match{border-color:var(--coral)!important;box-shadow:0 0 0 3px rgba(255,77,109,.1)!important}.search-empty{color:var(--coral)!important;font-weight:750}@media(max-width:850px){.search-panel{grid-template-columns:1fr;gap:1rem}}@media(max-width:560px){.search-panel{border-radius:16px}}.brand-mark{background:var(--lime);overflow:hidden;padding:0}.brand-mark img{display:block;width:100%;height:100%}.forecast-card{display:grid;grid-template-columns:.86fr 1.14fr;gap:1.2rem;align-items:stretch}.forecast-copy{background:var(--ink);color:#fff;border-radius:20px;padding:1.35rem}.forecast-copy h3{font-size:1.5rem;margin:.75rem 0 .65rem}.forecast-copy p{color:#d5cfee}.forecast-copy ul{margin:1rem 0 0;padding-left:1.1rem;color:#e5ddf2;display:grid;gap:.45rem;font-size:.9rem}.forecast-warning{border-left:3px solid var(--lime);padding-left:.7rem;margin-top:1rem!important;font-size:.86rem}.forecast-chart{border:1px solid #ddcff4;border-radius:20px;background:linear-gradient(145deg,#fff,#f4efff);padding:1.2rem;display:flex;flex-direction:column;justify-content:flex-end;min-height:270px}.chart-title{color:var(--violet);font-weight:850;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:auto}.chart-bars{height:170px;border-bottom:1px solid #cfc1eb;display:flex;align-items:flex-end;gap:.7rem;padding:.8rem .4rem 0;background:repeating-linear-gradient(to top,transparent 0,transparent 41px,rgba(124,58,237,.09) 42px)}.chart-bar{height:var(--h);flex:1;min-width:20px;border-radius:8px 8px 2px 2px;background:linear-gradient(to top,var(--violet),#c4a7ff);position:relative}.chart-bar.current{background:linear-gradient(to top,var(--coral),var(--amber))}.chart-bar span{position:absolute;top:calc(100% + .45rem);left:50%;transform:translateX(-50%);font-size:.7rem;color:var(--ink-soft);white-space:nowrap}.chart-legend{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.3rem;font-size:.76rem;color:var(--ink-soft)}.legend-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:.3rem}.legend-dot.lime{background:var(--lime);border:1px solid #9bb83b}.legend-dot.pink{background:var(--coral)}.forecast-chart .source-line{margin:.8rem 0 0;color:var(--ink-soft);font-size:.75rem}@media(max-width:850px){.forecast-card{grid-template-columns:1fr}}@media(max-width:560px){.chart-bars{gap:.35rem}.forecast-card,.forecast-copy,.forecast-chart{border-radius:16px}}.line-chart-wrap{position:relative;margin-top:.75rem}.line-chart{display:block;width:100%;height:auto;overflow:visible}.chart-grid line{stroke:rgba(109,40,217,.14);stroke-width:1}.line-series{fill:none;stroke:var(--lime);stroke-width:5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 3px 3px rgba(109,40,217,.2))}.chart-point{fill:var(--lime);stroke:var(--ink);stroke-width:3;cursor:crosshair;transition:stroke .15s ease,filter .15s ease}.chart-point:hover,.chart-point:focus{stroke:var(--coral);filter:drop-shadow(0 0 5px rgba(255,77,157,.55));outline:none}.chart-tooltip{position:absolute;transform:translate(-50%,-110%);background:var(--ink);color:#fff;border:1px solid var(--lime);border-radius:9px;padding:.42rem .58rem;font-size:.75rem;font-weight:780;white-space:nowrap;pointer-events:none;box-shadow:0 10px 24px rgba(23,19,43,.2)}.chart-axis-labels{display:grid;grid-template-columns:repeat(6,1fr);gap:.25rem;margin:.35rem .55rem 0;font-size:.68rem;color:var(--ink-soft);text-align:center}.chart-legend{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.15rem;font-size:.76rem;color:var(--ink-soft)}
.chart-hit-area{fill:transparent;pointer-events:all}.chart-hover-point{fill:var(--lime);stroke:var(--ink);stroke-width:3;pointer-events:none;filter:drop-shadow(0 0 4px rgba(215,255,102,.8))}
.calculator-hero{padding-bottom:2.2rem}.calculator-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:1.1rem;align-items:start}.calc-form,.result-panel{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:1.35rem;box-shadow:var(--shadow)}.calc-form{display:grid;gap:1rem}.form-section-title{display:flex;gap:.7rem;align-items:flex-start;padding-top:.25rem;border-top:1px solid var(--line)}.form-section-title:first-child{border-top:0;padding-top:0}.form-section-title .step{flex:0 0 auto;width:2rem;height:2rem;font-size:.8rem}.form-section-title h3{font-size:1.12rem;margin:.1rem 0 .2rem}.form-section-title p{margin:0;color:var(--ink-soft);font-size:.82rem}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.field-row-three{grid-template-columns:repeat(3,minmax(0,1fr))}.field{display:grid;gap:.35rem}.field label{font-weight:780;font-size:.86rem}.field input,.field select{width:100%;border:1px solid #cfc5e5;border-radius:10px;background:#fff;color:var(--ink);padding:.7rem .75rem;font:inherit}.field input:focus,.field select:focus{outline:0;border-color:var(--violet);box-shadow:0 0 0 3px rgba(155,92,255,.14)}.field small{color:var(--ink-soft);font-size:.73rem;line-height:1.4}.input-with-unit{display:flex;align-items:center}.input-with-unit input{border-radius:10px 0 0 10px}.input-with-unit select,.unit-suffix{min-height:44px;border:1px solid #cfc5e5;border-left:0;border-radius:0 10px 10px 0;background:#f8f4ff;color:var(--violet);padding:.7rem .6rem;font-weight:780}.unit-suffix{display:flex;align-items:center;white-space:nowrap;font-size:.82rem}.label-optional{font-weight:500;color:var(--ink-soft);font-size:.74rem}.calc-submit{width:100%;margin-top:.35rem}.calc-reset{width:100%}.calculation-status{margin:0;color:var(--ink-soft);font-size:.8rem}.result-panel{background:var(--ink);color:#fff;border-color:transparent;position:sticky;top:96px}.result-panel-top{display:flex;justify-content:space-between;gap:1rem;align-items:start}.result-panel h2{margin:.3rem 0 1rem}.result-panel .eyebrow{color:var(--lime)}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.result-card{background:#24203f;border:1px solid #40355f;border-radius:14px;padding:.85rem;display:grid;grid-template-columns:1fr auto;align-items:baseline;column-gap:.45rem}.result-card span{grid-column:1/-1;color:#d4cdea;font-size:.78rem}.result-card strong{font-size:1.65rem;letter-spacing:-.04em}.result-card small{color:#bdb3d5;font-size:.75rem}.result-card b{grid-column:1/-1;color:var(--lime);font-size:.86rem;margin-top:.25rem}.result-card-highlight{border-color:var(--lime);background:linear-gradient(145deg,#2c274c,#24203f)}.formula{display:grid;gap:.35rem;border-top:1px solid #40355f;margin-top:1rem;padding-top:1rem}.formula strong{font-size:.78rem;color:var(--lime);text-transform:uppercase;letter-spacing:.08em}.formula code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#ece8f8;font-size:.77rem;white-space:normal}.result-footnote{color:#c7bddf;font-size:.78rem;margin:.9rem 0 0}.calc-note{border-left:3px solid var(--lime);background:#f7f1ff;border-radius:0 12px 12px 0;padding:.85rem 1rem;margin-top:1.2rem}.calc-note strong{color:var(--violet)}.calc-note p{margin:.3rem 0 0;color:var(--ink-soft);font-size:.88rem}.catalog-link{color:var(--violet);font-weight:780;text-decoration:none}.catalog-link:hover{text-decoration:underline}.catalog-list>div:has(.catalog-link){border-color:var(--lime);background:#fbfff0}@media(max-width:850px){.calculator-layout{grid-template-columns:1fr}.result-panel{position:static}}@media(max-width:560px){.field-row,.field-row-three{grid-template-columns:1fr}.calculator-hero{padding-top:2.6rem}.calc-form,.result-panel{padding:1rem;border-radius:16px}.result-card strong{font-size:1.35rem}}
.form-help-card{align-content:center;background:#f8f4ff;border:1px dashed #cfc5e5;border-radius:10px;padding:.7rem .8rem}.form-help-card strong{color:var(--violet);font-size:.82rem}.form-help-card small{color:var(--ink-soft);font-size:.75rem;line-height:1.4}
.beginner-guide{padding-top:2.8rem;padding-bottom:2.8rem}.beginner-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.beginner-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem;min-height:205px}.beginner-card h3{font-size:1rem;margin:.8rem 0 .45rem}.beginner-card p{color:var(--ink-soft);font-size:.84rem;margin:0}.beginner-card strong{color:var(--violet)}.beginner-number{display:grid;place-items:center;width:2rem;height:2rem;border-radius:10px;background:#e8ddff;color:var(--violet);font-weight:850}.beginner-card-lime{border-color:var(--lime);background:linear-gradient(145deg,#fcfff2,#fff)}.beginner-card-lime .beginner-number{background:var(--lime);color:var(--ink)}.example-explainer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1.1rem 1.25rem;background:var(--ink);border-radius:16px;color:#fff}.example-explainer strong{color:var(--lime);font-size:.9rem}.example-explainer p{margin:.35rem 0 0;color:#e2daf3;font-size:.9rem}.example-explainer b{color:#fff}.label-explain{font-weight:500;color:var(--ink-soft);font-size:.74rem}.result-period{grid-column:1/-1;color:#d4cdea;font-size:.78rem}.result-consumption{display:flex;align-items:baseline;gap:.35rem}.result-consumption strong{font-size:1.45rem}.result-consumption small{color:#bdb3d5;font-size:.72rem;white-space:nowrap}.result-cost{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;border-top:1px solid #40355f;margin-top:.6rem;padding-top:.5rem}.result-cost span{color:#d4cdea;font-size:.72rem}.result-cost b{color:var(--lime);font-size:.92rem}.result-card-highlight .result-cost{border-top-color:rgba(215,255,102,.38)}@media(max-width:1050px){.beginner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.beginner-card{min-height:0}}@media(max-width:560px){.beginner-grid{grid-template-columns:1fr 1fr}.beginner-card{padding:.85rem}.beginner-card p{font-size:.8rem}.example-explainer{display:block}.example-explainer .demo-chip{display:inline-flex;margin-top:.8rem}.result-consumption{display:block}.result-consumption small{display:block;margin-top:.1rem}}
.useful-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-top:1.25rem}.useful-stats>div{background:#172648;border:1px solid #2b3b61;padding:.8rem;border-radius:12px}.useful-stats b{display:block;color:var(--lime);font-size:1.2rem}.useful-stats small{display:block;color:#c3cee6;font-size:.72rem;line-height:1.35;margin-top:.15rem}.panel-footnote{color:#c3cee6;font-size:.75rem;margin:1rem 0 0;border-left:3px solid var(--lime);padding-left:.65rem}@media(max-width:560px){.useful-stats{grid-template-columns:1fr}}
.phase3-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem}.phase3-tool-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.05rem;text-decoration:none;color:inherit;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.phase3-tool-card:hover,.phase3-tool-card:focus{transform:translateY(-2px);border-color:var(--lime);box-shadow:var(--shadow)}.phase3-tool-card h3{font-size:1.04rem;margin:.75rem 0 .4rem}.phase3-tool-card p{color:var(--ink-soft);font-size:.84rem;line-height:1.45;margin:0 0 .8rem}.phase3-tool-card .card-link{display:inline-block}.phase3-calculator-section{scroll-margin-top:88px}.phase3-guide-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.compare-input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.compare-input{display:grid;gap:.45rem;background:#f8f4ff;border:1px solid #d9cdec;border-radius:12px;padding:.8rem}.compare-input label{font-weight:780;font-size:.86rem}.compare-input .demo-chip{justify-self:start}.compare-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.compare-verdict{margin-top:1rem;border:1px solid rgba(215,255,102,.42);border-radius:12px;padding:.8rem .9rem;color:var(--lime);background:#24203f;font-weight:780;font-size:.86rem;line-height:1.4}.appliance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.85rem}.appliance-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.1rem}.appliance-card h3{margin:.75rem 0 .45rem}.appliance-card p{color:var(--ink-soft);font-size:.86rem;line-height:1.5}.appliance-card .card-link{display:inline-block;margin-top:.35rem}.phase3-calculator-section .result-panel{top:96px}@media(max-width:1050px){.phase3-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phase3-guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appliance-grid{grid-template-columns:1fr}}@media(max-width:560px){.phase3-tool-grid,.phase3-guide-grid,.compare-input-grid,.compare-result-grid{grid-template-columns:1fr}.phase3-tool-card,.appliance-card{padding:.9rem}.phase3-calculator-section .result-panel{position:static}}

/* Gráficas propias de cada calculadora */
.calculator-chart-disclosure{margin-top:1rem;border-top:1px solid #40355f;padding-top:.8rem}.calculator-chart-disclosure summary{cursor:pointer;color:var(--lime);font-weight:780;list-style:none}.calculator-chart-disclosure summary::-webkit-details-marker{display:none}.calculator-chart-disclosure summary::before{content:"+";display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;margin-right:.4rem;border:1px solid var(--lime);border-radius:50%}.calculator-chart-disclosure[open] summary::before{content:"−"}.calculator-chart-panel{margin-top:.8rem;padding:.8rem;background:#24203f;border:1px solid #40355f;border-radius:14px}.calculator-chart-panel .chart-title{color:#fff;font-weight:780;margin-bottom:.4rem}.calculator-line-chart-wrap{margin-top:.3rem;min-height:210px}.calculator-line-chart{display:block;width:100%;height:auto;overflow:visible}.calculator-line-chart .chart-hit-area{fill:transparent;cursor:crosshair}.calculator-line-chart .chart-grid line{stroke:#40355f;stroke-width:1}.calculator-line-chart .line-series{fill:none;stroke:var(--lime);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.calculator-line-chart .chart-point{fill:var(--lime);stroke:#17132b;stroke-width:2;cursor:pointer;outline:none}.calculator-line-chart .chart-point:focus{stroke:#fff;stroke-width:3}.calculator-line-chart .chart-hover-point{fill:#fff;stroke:var(--lime);stroke-width:3;pointer-events:none}.calculator-chart-panel .chart-tooltip{position:absolute;z-index:2;max-width:235px;transform:translate(-50%,-110%);padding:.4rem .55rem;background:#fff;color:var(--ink);border:1px solid var(--lime);border-radius:8px;font-size:.73rem;line-height:1.35;box-shadow:0 8px 20px rgba(0,0,0,.22);pointer-events:none}.calculator-chart-panel .line-chart-wrap{position:relative}.calculator-chart-panel .chart-axis-labels{display:flex;justify-content:space-between;color:#c7bddf;font-size:.72rem;margin:.15rem .15rem 0}.calculator-chart-panel .chart-explanation{color:#c7bddf;font-size:.78rem;line-height:1.45;margin:.8rem 0 0}

/* Tooltip de gráfica: texto completo y posición segura en los bordes */
.calculator-chart-panel .chart-tooltip{width:max-content;min-width:7rem;max-width:min(360px,calc(100vw - 2.5rem));white-space:normal;text-align:center;padding:.55rem .75rem;background:var(--ink);color:#fff;border:1px solid var(--lime);border-radius:9px;font-size:.78rem;line-height:1.35;overflow-wrap:anywhere}
.catalog-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.58fr);gap:1rem;align-items:start}.catalog-help-panel{position:sticky;top:100px;background:var(--ink);color:#fff;border:1px solid #40355f;border-radius:18px;padding:1.25rem;min-height:220px;box-shadow:var(--shadow)}.catalog-help-panel h3{color:var(--lime);font-size:1.35rem;margin:.45rem 0 .65rem}.catalog-help-panel p{color:#d8d0eb;margin:0;line-height:1.6}.catalog-help-panel .eyebrow{color:var(--lime)}.catalog-help-hint{border-top:1px solid #40355f;margin-top:1.1rem!important;padding-top:.8rem;font-size:.78rem;color:#bdb3d5!important}.catalog-link.is-help-active{color:var(--ink);text-decoration:underline;text-decoration-color:var(--lime);text-decoration-thickness:3px;text-underline-offset:3px}.catalog-help-panel.is-ready{border-color:var(--lime)}@media(max-width:850px){.catalog-layout{grid-template-columns:1fr}.catalog-help-panel{position:static;min-height:0}.catalog-help-panel h3{font-size:1.2rem}}

/* Explicaciones para personas que empiezan desde cero */
.plain-language-intro{margin:1.25rem 0 1.5rem;padding:1.15rem 1.25rem;border:1px solid rgba(42,25,74,.14);border-left:4px solid var(--lime);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(245,240,255,.78));color:var(--ink)}
.plain-language-intro h3{margin:0 0 .55rem;font-size:1.05rem;color:var(--violet)}
.plain-language-intro>p{margin:.35rem 0 .9rem;max-width:75ch;color:var(--ink-soft)}
.plain-language-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0;padding:0;list-style:none}
.plain-language-steps li{padding:.8rem;border-radius:13px;background:rgba(255,255,255,.82);border:1px solid rgba(42,25,74,.1);font-size:.92rem;line-height:1.45}
.plain-language-steps strong{display:block;margin-bottom:.18rem;color:var(--violet)}
.plain-language-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.9rem 0 0;padding-top:.9rem;border-top:1px solid rgba(42,25,74,.12)}
.plain-language-terms div{font-size:.9rem;line-height:1.45;color:var(--ink-soft)}
.plain-language-terms dt{font-weight:800;color:var(--violet)}
.plain-language-terms dd{margin:.2rem 0 0}
@media(max-width:850px){.plain-language-steps{grid-template-columns:1fr}.plain-language-terms{grid-template-columns:1fr}}
.data-reference-card{border-color:rgba(184,255,45,.48);box-shadow:0 18px 42px rgba(18,10,48,.12)}
.data-reference-value{margin:1rem 0 .65rem;color:var(--ink);font-size:clamp(2rem,4vw,3.25rem);font-weight:800;letter-spacing:-.05em;line-height:1}
.data-reference-value span{color:var(--ink-soft);font-size:.38em;font-weight:700;letter-spacing:0}
.data-reference-section .card p{max-width:34rem}

/* Selector internacional */
.locale-tools{display:flex;align-items:center;gap:.35rem;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}
.locale-tools label{display:inline-flex;align-items:center;gap:.2rem}
.locale-tools select{border:1px solid var(--line);background:rgba(255,255,255,.08);color:var(--ink);border-radius:999px;padding:.42rem .55rem;font:inherit;font-size:.72rem;max-width:10rem}
.locale-tools select:focus{outline:2px solid var(--lime);outline-offset:2px}
.locale-tools option{color:#181426;background:#fff}
.locale-tools .data-status{display:none;color:var(--ink-soft);font-size:.64rem;white-space:nowrap}
@media (min-width:1180px){.locale-tools .data-status{display:inline-block}}
@media (max-width:900px){.locale-tools{width:100%;justify-content:flex-start;margin-left:0}.locale-tools select{max-width:9.4rem}}
@media (max-width:560px){.locale-tools select{max-width:7.3rem;font-size:.68rem}.locale-tools label:first-child select{max-width:8.8rem}}
.international-section{position:relative}.international-section .card-link{margin-top:.4rem}.international-section .card{min-height:15rem}

/* Selector internacional rediseñado */
.locale-tools{position:relative;display:flex;align-items:center;margin-left:auto}
.locale-menu{position:relative}
.locale-menu summary{display:inline-flex;align-items:center;gap:.42rem;list-style:none;cursor:pointer;border:1px solid rgba(208,255,66,.32);background:rgba(208,255,66,.1);color:var(--ink);border-radius:999px;padding:.5rem .72rem;font-size:.75rem;font-weight:700;white-space:nowrap;transition:background .2s,border-color .2s,transform .2s}
.locale-menu summary::-webkit-details-marker{display:none}
.locale-menu summary:hover,.locale-menu[open] summary{background:rgba(208,255,66,.2);border-color:var(--lime);transform:translateY(-1px)}
.locale-chevron{font-size:.85rem;color:var(--lime);line-height:1}
.locale-popover{position:absolute;z-index:20;right:0;top:calc(100% + .65rem);width:18rem;padding:1rem;border:1px solid rgba(208,255,66,.26);border-radius:1.1rem;background:#211a35;box-shadow:0 20px 55px rgba(8,5,20,.38);color:var(--ink)}
.locale-popover-heading{display:grid;gap:.15rem;margin-bottom:.8rem}.locale-popover-heading strong{font-size:.9rem}.locale-popover-heading span{font-size:.7rem;color:var(--ink-soft)}
.locale-popover label{display:grid;gap:.28rem;margin-top:.65rem;font-size:.7rem;color:var(--ink-soft)}
.locale-popover label select{width:100%;max-width:none;border:1px solid rgba(255,255,255,.18);background:#302647;color:var(--ink);border-radius:.65rem;padding:.55rem .6rem;font:inherit;font-size:.78rem}
.locale-popover label select:disabled{opacity:.6}
.locale-translation-status,.locale-data-status{margin:.75rem 0 0;padding:.58rem .65rem;border-radius:.62rem;font-size:.68rem;line-height:1.35}
.locale-translation-status{background:rgba(208,255,66,.1);color:#e7f6b1}.locale-data-status{color:var(--ink-soft);background:rgba(255,255,255,.06)}
@media (max-width:560px){.locale-popover{position:fixed;right:.75rem;left:.75rem;top:4.6rem;width:auto}.locale-menu summary{padding:.48rem .6rem}.locale-menu summary span:nth-child(2){max-width:8rem;overflow:hidden;text-overflow:ellipsis}}

/* Selector internacional visible y fácil de identificar */
.locale-menu summary{
  min-height:44px;
  gap:.55rem;
  padding:.48rem .82rem .48rem .7rem;
  border:1px solid rgba(215,255,102,.82);
  background:linear-gradient(135deg,rgba(215,255,102,.22),rgba(155,92,255,.28));
  color:#fff;
  box-shadow:0 7px 20px rgba(5,3,18,.28),inset 0 0 0 1px rgba(255,255,255,.08);
  font-size:.82rem;
  font-weight:850;
  letter-spacing:.01em;
}

/* Cabecera móvil compacta: globo circular y menú de tres barras. */
.mobile-nav-toggle{display:none}
@media (max-width:900px){
  .site-header .nav{grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center}
  .site-header .locale-tools{grid-column:2;grid-row:1;width:auto!important;max-width:none!important;margin-left:0;justify-self:end;overflow:visible}
  .site-header .mobile-nav-toggle{display:inline-grid;grid-column:3;grid-row:1;place-items:center;width:44px;height:44px;margin:0;padding:0;border:1px solid #b9c9dc;border-radius:50%;background:#f1e8f6;color:#5e3d91;cursor:pointer;box-shadow:0 4px 12px rgba(73,55,104,.12)}
  .site-header .mobile-nav-toggle:hover,.site-header .mobile-nav-toggle:focus-visible{background:#e4d5ee;border-color:#8461b1;outline:2px solid rgba(132,97,177,.28);outline-offset:2px}
  .mobile-nav-toggle-icon{display:grid;gap:4px}
  .mobile-nav-toggle-icon i{display:block;width:18px;height:2px;border-radius:2px;background:currentColor}
  .site-header .nav-links{grid-column:1/-1;grid-row:3;display:none!important;width:100%;margin:0;padding:.35rem 0 .15rem;overflow:visible}
  .site-header .nav.mobile-nav-open .nav-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem}
  .site-header .nav.mobile-nav-open .nav-links a{min-width:0;white-space:normal;text-align:center;line-height:1.2;padding:.58rem .35rem;font-size:.8rem}
}
@media (max-width:560px){
  .site-header .nav{grid-template-columns:minmax(0,1fr) 44px 44px!important;gap:.55rem .5rem;padding-left:.85rem;padding-right:.85rem}
  .site-header .locale-tools{justify-self:end}
  .locale-menu summary{width:44px;height:44px;min-height:44px;padding:0!important;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:#f1e8f6!important;border-color:#b9c9dc!important;color:#5e3d91!important;box-shadow:0 4px 12px rgba(73,55,104,.12)}
  .locale-menu summary .locale-globe{display:block;font-size:1.22rem;line-height:1;filter:none}
  .locale-menu summary .locale-summary-copy,.locale-menu summary .locale-chevron{display:none!important}
  .site-header .mobile-nav-toggle{width:44px;height:44px}
  .site-header .nav.mobile-nav-open .nav-links{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
}

/* El estilo final del aviso legal prevalece sobre los estilos generales de .hero-panel. */
.hero-panel.legal-hero-panel{background:#11101a!important;border:1px solid #2c2940!important;color:#fff!important;box-shadow:0 16px 38px rgba(17,16,26,.2)}
.hero-panel.legal-hero-panel .panel-top{color:#d7d0e7!important}
.hero-panel.legal-hero-panel .hero-copy{color:#f1edf8!important}
.hero-panel.legal-hero-panel .demo-chip{background:#f0e9f7!important;color:#4f357d!important}

/* Banner legal: una única advertencia visible, con contraste alto. */
.legal-hero-panel{background:#11101a!important;border:1px solid #2c2940!important;color:#fff!important;box-shadow:0 16px 38px rgba(17,16,26,.2)}
.legal-hero-panel .panel-top{color:#d7d0e7}
.legal-hero-panel .hero-copy{color:#f1edf8!important}
.legal-hero-panel .demo-chip{background:#f0e9f7;color:#4f357d}

/* Páginas legales: lectura larga, clara y adaptable. */
.legal-hero{padding-bottom:2.4rem}
.legal-hero-panel{background:linear-gradient(145deg,#eee8fa 0%,#f8f6fc 100%);border:1px solid #cdbde3;color:var(--ink)}
.legal-hero-panel .hero-copy{color:#59637a}
.legal-updated{margin:0;color:#66708a;font-size:.86rem}
.legal-content{max-width:920px;padding-top:1rem;padding-bottom:4rem}
.legal-notice{margin:0 0 1.5rem;padding:1rem 1.1rem;border:1px solid #d8c8eb;border-left:4px solid #8060b8;border-radius:.85rem;background:#faf7fd;color:#5b4b72;line-height:1.55}
.legal-section{padding:1.35rem 0;border-top:1px solid #e3ddec}
.legal-section h2{margin:0 0 .7rem;color:#2d3650;font-size:1.35rem}
.legal-section p{margin:.55rem 0;color:#59637a;line-height:1.7}
.legal-section a{color:#624592;font-weight:750}
.legal-section code{padding:.08rem .3rem;border-radius:.3rem;background:#f0e9f7;color:#624592;font-size:.9em}
.legal-data{display:grid;grid-template-columns:12rem 1fr;gap:.45rem 1rem;margin:1rem 0;padding:1rem;border:1px solid #ddd2ed;border-radius:.8rem;background:#fff}
.legal-data dt{font-weight:800;color:#624592}
.legal-data dd{margin:0;color:#59637a}
.legal-placeholder{color:#624592;background:#f0e9f7;border-radius:.25rem;padding:.05rem .25rem;font-weight:800}
.legal-sources{padding-bottom:0}
.legal-links{display:grid;gap:.22rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid rgba(186,198,223,.24)}
.legal-links strong{color:#fff;font-size:.86rem}
.legal-links a{color:#bac6df;font-size:.82rem;text-decoration:none}
.legal-links a:hover,.legal-links a:focus-visible{color:#fff;text-decoration:underline}
@media (max-width:640px){
  .legal-data{grid-template-columns:1fr;gap:.15rem .5rem}
  .legal-data dt{margin-top:.45rem}
  .legal-data dt:first-child{margin-top:0}
}
.locale-menu summary:hover,.locale-menu[open] summary{
  background:linear-gradient(135deg,rgba(215,255,102,.34),rgba(155,92,255,.42));
  border-color:#fff;
  box-shadow:0 0 0 3px rgba(215,255,102,.18),0 9px 24px rgba(5,3,18,.34);
}
.locale-menu summary>span:first-child{font-size:1.1rem;filter:drop-shadow(0 0 5px rgba(215,255,102,.55))}
.locale-summary-copy{display:grid;gap:.02rem;line-height:1.05;text-align:left}
.locale-summary-copy small{color:#e7f6b1;font-size:.58rem;letter-spacing:.08em;text-transform:uppercase}
.locale-summary-copy strong{color:#fff;font-size:.84rem;letter-spacing:.03em}
.locale-chevron{font-size:1rem;color:var(--lime);line-height:1;margin-left:.08rem}
.locale-popover{color:#fff}
.locale-popover-heading strong{color:#fff}
.locale-popover-heading span,.locale-popover label{color:#c7bddf}
.locale-popover label select{color:#fff;background:#302647}
.locale-popover label select option{color:#181426;background:#fff}
.locale-data-status{color:#c7bddf}
@media(max-width:560px){
  .locale-menu summary{min-height:42px;padding:.45rem .66rem}
  .locale-summary-copy small{font-size:.54rem}
  .locale-summary-copy strong{font-size:.76rem}
}

/* Verifiable Spain data drawer used below each calculator layout. */
.spain-data-drawer{margin:1.25rem 0 0;border:1px solid #cfd7e8;border-radius:18px;background:linear-gradient(135deg,#fffafd 0%,#f4f5ff 100%);overflow:hidden}
.spain-data-drawer summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;padding:1rem 1.15rem;color:#202950}
.spain-data-drawer summary::-webkit-details-marker{display:none}
.spain-data-drawer summary>span:first-child{display:grid;gap:.2rem}
.spain-data-drawer summary strong{font-size:1rem}
.spain-data-summary{font-size:.78rem;color:#65708f;white-space:nowrap}
.spain-data-body{padding:0 1.15rem 1.2rem;border-top:1px solid #dbe1ef}
.spain-data-intro{margin:1rem 0;color:#526080}
.spain-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}
.spain-data-grid article{padding:.85rem;border:1px solid #dbe1ef;border-radius:14px;background:rgba(255,255,255,.75)}
.spain-data-grid article strong{display:block;font-size:.86rem;color:#3a4780}
.spain-data-grid article p{margin:.4rem 0 0;font-size:.78rem;line-height:1.45;color:#65708f}
.spain-data-warning{margin:1rem 0 .75rem;font-size:.78rem;color:#6d5471}
@media(max-width:800px){.spain-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.spain-data-drawer{margin:1rem .7rem 0}.spain-data-drawer summary{align-items:flex-start;flex-direction:column;gap:.45rem}.spain-data-summary{white-space:normal}.spain-data-body{padding:0 .9rem 1rem}.spain-data-grid{grid-template-columns:1fr}}

.chart-kind-explanation{margin:.75rem 0 0;padding:.7rem .8rem;border-left:3px solid var(--lime);background:rgba(188,255,43,.07);color:#e8e1f6;font-size:.8rem;line-height:1.5}.chart-kind-explanation strong{color:var(--lime);font-weight:800}

.monthly-profile-tool{margin-top:1rem;padding:1rem;background:#1c1834;border:1px solid #4e4470;border-radius:14px}.monthly-profile-heading{display:flex;justify-content:space-between;align-items:center;gap:.75rem;color:#fff}.monthly-profile-heading strong{font-size:1rem}.monthly-profile-badge{color:var(--lime);font-size:.68rem;font-weight:800;letter-spacing:.08em}.monthly-profile-intro,.monthly-profile-summary{color:#c7bddf;font-size:.8rem;line-height:1.5;margin:.55rem 0}.monthly-profile-select-label{display:block;color:#fff;font-size:.78rem;font-weight:750;margin-top:.7rem}.monthly-profile-select{width:100%;margin-top:.25rem;background:#292344;color:#fff;border:1px solid #64558d;border-radius:8px;padding:.55rem}.monthly-profile-custom{display:grid;grid-template-columns:repeat(4,1fr);gap:.45rem;margin-top:.8rem}.monthly-profile-custom label{display:grid;gap:.15rem;color:#c7bddf;font-size:.65rem;text-align:center}.monthly-profile-custom input{width:100%;accent-color:var(--lime)}.monthly-profile-custom output{font-size:.65rem;color:#fff}.monthly-profile-chart{margin-top:.8rem}.monthly-profile-note{margin-bottom:0}.monthly-profile-tool .chart-kind-explanation{margin-top:.55rem}.monthly-profile-tool .chart-axis-labels{font-size:.68rem}@media(max-width:640px){.monthly-profile-custom{grid-template-columns:repeat(3,1fr)}.monthly-profile-heading{align-items:flex-start;flex-direction:column;gap:.3rem}}

/* Paleta pastel y lectura compacta */
:root{
  --ink:#344057;
  --ink-soft:#718099;
  --paper:#f7f9fc;
  --card:#ffffff;
  --line:#dce4ef;
  --teal:#cfeee5;
  --teal-dark:#5f8290;
  --amber:#f4dfb7;
  --coral:#efc9d7;
  --violet:#d8cef2;
  --lime:#d8edb5;
  --blue:#c9dcf2;
  --shadow:0 12px 30px rgba(74,91,119,.10);
  --radius:18px;
}
body{background:var(--paper);color:var(--ink)}
a{color:var(--teal-dark)}
.site-header{background:#dce6f2;color:var(--ink);border-bottom:1px solid #c8d6e6;box-shadow:0 3px 12px rgba(85,102,128,.08)}
.brand{color:var(--ink)}
.brand-mark{background:var(--lime);color:var(--ink);box-shadow:0 3px 9px rgba(119,145,99,.18)}
.nav-note{color:#5e6d83}
.dot{background:#e5aabb}
.nav-links a{color:#53647d}
.nav-links a:hover{background:rgba(255,255,255,.65);color:#35445c}
.nav-search-input{background:#f0f4f9;border-color:#c7d5e5;box-shadow:0 5px 16px rgba(83,101,126,.10)}
.nav-search-input input{color:var(--ink)}
.nav-search-input input::placeholder{color:#8a97a9}
.nav-search-input>span{color:#7390a9}
.nav-search-input button{color:#738199}
.nav-search-input button:hover{background:#e1e9f2;color:#4a5a72}
.locale-menu summary{border-color:#b9ccdf;background:linear-gradient(135deg,#edf3f9,#dcefdc);color:#465871;box-shadow:0 4px 12px rgba(83,101,126,.12)}
.locale-menu summary:hover,.locale-menu[open] summary{background:linear-gradient(135deg,#e0edf8,#d7ecd9);border-color:#94afc7;box-shadow:0 0 0 3px rgba(153,185,211,.20),0 7px 16px rgba(83,101,126,.14)}
.locale-summary-copy small,.locale-summary-copy strong,.locale-chevron{color:#536880}
.locale-menu summary>span:first-child{filter:none}
.locale-popover{background:#fff;color:var(--ink);border-color:#d1ddea;box-shadow:0 16px 35px rgba(67,82,108,.17)}
.locale-popover-heading strong{color:#455670}.locale-popover-heading span,.locale-popover label{color:#78869a}
.locale-popover label select{background:#f3f6fa;color:var(--ink);border-color:#d1ddea}
.locale-translation-status{background:#eef6ea;color:#658056}.locale-data-status{background:#f3f6fa;color:#77859a}
.hero{padding-top:3.2rem}.hero-panel{background:linear-gradient(140deg,#e1ebf7 0%,#f8e4ec 100%);color:#44546b;border:1px solid #d1dce9;box-shadow:var(--shadow);transform:none}
.hero-panel .panel-top{color:#718198}.hero-reading{color:#4b6079}.hero-reading span{color:#74839a}.hero-copy,.panel-footnote{color:#718097}.panel-footnote{border-left-color:#b8d790}
.useful-stats>div{background:rgba(255,255,255,.72);border-color:#d4dfeb}.useful-stats b{color:#6d8e78}.useful-stats small{color:#718097}
.eyebrow{color:#6d8e9c}.lede,.section-heading p{color:#718097}
.btn-primary{background:#7899ad;color:#fff;box-shadow:0 7px 15px rgba(103,139,160,.20)}.btn-primary:hover{background:#66889d}.btn-ghost{color:#506079;border-color:#cbd8e6;background:#fff}
.section-muted{background:#edf3f8}.card,.catalog,.visual,.timeline article,.calc-form,.result-panel,.check-card,.phase3-tool-card,.appliance-card{background:#fff;border-color:var(--line);box-shadow:0 4px 16px rgba(74,91,119,.05)}
.section{padding-top:2.8rem;padding-bottom:2.8rem}
.form-section-title{border-top-color:#e0e7ef}.step{background:#e1edf7;color:#65849a}.field input,.field select,.input-with-unit{border-color:#d1dce8;background:#fbfcfe;color:var(--ink)}.field input:focus,.field select:focus{border-color:#9bb8c9;box-shadow:0 0 0 3px rgba(158,192,208,.18)}
.form-help-card{background:#f4f7fa;border-color:#d7e0ea}.form-help-card strong{color:#708c9e}.label-explain,.label-optional,.field small{color:#8591a1}
.result-panel{color:var(--ink)}.result-panel-top{border-bottom-color:#e2e8ef}.result-period{color:#79889b}.result-consumption strong{color:#4a6079}.result-consumption small,.result-cost span{color:#8290a1}.result-cost{border-top-color:#e1e7ef}.result-cost b{color:#6d8e78}.result-card-highlight{background:#f0f7e9;border-color:#cfe3b7}.result-card-highlight .result-cost{border-top-color:#cfe3b7}
.compare-verdict{background:#f1f7ec;color:#68835e;border-color:#c9ddb3}.result-footnote{color:#8a96a5}
.calculator-chart-disclosure{border-top-color:#dce4ee}.calculator-chart-disclosure summary{color:#688d79}.calculator-chart-disclosure summary::before{border-color:#9fc184}.calculator-chart-panel{background:#f1f5f9;border-color:#d6e0eb}.calculator-chart-panel .chart-title{color:#607d93}.calculator-chart-panel .chart-explanation{color:#77879a}.calculator-chart-panel .chart-grid line{stroke:#d6e0e8}.calculator-chart-panel .chart-axis-labels{color:#77879a}.calculator-chart-panel .chart-tooltip{background:#fff;color:#43546b;border-color:#a8c786;box-shadow:0 8px 20px rgba(74,91,119,.16)}
.calculator-line-chart .chart-grid line{stroke:#d7e1ea}.calculator-line-chart .line-series{stroke:#9bc879}.calculator-line-chart .chart-point{fill:#b6d98f;stroke:#6d8197}.calculator-line-chart .chart-hover-point{fill:#fff;stroke:#9bc879}.chart-kind-explanation{background:#f0f7ec;color:#728373;border-left-color:#a9cb8b}.chart-kind-explanation strong{color:#6d8e78}
.forecast-copy,.catalog-help-panel,.callout{background:linear-gradient(140deg,#e0ebf6,#f5e2eb);color:#45566d;border-color:#d2dfea}.forecast-copy p,.forecast-copy ul,.callout p,.catalog-help-panel p{color:#718097}.forecast-copy h3,.catalog-help-panel h3{color:#688b79}.forecast-warning{border-left-color:#a9cb8b}.forecast-chart{background:#f7f9fc;border-color:#d5dfeb}.chart-title{color:#6d8e9c}.chart-bar{background:linear-gradient(to top,#b7d6ed,#d7e8f7)}.chart-bar.current{background:linear-gradient(to top,#efc9d7,#f5dfe7)}
.plain-language-intro{background:#f0f6fb;border-color:#d5e1ed;border-left-color:#a9cb8b;color:var(--ink);padding:1rem 1.1rem;margin:1rem 0 1.1rem}.plain-language-intro h3{color:#5f8290}.plain-language-intro>p{color:#718097}.plain-language-steps{gap:.55rem}.plain-language-steps li{background:#fff;border-color:#dce5ee;color:#6e7d91;font-size:.86rem;padding:.7rem}.plain-language-steps strong{color:#65869a}.guide-inputs{display:none}.guide-more{margin-top:.7rem;border-top:1px solid #dce5ee;padding-top:.55rem}.guide-more summary{cursor:pointer;color:#708c9e;font-size:.78rem;font-weight:700}.plain-language-terms{border-top-color:#e1e8ef}.plain-language-terms div{color:#718097}.plain-language-terms dt{color:#64879a}
.beginner-grid[hidden],.example-explainer[hidden]{display:none!important}
.demo-chip{background:#edf1f5;color:#8995a4;border:1px solid #d8e0e8;font-weight:700}.demo-help,.panel-footnote{color:#98a2af!important;font-size:.74rem}.demo-input{color:#8e98a5!important;background:#f6f8fa!important}.result-panel.is-demo .result-consumption strong,.result-panel.is-demo .result-cost b{color:#8b97a5!important}.result-panel.is-demo .result-card-highlight{background:#f5f7f4;border-color:#d8e1d1}.hero-panel .hero-reading,.hero-panel .useful-stats b{color:#8794a3!important}.hero-panel .demo-chip{background:#edf1f5;color:#8b97a5}
.footer{background:#dce6f2;color:#506079;border-top:1px solid #c8d6e6}.footer p,.footer a,.footer span{color:#728198}.footer a:hover{color:#4f6178}
@media(max-width:850px){.hero{padding-top:2.2rem}.calculator-layout{grid-template-columns:1fr}.result-panel{order:2}.calc-form{order:1}.locale-tools{margin-left:auto}}
@media(max-width:560px){.section{padding-top:2.2rem;padding-bottom:2.2rem}.hero h1{font-size:2.35rem}.plain-language-steps{grid-template-columns:1fr}.hero-panel{border-radius:18px}.footer{padding-top:2rem;padding-bottom:2rem}}

/* Resultados suaves: ningún valor de ejemplo necesita el contraste negro original. */
.result-card{background:#edf3f8!important;border:1px solid #d6e1ec!important;color:#53657b!important;box-shadow:none!important}
.result-card .result-period{color:#728198!important}
.result-card .result-consumption strong{color:#637b91!important}
.result-card .result-consumption small,.result-card .result-cost span{color:#8290a0!important}
.result-card .result-cost{border-top-color:#d4dfe9!important}
.result-card .result-cost b{color:#799579!important}
.result-card-highlight{background:#eef6e9!important;border-color:#c9ddb5!important}
.result-panel.is-demo .result-card .result-consumption strong,.result-panel.is-demo .result-card .result-cost b{color:#8b97a5!important}
.calculator-hero .useful-stats{display:none}
.calculator-hero .hero-panel{padding:1.2rem 1.3rem}
.limits-disclosure{margin:1.25rem auto 2rem;border:1px solid #d8e2ec;border-radius:16px;background:#f6f8fb;overflow:hidden}
.limits-disclosure>summary{cursor:pointer;list-style:none;padding:.9rem 1rem;color:#6b8195;font-weight:750;font-size:.86rem}
.limits-disclosure>summary::-webkit-details-marker{display:none}
.limits-disclosure>summary:before{content:'+';display:inline-grid;place-items:center;width:1.25rem;height:1.25rem;margin-right:.45rem;border:1px solid #aac394;border-radius:50%;color:#789473}
.limits-disclosure[open]>summary:before{content:'−'}
.limits-disclosure>section.two-col{margin:0;padding-top:1.1rem;padding-bottom:1.2rem;background:transparent}
.beginner-details{margin:.75rem 0 0;border-top:1px solid #dce5ee;padding-top:.6rem}
.beginner-details>summary{cursor:pointer;list-style:none;color:#708c9e;font-size:.78rem;font-weight:750}
.beginner-details>summary::-webkit-details-marker{display:none}
.beginner-details>summary:before{content:'+';display:inline-grid;place-items:center;width:1.2rem;height:1.2rem;margin-right:.4rem;border:1px solid #aac394;border-radius:50%;color:#789473}
.beginner-details[open]>summary:before{content:'−'}
.beginner-details .beginner-grid{margin-top:.75rem}
.mini-stat{background:rgba(255,255,255,.72);border-color:#d4dfeb;color:#55677d}.mini-stat small{color:#718097}

/* Paleta final: pastel con contraste y acento morado. Sustituye las excepciones oscuras heredadas. */
:root{
  --ink:#2d3650;--ink-soft:#5d6d86;--paper:#f6f8fc;--card:#ffffff;--line:#c7d3e2;
  --teal:#cfe0f4;--teal-dark:#60409a;--amber:#f1d39c;--coral:#d98eab;--violet:#8a63c7;--lime:#8060b8;--blue:#a9c4e5;
  --shadow:0 14px 34px rgba(47,63,95,.14)
}
body{background:var(--paper);color:var(--ink)}
.site-header{background:#d6e1f0!important;color:var(--ink)!important;border-bottom:1px solid #afc1d8!important}
.nav-links a,.nav-note{color:#40536f!important}.nav-links a:hover{background:#f4eafb!important;color:#4f357d!important}
.nav-search-input{background:#fbfcff!important;border-color:#98afd0!important;box-shadow:0 5px 16px rgba(73,92,126,.14)!important}.nav-search-input input{color:var(--ink)!important}.nav-search-input input::placeholder{color:#7b8ba3!important}.nav-search-input>span{color:#7451a9!important}.nav-search-input button{color:#62748e!important}.nav-search-input:focus-within{border-color:#7b57b4!important;box-shadow:0 0 0 3px rgba(123,87,180,.18)!important}
.brand-mark{background:#8060b8!important;color:#fff!important;box-shadow:0 3px 10px rgba(91,64,139,.28)!important}
.hero-panel{background:linear-gradient(135deg,#d9e6f7 0%,#f2dce8 100%)!important;color:#43516b!important;border-color:#b9cae0!important}.hero-panel .hero-reading,.hero-panel .useful-stats b{color:#67479b!important}.hero-panel .hero-copy,.hero-panel .panel-top,.hero-panel .panel-footnote{color:#556984!important}.hero-panel .panel-footnote{border-left-color:#7b57b4!important}.hero-panel .demo-chip{background:#eef0f5!important;color:#78859a!important}
.btn-primary{background:#6f4aa6!important;color:#fff!important;box-shadow:0 8px 18px rgba(91,60,141,.22)!important}.btn-primary:hover{background:#5e3d91!important}.btn-ghost{color:#4b5d78!important;border-color:#aebfd4!important}
.meter{background:#c2d2e5!important}.meter span{background:linear-gradient(90deg,#8a63c7,#d98eab)!important}.mini-stat,.useful-stats>div{background:#f7faff!important;border-color:#afc2da!important;color:#405574!important}.mini-stat b{color:#5e4392!important}.mini-stat small,.useful-stats small{color:#62758f!important}
.result-panel{background:#fff!important;color:var(--ink)!important;border-color:#b9c9dc!important;box-shadow:var(--shadow)!important}.result-panel-top{border-bottom-color:#d3deeb!important}.result-card{background:#e7eff9!important;border-color:#b6c9df!important;color:#405574!important}.result-card-highlight{background:#f5e3ec!important;border-color:#d7a8bb!important}.result-card .result-consumption strong,.result-card .result-cost b{color:#624592!important}.result-card .result-period,.result-card .result-consumption small,.result-card .result-cost span{color:#687b95!important}.result-card .result-cost{border-top-color:#cad7e5!important}.compare-verdict{background:#eee5fa!important;border-color:#c4a9e3!important;color:#60458e!important}
.example-explainer{background:#eef3fb!important;border:1px solid #b9cbe0!important;color:#4b5e78!important}.example-explainer strong{color:#68489b!important}
.calculator-chart-disclosure{border-top-color:#cbd8e6!important}.calculator-chart-disclosure summary{color:#67489f!important}.calculator-chart-disclosure summary::before{border-color:#8260ba!important}.calculator-chart-panel{background:#edf3fb!important;border-color:#afc3db!important;color:#4d607c!important;box-shadow:0 8px 20px rgba(66,87,120,.08)!important}.calculator-chart-panel .chart-title{color:#65479a!important}.calculator-chart-panel .chart-explanation{color:#5d6f88!important}.calculator-chart-panel .chart-axis-labels{color:#677993!important}.calculator-chart-panel .chart-grid line,.calculator-line-chart .chart-grid line{stroke:#c5d2e2!important}.calculator-line-chart .line-series,.line-series{stroke:#7b57b4!important}.calculator-line-chart .chart-point,.chart-point{fill:#9a78d0!important;stroke:#4f3a79!important}.calculator-line-chart .chart-hover-point,.chart-hover-point{fill:#fff!important;stroke:#7b57b4!important;filter:drop-shadow(0 0 4px rgba(123,87,180,.35))}.chart-tooltip,.calculator-chart-panel .chart-tooltip{background:#fff!important;color:#2d3650!important;border:1px solid #7b57b4!important;box-shadow:0 10px 24px rgba(47,63,95,.18)!important;white-space:normal!important;max-width:min(360px,calc(100vw - 2.5rem))!important;overflow-wrap:anywhere!important}.legend-dot.lime{background:#7b57b4!important;border-color:#5e428d!important}.chart-kind-explanation{background:#f1eafb!important;color:#5e4b7e!important;border-left-color:#7b57b4!important}.chart-kind-explanation strong{color:#664697!important}
.monthly-profile-tool{background:#edf3fb!important;border:1px solid #afc3db!important;color:#2d3650!important;box-shadow:0 8px 20px rgba(66,87,120,.08)!important}.monthly-profile-heading{color:#2d3650!important}.monthly-profile-badge{color:#7250a5!important}.monthly-profile-intro,.monthly-profile-summary,.monthly-profile-custom label{color:#5e6f88!important}.monthly-profile-select-label{color:#405574!important}.monthly-profile-select{background:#fff!important;color:#2d3650!important;border-color:#a9bdd4!important}.monthly-profile-custom input{accent-color:#7b57b4!important}.monthly-profile-custom output{color:#4a5d78!important}.monthly-profile-tool .chart-kind-explanation{background:#f1eafb!important;color:#5e4b7e!important;border-left-color:#7b57b4!important}
.forecast-copy,.catalog-help-panel,.callout{background:linear-gradient(140deg,#dce8f7,#f3dfe9)!important;color:#43546d!important;border-color:#b9cbe0!important}.forecast-copy h3,.catalog-help-panel h3{color:#67489a!important}.forecast-copy p,.forecast-copy ul,.callout p,.catalog-help-panel p{color:#5e7089!important}.forecast-warning{border-left-color:#7b57b4!important}.callout-mark{color:#8060b8!important}.forecast-chart{background:#f9fbff!important;border-color:#b8c9de!important}.plain-language-intro{background:#f1eafb!important;border-color:#c9b4e2!important;border-left-color:#7b57b4!important}.plain-language-intro h3{color:#67489a!important}.plain-language-steps li{border-color:#c6d4e3!important;background:#fff!important}.plain-language-steps strong{color:#604592!important}
.catalog-help-hint{border-top-color:#c2d1e0!important;color:#657790!important}.catalog-link.is-help-active{color:#4b376f!important;text-decoration-color:#7b57b4!important}.catalog-help-panel.is-ready{border-color:#7b57b4!important}
.footer{background:#d6e1f0!important;color:#4d607a!important;border-top:1px solid #afc1d8!important}.footer p,.footer a,.footer span{color:#647791!important}.footer a:hover{color:#4f357d!important}
.locale-menu summary{background:linear-gradient(135deg,#edf3fb,#f2e6f1)!important;border-color:#aebfd5!important;color:#465871!important}.locale-menu summary:hover,.locale-menu[open] summary{background:linear-gradient(135deg,#e1ecf8,#eadcf0)!important;border-color:#8260ba!important}.locale-summary-copy small,.locale-summary-copy strong,.locale-chevron{color:#5f4a83!important}.locale-popover{background:#fff!important;color:var(--ink)!important;border-color:#bccce0!important}.locale-popover-heading strong{color:#5e4392!important}.locale-popover label{color:#6f8097!important}.locale-popover label select{background:#f8faff!important;color:var(--ink)!important;border-color:#b9c9dc!important}.locale-translation-status{background:#f1eafb!important;color:#664a88!important}
.legend-dot.purple{background:#7b57b4!important;border-color:#5e428d!important}
.brand-mark img{display:none!important}.brand-symbol{display:block;color:#fff;font-size:1.55rem;font-weight:900;line-height:1;transform:translateY(-1px)}

/* Ajustes finales de los dos fondos que conservaban un matiz verdoso. */
#calculadoras.section-muted{background:linear-gradient(180deg,#f0f3fb 0%,#f5effb 100%)!important}
.beginner-card-lime{background:linear-gradient(145deg,#f4eafb 0%,#f8f4fc 100%)!important;border-color:#c4a9e3!important}
.beginner-card-lime .beginner-number{background:#8060b8!important;color:#fff!important}

/* Navegación y catálogo: ningún estado de Calculadoras usa verde. */
.catalog-list>div:has(.catalog-link){background:#f7f2fd!important;border-color:#c4a9e3!important}
.catalog-list>div:has(.catalog-link):hover{background:#eee4f8!important;border-color:#8060b8!important}
.catalog-link{color:#60409a!important}
.nav-links a[href="#calculadoras"]:hover,.nav-links a[href="#calculadoras"]:focus-visible,body:has(#calculadoras:target) .nav-links a[href="#calculadoras"]{background:#eadcf5!important;color:#5e3d91!important;box-shadow:inset 0 -2px #8060b8!important}
.nav-links a[href="#mapa"]:hover,.nav-links a[href="#mapa"]:focus-visible,body:has(#mapa:target) .nav-links a[href="#mapa"]{background:#eadcf5!important;color:#5e3d91!important;box-shadow:inset 0 -2px #8060b8!important}
.nav-links a[href="#preguntas-frecuentes"]:hover,.nav-links a[href="#preguntas-frecuentes"]:focus-visible,body:has(#preguntas-frecuentes:target) .nav-links a[href="#preguntas-frecuentes"]{background:#eadcf5!important;color:#5e3d91!important;box-shadow:inset 0 -2px #8060b8!important}
.nav-links a[href="#proceso"]:hover,.nav-links a[href="#proceso"]:focus-visible,body:has(#proceso:target) .nav-links a[href="#proceso"]{background:#eadcf5!important;color:#5e3d91!important;box-shadow:inset 0 -2px #8060b8!important}

/* Portada editorial: menos mosaico y más ritmo visual, sin alterar las calculadoras. */
.home-page{background:#f7f8fc;color:#2d3650}
.home-page .hero{padding-top:5.2rem;padding-bottom:4.4rem;grid-template-columns:1.15fr .85fr;gap:4rem;align-items:center}
.home-page .hero h1{max-width:700px;font-size:clamp(3rem,6.8vw,6rem);line-height:.98}
.home-page .hero .lede{max-width:590px;font-size:1.16rem}
.home-page .hero-panel{border-radius:30px 30px 76px 30px;transform:rotate(1deg);padding:1.75rem;box-shadow:0 22px 50px rgba(76,58,121,.18);position:relative;isolation:isolate}
.home-page .hero-panel:after{content:"";position:absolute;inset:14px -14px -14px 14px;border:1px solid #c9b4e2;border-radius:30px 30px 76px 30px;z-index:-1;opacity:.7}
.home-page .stats{max-width:1160px;background:transparent;border-top:1px solid #c7d3e2;border-bottom:1px solid #c7d3e2}
.home-page .stat{padding:1.35rem 2rem;border-right:0;position:relative}
.home-page .stat:not(:first-child):before{content:"";position:absolute;left:0;top:25%;height:50%;border-left:1px solid #c7d3e2}
.home-page .stat b{color:#65479a;font-size:2.35rem}
.home-page .stat span{color:#62758f}
.home-page .section{padding-top:5rem;padding-bottom:5rem}
.home-page .section-heading{margin-bottom:2.2rem;align-items:start}
.home-page .section-heading h2{font-size:clamp(1.85rem,3.4vw,3rem)}
.home-page .section-heading p{max-width:500px;padding-top:.3rem}
.home-page #estimacion{background:linear-gradient(180deg,#f7f8fc 0%,#edf3fb 100%)}
.home-page #estimacion .forecast-card{grid-template-columns:.76fr 1.24fr;gap:0;align-items:stretch}
.home-page #estimacion .forecast-copy{border-radius:6px 34px 6px 34px;padding:2rem 2.2rem}
.home-page #estimacion .forecast-chart{border-radius:34px 6px 34px 6px;padding:2rem;border-left:0}
.home-page .data-reference-section{background:#edf3fb}
.home-page .data-reference-section .grid{grid-template-columns:1.3fr 1fr 1fr;gap:0;border-top:1px solid #b9cbe0;border-bottom:1px solid #b9cbe0}
.home-page .data-reference-section .card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:1.7rem 1.5rem;border-bottom:1px solid #c7d5e3;min-height:0}
.home-page .data-reference-section .card:nth-child(3n+2){border-left:1px solid #c7d5e3}
.home-page .data-reference-section .card:first-child{grid-row:span 2;background:linear-gradient(145deg,#f4eafb,#eef3fb);border-left:5px solid #8060b8;padding:2.15rem 1.9rem}
.home-page .data-reference-section .card:nth-child(4),.home-page .data-reference-section .card:nth-child(5){border-bottom:0}
.home-page .data-reference-section .card h3{font-size:1.25rem}
.home-page .data-reference-section .data-reference-value{font-size:2.65rem;font-weight:850;letter-spacing:-.06em;color:#624592;margin:.85rem 0}.home-page .data-reference-section .data-reference-value span{font-size:.9rem;letter-spacing:0;color:#657790}
.home-page .international-section{background:#f8f4fc}
.home-page .international-section .grid{grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #c9b9df;border-bottom:1px solid #c9b9df}
.home-page .international-section .card{background:transparent;border:0;border-radius:0;box-shadow:none;padding:1.9rem 1.6rem;min-height:220px}
.home-page .international-section .card+ .card{border-left:1px solid #d4c7e3}.home-page .international-section .card:nth-child(2){background:#eee5fa}
.home-page #mapa .grid{grid-template-columns:repeat(2,1fr);gap:0 3rem;border-top:1px solid #c7d3e2;counter-reset:map-item}
.home-page #mapa .card{counter-increment:map-item;display:grid;grid-template-columns:74px 1fr;column-gap:1.1rem;align-items:start;background:transparent;border:0;border-radius:0;box-shadow:none;padding:1.55rem 0;border-bottom:1px solid #c7d3e2;min-height:0}
.home-page #mapa .card:before{content:counter(map-item,decimal-leading-zero);grid-row:1 / span 4;color:#8060b8;font-weight:850;font-size:1.25rem;letter-spacing:.06em}
.home-page #mapa .card .card-kicker,.home-page #mapa .card h3,.home-page #mapa .card p,.home-page #mapa .card a{grid-column:2}
.home-page #mapa .card h3{margin-bottom:.45rem}
.home-page #mapa .card p{max-width:470px}
.home-page #calculadoras .calculator-groups{gap:0;border-top:1px solid #c7d3e2}
.home-page #calculadoras .catalog{background:transparent;border:0;border-radius:0;border-bottom:1px solid #c7d3e2}
.home-page #calculadoras .catalog summary{padding:1.25rem 0;font-size:1.05rem;color:#3e506b}
.home-page #calculadoras .catalog summary:after{color:#8060b8}
.home-page #calculadoras .catalog-list{grid-template-columns:repeat(2,1fr);gap:0 2rem;padding:0 0 1.25rem}
.home-page #calculadoras .catalog-list>div{background:transparent!important;border-color:#d7cbe6!important;padding:.75rem 0}
.home-page #calculadoras .catalog-help-panel{border-radius:34px 8px 34px 8px;min-height:260px}
.home-page #graficos .visual-grid{grid-template-columns:repeat(2,1fr);gap:0 3rem;border-top:1px solid #c7d3e2}
.home-page #graficos .visual{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:1rem;background:transparent;border:0;border-radius:0;border-bottom:1px solid #c7d3e2;padding:1.25rem 0;min-height:0}
.home-page #graficos .visual b{margin:0;color:#8060b8;font-size:.72rem;letter-spacing:.12em}
.home-page #graficos .visual span{font-size:1rem}
.home-page main>section.section-muted:not(#calculadoras){background:#f3edf8}
.home-page main>section.section-muted:not(#calculadoras) .two-col{grid-template-columns:1fr 1fr;gap:4rem}
.home-page main>section.section-muted:not(#calculadoras) .check-card{background:transparent;border:0;border-left:4px solid #8060b8;border-radius:0;box-shadow:none;padding:0 0 0 1.5rem}
.home-page #proceso .timeline{grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #c7d3e2}
.home-page #proceso .timeline article{display:block;background:transparent;border:0;border-radius:0;border-bottom:1px solid #c7d3e2;padding:1.55rem 1.1rem 1.55rem 0}
.home-page #proceso .timeline article+article{border-left:1px solid #c7d3e2;padding-left:1.1rem}
.home-page #proceso .timeline .step{width:auto;height:auto;background:transparent;color:#8060b8;display:block;font-size:1.45rem;margin-bottom:1rem}
.home-page #proceso .timeline h3{font-size:1.1rem}
@media(max-width:850px){.home-page .hero{grid-template-columns:1fr;gap:2rem}.home-page .hero-panel{max-width:620px}.home-page .data-reference-section .grid{grid-template-columns:repeat(2,1fr)}.home-page .data-reference-section .card:first-child{grid-column:1/-1;grid-row:auto}.home-page .data-reference-section .card:nth-child(3n+2){border-left:0}.home-page .data-reference-section .card:nth-child(odd){border-left:1px solid #c7d5e3}.home-page .international-section .grid{grid-template-columns:1fr}.home-page .international-section .card+ .card{border-left:0;border-top:1px solid #d4c7e3}.home-page #proceso .timeline{grid-template-columns:repeat(2,1fr);gap:0}.home-page #proceso .timeline article:nth-child(odd){border-left:0;padding-left:0}.home-page #proceso .timeline article:nth-child(even){border-left:1px solid #c7d3e2;padding-left:1.1rem}}
@media(max-width:560px){.home-page .hero{padding-top:3.2rem;padding-bottom:3rem}.home-page .hero h1{font-size:2.8rem}.home-page .hero-panel:after{inset:9px -9px -9px 9px}.home-page .stats{display:grid;grid-template-columns:repeat(2,1fr)}.home-page .stat{padding:1rem .7rem}.home-page .stat:not(:first-child):before{left:0}.home-page .stat:nth-child(3):before{display:none}.home-page .data-reference-section .grid,.home-page #mapa .grid,.home-page #graficos .visual-grid,.home-page #calculadoras .catalog-list{grid-template-columns:1fr}.home-page .data-reference-section .card:first-child{grid-column:auto}.home-page .data-reference-section .card:nth-child(odd){border-left:0}.home-page .data-reference-section .card:nth-child(4){border-bottom:1px solid #c7d5e3}.home-page #mapa .card{grid-template-columns:54px 1fr}.home-page #proceso .timeline{grid-template-columns:1fr}.home-page #proceso .timeline article+article{border-left:0;padding-left:0}.home-page main>section.section-muted:not(#calculadoras) .two-col{grid-template-columns:1fr;gap:2rem}.home-page #estimacion .forecast-card{grid-template-columns:1fr}.home-page #estimacion .forecast-copy,.home-page #estimacion .forecast-chart{border-radius:22px;border-left:1px solid #b9cbe0}.home-page #estimacion .forecast-chart{border-top:0}}

/* Portada: contraste y ritmos alternos para que cada bloque tenga una función visual distinta. */
.home-page .stats .stat b{font-size:clamp(1.05rem,2vw,1.55rem);letter-spacing:-.04em}
.home-page .stats .stat span{max-width:13rem}
.home-page #mapa{position:relative;max-width:none;padding-left:max(1.2rem,calc((100vw - 1160px)/2 + 1.2rem));padding-right:max(1.2rem,calc((100vw - 1160px)/2 + 1.2rem));background:#eef4fb}
.home-page #mapa .grid{max-width:1160px;margin-left:auto;margin-right:auto}
.home-page #mapa .section-heading{max-width:1160px;margin-left:auto;margin-right:auto}
.home-page #mapa .card:nth-child(3n+1){border-left:5px solid #8060b8;padding-left:1.25rem}
.home-page #mapa .card:nth-child(3n+2){border-left:5px solid #d38aaa;padding-left:1.25rem}
.home-page #mapa .card:nth-child(3n){border-left:5px solid #789ac2;padding-left:1.25rem}
.home-page #graficos{max-width:none;padding-left:max(1.2rem,calc((100vw - 1160px)/2 + 1.2rem));padding-right:max(1.2rem,calc((100vw - 1160px)/2 + 1.2rem));background:#30274e;color:#fff}
.home-page #graficos .section-heading,.home-page #graficos .visual-grid{max-width:1160px;margin-left:auto;margin-right:auto}
.home-page #graficos .section-heading p{color:#d9d1e7}
.home-page #graficos .visual-grid{border-top-color:rgba(255,255,255,.25)}
.home-page #graficos .visual{border-bottom-color:rgba(255,255,255,.22)}
.home-page #graficos .visual span{color:#fff;font-size:1.08rem}
.home-page #graficos .visual:nth-child(3n+1) span:before{content:'↗';color:#d8b3d2;margin-right:.75rem}
.home-page #graficos .visual:nth-child(3n+2) span:before{content:'≈';color:#b9d5f0;margin-right:.75rem}
.home-page #graficos .visual:nth-child(3n) span:before{content:'＋';color:#c9b2e8;margin-right:.75rem}
.home-page main>section.section-muted:not(#calculadoras){background:#fff9fc}
.home-page #proceso{border-top:12px solid #eadcf5;background:#fff9fc}
@media(max-width:850px){.home-page #mapa,.home-page #graficos{padding-left:1.2rem;padding-right:1.2rem}}

.home-page #graficos .visual{grid-template-columns:1fr;align-items:start}


/* Remate de portada: contenedores completos, más aire y finales redondeados. */
.home-page #estimacion .forecast-card,
.home-page .data-reference-section .grid{
  width:calc(100% + 1.5rem);
  margin-left:-.75rem;
  margin-right:-.75rem;
}
.home-page #estimacion .forecast-card{
  grid-template-columns:.9fr 1.1fr;
  background:#fff;
  border:1px solid #b9cbe0;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 14px 32px rgba(74,91,119,.08);
}
.home-page #estimacion .forecast-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-radius:0;
  padding:2.45rem 2.65rem;
}
.home-page #estimacion .forecast-chart{
  min-height:310px;
  border-radius:0;
  border-left:1px solid #b9cbe0;
  padding:2.35rem 2.55rem;
}
.home-page .data-reference-section .grid{
  background:#fff;
  border:1px solid #b9cbe0;
  border-radius:24px;
  overflow:hidden;
}
.home-page #proceso .timeline{
  margin-top:.4rem;
  border:1px solid #c7d3e2;
  border-radius:24px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 12px 28px rgba(74,91,119,.06);
}
.home-page #proceso .timeline article{
  min-height:176px;
  padding:1.85rem 1.5rem 2rem;
  border-bottom:0;
  background:#fff;
}
.home-page #proceso .timeline article:nth-child(even){background:#fcf8ff}
@media(max-width:560px){
  .home-page #estimacion .forecast-card,
  .home-page .data-reference-section .grid{width:100%;margin-left:0;margin-right:0}
  .home-page #estimacion .forecast-copy{padding:1.7rem 1.45rem}
  .home-page #estimacion .forecast-chart{min-height:280px;padding:1.7rem 1.45rem;border-left:0;border-top:1px solid #b9cbe0}
  .home-page #proceso .timeline article{min-height:0;padding:1.55rem 1.35rem 1.65rem}
  .home-page #proceso .timeline article+article{border-left:0;border-top:1px solid #c7d3e2;padding-left:1.35rem}
}
/* Ampliación solicitada: las superficies claras sobresalen un poco del texto y no terminan al ras. */
.home-page #estimacion .forecast-card{grid-template-columns:1fr 1.08fr}
.home-page .data-reference-section .grid{grid-template-columns:1.45fr 1fr 1fr;width:calc(100% + 2rem);margin-left:-1rem;margin-right:-1rem}
.home-page #proceso .timeline{width:calc(100% + 1.5rem);margin-left:-.75rem;margin-right:-.75rem}
@media(max-width:850px){
  .home-page .data-reference-section .grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .home-page .data-reference-section .grid{grid-template-columns:1fr;width:100%;margin-left:0;margin-right:0}
  .home-page #proceso .timeline{width:100%;margin-left:0;margin-right:0}
}
/* Fondos de sección a sangrado completo: el color continúa detrás de todo el bloque. */
.home-page #estimacion,
.home-page #datos-verificados,
.home-page #proceso{
  position:relative;
  isolation:isolate;
  background:transparent;
}
.home-page #estimacion::before,
.home-page #datos-verificados::before,
.home-page #proceso::before{
  content:"";
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  pointer-events:none;
}
.home-page #estimacion::before{
  background:linear-gradient(180deg,#f7f8fc 0%,#edf3fb 100%);
}
.home-page #datos-verificados::before{
  background:linear-gradient(180deg,#edf3fb 0%,#e9f1fb 100%);
}
.home-page #proceso::before{
  background:#fff9fc;
  border-top:12px solid #eadcf5;
  box-sizing:border-box;
}
/* Evita una barra horizontal al extender los fondos hasta los bordes de la ventana. */
.home-page{overflow-x:hidden}
.home-page #proceso{border-top:0}
/* Paleta pastel ampliada para separar las zonas de la portada. */
.home-page #estimacion::before{
  background:linear-gradient(180deg,#fffaf3 0%,#fff0df 100%);
}
.home-page #datos-verificados::before{
  background:linear-gradient(180deg,#eef8f5 0%,#e3f1ee 100%);
}
.home-page #mapa{
  background:#f1f3f5;
}
.home-page #calculadoras.section-muted{
  background:linear-gradient(180deg,#f5f1fa 0%,#f8f6fb 100%)!important;
}
.home-page #proceso::before{
  background:#fff8fb;
}
/* Ajuste fino de saturación: cada pastel debe distinguirse sin dejar de ser suave. */
.home-page #estimacion::before{background:linear-gradient(180deg,#fff7ea 0%,#ffe7cc 100%)}
.home-page #datos-verificados::before{background:linear-gradient(180deg,#eaf7f2 0%,#d9eee8 100%)}
.home-page #mapa{background:#eef0f3}
.home-page #calculadoras.section-muted{background:linear-gradient(180deg,#f1e9fb 0%,#f8f4fc 100%)!important}
.home-page #proceso::before{background:#fff3f7}
/* Transiciones suaves entre fondos para que cada sección se funda con la siguiente. */
.home-page #estimacion,
.home-page #datos-verificados,
.home-page #mapa,
.home-page #calculadoras,
.home-page #graficos,
.home-page #proceso{
  position:relative;
  isolation:isolate;
}
.home-page #estimacion::after,
.home-page #datos-verificados::after,
.home-page #mapa::after,
.home-page #calculadoras::after,
.home-page #graficos::after,
.home-page #proceso::after{
  content:"";
  position:absolute;
  z-index:-1;
  left:50%;
  bottom:0;
  width:100vw;
  height:82px;
  transform:translateX(-50%);
  pointer-events:none;
}
.home-page #estimacion::after{background:linear-gradient(180deg,#ffe7cc 0%,#eaf7f2 100%)}
.home-page #datos-verificados::after{background:linear-gradient(180deg,#d9eee8 0%,#eef0f3 100%)}
.home-page #mapa::after{background:linear-gradient(180deg,#eef0f3 0%,#f1e9fb 100%)}
.home-page #calculadoras::after{background:linear-gradient(180deg,#f8f4fc 0%,#30274e 100%)}
.home-page #graficos::after{background:linear-gradient(180deg,#30274e 0%,#fff3f7 100%)}
.home-page #proceso::after{background:linear-gradient(180deg,#fff3f7 0%,#d6e1f0 100%)}
@media(max-width:560px){
  .home-page #estimacion::after,
  .home-page #datos-verificados::after,
  .home-page #mapa::after,
  .home-page #calculadoras::after,
  .home-page #graficos::after,
  .home-page #proceso::after{height:58px}
}
/* Nueva paleta de fondos: mineral, costera y cohesionada. Mantiene el morado de las gráficas. */
.home-page{
  background:#f6f4ef;
}
.home-page #estimacion::before{
  background:linear-gradient(180deg,#f6f4ef 0%,#e7eef4 100%);
}
.home-page #datos-verificados::before{
  background:linear-gradient(180deg,#e7eef4 0%,#e4eee8 100%);
}
.home-page #mapa{
  background:#e4eee8;
}
.home-page #calculadoras.section-muted{
  background:linear-gradient(180deg,#eeeaf7 0%,#f7eaf0 100%)!important;
}
.home-page #proceso::before{
  background:#f7eaf0;
}
.home-page #estimacion::after{background:linear-gradient(180deg,#e7eef4 0%,#e4eee8 100%)}
.home-page #datos-verificados::after{background:linear-gradient(180deg,#e4eee8 0%,#eeeaf7 100%)}
.home-page #mapa::after{background:linear-gradient(180deg,#e4eee8 0%,#eeeaf7 100%)}
.home-page #calculadoras::after{background:linear-gradient(180deg,#f7eaf0 0%,#30274e 100%)}
.home-page #graficos::after{background:linear-gradient(180deg,#30274e 0%,#f7eaf0 100%)}
.home-page #proceso::after{background:linear-gradient(180deg,#f7eaf0 0%,#d6e1f0 100%)}
/* Reinicio de fondos de portada: superficies limpias y una paleta nueva por sección. */
.home-page,
.home-page main,
.home-page .hero,
.home-page .stats{
  background:#ffffff;
}
.home-page #estimacion,
.home-page #datos-verificados,
.home-page #mapa,
.home-page #calculadoras,
.home-page #graficos,
.home-page #proceso,
.home-page main > section.section-muted:not(#calculadoras){
  isolation:isolate;
}
.home-page #estimacion{background:#f6efe5}
.home-page #datos-verificados{background:#e8f0f6}
.home-page #mapa{background:#e8f2ec}
.home-page #calculadoras.section-muted{background:#eee9f7!important}
.home-page #graficos{background:#30274e}
.home-page main > section.section-muted:not(#calculadoras){background:#f5f0e8}
.home-page #proceso{background:#f5eaf0}
.home-page #estimacion::before,
.home-page #datos-verificados::before,
.home-page #proceso::before,
.home-page #estimacion::after,
.home-page #datos-verificados::after,
.home-page #mapa::after,
.home-page #calculadoras::after,
.home-page #graficos::after,
.home-page #proceso::after{
  display:none!important;
  background:none!important;
  border:0!important;
}
/* Las bandas de referencia, datos y proceso ocupan todo el ancho sin degradados. */
.home-page #estimacion::before,
.home-page #datos-verificados::before,
.home-page #proceso::before{
  display:block!important;
  background:#f6efe5!important;
  border:0!important;
}
.home-page #datos-verificados::before{background:#e8f0f6!important}
.home-page #proceso::before{background:#f5eaf0!important}
/* Paleta final solicitada: únicamente blancos, azules y morados suaves. */
.home-page,
.home-page main,
.home-page .hero,
.home-page .stats{
  background:#ffffff;
}
.home-page #estimacion{background:#f4f1fb}
.home-page #datos-verificados{background:#eef4fc}
.home-page #mapa{background:#e8f1fa}
.home-page #calculadoras.section-muted{background:#f1edfa!important}
.home-page #graficos{background:#30274e}
.home-page main > section.section-muted:not(#calculadoras){background:#edf3fb}
.home-page #proceso{background:#f7f1fa}
.home-page #estimacion::before{background:#f4f1fb!important}
.home-page #datos-verificados::before{background:#eef4fc!important}
.home-page #proceso::before{background:#f7f1fa!important}
/* Primera gráfica: un único contenedor redondeado con degradado pastel rosa-azul. */
.home-page #estimacion{
  margin:3.5rem auto;
  padding:3.5rem 2rem 2.4rem;
  border:1px solid #d9d9ec;
  border-radius:34px;
  background:linear-gradient(135deg,#faf0f7 0%,#edf4fc 100%);
  box-shadow:0 18px 42px rgba(102,88,145,.10);
}
.home-page #estimacion::before{display:none!important;background:none!important}
.home-page #estimacion .forecast-card{margin-left:0;margin-right:0;width:100%}

/* Mapa de rutas: seis tarjetas en una infografía tipo carrusel. */
.home-page #mapa .map-carousel-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  max-width:1160px;
  margin:0 auto 1rem;
}
.home-page #mapa .map-carousel-nav{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
}
.home-page #mapa .map-carousel-button{
  width:2.55rem;
  height:2.55rem;
  display:grid;
  place-items:center;
  border:1px solid #c4d3e5;
  border-radius:50%;
  background:#fff;
  color:#59418e;
  font:700 1.35rem/1 inherit;
  cursor:pointer;
  box-shadow:0 5px 14px rgba(70,87,120,.10);
  transition:transform .2s ease,background .2s ease,border-color .2s ease;
}
.home-page #mapa .map-carousel-button:hover,
.home-page #mapa .map-carousel-button:focus-visible{
  background:#f0ebfa;
  border-color:#9d87c7;
  transform:translateY(-2px);
  outline:0;
}
.home-page #mapa .map-carousel-status{
  color:#657790;
  font-size:.82rem;
  font-weight:750;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.home-page #mapa .map-carousel-dots{
  display:flex;
  gap:.42rem;
  align-items:center;
}
.home-page #mapa .map-carousel-dot{
  width:.52rem;
  height:.52rem;
  border:0;
  border-radius:50%;
  padding:0;
  background:#c8d6e5;
  cursor:pointer;
}
.home-page #mapa .map-carousel-dot.is-active{background:#7554a6;transform:scale(1.2)}
.home-page #mapa .map-carousel-stage{
  max-width:1160px;
  margin:0 auto;
}
.home-page #mapa .map-carousel{
  display:block;
  border:0;
  background:transparent;
  overflow:visible;
}
.home-page #mapa .map-carousel .card{display:none}
.home-page #mapa .map-carousel .card.is-active{
  display:grid;
  grid-template-columns:86px 1fr;
  min-height:280px;
  align-items:start;
  column-gap:1.4rem;
  padding:2.25rem 2.3rem;
  border:1px solid #c5d5e7;
  border-left:1px solid #c5d5e7;
  border-radius:28px;
  background:linear-gradient(135deg,#ffffff 0%,#f3f7fd 100%);
  box-shadow:0 18px 38px rgba(74,91,119,.10);
  animation:mapCarouselIn .35s ease both;
}
.home-page #mapa .map-carousel .card.is-active:before{
  content:attr(data-step);
  grid-row:1 / span 4;
  grid-column:1;
  color:#7554a6;
  font-weight:850;
  font-size:2.2rem;
  letter-spacing:-.04em;
}
.home-page #mapa .map-carousel .card.is-active .card-kicker,
.home-page #mapa .map-carousel .card.is-active h3,
.home-page #mapa .map-carousel .card.is-active p,
.home-page #mapa .map-carousel .card.is-active a{grid-column:2}
.home-page #mapa .map-carousel .card.is-active h3{font-size:clamp(1.5rem,2.8vw,2.2rem);margin-bottom:.7rem}
.home-page #mapa .map-carousel .card.is-active p{max-width:680px;font-size:1rem}
.home-page #mapa .map-carousel .card.is-active .card-link{margin-top:1.35rem}
@keyframes mapCarouselIn{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:translateX(0)}}
@media(max-width:560px){
  .home-page #estimacion{margin:2rem .75rem;padding:2.3rem 1.1rem 1.5rem;border-radius:26px}
  .home-page #mapa .map-carousel-controls{align-items:flex-start;flex-wrap:wrap}
  .home-page #mapa .map-carousel-stage{width:100%}
  .home-page #mapa .map-carousel .card.is-active{grid-template-columns:1fr;min-height:0;padding:1.8rem 1.35rem}
  .home-page #mapa .map-carousel .card.is-active:before{grid-row:auto;grid-column:1;margin-bottom:.75rem}
  .home-page #mapa .map-carousel .card.is-active .card-kicker,
  .home-page #mapa .map-carousel .card.is-active h3,
  .home-page #mapa .map-carousel .card.is-active p,
  .home-page #mapa .map-carousel .card.is-active a{grid-column:1}
}
/* Preguntas enlazadas: la pregunta completa funciona como acceso a su calculadora. */
.home-page #graficos .visual-link{
  display:block;
  color:inherit;
  text-decoration:none;
  min-height:100%;
  transition:transform .2s ease,color .2s ease;
}
.home-page #graficos .visual-link:hover,
.home-page #graficos .visual-link:focus-visible{
  color:#eee8ff;
  transform:translateX(4px);
  outline:0;
}
.home-page #graficos .visual-link-action{
  display:block;
  margin-top:.55rem;
  color:#c9b8e8;
  font-size:.74rem;
  font-weight:750;
  letter-spacing:.04em;
  opacity:.85;
}
/* Ajuste móvil de la primera gráfica: texto arriba y gráfico debajo. */
@media(max-width:560px){
  .home-page #estimacion{
    margin:1.4rem .7rem;
    padding:2.15rem .9rem 1.2rem;
    border-radius:26px;
  }
  .home-page #estimacion .section-heading{margin-bottom:1.35rem}
  .home-page #estimacion .forecast-card{
    display:grid;
    grid-template-columns:1fr!important;
    width:100%;
    margin:0;
    border-radius:24px;
  }
  .home-page #estimacion .forecast-copy{
    padding:1.45rem 1.25rem 1.35rem;
    border-radius:24px 24px 0 0;
  }
  .home-page #estimacion .forecast-chart{
    min-height:290px;
    padding:1.35rem 1.05rem 1.45rem;
    border-left:0;
    border-top:1px solid #b9cbe0;
    border-radius:0 0 24px 24px;
  }
  .home-page #estimacion .forecast-chart .chart-title{font-size:.78rem;line-height:1.35}
}
/* Monthly comparison summary: a readable list complements the line chart above. */
.monthly-summary-card{display:grid;grid-template-columns:minmax(220px,.62fr) minmax(0,1.38fr);gap:1.4rem;padding:1.25rem;background:linear-gradient(140deg,#fff,#f4f0fb);border:1px solid #c9b8e3;border-radius:22px;box-shadow:0 12px 28px rgba(66,52,112,.08)}
.monthly-summary-copy{padding:.35rem .6rem}.monthly-summary-copy h3{margin:.75rem 0 .65rem;color:#5c428d;font-size:1.35rem}.monthly-summary-copy ul{margin:1rem 0;padding-left:1.15rem;color:#5e6f88;display:grid;gap:.45rem;font-size:.88rem}.monthly-summary-copy p{color:#5e6f88;font-size:.88rem;line-height:1.5}.monthly-summary-list{list-style:none;margin:0;padding:0;display:grid;gap:.42rem}.monthly-summary-row{display:grid;grid-template-columns:minmax(5.4rem,.8fr) minmax(5rem,1fr) minmax(6.5rem,.7fr) auto;align-items:center;gap:.65rem;padding:.55rem .7rem;background:#fff;border:1px solid #e0d8ef;border-radius:10px;color:#4d5e77;font-size:.86rem}.monthly-summary-month{font-weight:750}.monthly-summary-row strong{font-variant-numeric:tabular-nums;text-align:right;color:#4f3a79}.monthly-summary-track{height:7px;background:#eee9f7;border-radius:999px;overflow:hidden}.monthly-summary-track i{display:block;width:var(--monthly-width);height:100%;border-radius:inherit;background:linear-gradient(90deg,#a584d0,#7050a6)}.monthly-summary-row em{font-size:.68rem;font-style:normal;font-weight:800;color:#6c4b9a;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.monthly-summary-row.is-maximum{border-color:#a889d3;background:#fbf8ff}.monthly-summary-row.is-minimum{border-color:#c4d9ed;background:#f7fbff}.monthly-summary-row.is-minimum .monthly-summary-track i{background:linear-gradient(90deg,#a8c5df,#779cc5)}.monthly-summary-card>.source-line{grid-column:1/-1;margin:.1rem .6rem 0;color:#687993;font-size:.76rem}
@media(max-width:760px){.monthly-summary-card{grid-template-columns:1fr;padding:1rem;border-radius:18px}.monthly-summary-copy{padding:.1rem}.monthly-summary-row{grid-template-columns:minmax(5rem,.9fr) 1fr minmax(5.8rem,.8fr);gap:.45rem;padding:.5rem}.monthly-summary-row em{grid-column:1/-1;margin-left:5rem}.monthly-summary-card>.source-line{margin-left:0}}
/* Keep the month, bar, value and marker in fixed columns. Empty marker cells
   deliberately reserve their space so a highest/lowest label never moves the bar. */
.monthly-summary-row{grid-template-columns:minmax(5.4rem,.8fr) minmax(5rem,1fr) minmax(6.5rem,.7fr) minmax(5.8rem,auto)}
.monthly-summary-tag{display:block;min-width:5.8rem;font-size:.68rem;font-style:normal;font-weight:800;color:#6c4b9a;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
@media(max-width:760px){.monthly-summary-row{grid-template-columns:minmax(4.3rem,.8fr) minmax(0,1fr) minmax(5rem,.75fr) minmax(4rem,auto);gap:.35rem;padding:.5rem .4rem}.monthly-summary-tag{min-width:4rem;font-size:.62rem;white-space:normal;line-height:1.05}}

/* Tooltip amplio y legible: evita comprimir el texto al acercarse a los extremos. */
.chart-tooltip,.calculator-chart-panel .chart-tooltip{width:max-content!important;max-width:none!important;white-space:nowrap!important;overflow-wrap:normal!important}
@media(max-width:560px){.chart-tooltip,.calculator-chart-panel .chart-tooltip{max-width:calc(100vw - 1rem)!important;white-space:normal!important;overflow-wrap:anywhere!important}}

/* Resumen guardado y acceso rápido desde la navegación. */
.summary-nav-link{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap}
.summary-nav-count{display:inline-grid;place-items:center;min-width:1.3rem;height:1.3rem;padding:0 .3rem;border-radius:999px;background:#7050a6;color:#fff;font-size:.68rem;font-weight:800;line-height:1}
.result-summary-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;flex-wrap:wrap;margin-left:auto}
.save-to-summary{font-size:.78rem;padding:.6rem .85rem}
.summary-save-status{min-height:1.2em;color:#7050a6;font-size:.76rem;font-weight:700}
.summary-hero{align-items:stretch}
.summary-hero-panel{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#f5f1ff,#eef5ff);border-color:#c8b9e6}
.summary-local-chip{font-size:.66rem;font-weight:800;letter-spacing:.06em;color:#7050a6}
.summary-hero-panel .hero-reading{display:flex;flex-direction:column;gap:.25rem;color:#263d63}
.summary-total-label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#7050a6}
.summary-hero-panel .hero-reading strong{font-size:clamp(2rem,4vw,3.4rem);font-variant-numeric:tabular-nums}
.summary-overview{padding-top:2rem;padding-bottom:2rem}
.summary-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.summary-kpi{padding:1.15rem 1.25rem;background:#fff;border:1px solid #d7dff0;border-radius:18px;box-shadow:0 10px 24px rgba(63,76,111,.08)}
.summary-kpi span{display:block;color:#687993;font-size:.8rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.summary-kpi strong{display:block;margin-top:.45rem;color:#2d4368;font-size:1.6rem;font-variant-numeric:tabular-nums}
.summary-groups{display:grid;gap:1.4rem}
.summary-group{padding:1.25rem;background:#fff;border:1px solid #d5dff0;border-radius:24px;box-shadow:0 14px 30px rgba(63,76,111,.08)}
.summary-group-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.35rem .35rem 1rem;border-bottom:1px solid #e5eaf3}
.summary-group-head h2{margin:.35rem 0 .25rem;color:#2e4367;font-size:1.35rem}
.summary-group-head p{margin:0;color:#687993;font-size:.9rem}
.summary-group-count{display:grid;place-items:center;min-width:2.2rem;height:2.2rem;border-radius:999px;background:#f0ebff;color:#7050a6;font-weight:800}
.summary-group-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;padding:1rem 0}
.summary-group-totals>div{padding:.8rem .9rem;background:#f8faff;border:1px solid #e3e9f4;border-radius:14px}
.summary-group-totals small{display:block;color:#687993;font-size:.75rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}
.summary-group-totals span{display:block;margin-top:.25rem;color:#2d4368;font-variant-numeric:tabular-nums}
.summary-group-totals b{font-size:1.08rem}
.summary-group-totals span small{display:inline;font-size:.7rem;color:#8794aa}
.summary-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}
.summary-item{padding:1rem;border:1px solid #e0e6f0;border-radius:17px;background:#fcfdff}
.summary-item-head{display:flex;justify-content:space-between;gap:.75rem}
.summary-item h3{margin:0;color:#2d4368;font-size:1.03rem}
.summary-item-head p{margin:.35rem 0 0;color:#7b879b;font-size:.74rem}
.summary-remove{border:0;background:transparent;color:#8a96a9;font-size:1.25rem;line-height:1;cursor:pointer;padding:.1rem .25rem}
.summary-remove:hover,.summary-remove:focus-visible{color:#7050a6}
.summary-periods{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-top:.9rem}
.summary-period{padding:.55rem .6rem;background:#f3f6fb;border-radius:10px}
.summary-period small{display:block;color:#7b879b;font-size:.68rem}
.summary-period strong{display:block;margin-top:.18rem;color:#2d4368;font-size:.85rem;font-variant-numeric:tabular-nums}
.summary-no-period{grid-column:1/-1;color:#7b879b;font-size:.8rem;font-style:italic}
.summary-item-details{margin-top:.75rem;color:#687993;font-size:.78rem}
.summary-item-details summary{cursor:pointer;color:#7050a6;font-weight:750}
.summary-item-details ul{display:grid;gap:.3rem;margin:.55rem 0 0;padding-left:1.1rem}
.summary-item-details li{display:flex;justify-content:space-between;gap:.75rem}
.summary-item-details li b{color:#2d4368;font-variant-numeric:tabular-nums}
.summary-open{display:inline-block;margin-top:.75rem;color:#7050a6;font-size:.78rem;font-weight:750;text-decoration:none}
.summary-open:hover,.summary-open:focus-visible{text-decoration:underline}
.summary-empty{padding:2.5rem 1.25rem;text-align:center;background:#fff;border:1px dashed #c8d5e7;border-radius:20px;color:#687993}
.summary-empty strong{display:block;color:#2d4368;font-size:1.05rem}
.summary-empty p{margin:.45rem 0 0}
.summary-clear-status{min-height:1.2em;color:#7050a6;font-size:.82rem;font-weight:700}
@media(max-width:860px){.summary-items{grid-template-columns:1fr}.summary-hero-panel{min-height:240px}}
@media(max-width:620px){.summary-kpis,.summary-group-totals{grid-template-columns:1fr}.summary-periods{grid-template-columns:1fr 1fr}.summary-group{padding:.9rem;border-radius:18px}.summary-group-head{padding:.25rem .1rem .8rem}.result-summary-actions{width:100%;justify-content:flex-start;margin-left:0}.summary-nav-link{font-size:.78rem}}

/* Cabecera: más espacio para buscar en escritorio y estructura por filas en móvil. */
@media (min-width:901px){
  .site-header .nav{max-width:1320px;min-height:86px;gap:1rem}
  .site-header .nav-note{flex:0 0 auto;font-size:.76rem}
  .site-header .nav-search{flex:1 1 460px;min-width:340px;max-width:520px;margin-left:1rem}
  .site-header .nav-search-input{min-height:50px;border-radius:14px;padding-left:.9rem}
  .site-header .nav-search-input input{font-size:.92rem;padding:.68rem .3rem}
  .site-header .nav-links{margin-left:auto;gap:.28rem;flex:0 0 auto;white-space:nowrap}
  .site-header .nav-links a{padding:.62rem .72rem;font-size:.88rem}
  .site-header .locale-tools{flex:0 0 auto;margin-left:.3rem}
}
@media (min-width:901px) and (max-width:1199px){
  .site-header .nav-note{display:none}
  .site-header .nav-search{min-width:280px;max-width:420px;margin-left:auto}
}
@media (max-width:900px){
  .site-header .nav{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem 1rem;align-items:center;padding-top:.7rem;padding-bottom:.7rem}
  .site-header .brand{grid-column:1;grid-row:1}
  .site-header .nav-note{display:none}
  .site-header .locale-tools{grid-column:2;grid-row:1;width:auto;margin-left:0;justify-self:end}
  .site-header .nav-search{grid-column:1/-1;grid-row:2;width:100%;max-width:none;margin:0}
  .site-header .nav-search-input{min-height:48px;border-radius:14px}
  .site-header .nav-search-input input{font-size:.92rem;padding:.66rem .25rem}
  .site-header .nav-links{grid-column:1/-1;grid-row:3;width:100%;margin:0;display:flex;overflow-x:auto;justify-content:flex-start;gap:.25rem;padding:.05rem 0 .22rem;scrollbar-width:none}
  .site-header .nav-links::-webkit-scrollbar{display:none}
  .site-header .nav-links a{flex:0 0 auto;white-space:nowrap;padding:.56rem .7rem;font-size:.8rem}
}
@media (max-width:560px){
  .site-header .nav{gap:.55rem .7rem;padding-left:.85rem;padding-right:.85rem}
  .site-header .nav-search-input{min-height:46px}
  .site-header .nav-search-input input{font-size:.86rem}
  .site-header .nav-links{margin-left:-.1rem;margin-right:-.1rem;width:calc(100% + .2rem)}
  .site-header .nav-links a{padding:.52rem .64rem;font-size:.76rem}
}

/* Revisión móvil: conservar el ritmo editorial sin desbordar el ancho del teléfono. */
@media (max-width:560px){
  html,body{max-width:100%;overflow-x:hidden}
  .shell{width:100%;max-width:100%;min-width:0;padding-left:1rem;padding-right:1rem}
  .site-header .nav,.site-header .brand,.site-header .locale-tools,.locale-menu,.locale-menu summary{min-width:0}
  .site-header .locale-tools{max-width:calc(100vw - 6.9rem);overflow:hidden}
  .locale-menu summary{max-width:100%;overflow:hidden}
  .locale-summary-copy{min-width:0;max-width:5.4rem;overflow:hidden}
  .locale-summary-copy small,.locale-summary-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .locale-menu summary>span:first-child,.locale-chevron{flex:0 0 auto}
  .home-page .hero,.calculator-hero{width:100%;min-width:0;grid-template-columns:1fr}
  .hero h1,.home-page .hero h1{max-width:100%;font-size:clamp(2.05rem,9vw,2.45rem);line-height:1.02;overflow-wrap:anywhere}
  .hero .lede,.home-page .hero .lede{max-width:100%;font-size:1rem;overflow-wrap:anywhere}
  .hero-reading{font-size:clamp(2.25rem,12vw,3.1rem);line-height:1;overflow-wrap:anywhere}
  .hero-reading span{display:block;margin-top:.4rem;font-size:.95rem;line-height:1.2}
  .hero-panel,.home-page .hero-panel{width:100%;max-width:100%;min-width:0;overflow:hidden;margin-inline:0;transform:none}
  .hero-panel .hero-copy,.hero-panel .panel-footnote{overflow-wrap:anywhere}
  .actions{width:100%}
  .actions .btn{flex:1 1 10rem;min-width:0;max-width:100%;text-align:center}
  .forecast-card,.forecast-copy,.forecast-chart,.calculator-layout,.calc-form,.result-panel{min-width:0;width:100%;max-width:100%}
  .forecast-copy,.forecast-chart{overflow:hidden}
  .line-chart{width:100%;max-width:100%;height:auto}
  .result-card{min-width:0;overflow-wrap:anywhere}
}
@media (max-width:420px){
  .result-grid{grid-template-columns:1fr}
  .home-page .hero h1{font-size:2.15rem}
}
@media (max-width:560px){
  .site-header .nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem;width:100%;overflow:visible;padding:0}
  .site-header .nav-links a{min-width:0;white-space:normal;text-align:center;line-height:1.2;padding:.46rem .28rem;font-size:.76rem}
}

/* Guardar resultado: acción visible bajo el botón principal de cada calculadora. */
.summary-form-actions{display:grid;gap:.32rem;width:100%;margin:.15rem 0 .05rem}
.calc-form .summary-form-actions{display:block!important;width:100%!important;margin:.15rem 0 .05rem!important}
.calc-form .summary-form-actions .save-to-summary{display:flex!important;width:100%!important;height:3.08rem;min-height:3.08rem;align-items:center;justify-content:center;margin:0;background:#b66d92!important;border:1px solid #995477;color:#fff!important;font-size:.9rem;font-weight:820;padding:.78rem 1rem;box-shadow:0 5px 14px rgba(169,103,133,.18)}
.summary-form-actions .save-to-summary:hover,.summary-form-actions .save-to-summary:focus-visible{background:#9f5a7d;border-color:#814361;color:#fff;box-shadow:0 0 0 3px rgba(189,120,155,.22)}
.summary-form-actions .summary-save-status{min-height:1.15rem;text-align:center;color:#7050a6;font-size:.78rem}

/* Resultados más legibles: consumo y coste usan el morado de la interfaz. */
.result-card .result-consumption strong,.result-panel.is-demo .result-card .result-consumption strong{color:#1f2937!important;font-size:1.72rem;font-weight:850;letter-spacing:-.045em}
.result-card .result-consumption small,.result-panel.is-demo .result-card .result-consumption small{color:#1f2937!important;font-weight:700}
.result-card .result-cost b{color:#624592!important;font-size:1.12rem;font-weight:850}
.result-card .result-cost span{color:#624592!important;font-weight:750}
.result-card-highlight .result-consumption strong,.result-card-highlight .result-cost b{color:#5e3d91!important}
.result-card-highlight .result-consumption strong{color:#1f2937!important}
.result-panel .result-panel-top h2{color:#17132b!important}
.result-panel.is-demo .result-card .result-cost b{color:#624592!important}

/* El quinto paso explica el coste con el mismo morado, no con el antiguo verde. */
.beginner-card-lime{background:#f4efff!important;border-color:#c9b7e7!important}
.beginner-card-lime .beginner-number{background:#8060b8!important;color:#fff!important}
.beginner-card-lime h3{color:#2d4368!important}
.beginner-card-lime strong{color:#624592!important}

/* Puerta de entrada a las preguntas de las calculadoras. */
.calculator-faq-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2rem;padding:1.35rem 1.55rem;border:1px solid #cdbde3;border-radius:1.25rem;background:linear-gradient(105deg,#f5effb 0%,#f8f5fc 58%,#eef3fb 100%);box-shadow:0 10px 28px rgba(61,48,96,.08)}
.calculator-faq-cta .eyebrow{margin-bottom:.35rem;color:#7655ad}
.calculator-faq-cta h3{margin:0;color:#2b3150;font-size:1.15rem}
.calculator-faq-cta p{margin:.35rem 0 0;color:#66708a}
.calculator-faq-cta .btn{flex:0 0 auto;white-space:nowrap}

/* Página independiente de preguntas frecuentes. */
.faq-page{overflow-x:hidden}
.faq-hero{padding-bottom:2.6rem}
.faq-hero-panel{background:linear-gradient(145deg,#eee8fa 0%,#f8f6fc 100%);border-color:#cdbde3}
.faq-content-section{padding-top:1rem}
.faq-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 15rem;gap:.8rem;align-items:center;margin-bottom:.7rem}
.faq-search-field{display:flex;align-items:center;gap:.6rem;min-height:3rem;padding:.25rem .5rem .25rem .9rem;border:1px solid #c7bbdc;border-radius:.8rem;background:#fff;box-shadow:0 5px 18px rgba(61,48,96,.06)}
.faq-search-field>span{color:#7655ad;font-size:1.3rem}
.faq-search-field input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#2b3150;font:inherit}
.faq-search-field input::placeholder{color:#8a91a3}
.faq-search-field button{border:0;border-radius:.55rem;padding:.5rem .7rem;background:#f0e9f7;color:#624592;font-weight:760;cursor:pointer}
.faq-search-field button:hover,.faq-search-field button:focus-visible{background:#e1d4f0}
#faq-category{width:100%;min-height:3rem;border:1px solid #c7bbdc;border-radius:.8rem;background:#fff;color:#2b3150;padding:0 .75rem;font:inherit}
.faq-meta{margin:.45rem 0 1rem;color:#6c7488;font-size:.9rem}
.faq-list{display:grid;gap:.65rem}
.faq-item{border:1px solid #d8d0e5;border-radius:1rem;background:#fff;box-shadow:0 6px 18px rgba(47,38,77,.05);overflow:hidden}
.faq-item summary{display:flex;align-items:center;gap:.8rem;list-style:none;cursor:pointer;padding:1rem 1.1rem;font-weight:760;color:#2b3150}
.faq-item summary::-webkit-details-marker{display:none}
.faq-number{display:grid;place-items:center;flex:0 0 2rem;height:2rem;border-radius:50%;background:#eee8fa;color:#624592;font-size:.78rem;font-weight:850}
.faq-question{flex:1}
.faq-chevron{font-size:1.4rem;line-height:1;color:#7655ad;transition:transform .2s ease}
.faq-item[open] .faq-chevron{transform:rotate(45deg)}
.faq-item[open] summary{background:#f8f5fc}
.faq-answer{padding:0 1.1rem 1rem 4rem;color:#59637a;max-width:75rem}
.faq-answer p{margin:.35rem 0 0;line-height:1.65}
.faq-related{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:.7rem .8rem;border:1px solid #ddd2ed;border-radius:.7rem;background:#faf8fd;color:#6b6380;font-size:.86rem}
.faq-related a{color:#624592;font-weight:800;text-decoration:none;white-space:nowrap}
.faq-related a:hover,.faq-related a:focus-visible{text-decoration:underline}
.faq-empty{padding:2rem;text-align:center;border:1px dashed #c7bbdc;border-radius:1rem;background:#faf8fd;color:#66708a}
.faq-permalink{display:inline-flex;align-items:center;gap:.3rem;margin-top:.8rem;color:#7655ad;font-size:.82rem;font-weight:760;text-decoration:none}
.faq-permalink:hover,.faq-permalink:focus-visible{text-decoration:underline}
.faq-single-page{min-height:100vh;display:flex;flex-direction:column}
.faq-single-page main{width:100%;flex:1;padding-top:2.5rem;padding-bottom:3.5rem}
.faq-single-page>.footer{margin-top:auto}
.faq-single-breadcrumb{display:flex;align-items:center;gap:.55rem;margin-bottom:1.2rem;color:#6c7488;font-size:.9rem}
.faq-single-breadcrumb a{color:#624592;font-weight:760;text-decoration:none}
.faq-single-breadcrumb a:hover,.faq-single-breadcrumb a:focus-visible{text-decoration:underline}
.faq-single-card{max-width:56rem;margin:0 auto;padding:clamp(1.35rem,3vw,2.8rem);border:1px solid #d8d0e5;border-radius:1.4rem;background:#fff;box-shadow:0 14px 38px rgba(47,38,77,.08)}
.faq-single-card h1{margin:.35rem 0 1.2rem;color:#2b3150;line-height:1.14;font-size:clamp(1.7rem,4vw,3rem)}
.faq-single-answer{color:#59637a;font-size:1.03rem;line-height:1.72}
.faq-single-answer p{margin:.85rem 0 0}
.faq-single-related{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.5rem;padding:.85rem 1rem;border:1px solid #ddd2ed;border-radius:.8rem;background:#faf8fd;color:#6b6380;font-size:.9rem}
.faq-single-related a{color:#624592;font-weight:800;text-decoration:none}
.faq-single-related a:hover,.faq-single-related a:focus-visible{text-decoration:underline}
.faq-single-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.5rem}
.faq-single-note{max-width:56rem;margin:1.2rem auto 0;color:#6c7488;text-align:center;font-size:.9rem}
@media (max-width:700px){.faq-single-related{align-items:flex-start;flex-direction:column;gap:.4rem}.faq-single-actions .btn{width:100%;text-align:center}}
.calculator-related{padding-top:2rem;padding-bottom:2rem}
.calculator-related-card{display:block;color:inherit;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}
.calculator-related-card:hover,.calculator-related-card:focus-visible{transform:translateY(-3px);box-shadow:0 12px 28px rgba(67,50,105,.13)}
.calculator-related-card h3{margin:.4rem 0 .8rem;color:#2d3650}
.calculator-related-card .card-link{display:inline-block;color:#624592;font-weight:800}
@media (max-width:760px){
  .calculator-faq-cta{align-items:flex-start;flex-direction:column;gap:1rem}
  .calculator-faq-cta .btn{width:100%;text-align:center}
  .faq-toolbar{grid-template-columns:1fr}
  .faq-item summary{padding:.85rem .8rem;gap:.55rem}
  .faq-answer{padding:0 .8rem .9rem 3.25rem}
  .faq-related{align-items:flex-start;flex-direction:column;gap:.35rem}
}

/* Último ajuste de anchura: las columnas 1fr deben poder encogerse ante títulos largos. */
@media (max-width:560px){
  .home-page .hero,.calculator-hero{grid-template-columns:minmax(0,1fr)!important}
  .home-page .hero>div,.calculator-hero>div,.home-page .hero-panel,.calculator-hero .hero-panel{min-width:0}
  .home-page .hero h1,.calculator-hero h1{width:calc(100vw - 2rem)!important;max-width:calc(100vw - 2rem)!important;min-width:0;white-space:normal!important;overflow-wrap:break-word}
  .home-page .hero .lede,.calculator-hero .lede{width:calc(100vw - 2rem)!important;max-width:calc(100vw - 2rem)!important}
  .home-page .hero-panel,.calculator-hero .hero-panel{width:calc(100vw - 2rem)!important;max-width:calc(100vw - 2rem)!important}
}

/* Mobile header final override: links stay collapsed until the hamburger is opened. */
@media (max-width:900px){
  .site-header .nav{grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center}
  .site-header .locale-tools{grid-column:2;grid-row:1;width:auto!important;max-width:none!important;margin-left:0;justify-self:end;overflow:visible}
  .site-header .mobile-nav-toggle{display:inline-grid;grid-column:3;grid-row:1;place-items:center;width:44px;height:44px;margin:0;padding:0;border:1px solid #b9c9dc;border-radius:50%;background:#f1e8f6;color:#5e3d91;cursor:pointer;box-shadow:0 4px 12px rgba(73,55,104,.12)}
  .site-header .mobile-nav-toggle:hover,.site-header .mobile-nav-toggle:focus-visible{background:#e4d5ee;border-color:#8461b1;outline:2px solid rgba(132,97,177,.28);outline-offset:2px}
  .mobile-nav-toggle-icon{display:grid;gap:4px}
  .mobile-nav-toggle-icon i{display:block;width:18px;height:2px;border-radius:2px;background:currentColor}
  .site-header .nav-links{grid-column:1/-1;grid-row:3;display:none!important;width:100%;margin:0;padding:.35rem 0 .15rem;overflow:visible}
  .site-header .nav.mobile-nav-open .nav-links{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem}
  .site-header .nav.mobile-nav-open .nav-links a{min-width:0;white-space:normal;text-align:center;line-height:1.2;padding:.58rem .35rem;font-size:.8rem}
}
@media (max-width:560px){
  .site-header .nav{grid-template-columns:minmax(0,1fr) 44px 44px!important;gap:.55rem .5rem;padding-left:.85rem;padding-right:.85rem}
  .site-header .locale-tools{justify-self:end}
  .locale-menu summary{width:44px;height:44px;min-height:44px;padding:0!important;display:grid;place-items:center;border-radius:50%;overflow:hidden}
  .locale-menu summary .locale-globe{display:block;font-size:1.22rem;line-height:1;filter:none}
  .locale-menu summary .locale-summary-copy,.locale-menu summary .locale-chevron{display:none!important}
  .site-header .mobile-nav-toggle{width:44px;height:44px}
  .site-header .nav.mobile-nav-open .nav-links{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
}


/* El estilo final del aviso legal prevalece sobre los estilos generales de .hero-panel. */
.hero-panel.legal-hero-panel{background:#11101a!important;border:1px solid #2c2940!important;color:#fff!important;box-shadow:0 16px 38px rgba(17,16,26,.2)}
.hero-panel.legal-hero-panel .panel-top{color:#d7d0e7!important}
.hero-panel.legal-hero-panel .hero-copy{color:#f1edf8!important}
.hero-panel.legal-hero-panel .demo-chip{background:#f0e9f7!important;color:#4f357d!important}

/* Pie de página legal renovado: jerarquía clara y sin la marca repetida. */
.footer{background:#17132b!important;color:#fff!important;border-top:1px solid rgba(255,255,255,.14)!important;padding:3.2rem 0 2.6rem!important}
.footer-grid{grid-template-columns:minmax(0,1.35fr) repeat(2,minmax(0,1fr));gap:3rem;align-items:start}
.footer h3{color:#fff!important;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .8rem}
.footer p,.footer a,.footer span{color:#cbd1e5!important;font-size:.9rem}
.footer a:hover,.footer a:focus-visible{color:#fff!important;text-decoration:underline}
.footer-grid>div:nth-child(3)>h3:not([data-legal-footer-title]),.footer-grid>div:nth-child(3)>span{display:none}
.footer-grid>div:last-child>a[data-legal-back]{display:block;margin:.15rem 0 .9rem;color:#a9b2cc!important;font-size:.82rem}
.legal-links{display:grid;gap:.35rem;margin-top:0;padding-top:0;border-top:0}
.legal-links strong{color:#fff!important;font-size:.84rem;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.25rem}
.legal-links a{color:#cbd1e5!important;font-size:.86rem}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr;gap:1.75rem}.footer{padding:2.5rem 0 2rem!important}}

/* El logo visible y el favicon usan exactamente el mismo SVG. */
.brand-mark{background:transparent!important;padding:0!important;overflow:hidden!important}
.brand-mark img{display:block!important;width:100%;height:100%;object-fit:contain}
.brand-symbol{display:none!important}

/* Restauración del logo anterior de la cabecera; el SVG queda reservado al favicon. */
.brand-mark{background:#8060b8!important;color:#fff!important;padding:0!important;overflow:hidden!important}
.brand-mark img{display:none!important}
.brand-symbol{display:block!important;color:#fff!important;font-size:1.55rem;font-weight:900;line-height:1;transform:translateY(-1px)}

/* Cabecera legal centrada después de retirar el panel informativo lateral. */
.legal-hero{display:block!important;text-align:center!important}
.legal-hero>div{max-width:860px;margin-left:auto!important;margin-right:auto!important}
.legal-hero .lede{margin-left:auto!important;margin-right:auto!important}

/* Menú móvil: panel negro desplegable, independiente del fondo azul del encabezado. */
@media (max-width:900px){
  .site-header .nav-links{
    grid-column:1/-1!important;
    grid-row:3!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    width:calc(100% + 2.4rem)!important;
    max-height:0!important;
    margin:0 -1.2rem!important;
    padding:0 1.2rem!important;
    overflow:hidden!important;
    visibility:hidden!important;
    opacity:0!important;
    transform:translateY(-8px)!important;
    pointer-events:none!important;
    background:#11101a!important;
    border-top:1px solid transparent!important;
    border-bottom:1px solid transparent!important;
    box-shadow:0 14px 26px rgba(17,16,26,.18)!important;
    border-radius:0 0 16px 16px!important;
    transition:max-height .28s ease,opacity .22s ease,transform .28s ease,visibility .28s ease,padding .28s ease,border-color .28s ease!important;
  }
  .site-header .nav.mobile-nav-open .nav-links{
    max-height:22rem!important;
    visibility:visible!important;
    opacity:1!important;
    transform:translateY(0)!important;
    pointer-events:auto!important;
    padding:.45rem 1.2rem .6rem!important;
    border-top-color:rgba(255,255,255,.12)!important;
    border-bottom-color:rgba(255,255,255,.12)!important;
    z-index:2!important;
  }
  .site-header .nav.mobile-nav-open .nav-links a{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    min-height:2.9rem!important;
    width:100%!important;
    padding:.72rem .2rem!important;
    border-bottom:1px solid rgba(255,255,255,.12)!important;
    border-radius:0!important;
    color:#fff!important;
    text-align:left!important;
    font-size:.95rem!important;
    font-weight:700!important;
    line-height:1.2!important;
    white-space:normal!important;
  }
  .site-header .nav.mobile-nav-open .nav-links a:last-child{border-bottom:0!important}
  .site-header .nav.mobile-nav-open .nav-links a:hover,
  .site-header .nav.mobile-nav-open .nav-links a:focus-visible{
    background:rgba(255,255,255,.1)!important;
    color:#fff!important;
    box-shadow:none!important;
    outline:2px solid rgba(255,255,255,.45)!important;
    outline-offset:-2px!important;
  }
}
@media (max-width:560px){
  .site-header .nav-links,
  .site-header .nav.mobile-nav-open .nav-links{
    width:calc(100% + 1.7rem)!important;
    margin-left:-.85rem!important;
    margin-right:-.85rem!important;
  }
  .site-header .nav-links{padding-left:.85rem!important;padding-right:.85rem!important}
  .site-header .nav.mobile-nav-open .nav-links{padding-left:.85rem!important;padding-right:.85rem!important}
}

.faq-noscript{margin-top:1rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink-soft)}.faq-noscript h2{color:var(--ink);font-size:1.1rem;margin:0 0 .4rem}.faq-noscript p{margin:.4rem 0}

/* El icono de la cabecera y el favicon usan exactamente el mismo SVG. */
.brand-mark{background:#8060b8 url("assets/favicon-wattely.svg") center/cover no-repeat!important}
.brand-mark img{display:block!important;width:100%;height:100%;object-fit:cover}
.brand-symbol{display:none!important}

/* El cuadro no ocupa espacio ni muestra un fondo hasta que hay un dato que enseñar. */
.chart-tooltip[hidden]{display:none!important}

/* En móvil, la referencia y su gráfica ocupan un bloque centrado completo. */
@media (max-width:760px){
  .home-page #estimacion{
    width:calc(100% - 1rem)!important;
    max-width:1160px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .home-page #estimacion .section-heading,
  .home-page #estimacion .forecast-card{
    width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* Evita que la cabecera desborde en portátiles y ventanas de escritorio estrechas. */
@media (min-width:901px) and (max-width:1350px){
  .site-header .nav-note{display:none!important}
  .site-header .nav-search{min-width:260px;flex-basis:320px;max-width:430px}
  .site-header .nav-links{gap:.08rem}
  .site-header .nav-links a{padding-left:.5rem;padding-right:.5rem;font-size:.84rem}
  .site-header .locale-tools{flex:0 1 auto;max-width:178px}
}
@media (min-width:901px){html,body{overflow-x:clip}}

/* Ajuste responsive final: únicamente el buscador se encoge en portátiles;
   la marca, los enlaces y el selector mantienen su tamaño y orden. */
@media (min-width:901px){
  .site-header .nav{min-width:0;gap:1.1rem}
  .site-header .brand{flex:0 0 auto}
  .site-header .nav-search{flex:1 1 auto!important;width:auto!important;min-width:120px!important;max-width:360px!important}
  .site-header .nav-links{flex:0 0 auto!important;white-space:nowrap!important;gap:.2rem!important}
  .site-header .nav-links a{font-size:.9rem!important;padding:.5rem .65rem!important}
  .site-header .locale-tools{flex:0 0 auto!important}
}

/* El cuadro mantiene una caja estable; el script solo cambia su posición y
   la limita a los bordes visibles del contenedor. */
.chart-tooltip,.calculator-chart-panel .chart-tooltip{
  transform:none!important;
  width:240px!important;
  min-width:240px!important;
  max-width:240px!important;
  min-height:2.75rem;
  display:grid;
  place-items:center;
  box-sizing:border-box;
  white-space:normal!important;
  overflow-wrap:normal!important;
  text-align:center;
  line-height:1.3;
  z-index:4;
}
@media (max-width:760px){
  .chart-tooltip,.calculator-chart-panel .chart-tooltip{
    width:min(240px,calc(100% - 1rem))!important;
    min-width:min(240px,calc(100% - 1rem))!important;
    max-width:min(240px,calc(100% - 1rem))!important;
  }
}
.line-chart{touch-action:pan-y}

/* La cabecera usa el mismo archivo PNG que el favicon, sin un icono de fondo alternativo. */
.brand-mark{
  background:#8060b8!important;
  padding:0!important;
  overflow:hidden!important;
}
.brand-mark img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.brand-symbol{display:none!important}
