:root{
  --header-h:72px;
  --green-980:#06160a;
  --green-950:#081f0d;
  --green-900:#0d3015;
  --green-800:#145420;
  --green-700:#217c31;
  --yellow:#ffd21a;
  --yellow-2:#efbd00;
  --ink:#112017;
  --muted:#5f6f64;
  --line:#dbe3dd;
  --soft:#f5f8f5;
  --warm:#fbfcfa;
  --white:#fff;
  --container:1220px;
  --shadow-sm:0 10px 26px rgba(8,31,13,.07);
  --shadow-md:0 22px 55px rgba(8,31,13,.11);
  --shadow-lg:0 36px 95px rgba(8,31,13,.16);
  --radius-xl:30px;
  --radius-lg:22px;
  --radius-md:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--warm);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.menu-open,body.modal-open{overflow:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.skip-link{position:fixed;top:-80px;left:16px;z-index:4000;padding:12px 16px;border-radius:12px;background:var(--yellow);color:var(--green-950);font-weight:900}.skip-link:focus{top:16px}

/* Header */
.site-header{position:sticky;top:0;z-index:1500;height:var(--header-h);background:rgba(6,22,10,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;height:46px}.brand img{width:145px;height:auto}
.main-nav{display:flex;align-items:center;gap:24px;color:rgba(255,255,255,.88);font-size:.91rem;font-weight:760}.main-nav>a{transition:.2s}.main-nav>a:not(.nav-cta):not(.nav-wa):hover{color:var(--yellow)}
.nav-wa{display:inline-flex;align-items:center;gap:7px}.nav-wa svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.nav-wa:hover{color:var(--yellow)}
.nav-cta{padding:10px 17px;border-radius:999px;background:var(--yellow);color:var(--green-950)!important;box-shadow:0 10px 24px rgba(255,210,26,.12)}
.nav-toggle{display:none;border:0;background:none;padding:8px}.nav-toggle span{display:block;width:25px;height:2px;background:#fff;margin:6px 0;transition:.25s}

/* Common */
.section{padding:102px 0}
.section-head{display:grid;grid-template-columns:1.06fr .94fr;gap:60px;align-items:end;margin-bottom:46px}
.section-kicker,.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.75rem;letter-spacing:.18em;font-weight:900;text-transform:uppercase;color:var(--green-700)}
.section-kicker:before,.eyebrow:before{content:"";width:28px;height:2px;background:currentColor}
.section-kicker-light{color:var(--yellow)}
.section-head h2,.experience-title h2,.system-correct-copy h2,.energy-flow-copy h2,.projects-head h2,.maintenance-copy h2,.post-sale-copy h2,.coverage-copy h2,.about-copy h2,.faq-intro h2,.quote-copy h2,.gallery-modal-head h2{margin:12px 0 0;font-size:clamp(2.25rem,4vw,4.15rem);line-height:1.03;letter-spacing:-.052em;font-weight:860}
.section-head p,.system-correct-copy p,.energy-flow-copy p,.projects-head p,.maintenance-copy p,.post-sale-copy p,.coverage-copy p,.about-copy p,.faq-intro p,.quote-copy p{margin:0;color:var(--muted);font-size:1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border-radius:999px;border:1px solid transparent;font-weight:860;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s}.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--yellow);color:var(--green-950);box-shadow:0 14px 30px rgba(255,210,26,.16)}.btn-primary:hover{background:#ffe253}
.btn-ghost{background:transparent;color:var(--green-950);border-color:#cfdacf}.btn-ghost:hover{background:#fff}
.text-link{display:inline-flex;align-items:center;gap:10px;margin-top:20px;font-weight:860;color:var(--green-700)}.text-link span{transition:.2s}.text-link:hover span{transform:translateX(4px)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}

/* Hero */
.hero{position:relative;min-height:calc(100svh - var(--header-h));display:flex;align-items:center;overflow:hidden;background:#f8faf7}
.hero-media{position:absolute;right:0;top:0;bottom:0;width:51%;overflow:hidden;background:#cfd9d0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center;animation:heroZoom 16s ease-in-out infinite alternate}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.035)}}
.hero-media-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,22,10,.18),rgba(6,22,10,.02) 42%,rgba(6,22,10,.06)),linear-gradient(0deg,rgba(6,22,10,.10),transparent 45%)}
.energy-sweep{position:absolute;left:-12%;right:-8%;height:3px;background:linear-gradient(90deg,transparent,var(--yellow),transparent);filter:drop-shadow(0 0 8px rgba(255,210,26,.55));opacity:.72;transform:rotate(-8deg);animation:sweep 7s ease-in-out infinite}
.energy-sweep-a{top:62%}.energy-sweep-b{top:67%;opacity:.28;animation-delay:1.2s}
@keyframes sweep{0%,100%{transform:translateX(-5%) rotate(-8deg)}50%{transform:translateX(5%) rotate(-8deg)}}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:49% 51%;align-items:center;width:100%;min-height:calc(100svh - var(--header-h))}
.hero-copy{grid-column:1;max-width:575px;padding:42px 54px 42px 0}
.eyebrow{color:var(--green-700);margin-bottom:18px}
.hero h1{margin:0;font-size:clamp(2.8rem,4.8vw,5rem);line-height:.96;letter-spacing:-.06em;font-weight:890;color:var(--green-950)}
.hero-lead{margin:22px 0 0;color:var(--muted);font-size:clamp(.98rem,1.3vw,1.12rem);max-width:58ch}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:30px;padding-top:20px;border-top:1px solid var(--line)}
.hero-proof>div{padding-right:18px;margin-right:18px;border-right:1px solid var(--line)}.hero-proof>div:last-child{border-right:0;margin-right:0;padding-right:0}
.hero-proof strong{display:block;font-size:1.12rem;line-height:1.1;color:var(--green-900);letter-spacing:-.03em}.hero-proof span{display:block;margin-top:4px;color:var(--muted);font-size:.77rem;line-height:1.35}
.hero-locations{display:flex;align-items:center;gap:10px;margin-top:18px;color:var(--green-800);font-size:.8rem;font-weight:760}.hero-locations i{width:4px;height:4px;border-radius:50%;background:var(--yellow-2)}
.hero-corner-note{position:absolute;z-index:2;right:22px;bottom:18px;padding:8px 13px;border-radius:999px;background:rgba(6,22,10,.72);backdrop-filter:blur(8px);color:var(--yellow);font-size:.78rem;font-weight:850}

/* Experience band */
.experience-band{position:relative;overflow:hidden;color:white;min-height:360px;display:flex;align-items:center;background:var(--green-950)}
.experience-bg{position:absolute;inset:0}.experience-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.34) saturate(.9)}.experience-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,22,10,.86),rgba(6,22,10,.54))}
.experience-content{position:relative;z-index:1;display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center;padding:72px 0}
.experience-title h2{max-width:520px}.experience-numbers{display:grid;grid-template-columns:repeat(3,1fr)}
.experience-numbers>div{padding:8px 28px;border-left:1px solid rgba(255,255,255,.18)}.experience-numbers strong{display:block;color:var(--yellow);font-size:clamp(2.8rem,5vw,4.6rem);line-height:.9;letter-spacing:-.055em}.experience-numbers span{display:block;margin-top:12px;color:rgba(255,255,255,.72);font-size:.88rem;line-height:1.4}

/* Interactive solutions */
.solutions-section{background:#fff}.solutions-stage{display:grid;grid-template-columns:.39fr .61fr;min-height:620px;border:1px solid var(--line);border-radius:var(--radius-xl);overflow:hidden;background:#fff;box-shadow:var(--shadow-sm)}
.solution-selector{display:flex;flex-direction:column;background:#f5f8f5}.solution-tab{display:grid;grid-template-columns:48px 1fr;gap:14px;align-items:center;width:100%;padding:23px 24px;border:0;border-bottom:1px solid #dfe6e0;background:transparent;text-align:left;color:var(--ink);transition:.22s}.solution-tab:last-child{border-bottom:0}.solution-tab:hover{background:#eef4ef}.solution-tab.active{background:var(--green-950);color:#fff}.solution-tab strong{display:block;font-size:1rem}.solution-tab small{display:block;margin-top:3px;color:var(--muted);font-size:.78rem}.solution-tab.active small{color:rgba(255,255,255,.62)}
.tab-icon{width:45px;height:45px;border-radius:13px;display:grid;place-items:center;background:#fff;color:var(--green-800);box-shadow:var(--shadow-sm)}.solution-tab.active .tab-icon{background:rgba(255,210,26,.14);color:var(--yellow)}.tab-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.solution-display{position:relative;min-height:620px;overflow:hidden;background:#dde6de}.solution-display>img{width:100%;height:100%;object-fit:cover;transition:opacity .25s ease,transform .45s ease}.solution-display.is-changing>img{opacity:.35;transform:scale(1.025)}.solution-display:after{content:"";position:absolute;inset:28% 0 0;background:linear-gradient(transparent,rgba(6,22,10,.88))}
.solution-display-overlay{position:absolute;left:34px;right:34px;bottom:32px;z-index:2;color:#fff}.solution-count{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--yellow);color:var(--green-950);font-size:.72rem;font-weight:950}.solution-display-overlay h3{margin:15px 0 8px;font-size:clamp(2rem,3.6vw,3.45rem);letter-spacing:-.045em;line-height:1}.solution-display-overlay p{max-width:690px;margin:0;color:rgba(255,255,255,.78)}.solution-display-overlay a{display:inline-flex;align-items:center;gap:10px;margin-top:18px;color:var(--yellow);font-weight:850}.solution-display-overlay a span{transition:.2s}.solution-display-overlay a:hover span{transform:translateX(4px)}

/* Correct system */
.system-correct-section{background:var(--soft)}.system-correct-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:72px;align-items:center}.system-correct-copy h2 em{font-style:normal;color:var(--green-700)}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px;margin-top:25px}.check-list span{display:flex;align-items:center;gap:10px;font-weight:760;font-size:.9rem}.check-list i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e9f3ea;color:var(--green-700);font-style:normal;font-weight:950}.system-correct-visual{position:relative}.system-correct-visual img{width:100%;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg)}

/* Flow */
.energy-flow-section{padding:100px 0;background:linear-gradient(135deg,var(--green-980),#0e3516);color:#fff;overflow:hidden}.energy-flow-wrap{display:grid;grid-template-columns:.72fr 1.28fr;gap:55px;align-items:center}.energy-flow-copy p{color:rgba(255,255,255,.68);max-width:470px}.flow-diagram{position:relative;min-height:430px}.flow-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.flow-path{fill:none;stroke:rgba(255,210,26,.94);stroke-width:4;stroke-linecap:round;stroke-dasharray:10 13;animation:flowDash 1.6s linear infinite;filter:drop-shadow(0 0 5px rgba(255,210,26,.36))}.flow-path.thin{stroke-width:3;opacity:.68}@keyframes flowDash{to{stroke-dashoffset:-46}}
.flow-node{position:absolute;width:140px;text-align:center}.flow-icon{width:66px;height:66px;margin:0 auto 10px;border-radius:20px;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);color:var(--yellow);backdrop-filter:blur(8px)}.flow-icon svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.flow-node strong{display:block;font-size:1rem}.flow-node span{display:block;margin-top:4px;color:rgba(255,255,255,.57);font-size:.72rem;line-height:1.3}.node-sun{left:2%;top:35%}.node-panel{left:25%;top:35%}.node-inverter{left:50%;top:35%}.node-load{right:2%;top:35%}.node-battery{right:8%;bottom:0}

/* Process */
.process-section{background:#fff}.process-line{position:relative;display:grid;grid-template-columns:repeat(6,1fr);gap:0;padding-top:40px}.process-line:before{content:"";position:absolute;left:7%;right:7%;top:56px;height:2px;background:#dfe6e0}.process-progress{position:absolute;left:7%;top:56px;height:2px;width:0;background:var(--yellow-2);transition:width 1.4s ease}.process-line.is-visible .process-progress{width:86%}.process-line article{position:relative;text-align:center;padding:0 14px}.process-line article>span{position:relative;z-index:2;display:grid;place-items:center;width:34px;height:34px;margin:0 auto 18px;border-radius:50%;background:var(--green-950);color:var(--yellow);font-size:.68rem;font-weight:950;border:5px solid #fff;box-sizing:content-box}.process-line h3{margin:0;font-size:1rem}.process-line p{margin:7px 0 0;color:var(--muted);font-size:.78rem;line-height:1.4}

/* Projects gallery */
.projects-section{background:var(--soft)}.projects-head{display:grid;grid-template-columns:1fr .75fr;gap:60px;align-items:end;margin-bottom:42px}.gallery-mosaic{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:235px 235px;gap:14px}.mosaic-item{position:relative;overflow:hidden;border-radius:20px;background:#dfe8df;box-shadow:var(--shadow-sm)}.mosaic-main{grid-row:1/3}.mosaic-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease,filter .3s}.mosaic-item:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(6,22,10,.75));opacity:.8}.mosaic-item span{position:absolute;z-index:2;left:18px;bottom:15px;color:#fff;font-size:.82rem;font-weight:800}.mosaic-item:hover img{transform:scale(1.035);filter:brightness(.94)}.gallery-more-row{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:22px}.gallery-more-row p{margin:0;color:var(--muted);font-size:.83rem}.gallery-more{border:0;background:none;color:var(--green-700);font-weight:860;padding:8px 0}.gallery-more span{display:inline-block;margin-left:7px;transition:.2s}.gallery-more:hover span{transform:translateX(4px)}

/* Maintenance */
.maintenance-section{display:grid;grid-template-columns:1fr 1fr;min-height:570px;background:var(--green-950);color:#fff}.maintenance-image{overflow:hidden}.maintenance-image img{width:100%;height:100%;object-fit:cover;filter:brightness(.74)}.maintenance-copy{align-self:center;padding:70px max(36px,calc((100vw - var(--container))/2)) 70px 70px}.maintenance-copy h2{max-width:520px}.maintenance-copy p{color:rgba(255,255,255,.68);max-width:540px}.maintenance-items{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 28px}.maintenance-items span{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-size:.8rem;font-weight:760}.maintenance-items svg{width:18px;height:18px;fill:none;stroke:var(--yellow);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Post sale */
.post-sale-section{padding:84px 0;background:#0b2a12;color:#fff}.post-sale-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.post-sale-copy p{color:rgba(255,255,255,.67);max-width:520px}.post-sale-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.post-sale-steps>div{display:flex;align-items:center;gap:12px;padding:20px 18px;border-left:1px solid rgba(255,255,255,.12)}.post-sale-steps>div:first-child{border-left:0}.post-icon{width:45px;height:45px;border-radius:14px;display:grid;place-items:center;background:rgba(255,210,26,.12);color:var(--yellow);flex:0 0 auto}.post-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* Coverage */
.coverage-section{background:#fff}.coverage-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.coverage-copy h2{max-width:560px}.peninsula-map{background:linear-gradient(145deg,#f2f6f2,#fff);border:1px solid var(--line);border-radius:var(--radius-xl);padding:24px;box-shadow:var(--shadow-sm)}.peninsula-map svg{width:100%;height:auto}.map-shape{stroke:#fff;stroke-width:5;transition:.25s}.shape-yuc{fill:#166328}.shape-cam{fill:#0f4720}.shape-qr{fill:#208139}.map-dot{fill:var(--yellow);stroke:#fff;stroke-width:4}.peninsula-map text{font-size:18px;font-weight:800;fill:var(--green-950)}.map-shape:hover{filter:brightness(1.12)}

/* About */
.about-section{background:var(--soft)}.about-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;align-items:center}.about-logo-panel{min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-xl);background:linear-gradient(145deg,#0a2b11,#10461a);box-shadow:var(--shadow-md);padding:36px}.about-logo-panel img{width:min(100%,390px)}.about-logo-panel span{margin-top:8px;color:var(--yellow);font-weight:850}.about-copy blockquote{margin:28px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:1.28rem;font-weight:840;color:var(--green-800);letter-spacing:-.025em}.values-strip{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:44px;padding-top:28px;border-top:1px solid var(--line);font-size:.82rem;font-weight:800;color:var(--green-900)}.values-strip i{width:4px;height:4px;border-radius:50%;background:var(--yellow-2)}

/* FAQ */
.faq-section{background:#fff}.faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}.faq-intro{position:sticky;top:105px}.faq-visual{margin-top:26px;border-radius:20px;overflow:hidden;max-width:420px}.faq-visual img{width:100%;aspect-ratio:16/10;object-fit:cover}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{list-style:none;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:23px 0;cursor:pointer;font-weight:820;font-size:1rem}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{font-size:1.4rem;color:var(--green-700);transition:.2s}.faq-item[open] summary span{transform:rotate(45deg)}.faq-item p{margin:-5px 0 22px;color:var(--muted);font-size:.92rem;max-width:760px}

/* Quote */
.quote-section{padding:100px 0;background:linear-gradient(135deg,var(--green-980),#0e3516);color:#fff}.quote-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:start}.quote-copy p{color:rgba(255,255,255,.68);max-width:480px}.quote-phone{display:flex;flex-direction:column;margin-top:30px}.quote-phone span{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.5);font-weight:850}.quote-phone a{margin-top:4px;color:var(--yellow);font-size:1.65rem;font-weight:880}.social-links{display:flex;gap:10px;margin-top:22px}.social-placeholder{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:#fff}.social-placeholder svg{width:17px;height:17px;fill:currentColor}.social-placeholder:hover{background:rgba(255,255,255,.12)}
.quote-form{background:#fff;color:var(--ink);border-radius:26px;padding:34px;box-shadow:var(--shadow-lg)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.quote-form label{display:block;margin-bottom:16px}.quote-form label>span{display:block;margin-bottom:7px;color:#405045;font-size:.77rem;font-weight:830}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #d8e0d9;background:#fbfcfb;border-radius:14px;padding:14px 15px;outline:none;color:var(--ink);transition:.2s}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{border-color:var(--green-700);box-shadow:0 0 0 4px rgba(33,124,49,.08)}.quote-form textarea{resize:vertical;min-height:110px}.btn-form{width:100%;border:0}.form-note{margin:12px 0 0!important;color:#758176!important;font-size:.72rem!important;line-height:1.45}

/* Footer */
.site-footer{background:#041208;color:#fff;padding:48px 0 24px}.footer-top{display:grid;grid-template-columns:1.5fr .9fr .8fr .9fr;gap:38px}.footer-brand img{width:180px}.footer-brand p{max-width:350px;color:rgba(255,255,255,.54);font-size:.84rem}.footer-col{display:flex;flex-direction:column;gap:8px;color:rgba(255,255,255,.58);font-size:.83rem}.footer-col strong{color:#fff;font-size:.8rem;margin-bottom:8px}.footer-col a:hover{color:var(--yellow)}.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.38);font-size:.71rem}

/* Floating whatsapp */
.floating-wa{position:fixed;right:20px;bottom:20px;z-index:1450;display:flex;align-items:center;gap:8px;padding:12px 15px;border-radius:999px;background:var(--yellow);color:var(--green-950);font-size:.8rem;font-weight:900;box-shadow:0 18px 40px rgba(0,0,0,.2);transition:.2s}.floating-wa:hover{transform:translateY(-3px)}.floating-wa svg{width:21px;height:21px;fill:currentColor}

/* Modal / lightbox */
.lightbox{position:fixed;inset:0;z-index:3000;display:none;place-items:center;padding:24px;background:rgba(0,0,0,.88)}.lightbox.open{display:grid}.lightbox img{max-width:min(92vw,1450px);max-height:88vh;border-radius:16px;box-shadow:0 28px 80px rgba(0,0,0,.4)}.lightbox-close,.gallery-modal-close{position:absolute;right:20px;top:18px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#111;font-size:1.6rem}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.9);font-size:2rem;line-height:1}.lightbox-prev{left:18px}.lightbox-next{right:18px}
.gallery-modal{position:fixed;inset:0;z-index:2900;display:none;padding:24px;background:rgba(6,22,10,.88);backdrop-filter:blur(8px);overflow:auto}.gallery-modal.open{display:block}.gallery-modal-panel{position:relative;width:min(1120px,100%);margin:30px auto;background:#fff;border-radius:28px;padding:28px;box-shadow:var(--shadow-lg)}.gallery-modal-head{display:flex;justify-content:space-between;gap:30px;align-items:start;padding-right:55px}.gallery-modal-head h2{font-size:2.4rem}.gallery-modal-close{position:absolute}.gallery-modal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}.gallery-modal-grid a{display:block;aspect-ratio:1/1;border-radius:16px;overflow:hidden;background:#eef3ee}.gallery-modal-grid img{width:100%;height:100%;object-fit:cover;transition:.3s}.gallery-modal-grid a:hover img{transform:scale(1.035)}
.toast{position:fixed;left:50%;bottom:28px;z-index:4000;transform:translate(-50%,20px);padding:11px 16px;border-radius:999px;background:#fff;color:var(--green-950);box-shadow:var(--shadow-md);font-size:.82rem;font-weight:800;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}

/* Short desktop viewport: keep hero fully visible */
@media (min-width:1000px) and (max-height:800px){
  .hero-copy{padding-top:22px;padding-bottom:22px}.hero h1{font-size:clamp(2.55rem,4.2vw,4.2rem)}.hero-lead{margin-top:16px;font-size:.98rem}.hero-actions{margin-top:20px}.hero-proof{margin-top:20px;padding-top:15px}.hero-locations{margin-top:12px}.hero-corner-note{bottom:10px}
}

@media (max-width:1100px){
  .main-nav{gap:17px;font-size:.86rem}.nav-wa span{display:none}
  .experience-content,.system-correct-grid,.energy-flow-wrap,.coverage-grid,.about-grid,.faq-grid,.quote-grid{gap:42px}
  .solutions-stage{grid-template-columns:.43fr .57fr}
  .projects-head{grid-template-columns:1fr .9fr;gap:35px}
}

@media (max-width:900px){
  :root{--header-h:68px}
  .nav-toggle{display:block;z-index:2}.main-nav{position:fixed;inset:var(--header-h) 0 auto 0;height:calc(100vh - var(--header-h));display:flex;flex-direction:column;align-items:stretch;gap:0;padding:24px;background:var(--green-980);transform:translateX(100%);transition:.3s}.main-nav.open{transform:none}.main-nav>a{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1rem}.nav-wa span{display:inline}.nav-cta{text-align:center;margin-top:14px;border:0}.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
  .section{padding:78px 0}.section-head,.experience-content,.system-correct-grid,.energy-flow-wrap,.projects-head,.coverage-grid,.about-grid,.faq-grid,.quote-grid{grid-template-columns:1fr;gap:28px}
  .hero{display:block;min-height:auto;background:#f7faf7}.hero-media{position:relative;top:auto;right:auto;bottom:auto;width:100%;height:48vh;min-height:350px;order:2}.hero-inner{display:block;min-height:auto}.hero-copy{max-width:none;padding:52px 0 42px}.hero-corner-note{right:16px;bottom:16px}.hero-proof{max-width:620px}
  .experience-numbers{grid-template-columns:repeat(3,1fr)}
  .solutions-stage{grid-template-columns:1fr;min-height:0}.solution-selector{display:grid;grid-template-columns:repeat(2,1fr)}.solution-tab{border-right:1px solid #dfe6e0}.solution-display{min-height:480px}
  .flow-diagram{min-height:500px}.flow-lines{display:none}.flow-node{position:static;width:auto;text-align:left;display:flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1)}.flow-icon{margin:0;width:48px;height:48px;border-radius:14px}.flow-node strong,.flow-node span{display:block}.flow-diagram{display:grid;align-content:center}.node-battery{border-bottom:0}
  .process-line{grid-template-columns:repeat(3,1fr);row-gap:34px}.process-line:before,.process-progress{display:none}.process-line article{padding:0 10px}
  .gallery-mosaic{grid-template-columns:1.5fr 1fr;grid-template-rows:220px 220px 220px}.mosaic-main{grid-row:1/3}.gallery-mosaic .mosaic-item:nth-child(5){grid-column:1/3}.gallery-more-row{align-items:flex-start}
  .maintenance-section{grid-template-columns:1fr}.maintenance-image{height:400px}.maintenance-copy{padding:55px max(28px,calc((100vw - var(--container))/2))}
  .post-sale-wrap{grid-template-columns:1fr;gap:30px}.post-sale-steps>div{border-left:0;border-top:1px solid rgba(255,255,255,.12)}.post-sale-steps>div:first-child{border-top:0}
  .faq-intro{position:static}.faq-visual{max-width:100%}
  .gallery-modal-grid{grid-template-columns:repeat(3,1fr)}
  .footer-top{grid-template-columns:1.4fr 1fr 1fr}.footer-col:last-child{grid-column:2}
}

@media (max-width:620px){
  .container{width:min(calc(100% - 28px),var(--container))}.brand img{width:132px}.section{padding:64px 0}
  .hero-copy{padding:38px 0 32px}.hero h1{font-size:clamp(2.45rem,12vw,3.7rem)}.hero-lead{font-size:.98rem}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.hero-proof{grid-template-columns:1fr 1fr;gap:14px}.hero-proof>div{border-right:0;border-bottom:1px solid var(--line);padding-bottom:12px}.hero-proof>div:last-child{grid-column:1/3;border-bottom:0}.hero-locations{flex-wrap:wrap}.hero-media{height:320px;min-height:0}
  .experience-content{padding:60px 0}.experience-numbers{grid-template-columns:1fr}.experience-numbers>div{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding:18px 0}.experience-numbers>div:first-child{border-top:0}.experience-numbers strong{font-size:3rem}
  .solution-selector{grid-template-columns:1fr}.solution-tab{border-right:0}.solution-display{min-height:430px}.solution-display-overlay{left:22px;right:22px;bottom:22px}.solution-display-overlay h3{font-size:2.2rem}
  .check-list{grid-template-columns:1fr}.system-correct-visual img{border-radius:20px}
  .process-line{grid-template-columns:1fr 1fr}.process-line article{text-align:left}.process-line article>span{margin:0 0 10px}
  .gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:220px 150px 150px}.mosaic-main{grid-column:1/3;grid-row:1}.gallery-mosaic .mosaic-item:nth-child(5){grid-column:auto}.gallery-more-row{flex-direction:column;gap:10px}.gallery-more{padding-left:0}
  .maintenance-image{height:300px}.maintenance-copy{padding:48px 20px}.maintenance-items{gap:8px}
  .post-sale-steps{grid-template-columns:1fr}.post-sale-steps>div{border-top:1px solid rgba(255,255,255,.12);border-left:0}.post-sale-steps>div:first-child{border-top:0}
  .peninsula-map{padding:8px}.peninsula-map text{font-size:14px}
  .about-logo-panel{min-height:320px}.values-strip{gap:10px}.values-strip i{display:none}.values-strip span{padding:8px 11px;border-radius:999px;background:#fff;border:1px solid var(--line)}
  .form-row{grid-template-columns:1fr}.quote-form{padding:24px}.social-links{flex-wrap:wrap}
  .footer-top{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-col:last-child{grid-column:auto}.footer-bottom{flex-direction:column}
  .floating-wa span{display:none}.floating-wa{width:52px;height:52px;padding:0;justify-content:center}
  .gallery-modal{padding:8px}.gallery-modal-panel{margin:8px auto;padding:20px;border-radius:20px}.gallery-modal-grid{grid-template-columns:repeat(2,1fr)}.gallery-modal-head h2{font-size:1.9rem}
  .lightbox-nav{width:40px;height:40px}.lightbox-prev{left:8px}.lightbox-next{right:8px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
