:root{
  --paper:#f8faf7;--cream:#eef2e8;--ink:#1a3020;--muted:#5a6b52;
  --line:#cdd7c4;--lime:#c8dca0;--green:#6b8a5a;--dark:#132218;
  --glow:#a8d07a;--warm:#e8f0dc;--radius:12px;--font:-apple-system,"Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit;text-decoration:none}
button,input,select,summary{font:inherit;cursor:pointer;border:none;background:none}
svg{display:block}

/* SKIP LINK */
.skip{position:absolute;top:-100%;left:24px;padding:12px 20px;background:var(--lime);color:var(--ink);font-weight:700;z-index:100;border-radius:6px;transition:top .2s}
.skip:focus{top:12px}

/* PREVIEW BAR */
.preview-bar{background:#e3ecda;color:#5a6b52;font-size:11px;text-align:center;padding:8px 16px;letter-spacing:.5px;display:flex;align-items:center;justify-content:center;gap:10px;border-bottom:1px solid var(--line)}
.preview-bar b{font-weight:700}

/* MASTHEAD — CENTERED CLD */
.masthead{height:88px;display:flex;align-items:center;padding:0 6%;gap:40px;border-bottom:1px solid var(--line);background:#f8faf7e6;backdrop-filter:blur(8px);position:sticky;top:0;z-index:50}
.brand{display:flex;align-items:center;gap:12px;flex:0 0 auto}
.emblem{width:38px;height:38px;border-radius:10px;background:var(--dark);border:2px solid var(--line)}
.emblem-glow{position:absolute;width:50px;height:50px;border-radius:14px;animation:emblem-pulse 3s ease-in-out infinite}
@keyframes emblem-pulse{0%,100%{box-shadow:0 0 8px 3px #a8d07a33,0 0 20px 6px #a8d07a15}50%{box-shadow:0 0 14px 5px #a8d07a55,0 0 32px 10px #a8d07a25}}
.emblem-glow::after{content:'';position:absolute;inset:-6px;border-radius:16px;background:radial-gradient(circle,#a8d07a40,transparent 70%);animation:emblem-pulse-outer 3s ease-in-out infinite}
@keyframes emblem-pulse-outer{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
.brand-top{display:flex;flex-direction:column;align-items:center;gap:2px}
.brand-name{font-size:16px;font-weight:800;letter-spacing:-.3px;line-height:1;color:var(--dark);text-transform:uppercase;white-space:nowrap;text-align:center}
.brand-tagline{font-size:7.5px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--green);text-align:center;line-height:1;display:block;width:max-content;margin-left:auto;margin-right:auto}
nav{display:flex;align-items:center;gap:32px;font-size:14px;flex:1}
nav a{position:relative;padding-bottom:4px}
nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--green);transition:width .25s;border-radius:1px}
nav a:hover::after{width:100%}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;transition:background .2s,transform .15s,border-color .2s}
.btn-primary{background:var(--dark);color:#f0f3eb;border:1.5px solid var(--dark)}
.btn-primary:hover{background:#2a4733;transform:translateY(-1px)}
.btn-outline{background:transparent;color:var(--dark);border:1.5px solid var(--line)}
.btn-outline:hover{border-color:#8fa678;background:var(--warm)}
.btn svg{width:15px;height:15px;flex:0 0 15px}

/* HERO */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:80px 6% 60px;max-width:1440px;margin:auto;align-items:center}
.hero-text h1{font-size:clamp(52px,7vw,96px);font-weight:400;line-height:.92;letter-spacing:-3px;color:var(--dark);margin-bottom:24px}
.hero-text h1 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:#6b8a5a;letter-spacing:-2px;font-style:italic}
.hero-text .lead{font-size:18px;line-height:1.7;color:var(--muted);margin-bottom:36px;max-width:480px}
.hero-visual{position:relative;border-radius:var(--radius);overflow:hidden;background:linear-gradient(145deg,#e8f0dc 0%,#d4dfc6 100%)}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 50%;border-radius:var(--radius)}
.hero-badge{position:absolute;top:24px;left:24px;background:#f8faf7e6;backdrop-filter:blur(10px);border:1px solid #ffffffa0;border-radius:8px;padding:10px 16px;display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.5px;color:var(--green)}
.hero-badge i{width:8px;height:8px;border-radius:50%;background:#7da86a;box-shadow:0 0 8px #7da86a66}

/* POWER DEMO SECTION */
.power-section{max-width:1440px;margin:auto;padding:60px 6% 80px;border-top:1px solid var(--line)}
.power-header{text-align:center;margin-bottom:40px}
.power-header .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#7da86a;display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px}
.power-header .eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:#7da86a}
.power-header h2{font-size:clamp(36px,4.5vw,64px);font-weight:400;letter-spacing:-2px;line-height:1;margin-bottom:12px}
.power-header h2 em{font-family:Georgia,serif;color:#6b8a5a;font-style:italic}
.power-header p{font-size:16px;color:var(--muted);max-width:540px;margin:auto;line-height:1.7}

/* POWER STAGE — THE MAIN ILLUSTRATION */
.power-stage{display:grid;grid-template-columns:minmax(0,2fr) minmax(320px,1fr);background:#f2f5ed;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;align-items:center}
.power-art{position:relative;aspect-ratio:16/9;width:100%;isolation:isolate}
.power-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.render-on{opacity:1;transition:none!important;z-index:2}
.render-off{opacity:0;transition:none!important;z-index:1}
.cable-overlay{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}

/* WIRE ANIMATION — PULSING ELECTRICAL CURRENT */
.wire-segment{fill:none;stroke-linecap:round;stroke-linejoin:round}
.wire-base{stroke:#a8bfa0;stroke-width:2.5;opacity:.4}
.wire-glow{stroke:#c8dca0;stroke-width:6;filter:blur(3px);opacity:.6}
.wire-core{stroke:#f0ffb0;stroke-width:2.2;stroke-dasharray:40 260}
.circuit-grid .wire-core{animation:wire-flow 2.5s linear infinite}
.circuit-home .wire-core{animation:wire-flow 3s linear infinite}
.circuit-charge .wire-core{animation:wire-flow 2s linear infinite}
@keyframes wire-flow{to{stroke-dashoffset:-600}}

/* INSTANT TOGGLE */
.power-content{padding:40px 10% 40px 8%;position:relative;z-index:5;display:flex;flex-direction:column;justify-content:center;gap:28px}
.grid-toggle{background:#f3f7eb;border-radius:40px;padding:14px 24px 14px 20px;display:inline-flex;align-items:center;gap:14px;width:fit-content;font-weight:600;font-size:15px;color:var(--dark);border:1.5px solid var(--line);transition:border-color .15s,box-shadow .15s}
.grid-toggle:hover{border-color:#a8bfa0;box-shadow:0 2px 16px #7da86a20}
.toggle-track{position:relative;width:72px;height:32px;border-radius:16px;background:#c8dca0;transition:background .15s}
.toggle-word{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-size:10px;font-weight:800;text-transform:uppercase;color:#3a4e2c}
.toggle-knob{position:absolute;width:24px;height:24px;top:4px;left:44px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #3a4e2c30;transition:left .12s ease-out}
.power-content[data-grid-off] .toggle-track{background:#c8976a}
.power-content[data-grid-off] .toggle-knob{left:4px}
.power-content[data-grid-off] .circuit-grid .wire-core{animation:none;opacity:.15;stroke-dasharray:none}
.power-content[data-grid-off] .circuit-home .wire-core{animation-duration:2.8s}

/* STATUS PANEL */
.status-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-radius:8px;overflow:hidden;font-size:12px;margin-top:8px}
.status-cell{background:#f6faef;padding:16px 14px;display:flex;flex-direction:column;gap:4px;text-align:center}
.status-cell dt{font-size:9px;text-transform:uppercase;letter-spacing:.8px;color:#7d8e72;font-weight:600}
.status-cell dd{font-size:13px;font-weight:600;color:var(--dark)}

/* POWER MESSAGE */
.power-message h3{font-size:clamp(24px,2.5vw,38px);line-height:1.15;letter-spacing:-.8px;font-weight:500}
.power-message h3 em{font-family:Georgia,serif;color:#6b8a5a;font-style:italic}
.power-message p{font-size:15px;line-height:1.7;color:#5a6b52;margin-top:8px}

/* SYSTEM ICONS — PLUSH, DEFINED EDGES */
.system-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:60px 6%;max-width:1440px;margin:auto;border-top:1px solid var(--line)}
.system-card{text-align:center;padding:36px 24px;border-radius:var(--radius);border:1.5px solid var(--line);background:#f8faf7;transition:border-color .2s,transform .15s,box-shadow .2s}
.system-card:hover{border-color:#a8bfa0;transform:translateY(-3px);box-shadow:0 6px 24px #3a4e2c12}
.system-card svg{width:64px;height:64px;margin:0 auto 16px;display:block}
.system-card h3{font-size:18px;font-weight:700;letter-spacing:-.5px;line-height:1.25;margin-bottom:6px;color:var(--dark)}
.system-card p{font-size:13px;line-height:1.65;color:#6b7e60}

/* AUDIENCE TABS — HIGH CONVERSION FLOW */
.audience-section{max-width:1440px;margin:auto;padding:80px 6%;border-top:1px solid var(--line)}
.audience-tabs{display:flex;border-bottom:2px solid var(--line);margin-bottom:40px}
.audience-tab{padding:16px 32px;font-size:16px;font-weight:600;color:#7d8e72;position:relative;border-bottom:2px solid transparent;transition:color .2s,padding-bottom .2s;margin-bottom:-2px}
.audience-tab:hover{color:var(--dark)}
.audience-tab[aria-selected=true]{color:var(--dark);border-bottom-color:var(--dark)}
.audience-panel{display:grid;grid-template-columns:1fr 380px;gap:60px;align-items:start}
.audience-left h3{font-size:clamp(28px,3vw,44px);line-height:1.15;letter-spacing:-1.5px;font-weight:400;margin-bottom:20px}
.audience-left h3 em{font-family:Georgia,serif;color:#6b8a5a;font-style:italic}
.audience-left p{font-size:16px;line-height:1.7;color:#5a6b52;margin-bottom:32px;max-width:520px}
.audience-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.audience-tag{border:1px solid var(--line);border-radius:24px;padding:8px 18px;font-size:12px;font-weight:500;background:#f8faf7;color:var(--dark)}
.audience-right{background:#f0f5e9;border-radius:var(--radius);padding:36px;border:1px solid var(--line)}
.audience-right h4{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:#7d8e72;margin-bottom:20px;font-weight:600}
.audience-cta{display:block;width:100%;padding:14px 20px;background:var(--dark);color:#f0f3eb;text-align:center;border-radius:8px;font-weight:600;font-size:15px;transition:background .2s,transform .15s;margin-bottom:12px}
.audience-cta:hover{background:#2a4733;transform:translateY(-1px)}
.audience-note{font-size:12px;line-height:1.6;color:#7d8e72;text-align:center;padding:0 8px}

/* FOOTER — FULL, CENTERED CLD */
.footer{background:#f2f5ed;border-top:1px solid var(--line);padding:64px 6% 32px;margin-top:60px}
.footer-main{max-width:1440px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px}
.footer-brand{text-align:center;padding-right:40px;border-right:1px solid var(--line)}
.footer-cld-logo{display:inline-flex;flex-direction:column;align-items:center;gap:6px;margin-bottom:20px}
.footer-emblem-wrap{position:relative;display:inline-block;width:48px;height:48px}
.footer-emblem{width:48px;height:48px;border-radius:12px;background:var(--dark);border:2px solid #d0dcc6;z-index:1;position:relative}
.footer-glow{position:absolute;inset:-8px;border-radius:18px;background:radial-gradient(circle,#a8d07a50,transparent 65%);animation:footer-pulse 4s ease-in-out infinite;pointer-events:none}
@keyframes footer-pulse{0%,100%{opacity:.35;transform:scale(1)}50%{opacity:.85;transform:scale(1.1)}}
.footer-emblem-label{font-size:13px;font-weight:800;color:#f0f3eb;text-align:center;letter-spacing:1px;text-transform:uppercase}
.footer-brand-name{font-size:22px;font-weight:700;letter-spacing:-.5px;line-height:1;margin-bottom:4px;color:var(--dark)}
.footer-brand-tagline{font-size:10px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:#7da86a;display:block;text-align:center;width:max-content;margin-left:auto;margin-right:auto}
.footer-brand p{font-size:13px;line-height:1.65;color:#7d8e72;text-align:center;margin-top:12px}
.footer-links h4{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;font-weight:700;color:#7d8e72;margin-bottom:18px;text-align:left}
.footer-links a{display:block;font-size:13px;line-height:1.6;color:#5a6b52;padding:4px 0;transition:color .15s}
.footer-links a:hover{color:var(--dark)}
.footer-bottom{max-width:1440px;margin:40px auto 0;padding-top:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#9aac8e;flex-wrap:wrap;gap:16px}
.footer-bottom a{color:#7d8e72;transition:color .15s}
.footer-bottom a:hover{color:var(--dark)}

/* HERO POWER DEMO — SMALLER */
.power-mini{text-align:center;padding:40px 6% 0;max-width:1440px;margin:auto}

/* RESPONSIVE */
@media(max-width:1200px){.hero{padding-top:56px;gap:40px}.footer-main{grid-template-columns:1fr 1fr;gap:32px}.footer-brand{border-right:none;text-align:left;border-bottom:1px solid var(--line);padding-bottom:32px;margin-bottom:32px}.audience-panel{grid-template-columns:1fr}}
@media(max-width:860px){.masthead{height:auto;padding:12px 5%;flex-wrap:wrap;gap:12px}nav{display:none;flex-basis:100%;flex-direction:column;gap:16px}.hero{grid-template-columns:1fr;text-align:center}.hero-text .lead{margin-left:auto;margin-right:auto}.power-stage{grid-template-columns:1fr}.system-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.hero{padding-top:40px;padding-bottom:40px;gap:32px}.masthead{padding:10px 4%}.system-grid{grid-template-columns:1fr;gap:12px}.audience-tabs{flex-direction:column;gap:8px}.power-content{padding:30px 6% 30px}.status-panel{grid-template-columns:1fr}.footer-main{grid-template-columns:1fr;text-align:center}}

/* REDUCED MOTION */
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* VISUAL FOCUS OUTLINES */
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid #6b8a5a;outline-offset:3px}

/* Equipment-to-equipment explanation, replacing the unanchored yard loops. */
.power-art{aspect-ratio:4/3}
.power-content{grid-column:2;grid-row:1 / span 2}
.energy-route{grid-column:1;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:8px;padding:8px 24px 24px}
.route-node{text-align:center;display:grid;gap:5px;font-size:13px}
.route-node small{color:var(--muted);font-size:11px}
.route-number{font-size:10px;letter-spacing:2px;color:#536f42}
.route-arrow{font-size:28px;color:#557c38;animation:route-pulse 2s ease-in-out infinite}
.grid-route{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:9px;padding:14px 8px;border-top:1px solid var(--line);margin-top:14px;font-size:12px;color:#356375}
.grid-dot{width:8px;height:8px;border-radius:50%;background:#4f8a99}
.route-note{grid-column:1/-1;font-size:10px;line-height:1.5;color:var(--muted);text-align:center;margin:0}
.power-stage[data-mode="off"] .grid-route{color:#6e756d}
.power-stage[data-mode="off"] .grid-dot{background:#92968c}
.power-stage[data-mode="off"] .toggle-knob{left:4px}
.power-stage[data-mode="off"] .toggle-track{background:#c8976a}
.scene-badge{position:absolute;left:18px;top:18px;z-index:4;font-size:12px;background:#f6faeff0;padding:8px 12px;border-radius:20px}
.motion-paused .route-arrow{animation-play-state:paused}
@keyframes route-pulse{50%{opacity:.4}}
@media(max-width:1000px){.power-content{grid-column:1;grid-row:auto}.energy-route{grid-column:1}.power-stage{grid-template-columns:1fr}}

/* Continuous routed cables with a moving luminous current, not diagram arrows. */
.energy-connections .current-circuit path{fill:none;stroke-linecap:round;stroke-linejoin:round;marker-end:none}
.current-conduit{stroke:#47675e;stroke-width:8;opacity:.55}
.current-ambient{stroke:#94e7da;stroke-width:4;filter:drop-shadow(0 0 5px #58cfb7);opacity:.9}
.current-pulse-halo{stroke:#97fff0;stroke-width:13;filter:blur(7px);stroke-dasharray:180 820;animation:current-travel 3.4s linear infinite}
.current-pulse-core{stroke:#edfff9;stroke-width:3.5;stroke-dasharray:110 890;animation:current-travel 3.4s linear infinite}
.current-home .current-pulse-halo,.current-home .current-pulse-core{animation-delay:-1.7s}
@keyframes current-travel{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}
.motion-paused .current-circuit path{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.current-pulse-halo,.current-pulse-core{animation:none;stroke-dasharray:none;opacity:.5}}

/* Brand energy: a slow green breath around the hero promise. */
.hero-text h1{animation:brand-energy-breathe 3.8s ease-in-out infinite}
.hero-text h1 em{color:var(--green);animation:brand-word-breathe 3.8s ease-in-out infinite}
@keyframes brand-energy-breathe{0%,100%{text-shadow:0 0 0 transparent}50%{text-shadow:0 0 18px #c8dca060,0 0 42px #b8ec7138}}
@keyframes brand-word-breathe{0%,100%{color:#6b8a5a;text-shadow:0 0 6px #c8dca030}50%{color:#557a39;text-shadow:0 0 12px #c8dca0cc,0 0 30px #b8ec7199,0 0 54px #b8ec7155}}
.motion-paused .hero-text h1,.motion-paused .hero-text h1 em{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.hero-text h1,.hero-text h1 em{animation:none}}

/* The switch and its visible result stay together. */
.power-art>.grid-toggle{position:absolute;right:18px;top:18px;z-index:10;cursor:pointer;pointer-events:auto;touch-action:manipulation}
.power-art>.grid-toggle:focus-visible{outline:3px solid #55b99f;outline-offset:4px}
.power-art .scene-badge{top:78px;font-size:11px}
.power-art{transition:background .35s ease;background:#eff3ed}
.power-art .render-on{transition:filter .35s ease!important}
.backup-window-light{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none;opacity:0;transition:opacity .35s ease}
.backup-window-light polygon{fill:#ffda92;filter:drop-shadow(0 0 14px #ffce7a80)}
.backup-window-light path{stroke:#405248;stroke-width:5;fill:none}
.power-stage[data-mode="off"] .power-art{background:#23332f}
.power-stage[data-mode="off"] .render-on{filter:brightness(.48) saturate(.65)}
.power-stage[data-mode="off"] .backup-window-light{opacity:.85}
.power-stage[data-mode="off"] .current-home{filter:drop-shadow(0 0 9px #7dffd0)}
.power-stage[data-mode="off"] .current-solar{opacity:.15}
.power-stage[data-mode="off"] .current-solar .current-pulse-halo,.power-stage[data-mode="off"] .current-solar .current-pulse-core{animation-play-state:paused;opacity:0}
.power-stage[data-mode="off"] .scene-badge{background:#173e31;color:#d6ffe4;border:1px solid #539075}
@media(prefers-reduced-motion:reduce){.power-art,.backup-window-light,.power-art .render-on{transition:none!important}}
.power-stage[data-mode="off"] .toggle-word{left:auto;right:10px}

.nav-mobile{display:none}
.steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1100px;margin:auto}
section[id]{scroll-margin-top:140px}
@media(max-width:860px){.nav-mobile{display:block;min-height:44px;min-width:44px}.masthead.menu-open #main-nav{display:flex;width:100%;order:5}.hero-text{padding-right:0!important}}
@media(max-width:600px){.steps-grid{grid-template-columns:1fr}.masthead>.btn{padding:12px;font-size:12px}.brand-tagline{font-size:6px;letter-spacing:1.5px}.brand-name{font-size:14px}}
