@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');

:root { --navy:#073e34; --ink:#172b27; --muted:#687970; --blue:#087e69; --blue-deep:#042c26; --orange:#c99b42; --orange-soft:#f4ecd9; --paper:#fff; --soft:#f3f6f1; --line:#dce2db; --max:1200px; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:'DM Sans',Arial,sans-serif; line-height:1.5; -webkit-font-smoothing:antialiased; }
body.locked { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
button { cursor:pointer; }
.shell { width:min(calc(100% - 64px),var(--max)); margin-inline:auto; }
.topline { background:var(--navy); color:#dfe5ff; font-size:12px; letter-spacing:.02em; }
.topline__inner { display:flex; justify-content:space-between; gap:24px; padding:9px 0; }
.topline a { color:#fff; font-weight:700; }
.topline a span { color:var(--orange); padding-left:6px; }
.site-header { position:fixed; inset:36px 0 auto; z-index:20; transition:all .3s ease; }
.site-header.scrolled { inset:0 0 auto; background:rgba(255,255,255,.95); backdrop-filter:blur(16px); box-shadow:0 8px 30px rgba(12,22,47,.07); }
.nav-wrap { display:flex; align-items:center; justify-content:space-between; min-height:80px; }
.brand { display:flex; width:150px; align-items:center; }
.brand img { display:block; width:100%; height:auto; mix-blend-mode:multiply; }
.main-nav { display:flex; align-items:center; gap:28px; font-size:14px; font-weight:600; color:#fff; }
.scrolled .main-nav { color:var(--ink); }
.main-nav a { position:relative; opacity:.9; transition:color .2s ease,opacity .2s ease; }
.main-nav a:not(.nav-cta)::after { content:''; position:absolute; left:0; right:100%; bottom:-9px; height:2px; background:var(--orange); transition:right .2s ease; }
.main-nav a:not(.nav-cta):hover,.main-nav a.active { opacity:1; }
.main-nav a:not(.nav-cta):hover::after,.main-nav a.active::after { right:0; }
.nav-cta,.button { display:inline-flex; align-items:center; justify-content:center; gap:10px; border-radius:999px; font-weight:700; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
.nav-cta { padding:13px 18px; background:var(--orange); color:var(--navy); }
.nav-cta:hover,.button:hover { transform:translateY(-2px); box-shadow:0 12px 24px rgba(255,138,0,.22); }
.menu-toggle { display:none; background:transparent; border:0; padding:8px; }
.menu-toggle span { display:block; width:25px; height:2px; background:currentColor; margin:5px; }
.hero { position:relative; min-height:740px; overflow:hidden; background:var(--navy); color:#fff; display:flex; align-items:center; }
.hero__backdrop { position:absolute; inset:0; background:linear-gradient(90deg,rgba(6,11,27,.96) 0%,rgba(7,13,31,.76) 38%,rgba(7,13,31,.22) 100%),url('/images/portfolio/referencia-solar-01.webp') center 58%/cover; transform:scale(1.03); }
.hero::after { content:''; position:absolute; inset:auto 0 0; height:130px; background:linear-gradient(transparent,var(--navy)); opacity:.5; }
.hero__content { position:relative; z-index:1; display:grid; grid-template-columns:1fr 340px; align-items:center; gap:80px; padding-top:80px; }
.eyebrow { display:flex; gap:9px; align-items:center; color:var(--blue); text-transform:uppercase; font-size:11px; font-weight:800; letter-spacing:.13em; }
.eyebrow span { width:22px; height:2px; background:var(--orange); display:inline-block; }
.eyebrow--light { color:#dfe5ff; }
h1,h2,h3 { font-family:'Manrope',Arial,sans-serif; letter-spacing:-.045em; line-height:1.02; margin:0; }
h1 { font-size:clamp(56px,7.1vw,100px); font-weight:800; margin:22px 0 27px; max-width:820px; }
h1 em { color:var(--orange); font-style:normal; }
.hero__lead { max-width:540px; color:#d3d9ec; font-size:18px; margin:0 0 34px; }
.hero__actions { display:flex; align-items:center; gap:30px; }
.button { padding:15px 21px; border:0; }
.button--orange { color:var(--navy); background:var(--orange); }
.button--blue { color:#fff; background:var(--blue); }
.button--full { width:100%; }
.text-link { display:inline-flex; align-items:center; gap:10px; color:var(--blue); font-size:14px; font-weight:700; }
.text-link span { color:var(--orange); transition:transform .2s ease; }
.text-link:hover span { transform:translate(3px,-3px); }
.text-link--light { color:#fff; }
.hero__signal { align-self:end; margin-bottom:80px; display:grid; gap:12px; }
.signal-card { padding:20px 0 20px 20px; border-left:1px solid rgba(255,255,255,.45); display:grid; gap:7px; }
.signal-card__number { color:var(--orange); font-size:12px; font-weight:800; }
.signal-card strong { font-size:18px; font-family:'Manrope'; }
.signal-card span:last-child { color:#c5cbe0; font-size:13px; }
.scroll-cue { position:absolute; z-index:2; left:max(32px,calc((100vw - var(--max))/2)); bottom:28px; color:#cad1e7; font-size:11px; letter-spacing:.08em; text-transform:uppercase; display:flex; gap:12px; align-items:center; }
.scroll-cue span { display:block; width:34px; height:1px; background:var(--orange); }
.section { padding:120px 0; }
.manifesto { background:#fff; }
.manifesto__grid { display:grid; grid-template-columns:1fr minmax(0,680px) 120px; gap:30px; align-items:start; }
.section-kicker { color:var(--muted); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
h2 { font-size:clamp(40px,5vw,66px); font-weight:800; }
.manifesto h2 { max-width:690px; margin-bottom:25px; }
.lead-copy { max-width:625px; font-size:19px; line-height:1.65; color:var(--muted); margin:0 0 28px; }
.manifesto__accent { border-left:1px solid var(--line); padding:15px 0 0 22px; color:var(--orange); }
.manifesto__accent span { font-size:70px; font-family:Georgia; line-height:1; display:block; }
.manifesto__accent small { display:block; margin-top:10px; color:var(--muted); font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.section--soft { background:var(--soft); }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:55px; }
.section-heading h2 { margin-top:16px; max-width:670px; }
.section-heading > p { color:var(--muted); max-width:330px; margin:0 0 5px; line-height:1.7; }
.section-heading--tight { margin-bottom:42px; }
.solution-grid { display:grid; grid-template-columns:1.55fr 1fr 1fr; gap:18px; }
.solution-card { background:#fff; padding:29px; min-height:390px; display:flex; flex-direction:column; align-items:flex-start; transition:transform .3s ease,box-shadow .3s ease; }
.solution-card:hover { transform:translateY(-7px); box-shadow:0 22px 46px rgba(12,22,47,.11); }
.solution-card--featured { padding:0; overflow:hidden; }
.solution-card__visual { min-height:205px; width:100%; background:linear-gradient(180deg,transparent 45%,rgba(3,12,31,.32)),var(--image) center/cover; }
.solution-card__body { padding:25px 29px 28px; }
.card-index { display:block; color:var(--orange); font-weight:800; font-size:12px; margin-bottom:32px; }
.solution-card h3 { font-size:26px; margin-bottom:14px; }
.solution-card p { color:var(--muted); font-size:14px; line-height:1.65; margin:0 0 24px; }
.solution-card .text-link { margin-top:auto; }
.solution-card__icon { color:var(--blue); font-family:Georgia; font-size:48px; line-height:1; margin-bottom:18px; }
.calculator { background:var(--navy); color:#fff; overflow:hidden; position:relative; }
.calculator::before { content:''; position:absolute; width:530px; height:530px; border:1px solid rgba(255,255,255,.08); border-radius:50%; right:-180px; top:-130px; box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018); }
.calculator__grid { position:relative; display:grid; grid-template-columns:1fr 470px; gap:100px; align-items:center; }
.calculator h2 { max-width:550px; margin:20px 0 23px; }
.calculator__intro > p:not(.eyebrow) { color:#cbd2e7; max-width:480px; font-size:17px; line-height:1.65; }
.calculator__note { border-top:1px solid rgba(255,255,255,.2); max-width:450px; margin-top:45px; padding-top:18px; display:flex; gap:12px; color:#9fa8c5; font-size:12px; line-height:1.55; }
.calculator__note span:first-child { flex:0 0 auto; width:18px; height:18px; border:1px solid var(--orange); color:var(--orange); border-radius:50%; text-align:center; line-height:17px; }
.calculator-card { background:#fff; color:var(--ink); padding:30px; box-shadow:0 26px 60px rgba(0,0,0,.22); }
.calculator-card__top { display:flex; justify-content:space-between; text-transform:uppercase; font-size:10px; letter-spacing:.12em; color:var(--muted); margin-bottom:28px; }
.live-dot { color:var(--blue); }
.live-dot i { display:inline-block; width:7px; height:7px; background:#3bc48a; border-radius:50%; margin-right:5px; }
.calculator-card label,.choice-label { display:block; font-size:14px; font-weight:700; margin-bottom:10px; }
.estimate-card { margin:8px 0 24px; padding:20px; background:#f4f2e9; border-left:3px solid #b89958; }
.estimate-card__eyebrow { margin:0 0 14px; color:#8c7650; font-size:9px; font-weight:700; letter-spacing:.14em; }
.estimate-card__results { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.estimate-card__results div { display:grid; gap:5px; }
.estimate-card__results span { color:#65746b; font-size:10px; }
.estimate-card__results strong { color:#173d33; font:600 23px 'Cormorant Garamond',Georgia,serif; }
.estimate-card__results strong b { font-weight:600; }
.estimate-card__note { margin:13px 0 7px; color:#65746b; font-size:10px; line-height:1.55; }
.estimate-card__source { color:#1c5e4a; font-size:10px; font-weight:700; }
.bill-input { display:flex; align-items:center; border-bottom:2px solid var(--ink); padding:3px 0 9px; margin-bottom:24px; }
.bill-input span { color:var(--muted); font-size:14px; }
.bill-input input { border:0; outline:0; background:transparent; color:var(--ink); font-size:36px; font-family:'Manrope'; font-weight:800; width:100%; padding-left:10px; }
.choice-label { color:var(--muted); font-size:12px; margin-bottom:8px; }
.choice-group { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-bottom:24px; }
.choice { background:#f2f4f8; color:var(--muted); border:0; padding:12px 10px; border-radius:5px; font-size:13px; font-weight:700; }
.choice.active { background:var(--orange-soft); color:var(--navy); box-shadow:inset 0 -2px var(--orange); }
.estimate-results { border-top:1px solid var(--line); margin-bottom:24px; }
.estimate-results div { display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:14px 0; border-bottom:1px solid var(--line); }
.estimate-results span { color:var(--muted); font-size:12px; }
.estimate-results strong { font-family:'Manrope'; font-size:17px; }
.cases { background:#fff; }
.case-grid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.case-card { border:1px solid var(--line); background:#fff; }
.case-card__image { height:265px; position:relative; background:var(--image) center/cover; }
.case-card__tag { position:absolute; left:18px; top:18px; color:var(--navy); background:var(--orange); padding:7px 10px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.case-card__body { padding:28px 30px 31px; }
.case-card__eyebrow { color:var(--blue); font-size:11px; font-weight:800; letter-spacing:.09em; text-transform:uppercase; margin:0 0 12px; }
.case-card h3 { font-size:29px; max-width:430px; margin-bottom:24px; }
.case-card__body > p:last-child { color:var(--muted); font-size:14px; line-height:1.65; margin:18px 0 0; }
.case-metrics { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:18px 0; gap:15px; }
.case-metrics div { display:grid; gap:5px; }
.case-metrics strong { font-family:'Manrope'; font-size:17px; }
.case-metrics span { color:var(--muted); font-size:10px; line-height:1.25; }
.source-note { color:var(--muted); font-size:11px; margin:24px 0 0; }
.gallery-tabs { display:flex; gap:24px; border-bottom:1px solid var(--line); margin-bottom:25px; }
.gallery-tab { position:relative; color:var(--muted); background:none; border:0; padding:0 0 14px; font-size:13px; font-weight:700; }
.gallery-tab::after { content:''; position:absolute; left:0; right:100%; bottom:-1px; height:2px; background:var(--orange); transition:right .2s ease; }
.gallery-tab.active { color:var(--ink); }
.gallery-tab.active::after { right:0; }
.gallery-grid { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:190px; gap:12px; }
.gallery-item { border:0; padding:0; background:linear-gradient(180deg,transparent 45%,rgba(0,0,0,.25)),var(--image) center/cover; min-height:0; transition:transform .3s ease,filter .3s ease; }
.gallery-item:hover { transform:scale(.98); filter:saturate(1.16); }
.gallery-item--wide { grid-column:span 2; }
.gallery-item--tall { grid-row:span 2; }
.process { background:#fff; }
.process-line { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; position:relative; }
.process-line::before { content:''; position:absolute; top:19px; left:25px; right:25px; height:1px; background:var(--line); }
.process-step { position:relative; padding-top:55px; }
.process-step::before { content:''; position:absolute; top:13px; left:0; width:12px; height:12px; background:var(--orange); border:5px solid #fff; box-shadow:0 0 0 1px var(--orange); border-radius:50%; }
.process-step span { color:var(--blue); font-size:11px; font-weight:800; }
.process-step h3 { font-size:23px; margin:12px 0; }
.process-step p { color:var(--muted); font-size:14px; line-height:1.65; margin:0; max-width:230px; }
.faq__grid { display:grid; grid-template-columns:1fr 1.25fr; gap:100px; }
.faq__intro h2 { margin:18px 0 20px; }
.faq__intro > p:not(.eyebrow) { color:var(--muted); max-width:370px; line-height:1.65; margin:0 0 26px; }
.faq-list details { border-top:1px solid #dfe2e9; padding:21px 0; }
.faq-list details:last-child { border-bottom:1px solid #dfe2e9; }
.faq-list summary { cursor:pointer; list-style:none; padding-right:35px; font-family:'Manrope'; font-size:17px; font-weight:700; position:relative; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; position:absolute; right:0; color:var(--orange); font-size:25px; font-weight:400; line-height:1; }
.faq-list details[open] summary::after { content:'−'; }
.faq-list details p { color:var(--muted); font-size:14px; line-height:1.65; margin:13px 35px 0 0; }
.contact { background:var(--blue); color:#fff; padding:100px 0; position:relative; overflow:hidden; }
.contact::after { content:'AL'; position:absolute; color:rgba(255,255,255,.035); font:800 330px/1 'Manrope'; right:-20px; bottom:-100px; letter-spacing:-.1em; }
.contact__grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; position:relative; z-index:1; }
.contact h2 { max-width:570px; margin:20px 0; }
.contact__copy > p:last-child { color:#dbe0f4; font-size:17px; line-height:1.65; max-width:480px; }
.contact__actions { display:grid; gap:10px; }
.contact-action { display:grid; grid-template-columns:40px 1fr 20px; align-items:center; gap:13px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.14); padding:17px 18px; transition:background .2s ease,transform .2s ease; }
.contact-action:hover { background:rgba(255,255,255,.16); transform:translateX(5px); }
.contact-action__icon { width:35px; height:35px; border:1px solid rgba(255,255,255,.4); border-radius:50%; display:grid; place-items:center; color:var(--orange); font-weight:800; }
.contact-action span:nth-child(2) { display:grid; gap:3px; }
.contact-action small { color:#cbd2ea; font-size:11px; }
.contact-action strong { font-size:15px; word-break:break-word; }
.contact-action .arrow { color:var(--orange); font-size:20px; }
.site-footer { background:var(--navy); color:#fff; padding:55px 0 25px; }
.footer__top { display:grid; grid-template-columns:1fr 1fr auto; gap:30px; align-items:start; padding-bottom:55px; }
.brand--footer { width:auto; }
.brand-word { font:800 33px/1 'Manrope'; letter-spacing:-.09em; }
.brand-word b { color:var(--orange); font-weight:800; }
.brand--footer + p { color:#9ba6c4; font-size:12px; margin:12px 0 0; }
.footer__links { display:grid; grid-template-columns:repeat(2,max-content); gap:13px 35px; font-size:13px; color:#c4cbe0; }
.footer__links a:hover,.footer__bottom a:hover { color:var(--orange); }
.footer__cta { color:var(--orange); font-size:14px; font-weight:700; }
.footer__bottom { border-top:1px solid rgba(255,255,255,.12); padding-top:20px; display:flex; justify-content:space-between; color:#7f89a6; font-size:11px; }
.footer__bottom a { color:#c4cbe0; }
.floating-whatsapp { position:fixed; z-index:18; right:24px; bottom:24px; display:flex; align-items:center; gap:8px; color:#fff; background:#1dbf73; border-radius:999px; padding:12px 17px 12px 13px; box-shadow:0 10px 22px rgba(4,36,22,.25); font-weight:700; font-size:12px; transition:transform .2s ease; }
.floating-whatsapp:hover { transform:translateY(-3px); }
.floating-whatsapp span { font-size:19px; }
.lightbox { position:fixed; inset:0; z-index:40; background:rgba(5,9,22,.94); display:none; place-items:center; padding:50px; }
.lightbox.open { display:grid; }
.lightbox__image { width:min(1050px,82vw); height:min(720px,76vh); background:center/contain no-repeat; }
.lightbox__close,.lightbox__prev,.lightbox__next { position:absolute; color:#fff; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.25); border-radius:50%; width:42px; height:42px; font-size:24px; }
.lightbox__close { top:22px; right:25px; }
.lightbox__prev { left:25px; top:50%; }
.lightbox__next { right:25px; top:50%; }
.lightbox__caption { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); color:#fff; display:flex; gap:35px; text-transform:uppercase; letter-spacing:.12em; font-size:10px; }
.lightbox__caption strong { color:var(--orange); }
.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
.reveal--delay { transition-delay:.12s; }
.reveal--delay-2 { transition-delay:.22s; }
.reveal--delay-3 { transition-delay:.32s; }
@media (max-width: 980px) { .shell{width:min(calc(100% - 40px),var(--max));}.main-nav{gap:18px}.hero__content{grid-template-columns:1fr 250px;gap:35px}.hero{min-height:680px}.solution-grid{grid-template-columns:1fr 1fr}.solution-card--featured{grid-column:span 2}.calculator__grid{gap:50px}.faq__grid,.contact__grid{gap:50px} }
@media (max-width: 740px) { .shell{width:min(calc(100% - 34px),var(--max));}.topline__inner{font-size:10px}.site-header{inset:32px 0 auto}.nav-wrap{min-height:70px}.brand{width:125px}.menu-toggle{display:block;color:#fff}.scrolled .menu-toggle{color:var(--ink)}.main-nav{position:absolute; display:none; top:66px; left:0; right:0; padding:25px 22px; background:#fff; color:var(--ink); box-shadow:0 20px 30px rgba(12,22,47,.12); flex-direction:column; align-items:stretch; gap:19px}.main-nav.open{display:flex}.nav-cta{text-align:center}.hero{min-height:690px;align-items:end;padding-bottom:60px}.hero__backdrop{background:linear-gradient(90deg,rgba(6,11,27,.94),rgba(7,13,31,.48)),url('/images/portfolio/referencia-solar-01.webp') 58% center/cover}.hero__content{display:block;padding-top:70px}.hero__signal{display:none}.hero__lead{font-size:16px}.hero__actions{align-items:flex-start;flex-direction:column;gap:18px}.scroll-cue{left:17px}.section{padding:78px 0}.manifesto__grid{grid-template-columns:1fr;gap:22px}.manifesto__accent{display:none}.section-heading{display:block;margin-bottom:32px}.section-heading > p{margin-top:20px}.solution-grid,.case-grid,.calculator__grid,.faq__grid,.contact__grid{grid-template-columns:1fr}.solution-card--featured{grid-column:auto}.calculator__grid{gap:45px}.calculator-card{padding:23px}.case-card__image{height:220px}.case-metrics{gap:10px}.case-metrics strong{font-size:14px}.gallery-tabs{gap:17px;overflow:auto}.gallery-tab{white-space:nowrap}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.gallery-item--wide{grid-column:span 2}.gallery-item--tall{grid-row:span 2}.process-line{grid-template-columns:1fr 1fr;gap:34px 20px}.process-line::before{display:none}.contact{padding:78px 0}.footer__top{grid-template-columns:1fr 1fr;gap:35px}.footer__cta{grid-column:span 2}.footer__bottom{gap:15px;flex-wrap:wrap}.floating-whatsapp{right:15px;bottom:15px}.lightbox{padding:20px}.lightbox__image{width:90vw;height:72vh}.lightbox__prev{left:10px}.lightbox__next{right:10px}.lightbox__caption{bottom:13px;gap:17px} }
@media (prefers-reduced-motion: reduce) { html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.nav-cta,.button,.solution-card,.contact-action,.gallery-item{transition:none} }

/* Premium editorial pass */
body { background: #fbfcfe; }
.brand { background:#fff; padding:8px 12px; width:154px; border-radius:2px; box-shadow:0 7px 25px rgba(6,12,30,.13); }
.hero { min-height:780px; }
.hero__backdrop { background:linear-gradient(90deg,rgba(4,9,24,.98) 0%,rgba(6,12,31,.79) 37%,rgba(6,12,31,.10) 100%),url('/images/portfolio/referencia-solar-01.webp') center/cover; }
.hero__backdrop::after { content:''; position:absolute; inset:0; background:linear-gradient(120deg,rgba(255,138,0,.13),transparent 38%,rgba(46,73,189,.14)); mix-blend-mode:screen; }
.hero__gridlines { position:absolute; z-index:1; inset:0; opacity:.18; background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(90deg,#000,transparent 72%); pointer-events:none; }
.hero__badge { position:absolute; z-index:2; top:156px; right:max(32px,calc((100vw - var(--max))/2)); width:77px; height:77px; border:1px solid rgba(255,255,255,.34); border-radius:50%; display:grid; place-items:center; color:#fff; transform:rotate(12deg); }
.hero__badge span { position:absolute; top:18px; font:800 18px/1 'Manrope'; letter-spacing:-.08em; color:var(--orange); }
.hero__badge small { position:absolute; bottom:12px; font-size:7px; line-height:1.15; letter-spacing:.08em; text-align:center; text-transform:uppercase; }
.hero__copy { max-width:760px; }
.hero h1 { text-wrap:balance; }
.signal-card { backdrop-filter:blur(4px); }
.proof-strip { background:var(--navy); color:#fff; border-top:1px solid rgba(255,255,255,.15); border-bottom:1px solid rgba(255,255,255,.15); }
.proof-strip__inner { min-height:112px; display:grid; grid-template-columns:repeat(3,1fr) 1.2fr; align-items:center; gap:35px; }
.proof-strip__inner > div:not(.proof-strip__mark) { display:grid; grid-template-columns:30px 1fr; column-gap:12px; align-items:center; }
.proof-index { grid-row:span 2; color:var(--orange); font-size:11px; font-weight:800; }
.proof-strip strong { font:600 15px/1 'Manrope'; }
.proof-strip small { color:#9aa6c8; font-size:11px; }
.proof-strip__mark { justify-self:end; text-transform:uppercase; letter-spacing:-.06em; font:800 23px/1 'Manrope'; }
.proof-strip__mark span { color:var(--orange); }
.proof-strip__mark b { color:#91a1f2; font-weight:800; }
.statement { background:#f0f3f7; }
.statement__grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(55px,9vw,135px); align-items:center; }
.statement__visual { position:relative; min-height:530px; overflow:hidden; background:var(--navy); }
.statement__visual::after { content:''; position:absolute; inset:0; background:linear-gradient(145deg,rgba(10,16,34,.1),rgba(10,16,34,.64)); }
.statement__visual img { width:100%; height:100%; min-height:530px; display:block; object-fit:cover; }
.statement__caption { position:absolute; z-index:1; left:24px; bottom:22px; color:#fff; text-transform:uppercase; letter-spacing:.12em; font-size:10px; }
.statement__copy h2 { max-width:550px; margin:18px 0 24px; }
.statement__copy > p:not(.eyebrow) { color:var(--muted); font-size:17px; line-height:1.7; max-width:500px; }
.statement__list { border-top:1px solid #d9dfe8; margin-top:32px; }
.statement__list div { display:flex; align-items:center; gap:13px; border-bottom:1px solid #d9dfe8; padding:15px 0; font-size:13px; }
.statement__list span { color:var(--orange); font-size:17px; }
.statement__list strong { font-weight:700; }
.solution-card { border:1px solid transparent; border-top-color:#dfe3ea; }
.solution-card:hover { border-color:var(--orange); border-top-color:var(--orange); }
.case-card { box-shadow:0 10px 30px rgba(19,31,66,.04); transition:transform .3s ease,box-shadow .3s ease; }
.case-card:hover { transform:translateY(-5px); box-shadow:0 24px 50px rgba(19,31,66,.12); }
.gallery-item { position:relative; }
.gallery-item::after { content:'↗'; position:absolute; right:13px; bottom:11px; width:26px; height:26px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.65); border-radius:50%; color:#fff; opacity:0; transform:translateY(5px); transition:opacity .25s ease,transform .25s ease; }
.gallery-item:hover::after { opacity:1; transform:none; }
.gallery-item[hidden] { display:none; }
.floating-whatsapp { border:1px solid rgba(255,255,255,.5); }
@media (max-width:740px) {
  .hero { min-height:720px; }
  .hero__backdrop { background:linear-gradient(90deg,rgba(4,9,24,.94),rgba(6,12,31,.32)),url('/images/portfolio/referencia-solar-01.webp') 62% center/cover; }
  .hero__badge { top:125px; right:18px; width:58px; height:58px; }
  .hero__badge span { top:12px; font-size:15px; }
  .hero__badge small { bottom:8px; font-size:6px; }
  .proof-strip__inner { grid-template-columns:repeat(3,1fr); gap:12px; min-height:105px; }
  .proof-strip__inner > div:not(.proof-strip__mark) { grid-template-columns:1fr; gap:4px; }
  .proof-index { grid-row:auto; }
  .proof-strip strong { font-size:12px; }
  .proof-strip small { font-size:9px; line-height:1.25; }
  .proof-strip__mark { display:none; }
  .statement__grid { grid-template-columns:1fr; gap:42px; }
  .statement__visual,.statement__visual img { min-height:360px; }
}

/* Case-study spotlight */
.cases { background:#fbfcfe; }
.case-grid { gap:24px; }
.case-card { overflow:hidden; border:0; background:#fff; }
.case-card__image { height:335px; background-position:center; }
.case-card__image::after { content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,12,30,.04) 35%,rgba(5,12,30,.68) 100%); }
.case-card__edition { position:absolute; z-index:1; right:20px; top:20px; color:#fff; text-transform:uppercase; letter-spacing:.13em; font-size:9px; }
.case-card__tag { z-index:1; border:1px solid rgba(255,255,255,.35); box-shadow:0 8px 20px rgba(0,0,0,.12); }
.case-card__body { padding:31px 32px 34px; }
.case-card__eyebrow { margin-bottom:14px; }
.case-card h3 { font-size:31px; max-width:440px; }
.case-metrics { background:#fbfcfe; padding:19px 14px; margin-inline:-2px; }
.case-metrics strong { color:var(--navy); }
@media (max-width:740px) { .case-card__image { height:245px; } .case-card__body { padding:25px 22px 27px; } .case-card h3 { font-size:27px; } }

/* Clean wordmark: sharp at every size, no bitmap box */
.brand,
.brand--footer { width:auto; padding:0; background:transparent; border-radius:0; box-shadow:none; }
.brand-word { display:inline-flex; align-items:baseline; white-space:nowrap; font:800 28px/1 'Manrope',Arial,sans-serif; letter-spacing:-.105em; }
.brand-word b { color:var(--orange); font-weight:800; letter-spacing:-.12em; }
.brand-word i { color:var(--blue); font-style:normal; font-weight:800; letter-spacing:-.105em; }
.site-header:not(.scrolled) .brand-word i { color:#b7c4ff; }
.site-footer .brand-word { font-size:34px; }
.site-footer .brand-word i { color:#95a7ff; }
.brand--footer + p { margin-top:14px; }
@media (max-width:740px) { .brand-word { font-size:24px; } .site-footer .brand-word { font-size:29px; } }

/* Verified installation portfolio */
.hero__backdrop { z-index:0; background:none; transform:none; overflow:hidden; }
.hero__backdrop::after { content:''; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,rgba(6,11,27,.94) 0%,rgba(7,13,31,.63) 45%,rgba(7,13,31,.18) 100%); pointer-events:none; }
.hero__backdrop-image { position:absolute; z-index:0; inset:0; background:url('/images/portfolio/referencia-solar-12.webp') center 58%/cover no-repeat; opacity:0; transform:scale(1.03); transition:opacity 1.35s ease; will-change:opacity; }
.hero__backdrop-image--active { opacity:1; }
.gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:clamp(190px,22vw,285px); gap:16px; }
.gallery-item { display:block; overflow:hidden; position:relative; background:#e9edf2; border:0; padding:0; text-align:left; }
.gallery-item::before { content:''; position:absolute; z-index:1; inset:28% 0 0; background:linear-gradient(180deg,transparent 0%,rgba(5,10,24,.72) 100%); pointer-events:none; }
.gallery-item img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease; }
.gallery-item__label { position:absolute; z-index:2; left:19px; right:45px; bottom:18px; color:#fff; font-size:14px; font-weight:700; line-height:1.35; text-shadow:0 2px 12px rgba(0,0,0,.35); }
.gallery-item:hover img,.gallery-item:focus-visible img { transform:scale(1.045); filter:saturate(1.08); }
.gallery-item:focus-visible { outline:3px solid var(--orange); outline-offset:3px; z-index:2; }
.gallery-item::after { z-index:2; right:16px; bottom:16px; }
.footer__top { grid-template-columns:1fr auto; align-items:center; }
.footer__cta { justify-self:end; }
.lightbox__caption { max-width:min(88vw,900px); align-items:center; }
#lightbox-title { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:740px) {
  .hero__backdrop::after { background:linear-gradient(90deg,rgba(6,11,27,.94),rgba(7,13,31,.48)); }
  .hero__backdrop-image { background-position:58% center; }
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:clamp(155px,48vw,230px); gap:10px; }
  .gallery-item__label { left:12px; right:39px; bottom:13px; font-size:12px; }
  .gallery-item::after { right:10px; bottom:10px; width:23px; height:23px; }
  .footer__top { grid-template-columns:1fr auto; }
  .footer__cta { grid-column:auto; }
}
@media (prefers-reduced-motion:reduce) { .hero__backdrop-image { transition:none; } }

/* Althera brand system */
:root { --navy:#073e34; --ink:#172b27; --muted:#62756c; --blue:#087e69; --blue-deep:#042c26; --orange:#c99b42; --orange-soft:#f4ecd9; --soft:#f2f5f0; --line:#dce2db; }
.topline { background:#042c26; }
.topline a span,.eyebrow span,.card-index,.proof-index,.statement__list span,.case-card__edition,.faq-list summary::after,.contact-action .arrow,.lightbox__caption strong { color:#c99b42; }
.main-nav a:not(.nav-cta)::after,.gallery-tab::after,.process-step::before { background:#c99b42; }
.nav-cta,.button--orange,.case-card__tag { background:#c99b42; color:#172b27; }
.button--orange:hover,.nav-cta:hover,.button:hover { box-shadow:0 12px 24px rgba(201,155,66,.22); }
.hero__backdrop { background-color:#042c26; }
.brand { width:auto; gap:11px; }
.althera-mark { width:37px; height:40px; display:grid; place-items:center; color:#f3f6f1; font:800 27px/1 'Manrope',sans-serif; background:linear-gradient(145deg,#c99b42 0 12%,#087e69 13% 48%,#042c26 49%); clip-path:polygon(50% 0,100% 100%,78% 100%,50% 43%,22% 100%,0 100%); }
.brand-word { display:flex; flex-direction:column; gap:4px; letter-spacing:.12em; font:800 14px/1 'Manrope',sans-serif; }
.brand-word b { color:#fff; letter-spacing:.12em; }
.brand-word i { color:#e5c77d; font:700 8px/1 'Manrope',sans-serif; letter-spacing:.36em; }
.site-header.scrolled .brand-word b { color:#073e34; }
.site-header.scrolled .brand-word i { color:#a77a26; }
.site-footer .brand-word b { color:#fff; }
.site-footer .brand-word i { color:#e5c77d; }
.brand--footer .althera-mark { width:35px; height:38px; }
.button--blue { background:#087e69; }
.diagnostic-select,.diagnostic-text { width:100%; height:45px; border:1px solid #dce2db; background:#fff; color:#172b27; padding:10px 12px; margin:0 0 19px; }
.diagnostic-map { display:flex; justify-content:space-between; gap:10px; margin:-7px 0 17px; font-size:12px; }
.diagnostic-map a,.diagnostic-map button { color:#087e69; background:none; border:0; padding:0; font-weight:700; cursor:pointer; }
.map-frame iframe { display:block; width:100%; height:240px; border:0; }
.map-frame small,.form-privacy { display:block; color:#687970; font-size:10px; line-height:1.5; margin:8px 0 16px; }
.contact-config-note { color:#d6e7dc; font-size:12px; line-height:1.7; }
.gallery-item__label { letter-spacing:.01em; }
.source-note { line-height:1.65; }
@media (max-width:740px) { .brand-word { font-size:13px; }.althera-mark { width:31px;height:34px;font-size:22px; }.diagnostic-map { align-items:flex-start; flex-direction:column; }.case-metrics { display:none; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }

/* Althera editorial direction: warm mineral, forest green and quiet gold */
:root { --navy:#153d33; --ink:#1d302a; --muted:#68776e; --blue:#1c5e4a; --blue-deep:#102f28; --orange:#bc9a59; --orange-soft:#e9dfc9; --paper:#f7f6f0; --soft:#efeee6; --line:#d8d8cd; --max:1240px; }
body { color:var(--ink); background:var(--paper); font-family:'DM Sans',Arial,sans-serif; }
h1,h2,h3 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; letter-spacing:-.025em; }
h1 { max-width:780px; font-size:clamp(70px,9vw,126px); line-height:.83; }
h1 em { display:block; color:#dfc78e; font-weight:500; }
h2 { font-size:clamp(42px,6vw,76px); line-height:.92; }
h3 { font-size:34px; }
.shell { width:min(calc(100% - 72px),var(--max)); }
.topline { background:#122f28; color:#e9e5d8; letter-spacing:.03em; }
.topline__inner { padding:11px 0; }
.topline a { font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.site-header:not(.scrolled) { inset:44px 0 auto; }
.nav-wrap { min-height:92px; }
.brand { gap:12px; }
.brand .althera-mark { clip-path:none; display:block; flex:0 0 46px; width:46px; height:46px; object-fit:contain; background:none; color:inherit; font-size:0; }
.brand-word { gap:5px; font:700 15px/1 'DM Sans',Arial,sans-serif; letter-spacing:.18em; }
.brand-word b { letter-spacing:.18em; }
.brand-word i { font:600 8px/1 'DM Sans',Arial,sans-serif; letter-spacing:.48em; }
.brand--footer .althera-mark { flex-basis:48px; width:48px; height:48px; }
.main-nav { gap:24px; font-size:12px; letter-spacing:.02em; }
.nav-cta { border-radius:2px; padding:14px 19px; letter-spacing:.04em; text-transform:uppercase; font-size:10px; }
.hero { min-height:min(920px,100svh); background:#142f28; }
.hero__backdrop::after { background:linear-gradient(90deg,rgba(12,34,29,.97) 0%,rgba(14,43,35,.84) 36%,rgba(14,43,35,.20) 72%,rgba(14,43,35,.04) 100%); }
.hero__backdrop-image { filter:saturate(.8) contrast(1.04); }
.hero__gridlines { opacity:.1; background-size:110px 110px; }
.hero__content { grid-template-columns:minmax(0,1.55fr) minmax(220px,.55fr); gap:8vw; padding-top:90px; }
.hero__copy { max-width:790px; }
.hero .eyebrow { color:#d5cba9; font-size:10px; letter-spacing:.2em; }
.hero__lead { max-width:510px; margin-top:31px; color:#d0d9d2; font-size:17px; line-height:1.8; }
.hero__actions { gap:26px; margin-top:12px; }
.button { border-radius:2px; padding:17px 23px; text-transform:uppercase; font-size:10px; letter-spacing:.1em; }
.button--orange,.nav-cta { background:#c1a265; color:#142f28; }
.text-link { font-size:12px; font-weight:700; letter-spacing:.035em; }
.hero__badge { top:170px; width:90px; height:90px; border-color:rgba(231,213,165,.5); }
.hero__badge span { color:#dec78b; font:700 24px/1 'Cormorant Garamond',Georgia,serif; }
.hero__badge small { color:#e4e0d1; letter-spacing:.14em; }
.hero__signal { border-left:1px solid rgba(231,213,165,.42); padding-left:25px; }
.signal-card { padding:19px 0 23px; border:0; border-bottom:1px solid rgba(231,213,165,.32); background:none; backdrop-filter:none; }
.signal-card__number { color:#d1b87d; font-size:9px; letter-spacing:.17em; }
.signal-card strong { font-family:'Cormorant Garamond',Georgia,serif; font-size:26px; font-weight:600; }
.signal-card > span:last-child { max-width:210px; color:#d1d9d2; font-size:12px; line-height:1.6; }
.scroll-cue { color:#d1d9d2; font-size:9px; letter-spacing:.18em; text-transform:uppercase; }
.scroll-cue span { border-color:#d1b87d; }
.proof-strip { color:var(--ink); background:#e9e6dc; border:0; }
.proof-strip__inner { min-height:126px; grid-template-columns:repeat(3,1fr) 1fr; gap:26px; }
.proof-index { color:#987b42; font:600 12px 'Cormorant Garamond',Georgia,serif; }
.proof-strip strong { font:600 22px/1 'Cormorant Garamond',Georgia,serif; }
.proof-strip small { color:#68776e; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }
.proof-strip__mark { color:#153d33; font:600 34px/1 'Cormorant Garamond',Georgia,serif; letter-spacing:.04em; }
.proof-strip__mark span,.proof-strip__mark b { color:#153d33; }
.manifesto.section,.solutions.section,.process.section { background:#f7f6f0; }
.manifesto__grid { grid-template-columns:.55fr 2.3fr .35fr; gap:6vw; padding-block:30px; }
.section-kicker { color:#8b7446; font-size:10px; letter-spacing:.17em; text-transform:uppercase; }
.manifesto__content h2 { max-width:900px; }
.lead-copy { max-width:690px; color:#64746b; font-size:17px; line-height:1.8; }
.manifesto__accent { border:1px solid #c0a56c; color:#9f844f; border-radius:50%; width:110px; height:110px; align-self:center; }
.manifesto__accent span { font:500 38px 'Cormorant Garamond',Georgia,serif; }
.manifesto__accent small { font-size:8px; letter-spacing:.15em; text-transform:uppercase; }
.statement { background:#ecebe2; }
.statement__grid { grid-template-columns:1.12fr .88fr; gap:9vw; }
.statement__visual,.statement__visual img { min-height:620px; }
.statement__visual { background:#243c31; }
.statement__visual img { filter:saturate(.72); }
.statement__caption { font-size:9px; letter-spacing:.18em; }
.statement__copy h2 { font-size:clamp(44px,5.5vw,70px); }
.statement__copy > p:not(.eyebrow) { color:#68776e; font-size:15px; line-height:1.85; }
.statement__list,.statement__list div { border-color:#cfcec3; }
.statement__list div { padding:17px 0; font-size:12px; }
.section-heading { align-items:end; gap:55px; margin-bottom:54px; }
.section-heading h2 { max-width:680px; }
.section-heading > p { max-width:430px; color:#69776e; font-size:14px; line-height:1.75; }
.solution-grid { grid-template-columns:1.3fr 1fr 1fr; gap:0; border-block:1px solid #c9c8bb; }
.solution-card { padding:27px; border:0; border-right:1px solid #c9c8bb; background:transparent; }
.solution-card:last-child { border:0; }
.solution-card:hover { border-color:#c9c8bb; background:#efeee6; }
.solution-card--featured { grid-column:auto; }
.solution-card__visual { height:210px; margin:-27px -27px 25px; filter:saturate(.75); }
.solution-card__icon { color:#a08245; font-size:32px; margin-bottom:29px; }
.card-index { color:#a08245; font:600 12px 'Cormorant Garamond',Georgia,serif; }
.solution-card h3 { margin:13px 0 11px; }
.solution-card p { color:#69776e; font-size:13px; line-height:1.75; }
.text-link { color:#1c5e4a; }
.calculator.section { background:#173d33; }
.calculator h2 { max-width:580px; font-size:clamp(54px,7vw,90px); }
.calculator__intro > p:not(.eyebrow) { max-width:440px; color:#d3ddd4; font-size:15px; line-height:1.8; }
.calculator__note { border-left-color:#b89958; color:#d3ddd4; }
.calculator-card { border-radius:2px; padding:36px; box-shadow:0 30px 80px rgba(0,0,0,.16); }
.calculator-card__top { color:#8c7650; letter-spacing:.12em; text-transform:uppercase; font-size:9px; }
.calculator-card label { color:#384c42; font-size:11px; letter-spacing:.04em; }
.bill-input,.diagnostic-select,.diagnostic-text { border-radius:0; background:#f7f6f0; border-color:#d9d7cc; }
.bill-input input { font-family:'Cormorant Garamond',Georgia,serif; font-size:30px; }
.diagnostic-map a,.diagnostic-map button { color:#1c5e4a; }
.button--blue { border-radius:2px; background:#1c5e4a; color:#fff; }
.form-privacy { color:#7d867c; }
.gallery.section,.faq.section { background:#ecebe2; }
.gallery-tabs { gap:0; border-bottom:1px solid #c9c8bb; }
.gallery-tab { padding:13px 20px; color:#67756c; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.gallery-tab.active { color:#153d33; }
.gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-rows:clamp(230px,25vw,340px); gap:8px; }
.gallery-item { background:#d8d8cd; }
.gallery-item::before { inset:50% 0 0; background:linear-gradient(180deg,transparent 0%,rgba(12,31,25,.78) 100%); }
.gallery-item img { filter:saturate(.8); }
.gallery-item__label { left:21px; bottom:20px; font:600 21px/1.05 'Cormorant Garamond',Georgia,serif; letter-spacing:0; }
.gallery-item::after { border-radius:0; color:#fff; }
.source-note { max-width:800px; color:#63736a; font-size:11px; }
.process-line { gap:0; border-top:1px solid #c9c8bb; }
.process-line::before { display:none; }
.process-step { padding:23px 24px 8px 0; border-right:1px solid #c9c8bb; }
.process-step:not(:first-child) { padding-left:24px; }
.process-step:last-child { border:0; }
.process-step::before { position:static; display:block; width:28px; height:28px; margin-bottom:26px; border:1px solid #bb9c5d; border-radius:50%; background:#f7f6f0; color:#997d49; content:'↗'; }
.process-step > span { color:#987b42; font:600 11px 'Cormorant Garamond',Georgia,serif; }
.process-step h3 { margin:13px 0; font-size:29px; }
.process-step p,.faq-list details p { color:#68776e; font-size:12px; line-height:1.8; }
.faq-list details { border-color:#c9c8bb; }
.faq-list summary { font:600 25px 'Cormorant Garamond',Georgia,serif; }
.contact { background:#173d33; }
.contact h2 { font-size:clamp(50px,6vw,82px); }
.contact__copy > p:not(.eyebrow):not(.contact-config-note) { color:#d3ddd4; font-size:15px; line-height:1.8; }
.contact__actions { gap:8px; }
.contact-action { border-color:rgba(226,216,190,.25); background:rgba(255,255,255,.045); }
.contact-action:hover { background:rgba(255,255,255,.09); }
.contact-action__icon { border-color:#b99a5c; color:#d8c38f; }
.contact-action strong { font-size:14px; letter-spacing:.02em; }
.site-footer { background:#102f28; color:#f5f2e8; }
.site-footer p,.footer__links { color:#b9c5bc; }
.footer__bottom { color:#aab8ae; border-color:rgba(255,255,255,.15); }
.footer__cta { border-color:#c0a36a; color:#d8c38f; }
.floating-whatsapp { border:1px solid #ece6d5; border-radius:2px; padding:14px 18px; font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:980px) {
  .shell { width:min(calc(100% - 44px),var(--max)); }
  h1 { font-size:clamp(64px,10vw,94px); }
  .hero__content { grid-template-columns:1fr 230px; }
  .solution-grid { grid-template-columns:1fr 1fr; }
  .solution-card:first-child { grid-column:span 2; border-right:0; border-bottom:1px solid #c9c8bb; }
}
@media (max-width:740px) {
  .shell { width:min(calc(100% - 34px),var(--max)); }
  .site-header:not(.scrolled) { inset:32px 0 auto; }
  .nav-wrap { min-height:74px; }
  .hero { min-height:780px; }
  .hero__backdrop::after { background:linear-gradient(90deg,rgba(12,34,29,.91),rgba(14,43,35,.4)); }
  .hero__content { padding-top:110px; }
  h1 { font-size:clamp(60px,16vw,88px); }
  .hero__lead { max-width:400px; font-size:15px; }
  .hero__signal { display:none; }
  .hero__badge { top:118px; right:18px; width:60px; height:60px; }
  .hero__badge span { font-size:17px; top:11px; }
  .hero__badge small { bottom:8px; font-size:5px; }
  .proof-strip__inner { min-height:102px; grid-template-columns:repeat(3,1fr); gap:11px; }
  .proof-strip__inner > div:not(.proof-strip__mark) { grid-template-columns:1fr; gap:6px; }
  .proof-strip strong { font-size:18px; }
  .proof-strip small { font-size:8px; }
  .proof-strip__mark { display:none; }
  .manifesto__grid { grid-template-columns:1fr; gap:20px; padding:0; }
  .manifesto__accent { display:none; }
  .statement__grid { gap:38px; }
  .statement__visual,.statement__visual img { min-height:390px; }
  .solution-grid { grid-template-columns:1fr; }
  .solution-card,.solution-card:first-child { grid-column:auto; border-right:0; border-bottom:1px solid #c9c8bb; }
  .solution-card:last-child { border-bottom:0; }
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:clamp(160px,49vw,240px); gap:7px; }
  .gallery-item__label { left:11px; right:11px; bottom:12px; font-size:16px; }
  .gallery-item::after { display:none; }
  .process-line { grid-template-columns:1fr 1fr; gap:23px 0; }
  .process-step:nth-child(odd) { padding-left:0; border-right:1px solid #c9c8bb; }
  .process-step:nth-child(even) { padding-left:17px; border-right:0; }
  .process-step p { padding-right:9px; }
  .contact__grid { gap:35px; }
  .contact-action { grid-template-columns:34px 1fr 17px; gap:10px; padding:14px 12px; }
  .contact-action strong { font-size:12px; }
  .floating-whatsapp { right:12px; bottom:12px; padding:12px 14px; }
}

/* Interactive solar flow demo */
.energy-demo { padding:120px 0; background:#e9e7dc; }
.energy-demo__layout { display:grid; grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr); column-gap:clamp(45px,7vw,100px); row-gap:25px; align-items:center; }
.energy-demo__intro .eyebrow { color:#8f784b; font-size:10px; letter-spacing:.16em; }
.energy-demo__intro h2 { margin:22px 0; color:#173d33; font-size:clamp(56px,7vw,90px); }
.energy-demo__intro h2 em { color:#9c7f47; font-style:normal; }
.energy-demo__intro > p:not(.eyebrow) { max-width:420px; color:#65746b; font-size:14px; line-height:1.8; }
.energy-demo__stamp { display:inline-flex; align-items:center; gap:9px; margin-top:24px; color:#475a4e; font-size:10px; letter-spacing:.1em; text-transform:uppercase; }
.energy-demo__stamp i,.energy-board__mode i { width:7px; height:7px; border-radius:50%; background:#c1a265; }
.energy-board { min-width:0; overflow:hidden; border:1px solid rgba(225,218,194,.2); border-radius:4px; background:#112d26; box-shadow:0 30px 80px rgba(21,61,51,.18); color:#f5f2e8; }
.energy-board__top { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:22px 25px; border-bottom:1px solid rgba(225,218,194,.14); }
.energy-board__top > div { display:grid; gap:6px; }
.energy-board__top > div span { color:#bda56e; font-size:8px; letter-spacing:.2em; }
.energy-board__top > div strong { font:600 21px 'Cormorant Garamond',Georgia,serif; }
.energy-board__mode { display:flex; align-items:center; gap:8px; color:#d7d4c9; font-size:8px; letter-spacing:.16em; }
.energy-board__mode i { background:#879b73; }
.energy-map { position:relative; width:100%; aspect-ratio:1000/640; min-height:330px; max-height:450px; background:radial-gradient(ellipse at center,rgba(60,106,82,.18),transparent 62%),linear-gradient(rgba(226,215,181,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(226,215,181,.035) 1px,transparent 1px); background-size:auto,36px 36px,36px 36px; }
.energy-map__wires { position:absolute; inset:0; width:100%; height:100%; overflow:visible; }
.energy-wire { fill:none; stroke-width:2; stroke-linecap:round; stroke-dasharray:5 8; animation:energy-flow 3.6s linear infinite; }
.energy-wire--solar { stroke:#d7bd7e; }
.energy-wire--grid { stroke:#80bcb0; animation-duration:4.4s; }
.energy-wire--home { stroke:#aabf8f; animation-duration:4.1s; }
.energy-pulse { fill:#f0d693; filter:drop-shadow(0 0 6px currentColor); }
.energy-pulse--solar { color:#edcf7f; fill:#edcf7f; }
.energy-pulse--grid { color:#7bc0b3; fill:#7bc0b3; }
.energy-pulse--home { color:#b5c996; fill:#b5c996; }
@keyframes energy-flow { to { stroke-dashoffset:-52; } }
.energy-node { position:absolute; z-index:2; display:grid; justify-items:center; align-content:center; gap:5px; width:154px; height:154px; padding:12px; border:1px solid rgba(233,220,183,.42); border-radius:50%; background:#f7f6f0; color:#18392f; text-align:center; box-shadow:0 8px 28px rgba(0,0,0,.2); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
button.energy-node { cursor:pointer; }
.energy-node:hover,.energy-node.is-selected { transform:translateY(-3px); border-color:#d8bf82; box-shadow:0 0 0 5px rgba(216,191,130,.12),0 15px 35px rgba(0,0,0,.27); }
.energy-node:focus-visible { outline:3px solid #e4c77f; outline-offset:4px; }
.energy-node--solar { top:1%; left:50%; transform:translateX(-50%); }
.energy-node--solar:hover,.energy-node--solar.is-selected { transform:translate(-50%,-3px); }
.energy-node--grid { top:58%; left:17%; transform:translate(-50%,-50%); }
.energy-node--home { top:58%; left:83%; transform:translate(-50%,-50%); border:2px solid #d0b16a; background:#f1ead7; }
.energy-node--inverter { top:58%; left:50%; transform:translate(-50%,-50%); border:2px solid #c5a45f; background:radial-gradient(circle at 35% 24%,#2e5543,#16372e 72%); color:#fffaf0; }
.energy-node--inverter:hover,.energy-node--inverter.is-selected { transform:translate(-50%,calc(-50% - 3px)); border-color:#e0c27e; }
.energy-node--grid:hover,.energy-node--grid.is-selected,.energy-node--home:hover,.energy-node--home.is-selected { transform:translate(-50%,calc(-50% - 3px)); }
.energy-node__icon { color:#a58950; font:500 24px/1 'DM Sans',Arial,sans-serif; }
.energy-node__inverter-icon { width:28px; height:28px; margin-bottom:1px; stroke:#d8bf82; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.25; }
.energy-node small { color:#758177; font-size:7px; font-weight:700; letter-spacing:.14em; }
.energy-node--inverter small { color:#d6c391; }
.energy-node strong { font:600 19px/1 'Cormorant Garamond',Georgia,serif; }
.energy-node--solar strong { font-size:29px; }
.energy-node--inverter strong { font:600 21px/1 'Cormorant Garamond',Georgia,serif; }
.energy-node strong i { font:500 12px 'DM Sans',Arial,sans-serif; }
.energy-node em { color:#869087; font-size:8px; font-style:normal; }
.energy-node--inverter em { color:#c4d1c7; }
.energy-inspiration { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:6px 22px; padding:16px 24px; border-top:1px solid rgba(225,218,194,.14); color:#f6f2e7; }
.energy-inspiration__eyebrow { display:flex; align-items:center; gap:8px; color:#d5bf87; font-size:7px; font-weight:700; letter-spacing:.16em; }
.energy-inspiration__eyebrow > span { color:#b9c59e; font-size:15px; }
.energy-inspiration__quote { min-height:0; margin:0; color:#fffdf5; font:500 clamp(19px,2vw,24px)/1.08 'Cormorant Garamond',Georgia,serif; transition:opacity .3s ease,transform .3s ease; }
.energy-inspiration__quote.is-changing { opacity:0; transform:translateY(5px); }
.energy-inspiration__next { grid-column:2; grid-row:1 / span 2; display:flex; align-items:center; justify-content:space-between; gap:14px; min-width:94px; padding:10px 0 10px 14px; border:0; border-left:1px solid rgba(255,255,255,.16); background:none; color:#d7d4c9; cursor:pointer; font:700 7px 'DM Sans',Arial,sans-serif; letter-spacing:.13em; text-align:left; }
.energy-inspiration__next span:last-child { color:#d5bf87; font-size:13px; transition:transform .2s ease; }
.energy-inspiration__next:hover span:last-child { transform:translate(2px,-2px); }
.energy-inspiration__next:focus-visible { outline:2px solid #e4c77f; outline-offset:4px; }
.energy-inspiration__count { display:none; }
.energy-inspiration__count b { color:#d5bf87; }
.energy-board__detail { display:grid; grid-template-columns:60px 1fr auto; align-items:center; gap:14px; padding:17px 24px; border-top:1px solid rgba(225,218,194,.14); }
.energy-board__detail-index { color:#c4a767; font:600 12px 'Cormorant Garamond',Georgia,serif; }
.energy-board__detail strong { font:600 17px 'Cormorant Garamond',Georgia,serif; }
.energy-board__detail p { max-width:390px; margin:5px 0 0; color:#b9c6bb; font-size:10px; line-height:1.55; }
.energy-board__detail-hint { color:#b9c6bb; font-size:8px; letter-spacing:.07em; white-space:nowrap; }
.energy-demo__note { grid-column:2; max-width:700px; margin:0; color:#6e7a70; font-size:10px; line-height:1.7; }
.energy-board[data-active-node="solar"] .energy-wire--solar,.energy-board[data-active-node="grid"] .energy-wire--grid,.energy-board[data-active-node="home"] .energy-wire--home,.energy-board[data-active-node="inverter"] .energy-wire { stroke-width:4; }
.energy-board__route { color:#d7d4c9; font-size:7px; letter-spacing:.12em; white-space:nowrap; }
.energy-board__route b { padding:0 4px; color:#c9ad70; }
.floating-whatsapp { gap:10px; border:1px solid rgba(255,255,255,.72); border-radius:999px; padding:14px 20px 14px 16px; background:#1fae70; color:#fff; box-shadow:0 12px 30px rgba(6,28,19,.32); font-size:10px; letter-spacing:.09em; text-transform:uppercase; }
.floating-whatsapp:hover { background:#188f5b; transform:translateY(-3px); }
.floating-whatsapp svg { display:block; flex:0 0 21px; width:21px; height:21px; }
.hero__backdrop::after { background:linear-gradient(90deg,rgba(4,17,12,.97) 0%,rgba(7,24,17,.9) 44%,rgba(8,25,18,.72) 76%,rgba(8,25,18,.62) 100%),linear-gradient(0deg,rgba(4,17,12,.45),rgba(4,17,12,.3)); }
.hero__backdrop-image { filter:saturate(.75) contrast(1.08); }
.hero h1,.hero__lead { text-shadow:0 2px 20px rgba(0,0,0,.55); }
.hero .eyebrow { color:#fff4d5; text-shadow:0 1px 12px rgba(0,0,0,.7); }
.hero__lead { color:#fff; }
.hero .text-link--light { color:#fff; text-shadow:0 1px 10px rgba(0,0,0,.6); }
@media (max-width:980px) {
  .energy-demo__layout { grid-template-columns:1fr; }
  .energy-demo__intro { max-width:620px; }
  .energy-demo__note { grid-column:1; }
}
@media (max-width:740px) {
  .energy-demo { padding:82px 0; }
  .energy-demo__intro h2 { font-size:58px; }
  .energy-board__top { padding:17px; }
  .energy-map { min-height:320px; aspect-ratio:auto; height:380px; }
  .energy-node { width:clamp(88px,20vw,122px); height:clamp(88px,20vw,122px); padding:8px 5px; gap:4px; }
  .energy-node--solar { width:clamp(98px,21.5vw,132px); height:clamp(98px,21.5vw,132px); }
  .energy-node--grid { left:17%; }
  .energy-node--home { left:83%; }
  .energy-node small { font-size:6px; }
  .energy-node strong { font-size:16px; }
  .energy-node--solar strong { font-size:26px; }
  .energy-node em { font-size:7px; }
  .energy-inspiration { gap:5px 12px; padding:14px 17px; }
  .energy-inspiration__eyebrow { grid-column:1; font-size:6px; }
  .energy-inspiration__eyebrow > span { font-size:12px; }
  .energy-inspiration__quote { grid-column:1; min-height:0; margin:4px 0 0; font-size:19px; }
  .energy-inspiration__next { min-width:75px; padding-left:10px; font-size:6px; }
  .energy-board__detail { grid-template-columns:44px 1fr; gap:9px; padding:14px; }
  .energy-board__detail-hint { display:none; }
  .energy-board__route { display:none; }
  .energy-demo__note { font-size:9px; }
  .floating-whatsapp { right:14px; bottom:14px; padding:12px 15px 12px 12px; font-size:9px; }
  .floating-whatsapp svg { width:19px; height:19px; flex-basis:19px; }
}
@media (prefers-reduced-motion:reduce) {
  .energy-wire { animation:none; stroke-dasharray:none; }
  .energy-pulse { display:none; }
  .energy-inspiration__quote,.energy-inspiration__next span:last-child { transition:none; }
}
