:root {
  --green-950: #03291f;
  --green-900: #063f2e;
  --green-800: #55e051;
  --green-700: #0d6a4a;
  --green-500: #1b9a67;
  --lime: #d8ef54;
  --yellow: #f1f50e;
  --white: #ffffff;
  --cream: #f5f4ed;
  --ink: #10231d;
  --muted: #66756f;
  --line: rgba(10, 56, 42, 0.13);
  --shadow: 0 30px 70px rgba(2, 38, 28, 0.14);
  --radius-xl: 32px;
  --radius-lg: 24px;
  --radius-md: 16px;
  --container: min(1240px, calc(100vw - 48px));
  --ease: cubic-bezier(.2,.75,.25,1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: "DM Sans", sans-serif; color: var(--ink); background: var(--cream); overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
.container { width: var(--container); margin-inline: auto; position: relative; }
.section { padding: 132px 0; }
.section-dark { background: var(--green-950); color: var(--white); }

.page-loader { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; background: var(--green-950); transition: opacity .7s var(--ease), visibility .7s; }
.page-loader.is-hidden { opacity: 0; visibility: hidden; }
.loader-mark { width: min(430px, 84vw); display: flex; flex-direction: column; align-items: stretch; color: white; }
.loader-logo { width: 100%; height: auto; object-fit: contain; }
.loader-line { width: 100%; height: 2px; background: rgba(255,255,255,.12); margin-top: 24px; overflow: hidden; }
.loader-line::after { content:""; display: block; height: 100%; width: 40%; background: var(--yellow); animation: loaderLine 1.25s infinite var(--ease); }
@keyframes loaderLine { from { transform: translateX(-130%); } to { transform: translateX(360%); } }

.cursor-glow { width: 340px; height: 340px; border-radius: 50%; background: radial-gradient(circle, rgba(246,201,69,.11), transparent 66%); position: fixed; z-index: 0; pointer-events: none; transform: translate(-50%,-50%); opacity: 0; transition: opacity .25s; }
.scroll-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 1000; background: transparent; }
.scroll-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--yellow), var(--lime)); }

.site-header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; padding: 22px 0; transition: .35s var(--ease); color: white; }
.site-header.scrolled { padding: 12px 0; background: rgba(3,41,31,.86); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(255,255,255,.08); }
.nav-shell { display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; min-width: 260px; flex: 0 0 auto; }
.brand-logo { width: 100px; height: 210px; object-fit: contain; }
.footer-logo { width: 310px; height: auto; object-fit: contain; }
.nav-links { display: flex; gap: 28px; align-items: center; margin-left: auto; }
.nav-links a { font-size: 14px; color: rgba(255,255,255,.72); position: relative; }
.nav-links a::after { content:""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 1px; background: var(--yellow); transition: right .3s; }
.nav-links a:hover { color: white; }
.nav-links a:hover::after { right: 0; }
.menu-toggle { display:none; background: transparent; border: 0; padding: 8px; }
.menu-toggle span { display:block; width:24px; height:2px; background:white; margin:5px; transition:.3s; }

.button { display: inline-flex; align-items: center; justify-content: center; gap: 11px; min-height: 54px; padding: 0 24px; border-radius: 999px; border: 1px solid transparent; font-weight: 700; font-size: 14px; letter-spacing: .01em; transition: transform .3s var(--ease), box-shadow .3s, background .3s, color .3s; cursor: pointer; }
.button:hover { transform: translateY(-3px); }
.button-primary { background: var(--yellow); color: #1e2b17; box-shadow: 0 12px 32px rgba(246,201,69,.15); }
.button-primary:hover { box-shadow: 0 18px 42px rgba(246,201,69,.28); }
.button-ghost { color: white; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.04); }
.button-ghost:hover { background: rgba(255,255,255,.09); }
.button-dark { background: var(--green-950); color: white; }
.button-small { min-height: 44px; padding: 0 18px; }
.play-dot { width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,.1); display:grid; place-items:center; font-size:9px; }

.hero { min-height: 920px; padding: 174px 0 96px; display: flex; align-items: center; position: relative; overflow: hidden; }
.hero::after { content:""; position:absolute; inset:auto 0 0; height:120px; background:linear-gradient(transparent,rgba(0,0,0,.13)); }
.hero-grid { display:grid; grid-template-columns: .92fr 1.08fr; align-items:center; gap: 72px; z-index: 2; }
.hero-copy { position: relative; z-index:2; }
.eyebrow, .section-label { font-size: 11px; letter-spacing:.18em; text-transform:uppercase; font-weight:700; }
.eyebrow { color:rgba(255,255,255,.62); display:flex; align-items:center; gap:12px; }
.eyebrow span { width:28px; height:1px; background:var(--yellow); }
.hero h1 { font: 800 clamp(62px,7vw,105px)/.92 Manrope,sans-serif; letter-spacing:-.065em; margin:28px 0 30px; max-width:750px; }
.hero h1 em { color:var(--yellow); font-style:normal; }
.hero-intro { max-width:610px; font-size:18px; line-height:1.72; color:rgba(255,255,255,.66); }
.hero-actions { display:flex; gap:14px; margin-top:38px; flex-wrap:wrap; }
.hero-trust { display:flex; gap:34px; margin-top:58px; }
.hero-trust div { display:flex; flex-direction:column; gap:4px; padding-right:28px; border-right:1px solid rgba(255,255,255,.12); }
.hero-trust div:last-child { border:0; }
.hero-trust strong { font:700 24px Manrope,sans-serif; color:white; }
.hero-trust span { font-size:12px; color:rgba(255,255,255,.5); }
.hero-orbit { position:absolute; border:1px solid rgba(255,255,255,.05); border-radius:50%; pointer-events:none; }
.orbit-one { width:900px;height:900px; right:-350px; top:-260px; }
.orbit-two { width:620px;height:620px; right:-120px; top:-130px; }
.hero-noise { position:absolute; inset:0; opacity:.08; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E"); }

.hero-visual { min-height:620px; position:relative; display:grid; place-items:center; }
.glass-card { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); box-shadow:0 40px 90px rgba(0,0,0,.28); backdrop-filter:blur(20px); }
.energy-card { width:min(610px,100%); border-radius:32px; padding:24px; transform-style:preserve-3d; position:relative; }
.energy-card-top { display:flex; justify-content:space-between; align-items:center; font-size:12px; color:rgba(255,255,255,.62); padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.1); }
.status-dot { width:8px;height:8px;border-radius:50%;background:#75e499;display:inline-block;margin-right:8px;box-shadow:0 0 0 5px rgba(117,228,153,.1); }
.live-label { font-size:9px; letter-spacing:.16em; }
.energy-stage { height:390px; position:relative; overflow:hidden; border-radius:22px; background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.01)); margin:18px 0; }
.sun-core { position:absolute; width:150px;height:150px;border-radius:50%;right:-45px;top:-48px;background:radial-gradient(circle,var(--yellow) 0 32%,rgba(246,201,69,.25) 33% 45%,rgba(246,201,69,.08) 46% 65%,transparent 66%); animation:sunSpin 16s linear infinite; }
.sun-core::before,.sun-core::after,.sun-core span::before,.sun-core span::after { content:""; position:absolute; background:rgba(246,201,69,.5); width:2px;height:28px;left:50%;top:-22px;transform-origin:1px 97px; }
.sun-core::after{transform:rotate(45deg)} .sun-core span::before{transform:rotate(90deg)} .sun-core span::after{transform:rotate(135deg)}
@keyframes sunSpin { to{transform:rotate(360deg)} }
.device { position:absolute; z-index:3; border:1px solid rgba(255,255,255,.12); background:rgba(2,35,27,.78); border-radius:16px; box-shadow:0 18px 40px rgba(0,0,0,.17); color:white; }
.device small { display:block; font-size:8px; letter-spacing:.12em; color:rgba(255,255,255,.45); }
.device strong { display:block; font:700 13px Manrope,sans-serif; margin-top:3px; }
.device-panels { left:34px; top:150px; width:145px; padding:12px; }
.panel-grid { height:74px; display:grid; grid-template-columns:repeat(4,1fr); gap:3px; transform:perspective(300px) rotateX(20deg); margin-bottom:8px; }
.panel-grid i { background:linear-gradient(135deg,#1f5566,#0c3140); border:1px solid rgba(133,209,220,.22); }
.device-inverter { width:92px; height:90px; left:calc(50% - 46px); top:88px; padding:14px; text-align:center; }
.power-symbol { width:34px;height:34px;border-radius:10px;display:grid;place-items:center;margin:0 auto 7px;background:rgba(216,239,84,.12);color:var(--lime);font-size:22px; }
.device-battery { left:calc(50% - 52px); bottom:25px; width:104px; padding:12px; }
.battery-level { display:block;height:38px;border:1px solid rgba(255,255,255,.24);border-radius:8px;padding:4px;margin-bottom:8px;position:relative; }
.battery-level::after { content:"";position:absolute;right:-5px;top:12px;width:3px;height:12px;background:rgba(255,255,255,.25);border-radius:0 3px 3px 0; }
.battery-level i { display:block;width:84%;height:100%;background:linear-gradient(90deg,#49ca83,var(--lime));border-radius:4px;animation:batteryPulse 2s infinite; }
@keyframes batteryPulse { 50% { opacity:.72; } }
.device-load { right:32px; top:190px; width:122px; padding:12px; }
.building-icon { display:grid;grid-template-columns:repeat(2,1fr);gap:4px;width:48px;height:45px;background:rgba(255,255,255,.08);padding:7px;border-radius:8px;margin-bottom:8px; }
.building-icon i { background:var(--yellow);opacity:.7;border-radius:2px;animation:windowBlink 3s infinite; }
.building-icon i:nth-child(2){animation-delay:.5s}.building-icon i:nth-child(3){animation-delay:1s}.building-icon i:nth-child(4){animation-delay:1.5s}
@keyframes windowBlink { 50% { opacity:.18; } }
.energy-lines { position:absolute;inset:0;width:100%;height:100%;z-index:2; }
.line-base,.line-flow { fill:none; stroke-width:2; }
.line-base { stroke:rgba(255,255,255,.1); }
.line-flow { stroke:var(--yellow); stroke-dasharray:4 14; stroke-linecap:round; animation:energyMove 1.6s linear infinite; filter:drop-shadow(0 0 6px rgba(246,201,69,.7)); }
.flow-b{animation-delay:.3s}.flow-c{animation-delay:.8s}
@keyframes energyMove { to{stroke-dashoffset:-36} }
.energy-footer { display:grid;grid-template-columns:repeat(3,1fr);gap:8px; }
.energy-footer div { background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07);border-radius:13px;padding:13px; }
.energy-footer span { font-size:9px;color:rgba(255,255,255,.42);display:block; }
.energy-footer strong { font:700 13px Manrope,sans-serif;margin-top:5px;display:block; }
.floating-badge { position:absolute; z-index:4; padding:13px 16px; border-radius:16px; background:white;color:var(--ink);box-shadow:var(--shadow);display:flex;align-items:center;gap:10px;animation:float 4s ease-in-out infinite; }
.floating-badge > span { width:40px;height:40px;border-radius:12px;background:var(--green-900);color:white;display:grid;place-items:center;font-size:12px;font-weight:800; }
.floating-badge small { display:block;font-size:8px;letter-spacing:.11em;color:var(--muted); }
.floating-badge strong { display:block;font:700 13px Manrope,sans-serif;margin-top:2px; }
.badge-one { left:-22px;top:86px; }
.badge-two { right:-20px;bottom:74px;animation-delay:1s; }
@keyframes float { 50%{transform:translateY(-11px)} }
.scroll-cue { position:absolute;left:50%;bottom:30px;z-index:4;transform:translateX(-50%);display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.45); }
.scroll-cue span { width:20px;height:32px;border:1px solid rgba(255,255,255,.24);border-radius:20px;position:relative; }
.scroll-cue span::after { content:"";position:absolute;left:50%;top:6px;width:3px;height:6px;background:var(--yellow);border-radius:3px;transform:translateX(-50%);animation:scrollDot 1.8s infinite; }
@keyframes scrollDot { to{transform:translate(-50%,12px);opacity:0} }

.trust-strip { background:var(--yellow);padding:16px 0;overflow:hidden; }
.trust-row { display:flex;align-items:center;justify-content:space-between;font:800 11px Manrope,sans-serif;letter-spacing:.13em;color:#334124; }
.trust-row i { width:5px;height:5px;border-radius:50%;background:#334124;opacity:.35; }

.section-label { color:var(--green-700); }
.section-dark .section-label, .light .section-label, .contact-section .section-label { color:var(--yellow); }
.kicker { margin:0 0 16px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--green-700); }
.section-dark .kicker,.light .kicker,.contact-section .kicker { color:rgba(255,255,255,.48); }
h2 { font:800 clamp(43px,5vw,72px)/1.04 Manrope,sans-serif;letter-spacing:-.05em;margin:0; }
h2 span { color:var(--green-500); }
.section-dark h2 span,.light h2 span,.contact-section h2 span { color:var(--yellow); }
.intro-grid { display:grid;grid-template-columns:.35fr 1.2fr .65fr;gap:48px;align-items:start; }
.intro-copy h2 { max-width:720px; }
.intro-side { padding-top:54px; }
.intro-side p,.section-heading > p,.process-intro > p,.contact-copy > p { color:var(--muted);line-height:1.8;font-size:16px; }
.text-link { display:inline-flex;align-items:center;gap:14px;margin-top:20px;font-weight:700;font-size:14px;border-bottom:1px solid var(--line);padding-bottom:8px; }
.text-link span { transition:transform .25s; }.text-link:hover span{transform:translateX(5px)}
.metrics-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:90px; }
.metric-card { min-height:210px;background:white;border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 14px 38px rgba(4,48,35,.06);border:1px solid rgba(4,48,35,.06); }
.metric-card strong { font:800 62px Manrope,sans-serif;letter-spacing:-.06em;color:var(--green-900); }
.metric-card span { color:var(--muted);font-size:13px;line-height:1.5;max-width:180px; }
.metric-feature { background:var(--green-900);color:white; }
.metric-feature .metric-icon { width:46px;height:46px;border-radius:50%;background:var(--yellow);color:var(--green-950);display:grid;place-items:center;font-size:19px; }
.metric-feature p { color:rgba(255,255,255,.75);line-height:1.6;margin:0; }

.solutions-section { background:white; }
.section-heading { display:grid;grid-template-columns:1.5fr .5fr;gap:80px;align-items:end;margin-bottom:64px; }
.section-heading > p { margin:0 0 8px; }
.services-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:16px; }
.service-card { min-height:340px;padding:28px;border-radius:var(--radius-lg);border:1px solid var(--line);background:var(--cream);display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .4s var(--ease),box-shadow .4s,border-color .4s; }
.service-card:hover { transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent; }
.service-number { position:absolute;right:24px;top:24px;font:700 10px Manrope,sans-serif;color:var(--muted); }
.service-icon { width:52px;height:52px;border-radius:16px;background:white;display:grid;place-items:center;font-size:22px;color:var(--green-800);box-shadow:0 8px 20px rgba(4,48,35,.07); }
.service-card h3 { font:700 24px Manrope,sans-serif;letter-spacing:-.03em;margin:28px 0 12px; }
.service-card p { color:var(--muted);line-height:1.65;margin:0; }
.service-card a { margin-top:auto;font-weight:700;font-size:13px;display:flex;justify-content:space-between;padding-top:26px;border-top:1px solid var(--line); }
.service-feature { grid-column:span 2;min-height:445px;background:var(--green-900);color:white;display:grid;grid-template-columns:.72fr 1.28fr;align-items:end; }
.service-feature .service-content { position:relative;z-index:2; }
.service-feature .service-icon { background:rgba(255,255,255,.1);color:var(--yellow);box-shadow:none; }
.service-feature p { color:rgba(255,255,255,.6); }
.service-feature a { border-color:rgba(255,255,255,.12); }
.service-feature .service-number { color:rgba(255,255,255,.4); }
.service-visual { position:absolute;right:0;top:0;width:58%;height:100%; }
.solar-roof-visual { background:radial-gradient(circle at 75% 25%,rgba(246,201,69,.28),transparent 25%),linear-gradient(140deg,transparent 35%,rgba(255,255,255,.04)); }
.roof { position:absolute;right:5%;bottom:22%;width:78%;height:28%;background:#17382e;transform:skewY(-8deg);box-shadow:0 25px 45px rgba(0,0,0,.2); }
.roof-panels { position:absolute;right:10%;bottom:30%;width:66%;height:28%;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;transform:skewY(-8deg); }
.roof-panels i { background:linear-gradient(135deg,#274e5d,#0f2f3c);border:1px solid rgba(135,218,230,.17); }
.mini-sun { position:absolute;right:12%;top:14%;width:78px;height:78px;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 15px rgba(246,201,69,.07),0 0 70px rgba(246,201,69,.25); }
.service-dark { background:var(--green-950);color:white; }
.service-dark .service-icon { background:rgba(255,255,255,.08);color:var(--yellow);box-shadow:none; }
.service-dark p { color:rgba(255,255,255,.58); }
.service-dark a { border-color:rgba(255,255,255,.1); }
.service-dark .service-number { color:rgba(255,255,255,.4); }

.projects-section { position:relative;overflow:hidden; }
.projects-section::before { content:"";position:absolute;width:900px;height:900px;border-radius:50%;border:1px solid rgba(255,255,255,.05);left:-480px;top:120px; }
.light > p { color:rgba(255,255,255,.54); }
.project-list { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }
.project-card { border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);overflow:hidden;background:rgba(255,255,255,.04);transition:transform .4s var(--ease),background .4s; }
.project-card:hover { transform:translateY(-8px);background:rgba(255,255,255,.07); }
.project-visual { height:330px;position:relative;overflow:hidden;background:#0b543d; }
.project-capacity { position:absolute;left:24px;bottom:24px;display:flex;align-items:end;gap:11px;color:white; }
.project-capacity strong { font:800 54px/.8 Manrope,sans-serif;letter-spacing:-.06em; }
.project-capacity span { font:700 9px/1.3 Manrope,sans-serif;letter-spacing:.1em;color:rgba(255,255,255,.64); }
.project-pattern { position:absolute;inset:-20%;background:repeating-linear-gradient(125deg,rgba(255,255,255,.08) 0 1px,transparent 1px 34px);transform:rotate(-7deg); }
.project-health::after { content:"+";position:absolute;right:30px;top:22px;font:300 120px Manrope,sans-serif;color:rgba(255,255,255,.08); }
.panel-field { position:absolute;inset:50px 30px;display:grid;grid-template-columns:repeat(4,1fr);gap:7px;transform:perspective(600px) rotateX(57deg) rotateZ(-9deg) scale(1.25); }
.panel-field i { background:linear-gradient(135deg,#295c68,#102e38);border:1px solid rgba(162,226,235,.15); }
.project-chikankata { background:linear-gradient(#d0b942 0 32%,#365b32 32%); }
.project-storage { background:linear-gradient(155deg,#103a31,#08271f); }
.battery-stack { position:absolute;right:40px;top:58px;width:180px;display:flex;flex-direction:column-reverse;gap:6px;transform:perspective(700px) rotateY(-18deg); }
.battery-stack i { height:37px;border-radius:7px;background:linear-gradient(90deg,#e8ebe7,#aeb8b0);box-shadow:0 6px 10px rgba(0,0,0,.2);position:relative; }
.battery-stack i::after { content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#4fda7c;right:12px;top:15px;box-shadow:0 0 8px #4fda7c; }
.project-content { padding:28px;position:relative;min-height:350px;display:flex;flex-direction:column; }
.project-meta { display:flex;justify-content:space-between;color:var(--yellow);font:700 9px Manrope,sans-serif;letter-spacing:.12em; }
.project-meta span:last-child { color:rgba(255,255,255,.38); }
.project-content h3 { font:700 27px/1.15 Manrope,sans-serif;letter-spacing:-.03em;margin:25px 0 12px; }
.project-content p { color:rgba(255,255,255,.58);line-height:1.65;margin:0; }
.project-content ul { list-style:none;padding:0;margin:22px 0 0;color:rgba(255,255,255,.77);font-size:12px; }
.project-content li { padding:9px 0;border-bottom:1px solid rgba(255,255,255,.08); }
.round-link { width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--yellow);color:var(--green-950);margin-top:auto;align-self:flex-end;font-size:20px;transition:transform .3s; }
.round-link:hover { transform:rotate(45deg); }
.project-summary { margin-top:48px;padding-top:35px;border-top:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:.3fr 1.7fr;align-items:center; }
.project-summary > span { font:700 9px Manrope,sans-serif;letter-spacing:.14em;color:rgba(255,255,255,.4); }
.client-list { display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;color:rgba(255,255,255,.35);font:700 16px Manrope,sans-serif;letter-spacing:.07em; }

.process-section { background:var(--yellow); }
.process-grid { display:grid;grid-template-columns:.72fr 1.28fr;gap:100px; }
.process-intro { position:sticky;top:140px;align-self:start; }
.process-intro .section-label,.process-intro .kicker { color:#506027; }
.process-intro h2 span { color:var(--green-900); }
.process-intro > p { color:#5e653f;max-width:510px;margin:28px 0 34px; }
.process-list { border-top:1px solid rgba(37,59,34,.24); }
.process-step { display:grid;grid-template-columns:60px 1fr 42px;gap:20px;align-items:center;padding:31px 0;border-bottom:1px solid rgba(37,59,34,.24);transition:padding .3s; }
.process-step:hover { padding-left:14px; }
.process-step > span { font:700 11px Manrope,sans-serif;color:#687344; }
.process-step h3 { font:700 26px Manrope,sans-serif;margin:0 0 7px; }
.process-step p { margin:0;color:#5e653f;line-height:1.55; }
.process-step i { width:38px;height:38px;border-radius:50%;border:1px solid rgba(37,59,34,.25);display:grid;place-items:center;font-style:normal;transition:.3s; }
.process-step:hover i { background:var(--green-950);color:white;transform:rotate(45deg); }

.why-section { background:white; }
.why-shell { background:var(--cream);border-radius:40px;padding:70px;display:grid;grid-template-columns:.85fr 1.15fr;gap:90px; }
.why-points { display:grid;grid-template-columns:repeat(2,1fr);gap:20px; }
.why-points article { background:white;border-radius:20px;padding:24px;min-height:215px;border:1px solid var(--line); }
.why-points article > span { font:700 10px Manrope,sans-serif;color:var(--green-600); }
.why-points h3 { font:700 20px Manrope,sans-serif;letter-spacing:-.02em;margin:44px 0 10px; }
.why-points p { color:var(--muted);line-height:1.6;margin:0;font-size:13px; }

.contact-section { position:relative;overflow:hidden; }
.contact-glow { position:absolute;width:760px;height:760px;border-radius:50%;background:radial-gradient(circle,rgba(246,201,69,.13),transparent 67%);right:-260px;top:-260px; }
.contact-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:start; }
.contact-copy h2 { font-size:clamp(46px,5vw,70px); }
.contact-copy > p { color:rgba(255,255,255,.58);max-width:560px;margin:28px 0 38px; }
.contact-details { display:grid;gap:14px; }
.contact-details a,.contact-details div { display:flex;flex-direction:column;gap:5px; }
.contact-details small { color:var(--yellow);font-size:9px;letter-spacing:.15em;font-weight:700; }
.contact-details strong { color:white;font-size:14px; }
.contact-form { padding:34px;border-radius:var(--radius-xl);background:rgba(255,255,255,.07); }
.form-row { display:grid;grid-template-columns:repeat(2,1fr);gap:16px; }
.contact-form label { display:block;margin-bottom:17px; }
.contact-form label > span { display:block;color:rgba(255,255,255,.63);font-size:11px;margin-bottom:8px; }
.contact-form input,.contact-form select,.contact-form textarea { width:100%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:white;border-radius:13px;padding:15px 16px;outline:none;transition:border .25s,background .25s; }
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus { border-color:var(--yellow);background:rgba(255,255,255,.09); }
.contact-form input::placeholder,.contact-form textarea::placeholder { color:rgba(255,255,255,.28); }
.contact-form select option { color:var(--ink); }
.contact-form textarea { resize:vertical; }
.contact-form .consent { display:flex;align-items:flex-start;gap:10px;margin:4px 0 22px; }
.contact-form .consent input { width:auto;margin-top:2px;accent-color:var(--yellow); }
.contact-form .consent span { margin:0;font-size:10px;line-height:1.4; }
.contact-form .button { width:100%;border:0; }
.form-status { font-size:12px;color:var(--lime);margin:14px 0 0;text-align:center;min-height:18px; }

.site-footer { background:#021e17;color:white;padding:60px 0 24px; }
.footer-top { display:grid;grid-template-columns:1fr 1.2fr .5fr;align-items:center;gap:30px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.09); }
.footer-nav { display:flex;justify-content:center;gap:24px;font-size:13px;color:rgba(255,255,255,.56); }
.back-top { text-align:right;font-size:12px;color:var(--yellow); }
.footer-bottom { display:flex;justify-content:space-between;gap:20px;padding-top:22px;font-size:10px;color:rgba(255,255,255,.34);letter-spacing:.05em; }

.reveal { opacity:0;transform:translateY(30px);transition:opacity .85s var(--ease),transform .85s var(--ease); }
.reveal.is-visible { opacity:1;transform:none; }
.delay-1 { transition-delay:.12s; }.delay-2{transition-delay:.24s}.delay-3{transition-delay:.36s}

@media (max-width: 1100px) {
  :root { --container:min(100% - 36px, 960px); }
  .nav-links { gap:18px; }
  .hero { min-height:auto;padding-top:150px; }
  .hero-grid { grid-template-columns:1fr;gap:40px; }
  .hero-copy { max-width:760px; }
  .hero-visual { min-height:590px; }
  .energy-card { max-width:670px; }
  .intro-grid { grid-template-columns:.25fr 1fr; }.intro-side{grid-column:2;padding-top:0;max-width:650px;}
  .metrics-grid { grid-template-columns:repeat(2,1fr); }
  .project-list { grid-template-columns:1fr 1fr; }.project-card:last-child{grid-column:span 2;display:grid;grid-template-columns:1fr 1fr}.project-card:last-child .project-visual{height:auto;min-height:380px}
  .process-grid,.contact-grid { gap:55px; }
  .why-shell { padding:50px;gap:50px; }
}

@media (max-width: 850px) {
  .section { padding:95px 0; }
  .nav-cta,.nav-links { display:none; }
  .menu-toggle { display:block;margin-left:auto;position:relative;z-index:102; }
  .nav-links.open { display:flex;position:fixed;inset:0;background:rgba(3,41,31,.97);backdrop-filter:blur(20px);flex-direction:column;align-items:flex-start;justify-content:center;padding:70px 10vw;gap:26px;z-index:101; }
  .nav-links.open a { font:700 34px Manrope,sans-serif;color:white; }
  .menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .menu-toggle.open span:nth-child(2){opacity:0}
  .menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .hero { padding-top:130px; }
  .hero h1 { font-size:clamp(58px,15vw,88px); }
  .hero-trust { flex-wrap:wrap; }
  .trust-row { min-width:760px;justify-content:space-around;animation:ticker 18s linear infinite; }
  @keyframes ticker { to{transform:translateX(-40%)} }
  .section-heading { grid-template-columns:1fr;gap:28px; }
  .services-grid { grid-template-columns:1fr 1fr; }.service-feature{grid-column:span 2;}
  .project-list { grid-template-columns:1fr; }.project-card:last-child{grid-column:auto;display:block}.project-card:last-child .project-visual{height:330px;min-height:0}
  .process-grid,.why-shell,.contact-grid { grid-template-columns:1fr; }
  .process-intro { position:relative;top:0; }
  .why-shell { border-radius:28px; }
  .footer-top { grid-template-columns:1fr; }.footer-nav{justify-content:flex-start;flex-wrap:wrap}.back-top{text-align:left}
}

@media (max-width: 620px) {
  :root { --container:calc(100% - 28px); --radius-xl:24px; }
  .site-header { padding-top:15px; }
  .brand { min-width:0; }
  .brand-logo { width:min(225px, 64vw); }
  .footer-logo { width:min(290px, 82vw); }
  .loader-mark { width:min(340px, 88vw); }
  .hero { padding:115px 0 80px; }
  .hero h1 { font-size:56px; }
  .hero-intro { font-size:16px; }
  .hero-actions { display:grid; }.hero-actions .button{width:100%}
  .hero-trust { gap:18px; }.hero-trust div{padding-right:18px}.hero-trust strong{font-size:20px}
  .hero-visual { min-height:490px;margin-top:10px; }
  .energy-card { padding:14px;border-radius:24px; }
  .energy-stage { height:320px; }
  .device-panels{left:12px;top:130px;width:115px}.device-load{right:10px;top:160px;width:100px}.device-inverter{top:65px}.device-battery{bottom:12px}
  .energy-footer div { padding:10px; }.energy-footer strong{font-size:10px}
  .floating-badge { display:none; }
  .scroll-cue { display:none; }
  .intro-grid { grid-template-columns:1fr; }.intro-side{grid-column:auto}.metrics-grid{grid-template-columns:1fr}.metric-card{min-height:180px}
  h2 { font-size:42px; }
  .services-grid { grid-template-columns:1fr; }.service-feature{grid-column:auto;display:flex;min-height:500px}.service-visual{width:100%;height:55%;opacity:.7}.service-content{margin-top:auto}
  .project-summary { grid-template-columns:1fr;gap:25px; }.client-list{gap:18px}
  .why-shell { padding:28px; }.why-points{grid-template-columns:1fr}
  .form-row { grid-template-columns:1fr;gap:0; }
  .contact-form { padding:22px; }
  .footer-bottom { flex-direction:column; }
}

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