/* Editorial design tokens; loaded after existing functional styles. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,wght@0,300;0,500;0,600;1,300;1,500&family=Manrope:wght@400;500;600;700&family=Space+Grotesk:wght@400;500&display=swap');
:root{--base:#071e1a;--layer:#0b2a25;--layer-high:#103730;--solar:#ffb020;--solar-end:#ff7a18;--mint:#5fe3b0;--ink:#f4f1e8;--muted:#a9c2ba;--cream:#f6f2e7;--display:'Fraunces',Georgia,serif;--ui:'Manrope',sans-serif;--data:'Space Grotesk',monospace}
body{font-family:var(--ui);background-color:var(--base);color:var(--ink)}h1,h2,.intro h1,.hero h1{font-family:var(--display);font-weight:300;letter-spacing:-.055em;line-height:1.03}.hero h1{font-size:clamp(3rem,6.7vw,7.5rem)}h2{font-size:clamp(2.4rem,4.5vw,4.8rem)}.hero h1 em,.intro h1 em{font-family:var(--display);font-weight:300;font-style:italic;background:none;color:var(--mint);position:relative}.hero h1 em::after{content:'';position:absolute;bottom:-.06em;left:0;width:100%;height:1px;background:var(--mint);transform-origin:left;animation:underline-in 1.2s .4s both}.eyebrow,.panel-label{letter-spacing:.18em}.saving,.price,.metrics strong,.solar-counter strong,.steps{font-family:var(--data)}
.button,button.primary,.btn-primary{min-height:48px;background:linear-gradient(115deg,var(--solar),var(--solar-end))!important;color:#241c0b!important;border-color:#ffd48666!important;box-shadow:inset 0 1px #fff7,0 8px 30px #ff9a1822}.button:hover{box-shadow:0 12px 35px #ff9a1840}.button:active{transform:scale(.97)}.button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #a55b00;outline-offset:4px}.sales-actions button:first-child:not(:last-child){background:#ffffff0b!important;color:inherit!important;border:1px solid currentColor!important;box-shadow:none}.button[disabled]{opacity:.7;cursor:wait}.button[disabled]::before{content:'';width:16px;height:16px;border:2px solid #33230944;border-top-color:#332309;border-radius:50%;animation:spin .7s linear infinite;margin-right:8px}
#simulador,#contacto{background:var(--cream);color:#163b31;--ink:#163b31;--muted:#4e685e;--line:#153a3126;--mint:#146b50;border-radius:24px;padding:clamp(24px,4vw,64px);margin-block:70px}#simulador .calculator,#simulador .calc-inputs,#simulador .calc-result,#contacto .contact-card{background:#fffaf0!important;color:#163b31;border-color:#153a3126!important;box-shadow:0 20px 60px #00170d0c}#simulador input:not([type=range]):not([type=checkbox]),#simulador select,#contacto input:not([type=checkbox]),#contacto select{background:#fffdf8;color:#163b31;border:1px solid #526d6055}#simulador :is(p,label,small,.panel-label,.range-labels,.check,.note,.annual,.metrics,.comparison,.result-label),#contacto :is(p,label,small,.eyebrow){color:#496357}#simulador :is(.saving,.metrics strong,.annual strong,.text-link,.example-link,.inline),#contacto :is(.inline,a:not(.button)){color:#155e46}#simulador .invoice-entry{background:#e8eee3;border-color:#acbcac;color:#1b493a}#simulador .bill-input{background:#fffdf8}#simulador .bill-input input{border:0!important}#simulador .form-error,#sales-error{color:#963b1a}#contacto .scenario-ticket{background:#e7edde}#simulador .bar{background:#cad4c7}#simulador .bar i{background:#597961}#simulador .bar.solar i{background:#168261}input[type=range]{accent-color:#ce7a13;min-height:28px}
.header{transition:transform .3s,background .3s}.header:not(.is-scrolled){background:#071e1a99}.header.is-scrolled{background:#071e1af5;box-shadow:0 8px 35px #0002}.hero-copy>*{animation:editorial-enter .85s both}.hero-copy>h1{animation-delay:.12s}.hero-copy>p{animation-delay:.24s}.hero-actions{animation-delay:.35s}.editorial-progress{position:fixed;left:0;top:0;width:100%;height:3px;background:linear-gradient(90deg,#ffb020,#5fe3b0);transform:scaleX(0);transform-origin:left;z-index:1000;pointer-events:none}.intro-sun{position:fixed;inset:0;z-index:2000;pointer-events:none;display:grid;place-items:center;background:#071e1a;animation:intro-away .9s forwards}.intro-sun svg{width:72px;color:#ffb020;animation:editorial-enter .7s both}.solar-arc{height:85px;position:relative;overflow:hidden;border-bottom:1px solid #bfe9d333;background:radial-gradient(ellipse at bottom,#ffb02020,transparent 75%);margin-bottom:20px}.arc-sun{position:absolute;left:calc(50% - 12px);top:15px;width:24px;height:24px;border-radius:50%;background:#ffb020;box-shadow:0 0 28px #ffb02066;transition:transform .6s,opacity .6s}.solar-arc::after{content:'';position:absolute;left:10%;right:10%;top:15px;height:160px;border:1px dashed #bfe9d333;border-radius:50%;pointer-events:none}.report-spark{pointer-events:none;position:absolute;width:5px;height:5px;background:#c78519;border-radius:50%;animation:report-spark .9s forwards}.calc-result{position:relative;overflow:hidden}.project-photo img{transition:transform .8s}.project:hover .project-photo img{transform:scale(1.035)}.faq-list details[open] p{animation:editorial-enter .3s}.faq-list details[open] summary .icon{transform:rotate(90deg)}.faq-list summary .icon{transition:transform .3s}.editorial-cursor{position:fixed;left:-30px;top:-30px;width:28px;height:28px;border:1px solid #ffc46388;border-radius:50%;pointer-events:none;z-index:1900;opacity:0;transition:opacity .2s}.editorial-cursor.over{border-color:#ffb020;background:#ffb02016}.testimonial-grid{overflow-x:auto;scroll-snap-type:x mandatory}.testimonial-grid>article{scroll-snap-align:start}.study-shell .intro h1{font-size:clamp(3rem,6vw,6rem)}.study-shell .card{border-radius:24px}.study-header .logo{font-family:var(--ui)}
@keyframes editorial-enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes underline-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes intro-away{0%,45%{opacity:1}100%{opacity:0;visibility:hidden}}@keyframes report-spark{from{opacity:.8;transform:translate(0,0)}to{opacity:0;transform:translate(var(--sx),var(--sy))}}
@media(max-width:700px){.hero h1{font-size:clamp(3rem,11vw,4.3rem)}#simulador,#contacto{margin-block:35px;padding:24px 18px}.header #nav.open{position:fixed;top:80px;left:0;right:0;height:calc(100dvh - 80px);background:#071e1afa;padding:35px 24px;display:flex;flex-direction:column;justify-content:center;gap:25px}.header #nav.open a{font-family:var(--display);font-size:32px;animation:editorial-enter .4s both}.header #nav.open a:nth-child(2){animation-delay:.05s}.header #nav.open a:nth-child(3){animation-delay:.1s}.header #nav.open a:nth-child(4){animation-delay:.15s}.editorial-cursor{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}.intro-sun,.editorial-cursor{display:none}.header,.arc-sun,.project-photo img,.faq-list summary .icon{transition:none}.hero-copy>*{opacity:1;transform:none}}
/* Native cross-document fade where supported; no navigation interception. */
@view-transition{navigation:auto}::view-transition-old(root){animation:page-out .18s both}::view-transition-new(root){animation:editorial-enter .25s both}@keyframes page-out{to{opacity:0;transform:translateY(-5px)}}
.secondary{min-height:48px;border-radius:999px;background:linear-gradient(90deg,#ffffff12,#ffffff06);border:1px solid #ffffff30;transition:transform .2s}.secondary:hover{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}.secondary{transition:none}}
/* Polished native controls; numeric input retains its validation and value. */
.bill-number-shell{position:relative;flex:1;min-width:0}.bill-number-shell input{width:100%}.bill-number-shell:not(:focus-within) input{color:transparent!important}.bill-number-display{position:absolute;inset:0;display:flex;align-items:center;font-size:40px;line-height:1.2;font-weight:450;letter-spacing:-.05em;pointer-events:none;color:#163b31}.bill-number-shell:focus-within .bill-number-display{visibility:hidden}
.check input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid!important;place-content:center;width:22px!important;height:22px;min-width:22px;min-height:22px;flex:0 0 22px;margin:2px 0 0!important;border:1.5px solid #718d80;border-radius:6px;background:#fffaf0;cursor:pointer}.check input[type=checkbox]::before{content:'';width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0)}.check input[type=checkbox]:checked{background:#17694f;border-color:#17694f}.check input[type=checkbox]:checked::before{transform:rotate(-45deg) scale(1)}.check{min-height:44px;align-items:flex-start}.check input[type=checkbox]:focus-visible{outline:3px solid #d58c21;outline-offset:3px}.solution-panel{align-items:start}#solution-copy{padding-top:0}.energy-time{margin-top:0}
@media(forced-colors:active){.check input[type=checkbox]{appearance:auto}.check input[type=checkbox]::before{display:none}}
