:root {
  --navy: #102f3d;
  --navy-2: #173f50;
  --ink: #10232d;
  --muted: #5e7079;
  --orange: #ffc928;
  --orange-dark: #8b6500;
  --cream: #eff9ff;
  --blue: #62c7f4;
  --blue-deep: #238fbd;
  --blue-light: #dff4ff;
  --line: #d9e1e4;
  --white: #fff;
  --green: #2f8b70;
  --max: 1180px;
  --radius: 18px;
  --shadow: 0 20px 60px rgba(16,47,61,.12);
}
* { 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;
  color: var(--ink);
  background:
    radial-gradient(circle at 6% 34%, rgba(98,199,244,.10), transparent 24rem),
    radial-gradient(circle at 95% 72%, rgba(255,201,40,.07), transparent 25rem),
    #fafdff;
  line-height: 1.6;
}
h1, h2, h3, h4 { text-transform: uppercase; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; }
.container { width: min(var(--max), calc(100% - 40px)); margin-inline: auto; }
.eyebrow { text-transform: uppercase; letter-spacing: .14em; font-size: .76rem; font-weight: 900; color: var(--blue-deep); }
.section { padding: 92px 0; position:relative; }
.section:not(.alt) { background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(247,252,255,.82)); }
.section.alt { background:linear-gradient(135deg,#eaf8ff 0%,#f7fcff 55%,#fff9e8 145%); }
.section-head { max-width: 760px; margin-bottom: 42px; }
.section-head h2, .split h2 { font-size: clamp(1.8rem, 3.25vw, 2.95rem); line-height: 1.1; margin: 8px 0 14px; }
.section-head p, .split p { color: var(--muted); font-size: 1.07rem; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 12px 20px; border-radius: 999px; font-weight: 800;
  border: 1px solid transparent; cursor: pointer; transition: .2s ease;
  text-transform: uppercase; letter-spacing: .075em; font-size: .78rem;
}
.btn.primary { background: var(--orange); color: #101820; box-shadow: 0 8px 24px rgba(255,201,40,.23); }
.btn.primary:hover { background: #ffda5b; transform: translateY(-2px); box-shadow: 0 12px 30px rgba(255,201,40,.35); }
.btn.secondary { border-color: #88d4f5; color: var(--navy); background: var(--blue-light); }
.btn.secondary:hover { border-color: var(--blue-deep); background: #cceeff; }
.btn.text { color: var(--blue-deep); padding-inline: 0; }

.site-header {
  position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.95);
  border-bottom: 1px solid rgba(217,225,228,.9); backdrop-filter: blur(12px);
}
.header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 11px; font-weight: 900; color: var(--navy); text-decoration:none; }
.brand img { width: 146px; height: auto; }
.brand::after { content:"BRIGHTON POWER INC."; max-width:150px; color:var(--navy); font-size:.82rem; font-weight:950; line-height:1.08; letter-spacing:.105em; }
.nav { display: flex; align-items: center; gap: 26px; }
.nav a { font-weight: 700; color: #314751; font-size: .95rem; }
.nav a:hover, .nav a.active { color: var(--blue-deep); }
.mobile-toggle { display: none; border: 0; background: none; font-size: 1.6rem; }

.hero { padding: 64px 0 82px; background: radial-gradient(circle at 78% 15%,rgba(98,199,244,.28),transparent 30%),linear-gradient(180deg,#fff 0,#edf8fe 100%); overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 54px; }
.hero h1 { font-size: clamp(2.65rem, 5vw, 4.8rem); line-height: 1; letter-spacing: -.045em; margin: 14px 0 24px; color: var(--navy); }
.hero p { font-size: 1.18rem; color: var(--muted); max-width: 660px; }
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin: 30px 0 34px; }
.hero-visual { position: relative; }
.hero-visual img { width:100%; aspect-ratio: 16/12; object-fit:cover; border-radius: 26px; box-shadow: var(--shadow); }
.hero-visual::after { content:""; position:absolute; inset:0; border-radius:26px; background:linear-gradient(155deg,transparent 55%,rgba(9,32,43,.42)); pointer-events:none; }
.hero-badge { position:absolute; z-index:2; right:18px; top:18px; padding:9px 13px; border:1px solid rgba(255,255,255,.45); background:rgba(7,29,39,.62); backdrop-filter:blur(10px); border-radius:999px; color:white; font-size:.7rem; font-weight:900; letter-spacing:.14em; }
.hero-badge span { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--orange); margin-right:7px; box-shadow:0 0 0 5px rgba(255,201,40,.17); }
.hero-note { position: absolute; z-index:2; left: -26px; bottom: 28px; width: 230px; background: white; border: 1px solid #b9e4f8; border-radius: 16px; padding: 16px; box-shadow: 0 15px 35px rgba(16,47,61,.14); }
.hero-note strong { display:block; color:var(--navy); margin-bottom:4px; }
.hero-note span { color:var(--muted); font-size:.9rem; }
.trust-row { display: flex; gap: 22px; flex-wrap: wrap; color: #435862; font-weight: 700; font-size: .92rem; }
.trust-row span::before { content: "✓"; margin-right: 8px; color: var(--blue-deep); }

.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.card { background: white; border: 1px solid var(--line); border-radius: var(--radius); padding: 28px; transition: .2s ease; }
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: transparent; }
.icon { width: 46px; height: 46px; border-radius: 12px; display:grid; place-items:center; background:var(--blue-light); color:var(--blue-deep); font-weight:900; margin-bottom:22px; }
.card h3 { margin: 0 0 10px; font-size: 1.28rem; color: var(--navy); }
.card p { margin: 0 0 18px; color: var(--muted); }
.card-links { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }

.credential-bar { background: #0d2c3a; color: white; border-top:3px solid var(--blue); }
.credential-grid { display: grid; grid-template-columns: repeat(5, 1fr); }
.credential { padding: 23px 18px; text-align:center; border-right: 1px solid rgba(255,255,255,.15); font-weight:800; font-size:.78rem; text-transform:uppercase; letter-spacing:.07em; }
.credential:last-child { border-right:0; }

.energy-film { position:relative; min-height:640px; display:flex; align-items:flex-end; overflow:hidden; background:#061b25; color:white; isolation:isolate; }
.film-scenes, .film-scene, .film-shade { position:absolute; inset:0; }
.film-scenes { z-index:-3; }
.film-scene { background-size:cover; background-position:center; opacity:0; transform:scale(1.08); animation:filmScene 18s infinite ease-in-out; }
.scene-solar { background-image:url('assets/solar-commercial.webp'); animation-delay:0s; }
.scene-storage { background-image:url('assets/battery-storage.webp'); animation-delay:6s; }
.scene-ev { background-image:url('assets/ev-charging.webp'); animation-delay:12s; }
.film-shade { z-index:-2; background:linear-gradient(90deg,rgba(4,19,26,.94) 0%,rgba(4,19,26,.64) 48%,rgba(4,19,26,.16) 100%),linear-gradient(0deg,rgba(4,19,26,.76),transparent 48%); }
.film-content { padding-bottom:72px; }
.film-status { display:flex; align-items:center; gap:12px; color:#a9e5ff; font-size:.72rem; font-weight:900; letter-spacing:.17em; }
.film-pulse { width:10px; height:10px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 8px rgba(255,201,40,.13); animation:pulse 1.8s infinite; }
.film-content h2 { max-width:900px; margin:20px 0 18px; font-size:clamp(2.7rem,5.8vw,5.8rem); line-height:.92; letter-spacing:-.05em; }
.film-content p { margin:0 0 30px; color:#bfeaff; font-size:.78rem; font-weight:900; letter-spacing:.14em; }
.film-button { background:rgba(255,255,255,.1); color:white; border:1px solid rgba(255,255,255,.42); backdrop-filter:blur(10px); }
.film-button:hover { background:white; color:var(--navy); }
.film-progress { position:absolute; bottom:0; left:0; right:0; height:4px; background:rgba(255,255,255,.16); }
.film-progress span { display:block; height:100%; background:linear-gradient(90deg,var(--blue),var(--orange)); transform-origin:left; animation:filmProgress 18s infinite linear; }
@keyframes filmScene { 0%{opacity:0;transform:scale(1.08)} 6%{opacity:1} 29%{opacity:1} 36%{opacity:0;transform:scale(1)} 100%{opacity:0;transform:scale(1)} }
@keyframes filmProgress { from{transform:scaleX(0)} to{transform:scaleX(1)} }
@keyframes pulse { 50%{box-shadow:0 0 0 14px rgba(255,201,40,0)} }

.customer-path {
  background:
    radial-gradient(circle at 8% 18%,rgba(98,199,244,.22),transparent 28rem),
    radial-gradient(circle at 92% 86%,rgba(255,201,40,.12),transparent 24rem),
    linear-gradient(180deg,#f7fcff,#eef9ff);
}
.customer-path .section-head { max-width:850px; }
.path-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.path-card {
  position:relative;
  overflow:hidden;
  border:1px solid rgba(35,143,189,.2);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 50px rgba(16,47,61,.09);
  transition:transform .2s ease, box-shadow .2s ease;
}
.path-card:hover { transform:translateY(-5px); box-shadow:0 26px 65px rgba(16,47,61,.15); }
.path-number {
  position:absolute;
  z-index:2;
  top:16px;
  left:16px;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  color:var(--navy);
  background:var(--orange);
  font-size:.8rem;
  font-weight:950;
  box-shadow:0 8px 22px rgba(16,47,61,.2);
}
.path-image { height:220px; overflow:hidden; background:var(--navy); }
.path-image img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.path-card:hover .path-image img { transform:scale(1.035); }
.path-content { padding:28px; }
.path-audience {
  display:block;
  margin-bottom:10px;
  color:var(--blue-deep);
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.09em;
}
.path-content h3 { margin:0 0 12px; color:var(--navy); font-size:1.3rem; line-height:1.2; }
.path-content p { margin:0 0 16px; color:var(--muted); }
.path-links { display:flex; flex-wrap:wrap; gap:14px; }

.investment-story {
  position:relative; overflow:hidden; padding:110px 0 46px;
  background:
    radial-gradient(circle at 13% 20%,rgba(98,199,244,.28),transparent 29%),
    radial-gradient(circle at 88% 82%,rgba(255,201,40,.17),transparent 28%),
    linear-gradient(135deg,#e9f8ff 0%,#f9fdff 48%,#fff7d8 135%);
}
.investment-story::before { content:""; position:absolute; inset:0; opacity:.38; background-image:linear-gradient(rgba(35,143,189,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(35,143,189,.07) 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,transparent,#000 44%,#000); }
.investment-grid { position:relative; display:grid; grid-template-columns:.9fr 1.1fr; gap:76px; align-items:center; }
.investment-copy h2 { max-width:640px; margin:10px 0 22px; color:var(--navy); font-size:clamp(2.35rem,4.25vw,4.25rem); line-height:.97; letter-spacing:-.04em; }
.investment-copy > p { color:#4c6470; font-size:1.08rem; max-width:630px; }
.investment-points { display:grid; gap:10px; margin:28px 0 32px; }
.investment-points div { display:grid; grid-template-columns:190px 1fr; gap:16px; padding:13px 0; border-top:1px solid rgba(35,143,189,.2); }
.investment-points strong { color:var(--navy); font-size:.77rem; letter-spacing:.08em; }
.investment-points span { color:var(--muted); font-size:.9rem; }
.investment-motion { position:relative; min-height:600px; border:1px solid rgba(35,143,189,.22); border-radius:32px; background:rgba(255,255,255,.72); box-shadow:0 30px 90px rgba(16,47,61,.15); backdrop-filter:blur(12px); overflow:hidden; }
.investment-motion::before { content:""; position:absolute; width:360px; height:360px; left:50%; top:44%; transform:translate(-50%,-50%); border-radius:50%; background:radial-gradient(circle,rgba(98,199,244,.28),rgba(98,199,244,.06) 48%,transparent 70%); animation:propertyAura 3.2s infinite ease-in-out; }
.capital-source { position:absolute; top:26px; left:50%; transform:translateX(-50%); z-index:4; display:grid; grid-template-columns:44px auto; grid-template-rows:auto auto; column-gap:11px; padding:12px 20px; min-width:205px; border-radius:999px; background:var(--navy); color:white; box-shadow:0 12px 30px rgba(16,47,61,.22); }
.capital-coin { grid-row:1/3; display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--orange); color:var(--navy); font-size:1.15rem; font-weight:950; box-shadow:0 0 0 6px rgba(255,201,40,.15); }
.capital-source strong { align-self:end; font-size:.78rem; letter-spacing:.08em; }
.capital-source small { color:#bdeaff; font-size:.6rem; font-weight:800; letter-spacing:.12em; }
.capital-line { position:absolute; z-index:3; top:92px; left:50%; width:3px; height:105px; transform:translateX(-50%); background:linear-gradient(var(--orange),var(--blue)); }
.capital-line i { position:absolute; left:50%; top:0; width:12px; height:12px; border-radius:50%; background:var(--orange); transform:translate(-50%,-50%); box-shadow:0 0 0 5px rgba(255,201,40,.17); animation:capitalFlow 2.1s infinite linear; }
.capital-line i:nth-child(2) { animation-delay:.7s; }.capital-line i:nth-child(3) { animation-delay:1.4s; }
.property-core { position:absolute; z-index:2; top:188px; left:50%; width:214px; height:190px; transform:translateX(-50%); }
.property-roof { position:absolute; z-index:2; left:17px; top:0; width:180px; height:78px; display:flex; gap:5px; padding:13px 31px 22px; clip-path:polygon(50% 0,100% 58%,92% 100%,8% 100%,0 58%); background:var(--navy); }
.property-roof span { flex:1; margin-top:21px; height:21px; transform:skewX(-15deg); background:linear-gradient(135deg,#91e1ff,#238fbd); border:1px solid rgba(255,255,255,.5); animation:solarShimmer 2.8s infinite alternate; }
.property-building { position:absolute; left:34px; top:65px; width:146px; height:122px; display:grid; grid-template-columns:repeat(2,1fr); gap:9px; padding:54px 23px 15px; border-radius:5px 5px 14px 14px; background:linear-gradient(145deg,#fff,#dff4ff); border:2px solid #78cdec; box-shadow:0 18px 35px rgba(16,47,61,.16); }
.property-building b { position:absolute; top:13px; left:0; right:0; text-align:center; color:var(--navy); line-height:1.05; font-size:.8rem; letter-spacing:.1em; }
.property-building i { border-radius:3px; background:var(--blue); box-shadow:inset 0 0 0 2px rgba(255,255,255,.65); animation:windowPower 2.5s infinite alternate; }
.property-building i:nth-of-type(2),.property-building i:nth-of-type(3){animation-delay:.8s}
.property-glow { position:absolute; z-index:-1; inset:20px -24px -18px; border:2px solid rgba(98,199,244,.45); border-radius:50%; animation:propertyRing 2.5s infinite ease-out; }
.asset { position:absolute; z-index:4; display:flex; align-items:center; gap:10px; width:190px; padding:13px 14px; border-radius:14px; background:#fff; border:1px solid #b8e2f5; box-shadow:0 12px 28px rgba(16,47,61,.12); }
.asset::after { content:""; position:absolute; height:2px; width:70px; top:50%; background:linear-gradient(90deg,var(--blue),var(--orange)); transform-origin:center; animation:assetCurrent 1.8s infinite alternate ease-in-out; }
.asset > span { display:grid; place-items:center; min-width:34px; height:34px; border-radius:10px; background:var(--blue-light); color:var(--blue-deep); font-size:.68rem; font-weight:950; }
.asset strong,.asset small { display:block; }.asset strong { color:var(--navy); font-size:.69rem; line-height:1.2; }.asset small { margin-top:3px; color:var(--blue-deep); font-size:.52rem; font-weight:900; letter-spacing:.07em; }
.asset-electrical { left:24px; top:185px; }.asset-electrical::after { left:100%; transform:rotate(12deg); }
.asset-solar { right:24px; top:185px; }.asset-solar::after { right:100%; transform:rotate(-12deg); }
.asset-storage { left:50%; bottom:76px; transform:translateX(-50%); }.asset-storage::after { left:50%; bottom:100%; top:auto; width:75px; transform:translateX(-50%) rotate(90deg); }
.motion-caption { position:absolute; left:0; right:0; bottom:20px; margin:0; text-align:center; color:var(--navy); font-size:.67rem; font-weight:950; letter-spacing:.12em; }
.motion-caption span { display:inline-block; width:7px; height:7px; margin-right:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 6px rgba(47,139,112,.12); }
.investment-disclaimer { position:relative; margin-top:44px; color:#637780; font-size:.74rem; text-align:center; }
@keyframes capitalFlow { 0%{top:0;opacity:0} 16%{opacity:1} 85%{opacity:1} 100%{top:100%;opacity:0} }
@keyframes propertyAura { 50%{transform:translate(-50%,-50%) scale(1.1);opacity:.65} }
@keyframes propertyRing { from{transform:scale(.82);opacity:.8} to{transform:scale(1.16);opacity:0} }
@keyframes solarShimmer { to{filter:brightness(1.35);box-shadow:0 0 13px rgba(98,199,244,.65)} }
@keyframes windowPower { to{background:var(--orange);box-shadow:0 0 15px rgba(255,201,40,.5),inset 0 0 0 2px rgba(255,255,255,.6)} }
@keyframes assetCurrent { to{filter:brightness(1.25);box-shadow:0 0 8px rgba(98,199,244,.65)} }

/* Complete property-investment system */
.investment-motion { min-height:640px; background:linear-gradient(145deg,rgba(255,255,255,.92),rgba(225,246,255,.78)); isolation:isolate; }
.investment-motion::before { width:420px; height:420px; top:50%; background:radial-gradient(circle,rgba(255,201,40,.22),rgba(98,199,244,.13) 46%,transparent 70%); }
.investment-label { position:absolute; z-index:8; top:24px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:12px; width:max-content; max-width:calc(100% - 40px); padding:11px 18px 11px 11px; border-radius:999px; background:var(--navy); color:white; box-shadow:0 12px 30px rgba(16,47,61,.22); }
.investment-label > span { display:grid; place-items:center; width:42px; height:42px; flex:0 0 42px; border-radius:50%; background:var(--orange); color:var(--navy); font-size:1.1rem; font-weight:950; box-shadow:0 0 0 6px rgba(255,201,40,.14); }
.investment-label strong,.investment-label small { display:block; }
.investment-label strong { font-size:.72rem; letter-spacing:.08em; }
.investment-label small { color:#bdeaff; font-size:.52rem; font-weight:800; letter-spacing:.09em; }
.service-orbit { position:absolute; z-index:1; width:420px; height:420px; left:50%; top:50%; transform:translate(-50%,-46%); border:1px solid rgba(35,143,189,.25); border-radius:50%; animation:orbitTurn 26s infinite linear; }
.service-orbit::before,.service-orbit::after { content:""; position:absolute; inset:34px; border:1px dashed rgba(35,143,189,.22); border-radius:50%; }
.service-orbit::after { inset:88px; border-style:solid; }
.service-orbit i { position:absolute; width:10px; height:10px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 6px rgba(255,201,40,.14),0 0 18px rgba(255,201,40,.7); }
.service-orbit i:nth-child(1){left:50%;top:-5px}.service-orbit i:nth-child(2){right:29px;top:88px}.service-orbit i:nth-child(3){right:29px;bottom:88px}.service-orbit i:nth-child(4){left:50%;bottom:-5px}.service-orbit i:nth-child(5){left:29px;bottom:88px}.service-orbit i:nth-child(6){left:29px;top:88px}
.property-system { position:absolute; z-index:4; left:50%; top:50%; width:260px; height:260px; transform:translate(-50%,-43%); }
.property-photo { width:390px; height:280px; top:49%; border-radius:24px; overflow:visible; box-shadow:0 24px 54px rgba(16,47,61,.24); border:4px solid rgba(255,255,255,.92); background:#fff; }
.property-photo > img { width:100%; height:100%; object-fit:cover; object-position:center; border-radius:20px; }
.system-sun { position:absolute; width:45px; height:45px; right:-8px; top:5px; border-radius:50%; background:var(--orange); box-shadow:0 0 0 10px rgba(255,201,40,.13),0 0 36px rgba(255,201,40,.5); animation:sunPulse 2.5s infinite ease-in-out; }
.system-roof { position:absolute; z-index:3; left:19px; top:26px; width:222px; height:83px; display:flex; gap:5px; padding:34px 45px 18px; clip-path:polygon(50% 0,100% 62%,93% 100%,7% 100%,0 62%); background:var(--navy); }
.system-roof span { flex:1; transform:skewX(-14deg); background:linear-gradient(135deg,#a7e8ff,#238fbd); border:1px solid rgba(255,255,255,.55); animation:solarShimmer 2.8s infinite alternate; }
.system-building { position:absolute; z-index:2; left:45px; top:96px; width:170px; height:142px; border-radius:4px 4px 15px 15px; background:linear-gradient(145deg,#fff,#dff4ff); border:2px solid #78cdec; box-shadow:0 20px 40px rgba(16,47,61,.18); }
.system-building > b { display:block; text-align:center; margin:13px 0 9px; color:var(--navy); font-size:.72rem; letter-spacing:.12em; }
.system-windows { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; padding:0 18px; }
.system-windows i { height:22px; border-radius:3px; background:var(--blue); box-shadow:inset 0 0 0 2px rgba(255,255,255,.58); animation:windowPower 2.5s infinite alternate; }
.system-windows i:nth-child(2n){animation-delay:.8s}
.system-service,.system-battery,.system-charger { position:absolute; bottom:10px; display:flex; align-items:center; gap:4px; color:var(--navy); font-size:.49rem; letter-spacing:.04em; }
.system-service { left:15px; }.system-battery { left:68px; }.system-charger { right:13px; }
.system-service span { width:18px; height:18px; border:3px solid var(--orange); border-radius:50%; }
.system-battery i { width:17px; height:22px; border:2px solid var(--green); border-radius:3px; background:linear-gradient(to top,var(--green) 72%,transparent 72%); }
.system-charger i { width:16px; height:22px; border-radius:3px; background:var(--blue-deep); }
.value-core { position:absolute; z-index:5; left:50%; bottom:-30px; transform:translateX(-50%); width:245px; padding:12px 16px; text-align:center; border-radius:14px; color:white; background:linear-gradient(135deg,var(--blue-deep),var(--navy)); box-shadow:0 12px 28px rgba(16,47,61,.2); }
.value-core small,.value-core strong { display:block; }.value-core small { color:#c8f0ff; font-size:.48rem; font-weight:800; letter-spacing:.13em; }.value-core strong { margin-top:3px; font-size:.72rem; line-height:1.2; letter-spacing:.08em; }
.service-node { position:absolute; z-index:7; display:flex; align-items:center; gap:11px; width:172px; min-height:62px; padding:12px; border-radius:15px; background:rgba(255,255,255,.96); border:1px solid #9fdaf4; box-shadow:0 12px 28px rgba(16,47,61,.14); animation:nodeFloat 3.4s infinite ease-in-out; }
.service-node > span { display:grid; place-items:center; min-width:38px; height:38px; border-radius:11px; background:var(--blue-light); color:var(--blue-deep); font-size:.69rem; font-weight:950; }
.service-node strong { color:var(--navy); font-size:.66rem; line-height:1.25; letter-spacing:.045em; }
.node-electrical { left:16px; top:120px; }.node-capacity { left:16px; top:280px; animation-delay:.5s; }.node-solar { right:16px; top:120px; animation-delay:1s; }.node-storage { right:16px; top:280px; animation-delay:1.5s; }.node-ev { left:36px; bottom:48px; animation-delay:2s; }.node-maintenance { right:36px; bottom:48px; animation-delay:2.5s; }
@keyframes orbitTurn { to{transform:translate(-50%,-46%) rotate(360deg)} }
@keyframes nodeFloat { 50%{transform:translateY(-5px);box-shadow:0 16px 28px rgba(16,47,61,.15)} }
@keyframes sunPulse { 50%{transform:scale(1.08);box-shadow:0 0 0 16px rgba(255,201,40,.08),0 0 42px rgba(255,201,40,.56)} }

/* One idea: ongoing utility purchases versus an owned energy asset */
.energy-choice { min-height:640px; padding:28px; display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(229,247,255,.94)); }
.energy-choice::before { width:440px; height:440px; top:48%; background:radial-gradient(circle,rgba(98,199,244,.19),rgba(255,201,40,.1) 45%,transparent 72%); }
.choice-heading { position:relative; z-index:2; text-align:center; }
.choice-heading strong,.choice-heading > span { display:block; }
.choice-heading strong { color:var(--navy); font-size:1.2rem; letter-spacing:.035em; }
.choice-heading > span { margin-top:7px; color:var(--blue-deep); font-size:.58rem; font-weight:950; letter-spacing:.13em; }
.choice-panels { position:relative; z-index:2; display:grid; grid-template-columns:1fr 42px 1fr; align-items:stretch; gap:10px; margin:18px 0 14px; }
.choice-panel { position:relative; min-width:0; padding:20px 17px 18px; border-radius:22px; text-align:center; overflow:hidden; }
.utility-choice { border:1px solid #e6bdba; background:linear-gradient(160deg,#fff 0%,#fff1ef 100%); }
.ownership-choice { border:1px solid #8ed5ef; background:linear-gradient(160deg,#fff 0%,#e6f8ff 70%,#fff8d5 125%); box-shadow:0 18px 38px rgba(35,143,189,.14); }
.choice-kicker { display:block; margin-top:11px; color:#73828a; font-size:.52rem; font-weight:950; letter-spacing:.13em; }
.choice-panel h3 { margin:5px 0 7px; color:var(--navy); font-size:1.1rem; line-height:1.04; letter-spacing:.025em; }
.choice-panel p { max-width:220px; margin:7px auto 0; color:#627681; font-size:.68rem; line-height:1.45; }
.choice-divider { display:grid; place-items:center; }
.choice-divider::before { content:""; position:absolute; top:0; bottom:0; width:1px; background:linear-gradient(transparent,rgba(16,47,61,.22),transparent); }
.choice-divider span { position:relative; z-index:2; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; color:white; background:var(--navy); font-size:.62rem; font-weight:950; box-shadow:0 7px 18px rgba(16,47,61,.18); }
.choice-icon { position:relative; width:130px; height:92px; margin:0 auto; }
.utility-icon .bill-back { position:absolute; left:22px; top:10px; width:78px; height:68px; border:1px solid #d7b0ac; border-radius:7px; background:#f8dfdc; transform:rotate(-7deg); box-shadow:0 7px 13px rgba(113,52,47,.08); }
.utility-icon .utility-bill { position:absolute; left:31px; top:3px; display:block; width:80px; height:76px; padding:9px 9px 7px; border:1px solid #dca8a3; border-radius:7px; color:#6f4c49; background:linear-gradient(160deg,#fff,#fff2f0); text-align:left; transform:rotate(3deg); box-shadow:0 10px 18px rgba(113,52,47,.14); }
.utility-icon .utility-bill small { display:block; padding-bottom:5px; border-bottom:1px solid #efd0cd; color:#8b625f; font-size:.34rem; font-weight:950; letter-spacing:.04em; }
.utility-icon .utility-bill b { position:absolute; right:8px; top:26px; color:#c86961; font-size:1.25rem; line-height:1; }
.utility-icon .utility-bill i { display:block; width:42px; height:3px; margin-top:6px; border-radius:5px; background:#dbc5c2; }
.utility-icon .utility-bill i:nth-of-type(2) { width:34px; }
.utility-icon .utility-bill i:nth-of-type(3) { width:46px; }
.utility-icon .utility-bill em { position:absolute; left:9px; bottom:7px; color:#bd5e57; font-size:.33rem; font-style:normal; font-weight:950; letter-spacing:.08em; }
.utility-icon .bill-trend { position:absolute; right:0; top:4px; display:grid; place-items:center; width:28px; height:28px; border-radius:50%; color:white; background:#c86961; font-size:1rem; font-weight:950; box-shadow:0 0 0 5px rgba(200,105,97,.11); animation:billRise 2.4s infinite ease-in-out; }
.choice-home { position:relative; width:150px; height:92px; margin:0 auto; border-radius:14px; overflow:hidden; box-shadow:0 8px 20px rgba(16,47,61,.16); }
.choice-home img { width:100%; height:100%; object-fit:cover; }
.energy-spark { position:absolute; right:8px; top:8px; display:grid; place-items:center; width:29px; height:29px; border-radius:50%; color:var(--navy); background:var(--orange); font-size:1.1rem; font-weight:950; box-shadow:0 0 0 6px rgba(255,201,40,.2); animation:sunPulse 2.5s infinite ease-in-out; }
.money-stream { display:flex; justify-content:center; gap:10px; height:24px; margin:8px 0 3px; }
.money-stream b { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; color:white; font-size:.62rem; animation:moneyMove 2.4s infinite ease-in-out; }
.money-stream b:nth-child(2){animation-delay:.35s}.money-stream b:nth-child(3){animation-delay:.7s}
.red-stream b { background:#c86961; box-shadow:0 0 0 5px rgba(200,105,97,.09); }
.green-stream b { background:var(--green); box-shadow:0 0 0 5px rgba(47,139,112,.09); }
.ownership-timeline { position:relative; z-index:2; padding:17px 18px 14px; border-radius:18px; background:var(--navy); color:white; }
.timeline-track { position:relative; display:grid; grid-template-columns:30% 70%; height:8px; margin-bottom:12px; overflow:visible; border-radius:99px; background:rgba(255,255,255,.13); }
.payback-track { border-radius:99px 0 0 99px; background:var(--orange); }.savings-track { border-radius:0 99px 99px 0; background:linear-gradient(90deg,var(--blue),#7fd0b3); }
.timeline-track i { position:absolute; left:30%; top:50%; width:17px; height:17px; border:4px solid white; border-radius:50%; background:var(--orange); transform:translate(-50%,-50%); box-shadow:0 0 0 5px rgba(255,201,40,.16); }
.timeline-labels { display:grid; grid-template-columns:30% 70%; gap:14px; }
.timeline-labels div { padding-right:8px; }.timeline-labels div + div { padding-left:15px; border-left:1px solid rgba(255,255,255,.15); }
.timeline-labels small,.timeline-labels strong { display:block; }.timeline-labels small { color:#bdeaff; font-size:.47rem; font-weight:900; letter-spacing:.1em; }.timeline-labels strong { margin-top:3px; font-size:.62rem; line-height:1.25; letter-spacing:.035em; }
.choice-footnote { position:relative; z-index:2; margin:12px 3px 0; color:#667b84; text-align:center; font-size:.48rem; font-weight:800; line-height:1.35; letter-spacing:.055em; }
@keyframes moneyMove { 50%{transform:translateY(4px);filter:brightness(1.08)} }
@keyframes billRise { 50%{transform:translateY(-4px);box-shadow:0 0 0 8px rgba(200,105,97,.08)} }

.split { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.split-panel { background: var(--navy); color: white; border-radius: 26px; padding: 42px; }
.split-panel p { color: rgba(255,255,255,.74); }
.process { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:28px; }
.step { border:1px solid rgba(255,255,255,.18); border-radius:14px; padding:18px; }
.step b { display:block; color:#8ddcff; margin-bottom:5px; }

.audience { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.audience > div {
  min-height:138px;
  padding:14px 18px 14px 14px;
  border:1px solid var(--line);
  border-radius:16px;
  display:flex;
  align-items:center;
  gap:16px;
  font-size:.82rem;
  font-weight:900;
  line-height:1.3;
  letter-spacing:.035em;
  text-transform:uppercase;
  background:linear-gradient(135deg, #fff 55%, #eef9ff 100%);
  box-shadow:0 8px 24px rgba(12,43,62,.045);
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.audience > div:hover {
  transform:translateY(-3px);
  border-color:rgba(21,145,210,.34);
  box-shadow:0 14px 30px rgba(12,43,62,.09);
}
.audience-icon {
  width:108px;
  height:108px;
  flex:0 0 108px;
  display:block;
  overflow:hidden;
  border-radius:16px;
  border:1px solid rgba(21,145,210,.22);
  background:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(12,43,62,.1);
}
.audience-icon img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.project { border:1px solid var(--line); border-radius:18px; overflow:hidden; background:white; }
.project-visual { min-height:210px; position:relative; display:grid; place-items:end start; background-size:cover; background-position:center; color:white; overflow:hidden; }
.project-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 34%,rgba(7,28,38,.86)); }
.project-visual span { position:relative; z-index:1; margin:20px; font-weight:900; font-size:.76rem; letter-spacing:.12em; }
.project-visual.image-upgrade { background-image:url('assets/commercial-upgrade.png'); }
.project-visual.image-solar { background-image:url('assets/hero-commercial-energy.png'); }
.project-visual.image-ev { background-image:url('assets/strata-ev.png'); }
.project-body { padding:24px; }
.project-body h3 { margin:0 0 8px; color:var(--navy); }
.project-body p { color:var(--muted); }
.case-detail { margin-top:20px; padding-top:18px; border-top:1px solid var(--line); }
.case-detail h4 { margin:16px 0 4px; color:var(--navy); font-size:.75rem; text-transform:uppercase; letter-spacing:.09em; }
.case-detail h4:first-child { margin-top:0; }
.case-detail p { margin:0; font-size:.94rem; }
.project-note { max-width:900px; padding:42px; border-left:5px solid var(--orange); border-radius:0 22px 22px 0; background:white; box-shadow:0 16px 46px rgba(16,47,61,.08); }
.project-note h2 { margin:8px 0 12px; color:var(--navy); font-size:clamp(1.8rem,3.4vw,2.8rem); line-height:1.1; }
.project-note p { margin:0; color:var(--muted); font-size:1.04rem; }
.tag { display:inline-block; padding:5px 10px; border-radius:999px; background:var(--blue-light); color:#166f95; font-weight:900; font-size:.68rem; text-transform:uppercase; letter-spacing:.07em; }

.cta { background: linear-gradient(135deg,var(--navy),#1b5267); color:white; border-radius:26px; padding:54px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.cta h2 { margin:0 0 10px; font-size:clamp(1.8rem,3.4vw,2.85rem); line-height:1.08; }
.cta p { margin:0; color:rgba(255,255,255,.75); max-width:700px; }

.page-hero { position:relative; padding:80px 0 60px; background:radial-gradient(circle at 85% 0,rgba(98,199,244,.42),transparent 30%),radial-gradient(circle at 9% 100%,rgba(255,201,40,.13),transparent 25%),linear-gradient(145deg,#e4f6ff,#fffdf4); overflow:hidden; }
.page-hero h1 { font-size:clamp(2.45rem,5vw,4.45rem); line-height:1.02; letter-spacing:-.04em; color:var(--navy); margin:10px 0 18px; }
.page-hero p { max-width:760px; color:var(--muted); font-size:1.15rem; }
.service-block { display:grid; grid-template-columns:.7fr 1.3fr; gap:42px; padding:34px 0; border-top:1px solid var(--line); }
.service-block h2 { margin:0; color:var(--navy); }
.service-block ul { columns:2; gap:40px; margin:0; color:var(--muted); }
.service-block li { margin-bottom:10px; break-inside:avoid; }
.pillar-cards { align-items:stretch; }
.pillar-card { padding:34px; border-top:5px solid var(--blue); }
.pillar-card:nth-child(2) { border-top-color:var(--orange); }
.pillar-card:nth-child(3) { border-top-color:var(--green); }
.pillar-card .icon { width:58px; height:58px; font-size:.95rem; }
.pillar-card h3 { font-size:1.38rem; }
.pillar-section { scroll-margin-top:90px; }
.pillar-intro { display:grid; grid-template-columns:92px 1fr; gap:28px; align-items:start; max-width:930px; margin-bottom:40px; }
.pillar-intro h2 { margin:7px 0 12px; color:var(--navy); font-size:clamp(1.9rem,3.5vw,3.25rem); line-height:1.05; }
.pillar-intro p { margin:0; color:var(--muted); font-size:1.08rem; }
.pillar-number { display:grid; place-items:center; width:84px; height:84px; border-radius:22px; color:var(--navy); background:linear-gradient(145deg,var(--orange),#ffe58a); font-size:1.35rem; font-weight:950; box-shadow:0 14px 32px rgba(255,201,40,.23); }
.pillar-detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.pillar-detail-grid article { padding:28px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.92); box-shadow:0 14px 38px rgba(16,47,61,.07); }
.pillar-detail-grid h3 { margin:0 0 14px; color:var(--navy); font-size:1.05rem; }
.pillar-detail-grid ul { margin:0; padding-left:20px; color:var(--muted); }
.pillar-detail-grid li { margin:8px 0; }
.incentive-card { border-color:#9fdaf4!important; background:linear-gradient(145deg,#fff,#e8f8ff)!important; }
.incentive-card p { color:var(--muted); }
.pillar-link { margin-top:28px; }

.incentive-spotlight {
  position:relative;
  padding:54px 0;
  overflow:hidden;
  color:white;
  background:
    radial-gradient(circle at 92% 10%,rgba(255,201,40,.24),transparent 25%),
    linear-gradient(120deg,#071f2a 0%,#0c3f56 64%,#116f94 100%);
}
.incentive-spotlight::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.16;
  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:42px 42px;
}
.incentive-spotlight .container { position:relative; z-index:1; }
.incentive-spotlight-shell { display:grid; grid-template-columns:1.02fr .98fr; gap:42px; align-items:center; }
.incentive-alert {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:9px 14px;
  border-radius:999px;
  color:var(--navy);
  background:var(--orange);
  font-size:.78rem;
  font-weight:950;
  line-height:1.25;
  letter-spacing:.06em;
}
.incentive-alert span { font-size:1rem; }
.incentive-spotlight h2 { max-width:700px; margin:18px 0 16px; color:white; font-size:clamp(2rem,3.5vw,3.5rem); line-height:1.02; letter-spacing:-.035em; }
.incentive-spotlight-copy > p { max-width:690px; margin:0; color:rgba(255,255,255,.8); font-size:1.08rem; line-height:1.65; }
.incentive-spotlight-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:25px; }
.incentive-button { color:var(--navy); background:var(--orange); box-shadow:0 12px 30px rgba(255,201,40,.2); }
.incentive-button:hover { background:#ffdb63; }
.incentive-text { padding-inline:8px; color:white; }
.incentive-figures { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.incentive-figures > div { min-height:172px; display:flex; flex-direction:column; justify-content:center; padding:20px 17px; border:1px solid rgba(255,255,255,.22); border-radius:18px; background:rgba(255,255,255,.1); box-shadow:inset 0 1px 0 rgba(255,255,255,.14); backdrop-filter:blur(8px); }
.incentive-figures span { color:#bfeaff; font-size:.73rem; font-weight:900; line-height:1.35; letter-spacing:.065em; }
.incentive-figures strong { display:block; margin:8px 0 7px; color:var(--orange); font-size:clamp(1.45rem,2.2vw,2.15rem); line-height:1; }
.incentive-figures small { color:rgba(255,255,255,.78); font-size:.72rem; font-weight:850; line-height:1.35; letter-spacing:.04em; }
.incentive-spotlight-note { margin:24px 0 0; padding-top:19px; border-top:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.68); font-size:.84rem; line-height:1.55; }

.service-page-hero { padding:76px 0; overflow:hidden; background:linear-gradient(120deg,#e8f7ff 0%,#fafdff 55%,#fff5c9 145%); }
.service-page-hero .service-hero-grid { display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:56px; }
.service-page-hero h1 { margin:12px 0 20px; max-width:800px; color:var(--navy); font-size:clamp(2.35rem,4.8vw,4.5rem); line-height:.98; letter-spacing:-.045em; }
.service-page-hero p { max-width:700px; color:var(--muted); font-size:1.12rem; }
.service-hero-panel { position:relative; min-height:350px; display:flex; flex-direction:column; justify-content:flex-end; padding:36px; border-radius:26px; overflow:hidden; color:white; background-size:cover; background-position:center; box-shadow:var(--shadow); }
.service-hero-panel::before { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(6,30,41,.9),rgba(6,30,41,.08) 75%); }
.service-hero-panel > * { position:relative; z-index:1; }
.service-hero-panel > .service-hero-image { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; }
.service-hero-panel::before { z-index:1; }
.service-hero-panel h2, .service-hero-panel p { z-index:2; }
.service-hero-panel h2 { margin:0 0 7px; font-size:1.55rem; }
.service-hero-panel p { margin:0; color:rgba(255,255,255,.8); font-size:.95rem; }
.electrical-hero { background-image:url('assets/commercial-upgrade.png'); }
.solar-hero { background-image:url('assets/solar-commercial.webp'); }
.ess-hero { background-image:linear-gradient(0deg,rgba(6,30,41,.18),rgba(6,30,41,.18)),url('assets/battery-storage.webp'); }
.ess-page-hero { background:linear-gradient(120deg,#e8f7ff 0%,#fafdff 54%,#e9fff6 120%); }
.building-hero { background-image:url('assets/ev-charging.webp'); }
.service-list-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.service-detail-card { padding:30px; border:1px solid var(--line); border-radius:18px; background:white; box-shadow:0 12px 38px rgba(16,47,61,.06); }
.service-detail-card .number { color:var(--blue-deep); font-size:.72rem; font-weight:950; letter-spacing:.15em; }
.service-detail-card h3 { margin:9px 0 10px; color:var(--navy); font-size:1.18rem; }
.service-detail-card p { margin:0 0 14px; color:var(--muted); }
.service-detail-card ul { margin:0; padding-left:19px; color:var(--muted); }
.service-detail-card li { margin:7px 0; }
.situation-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.process-grid article { min-height:210px; padding:25px; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.94); box-shadow:0 12px 30px rgba(16,47,61,.06); }
.process-grid b { display:grid; place-items:center; width:42px; height:42px; margin-bottom:18px; border-radius:12px; color:var(--navy); background:var(--orange); font-size:.8rem; }
.process-grid h3 { margin:0 0 9px; color:var(--navy); font-size:1rem; }
.process-grid p { margin:0; color:var(--muted); font-size:.94rem; line-height:1.6; }
.incentive-banner { display:grid; grid-template-columns:.85fr 1.15fr; gap:50px; align-items:center; padding:42px; border:1px solid #9fdaf4; border-radius:24px; background:linear-gradient(135deg,#e7f7ff,#fffbe7); box-shadow:0 18px 46px rgba(16,47,61,.08); }
.incentive-banner h2 { margin:8px 0 0; color:var(--navy); font-size:clamp(1.7rem,3vw,2.7rem); line-height:1.05; }
.incentive-banner p { margin:0; color:var(--muted); font-size:1rem; line-height:1.7; }
.solar-incentives-section { position:relative; overflow:hidden; background:linear-gradient(145deg,#e9f8ff 0%,#ffffff 48%,#fff9da 115%); }
.solar-incentives-section::before { content:""; position:absolute; width:420px; height:420px; right:-170px; top:-190px; border-radius:50%; background:rgba(255,201,40,.16); filter:blur(8px); }
.solar-incentives-section .container { position:relative; z-index:1; }
.solar-incentive-lead { display:grid; grid-template-columns:1fr .75fr; gap:54px; align-items:end; margin-bottom:34px; }
.solar-incentive-lead h2 { max-width:800px; margin:18px 0 0; color:var(--navy); font-size:clamp(2.1rem,4.1vw,4rem); line-height:1.01; letter-spacing:-.04em; }
.solar-incentive-lead > p { margin:0; color:var(--muted); font-size:1.05rem; line-height:1.68; }
.solar-incentive-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.solar-incentive-card { position:relative; min-height:300px; padding:27px 24px; overflow:hidden; border:1px solid rgba(18,104,139,.2); border-radius:20px; background:white; box-shadow:0 15px 36px rgba(16,47,61,.08); }
.solar-incentive-card::after { content:""; position:absolute; width:110px; height:110px; right:-35px; bottom:-42px; border-radius:50%; background:rgba(98,199,244,.14); }
.solar-incentive-card .incentive-type { display:block; min-height:38px; color:var(--blue-deep); font-size:.76rem; font-weight:950; line-height:1.35; letter-spacing:.07em; }
.solar-incentive-card > strong { display:block; margin:20px 0 10px; color:var(--navy); font-size:clamp(2rem,3vw,3rem); line-height:.95; }
.solar-incentive-card h3 { margin:0 0 13px; color:var(--navy); font-size:1rem; line-height:1.25; }
.solar-incentive-card p { margin:0; color:var(--muted); font-size:.94rem; line-height:1.6; }
.solar-incentive-card.commercial-incentive,.solar-incentive-card.federal-incentive { border-top:5px solid var(--orange); }
.solar-incentive-card.home-incentive,.solar-incentive-card.battery-incentive { border-top:5px solid var(--blue); }
.incentive-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:22px; }
.incentive-detail { padding:30px; border-radius:20px; background:var(--navy); color:white; }
.incentive-detail:nth-child(2) { background:#123f51; }
.incentive-detail h3 { margin:0 0 12px; color:var(--orange); font-size:1.08rem; }
.incentive-detail p,.incentive-detail li { color:rgba(255,255,255,.8); font-size:.97rem; line-height:1.65; }
.incentive-detail p { margin:0; }
.incentive-detail ul { margin:0; padding-left:20px; }
.incentive-detail li { margin:6px 0; }
.incentive-source-bar { display:flex; justify-content:space-between; align-items:center; gap:30px; margin-top:18px; padding:22px 24px; border:1px solid rgba(18,104,139,.18); border-radius:16px; background:rgba(255,255,255,.88); }
.incentive-source-bar p { max-width:660px; margin:0; color:var(--muted); font-size:.9rem; line-height:1.55; }
.incentive-source-bar div { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:13px; }
.incentive-source-bar a { color:var(--blue-deep); font-size:.78rem; font-weight:950; letter-spacing:.035em; }
.situation { padding:24px; border-left:4px solid var(--blue); border-radius:0 16px 16px 0; background:white; box-shadow:0 10px 30px rgba(16,47,61,.06); }
.situation strong { display:block; margin-bottom:7px; color:var(--navy); text-transform:uppercase; font-size:.82rem; letter-spacing:.06em; }
.situation p { margin:0; color:var(--muted); font-size:.94rem; }
.related-services { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }

.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1/-1; }
label { font-weight:900; color:var(--navy); text-transform:uppercase; letter-spacing:.07em; font-size:.74rem; }
label > span, legend > span { color:var(--muted); font-weight:700; text-transform:none; letter-spacing:0; }
input, select, textarea { border:1px solid #b9c8ce; border-radius:12px; padding:13px 14px; background:white; color:var(--ink); }
input:focus, select:focus, textarea:focus { outline:3px solid rgba(98,199,244,.24); border-color:var(--blue-deep); }
.contact-layout { display:grid; grid-template-columns:.72fr 1.28fr; gap:40px; align-items:start; }
.contact-panel { background:var(--navy); color:white; border-radius:22px; padding:34px; }
.contact-panel p, .contact-panel a { color:rgba(255,255,255,.78); }
.form-card { border:1px solid var(--line); border-radius:22px; padding:34px; box-shadow:0 16px 50px rgba(16,47,61,.08); }
.assessment-options { margin:8px 0 0; padding:0; border:0; }
.assessment-options legend { width:100%; margin-bottom:12px; color:var(--navy); font-size:.84rem; font-weight:900; line-height:1.45; text-transform:uppercase; letter-spacing:.07em; }
.assessment-options legend span { float:right; font-size:.78rem; }
.assessment-option-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.assessment-option { position:relative; display:flex; align-items:flex-start; gap:12px; min-height:92px; padding:15px; border:1px solid #c6d9e1; border-radius:14px; background:#fff; cursor:pointer; text-transform:none; letter-spacing:0; transition:border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.assessment-option:hover { border-color:var(--blue-deep); box-shadow:0 8px 22px rgba(16,47,61,.08); }
.assessment-option.featured { border-color:#8acfea; background:linear-gradient(145deg,#fff,#eefaff); }
.assessment-option:has(input:checked) { border-color:var(--blue-deep); background:#eaf8ff; box-shadow:0 0 0 3px rgba(98,199,244,.18); }
.assessment-option input { width:20px; height:20px; flex:0 0 20px; margin:2px 0 0; padding:0; accent-color:var(--blue-deep); }
.assessment-option span { color:inherit; font-weight:inherit; }
.assessment-option strong,.assessment-option small { display:block; }
.assessment-option strong { color:var(--navy); font-size:.88rem; line-height:1.3; }
.assessment-option small { margin-top:5px; color:var(--muted); font-size:.76rem; font-weight:650; line-height:1.4; }
.form-hint { margin:10px 0 0; color:var(--muted); font-size:.82rem; }
.form-error { min-height:1.2em; margin:2px 0 0; color:#a43b32; font-size:.82rem; font-weight:800; }
.notice { display:none; margin-top:14px; padding:12px 14px; border-radius:10px; background:#edf8f4; color:#24634f; font-weight:700; }
.website-field { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.form-card button[disabled] { cursor:wait; opacity:.72; transform:none; }

/* Secure staff portal handoff */
.staff-login-redirect {
  align-items: center;
  background:
    radial-gradient(circle at 80% 8%, rgba(47, 134, 204, .28), transparent 34%),
    var(--navy);
  display: flex;
  justify-content: center;
  min-height: 100vh;
  padding: 32px 20px;
}
.staff-login-card {
  background: #fff;
  border-top: 6px solid var(--yellow);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
  max-width: 620px;
  padding: clamp(34px, 6vw, 62px);
  width: 100%;
}
.staff-login-card img {
  display: block;
  height: auto;
  margin-bottom: 36px;
  max-width: 210px;
}
.staff-login-card h1 {
  color: var(--navy);
  font-size: clamp(2rem, 5vw, 3.3rem);
  letter-spacing: -.045em;
  line-height: 1;
  margin: 12px 0 20px;
}
.staff-login-card p {
  color: var(--text);
  line-height: 1.7;
  margin: 0 0 28px;
}
.staff-login-home {
  color: var(--blue-deep);
  display: block;
  font-size: .78rem;
  font-weight: 800;
  margin-top: 22px;
  text-decoration: none;
}

/* Retired temporary staff-only lead intake */
.staff-tool {
  min-height:100vh;
  background:
    radial-gradient(circle at 8% 24%,rgba(98,199,244,.16),transparent 28rem),
    linear-gradient(180deg,#fafdff,#edf8fe);
}
.internal-header .header-inner { min-height:74px; }
.internal-badge {
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 14px;
  border:1px solid #99d9f5;
  border-radius:999px;
  color:var(--navy);
  background:var(--blue-light);
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.staff-page-hero { padding:58px 0 50px; }
.staff-page-hero h1 { max-width:760px; margin:10px 0 14px; }
.staff-page-hero p { max-width:820px; }
.staff-intake-section { padding-top:58px; }
.staff-intake-layout { display:grid; grid-template-columns:.68fr 1.32fr; gap:40px; align-items:start; }
.staff-guidance { position:sticky; top:98px; }
.staff-guidance h2 { margin:0 0 20px; font-size:1.45rem; }
.staff-guidance ol { margin:0; padding-left:21px; color:rgba(255,255,255,.82); }
.staff-guidance li { margin:11px 0; padding-left:4px; }
.staff-tool-note {
  margin-top:26px;
  padding:18px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:14px;
  background:rgba(255,255,255,.08);
}
.staff-tool-note strong {
  display:block;
  margin-bottom:7px;
  color:var(--orange);
  font-size:.76rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.staff-tool-note p { margin:0; font-size:.88rem; }
.staff-security-note { margin:20px 0 0; font-size:.76rem; }
.staff-intake-card { background:rgba(255,255,255,.94); }
.staff-service-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.staff-service {
  display:flex;
  align-items:flex-start;
  gap:10px;
  min-height:58px;
  padding:12px;
  border:1px solid #c6d9e1;
  border-radius:12px;
  background:#fff;
  cursor:pointer;
  text-transform:none;
  letter-spacing:0;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.staff-service:hover { border-color:var(--blue-deep); }
.staff-service:has(input:checked) {
  border-color:var(--blue-deep);
  background:#eaf8ff;
  box-shadow:0 0 0 3px rgba(98,199,244,.16);
}
.staff-service input {
  width:19px;
  height:19px;
  flex:0 0 19px;
  margin:1px 0 0;
  padding:0;
  accent-color:var(--blue-deep);
}
.staff-service span { color:var(--navy); font-size:.78rem; font-weight:800; line-height:1.35; }
.staff-submit-row .btn { align-self:flex-start; }
.staff-submit-row .form-hint { margin:0; }

.section.ev-offer {
  position:relative;
  overflow:hidden;
  background:#0b2c3b;
  color:white;
}
.section.ev-offer::before {
  content:"";
  position:absolute;
  width:560px;
  height:560px;
  right:-210px;
  top:-260px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(98,199,244,.22),transparent 70%);
  pointer-events:none;
}
.ev-offer-intro {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);
  gap:54px;
  align-items:end;
  margin-bottom:38px;
}
.ev-offer .section-head { margin:0; }
.ev-offer .section-head h2 { color:white; max-width:720px; }
.ev-offer .section-head p { color:#d3e4eb; max-width:690px; }
.ev-offer .eyebrow { color:#8edcff; }
.ev-offer-note {
  border-left:4px solid var(--orange);
  padding:3px 0 3px 22px;
}
.ev-offer-note span {
  display:block;
  margin-bottom:7px;
  color:var(--orange);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.13em;
}
.ev-offer-note strong {
  display:block;
  color:white;
  font-size:1.05rem;
  line-height:1.35;
}
.ev-offer-note p {
  margin:8px 0 0;
  color:#bcd1da;
  font-size:.9rem;
  line-height:1.55;
}
.ev-solution-grid {
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.ev-solution-card {
  position:relative;
  min-height:338px;
  padding:28px;
  border:1px solid #d5e2e7;
  border-top:5px solid var(--blue);
  border-radius:18px;
  background:#fff;
  box-shadow:0 18px 40px rgba(0,0,0,.15);
}
.ev-solution-card.commercial,
.ev-solution-card.strata { border-top-color:var(--orange); }
.ev-card-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:19px;
}
.ev-solution-card .number {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--navy);
  color:white;
  font-size:.76rem;
  font-weight:950;
}
.ev-solution-card .ev-audience {
  color:#5b7079;
  font-size:.7rem;
  font-weight:950;
  letter-spacing:.11em;
  text-align:right;
}
.ev-solution-card h3 {
  margin:0 0 10px;
  color:var(--navy);
  font-size:1.28rem;
  line-height:1.2;
}
.ev-solution-card p {
  margin:0;
  color:#536872;
  line-height:1.55;
}
.ev-solution-card ul {
  margin:18px 0 0;
  padding:0;
  list-style:none;
}
.ev-solution-card li {
  position:relative;
  margin:9px 0;
  padding-left:22px;
  color:#304750;
  font-size:.93rem;
  line-height:1.45;
}
.ev-solution-card li::before {
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--blue-deep);
  font-weight:950;
}
.ev-solution-card.commercial li::before,
.ev-solution-card.strata li::before { color:#a27400; }
.ev-actions {
  position:relative;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.ev-actions .secondary {
  border-color:white;
  color:var(--navy);
  background:white;
}
.ev-actions .secondary:hover {
  border-color:#dff4ff;
  background:#dff4ff;
}

.site-footer { background:#0c2632; color:white; padding:64px 0 22px; }
.footer-grid { display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:34px; }
.footer-brand img { width:132px; background:white; border-radius:8px; padding:4px; margin-bottom:16px; }
.site-footer h4 { margin:0 0 14px; }
.site-footer a, .site-footer p { color:rgba(255,255,255,.68); }
.site-footer a { display:block; margin:8px 0; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:42px; padding-top:20px; display:flex; justify-content:space-between; gap:20px; color:rgba(255,255,255,.55); font-size:.9rem; }

@media (max-width: 980px) {
  .nav { position:absolute; top:78px; left:0; right:0; background:white; border-bottom:1px solid var(--line); padding:18px 24px; display:none; flex-direction:column; align-items:flex-start; }
  .nav.open { display:flex; }
  .mobile-toggle { display:block; }
  .header-inner > .btn { display:none; }
  .hero-grid, .split, .contact-layout, .service-page-hero .service-hero-grid { grid-template-columns:1fr; }
  .hero-visual { max-width:760px; }
  .cards, .project-grid { grid-template-columns:repeat(2,1fr); }
  .credential-grid { grid-template-columns:repeat(2,1fr); }
  .credential { border-bottom:1px solid rgba(255,255,255,.15); }
  .audience { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
  .footer-grid > :last-child { grid-column:1/-1; }
  .investment-grid { grid-template-columns:1fr; gap:50px; }
  .investment-motion { max-width:720px; width:100%; margin:auto; }
  .pillar-detail-grid, .situation-grid { grid-template-columns:1fr; }
  .ev-offer-intro { grid-template-columns:1fr; gap:24px; }
  .ev-solution-grid { grid-template-columns:1fr; }
  .ev-solution-card { min-height:0; }
  .process-grid { grid-template-columns:repeat(2,1fr); }
  .incentive-banner { grid-template-columns:1fr; gap:20px; }
  .incentive-spotlight-shell,.solar-incentive-lead { grid-template-columns:1fr; gap:28px; }
  .solar-incentive-grid { grid-template-columns:repeat(2,1fr); }
  .incentive-source-bar { align-items:flex-start; flex-direction:column; }
  .incentive-source-bar div { justify-content:flex-start; }
  .path-grid { grid-template-columns:1fr; }
  .path-card { display:grid; grid-template-columns:minmax(250px,.8fr) 1.2fr; }
  .path-image { height:100%; min-height:310px; }
  .staff-intake-layout { grid-template-columns:1fr; }
  .staff-guidance { position:static; }
}
@media (max-width: 680px) {
  .container { width:min(100% - 28px,var(--max)); }
  .brand { gap:8px; }
  .brand img { width:112px; }
  .brand::after { max-width:92px; font-size:.63rem; letter-spacing:.075em; }
  .section { padding:68px 0; }
  .process-grid { grid-template-columns:1fr; }
  .process-grid article { min-height:0; }
  .incentive-banner { padding:28px; }
  .incentive-spotlight { padding:44px 0; }
  .incentive-alert { border-radius:14px; font-size:.72rem; }
  .incentive-figures,.solar-incentive-grid,.incentive-detail-grid { grid-template-columns:1fr; }
  .incentive-figures > div { min-height:0; }
  .solar-incentive-card { min-height:0; }
  .hero { padding-top:38px; }
  .hero h1 { font-size:clamp(2.35rem,12vw,3.7rem); }
  .hero-note { position:static; width:auto; margin-top:14px; }
  .hero-badge { top:12px; right:12px; }
  .ev-offer-intro { margin-bottom:28px; }
  .ev-solution-card { padding:24px 22px; }
  .ev-actions { display:grid; }
  .ev-actions .btn { width:100%; }
  .energy-film { min-height:560px; }
  .film-shade { background:linear-gradient(0deg,rgba(4,19,26,.92) 0%,rgba(4,19,26,.42) 100%); }
  .film-content { padding-bottom:54px; }
  .film-content h2 { font-size:clamp(2.45rem,13vw,4rem); }
  .investment-story { padding-top:76px; }
  .investment-copy h2 { font-size:clamp(2.2rem,10.5vw,3.5rem); }
  .investment-points div { grid-template-columns:1fr; gap:3px; }
  .investment-motion { min-height:760px; }
  .energy-choice { min-height:730px; padding:22px 14px; }
  .choice-panels { grid-template-columns:1fr; gap:10px; margin:14px 0; }
  .choice-divider { height:22px; }
  .choice-divider::before { left:0; right:0; top:50%; bottom:auto; width:auto; height:1px; background:linear-gradient(90deg,transparent,rgba(16,47,61,.22),transparent); }
  .choice-divider span { width:32px; height:32px; }
  .choice-panel { display:grid; grid-template-columns:105px 1fr; grid-template-rows:auto auto auto; align-items:center; padding:12px; text-align:left; }
  .choice-icon,.choice-home { grid-row:1/4; width:98px; height:78px; margin:0; }
  .utility-icon .bill-back { left:11px; top:8px; width:64px; height:60px; }
  .utility-icon .utility-bill { left:18px; width:68px; height:66px; padding:7px; }
  .utility-icon .utility-bill small { font-size:.29rem; }
  .utility-icon .utility-bill b { top:24px; font-size:1.05rem; }
  .utility-icon .utility-bill i { width:35px; margin-top:5px; }.utility-icon .utility-bill i:nth-of-type(2){width:28px}.utility-icon .utility-bill i:nth-of-type(3){width:38px}
  .utility-icon .bill-trend { right:-1px; width:24px; height:24px; font-size:.85rem; }
  .choice-kicker { margin:0; }.choice-panel h3 { margin:3px 0; font-size:.93rem; }.choice-panel p { display:none; }
  .money-stream { position:absolute; right:12px; bottom:10px; margin:0; }
  .ownership-timeline { padding:15px 12px 12px; }
  .timeline-labels { gap:7px; }.timeline-labels strong { font-size:.54rem; }.timeline-labels small { font-size:.42rem; }
  .investment-label { border-radius:18px; width:calc(100% - 28px); }
  .service-orbit { width:300px; height:300px; top:39%; }
  .property-system { top:39%; transform:translate(-50%,-43%) scale(.85); }
  .property-photo { width:calc(100% - 54px); height:245px; transform:translate(-50%,-43%); }
  .service-node { width:calc(50% - 22px); min-height:58px; padding:9px; gap:7px; }
  .service-node > span { min-width:32px; height:32px; }
  .service-node strong { font-size:.57rem; }
  .node-electrical { left:14px; top:505px; }.node-capacity { left:14px; top:568px; }.node-solar { right:14px; top:505px; }.node-storage { right:14px; top:568px; }.node-ev { left:14px; bottom:66px; }.node-maintenance { right:14px; bottom:66px; }
  .motion-caption { bottom:20px; font-size:.56rem; }
  .cards, .project-grid, .audience, .process, .credential-grid, .footer-grid, .form-grid, .service-list-grid { grid-template-columns:1fr; }
  .assessment-option-grid { grid-template-columns:1fr; }
  .staff-service-grid { grid-template-columns:1fr; }
  .assessment-options legend span { float:none; display:block; margin-top:3px; }
  .internal-badge { padding:7px 10px; font-size:.59rem; letter-spacing:.07em; }
  .staff-page-hero { padding:40px 0 34px; }
  .staff-intake-section { padding-top:38px; }
  .staff-intake-card,.staff-guidance { padding:24px; }
  .audience > div { min-height:126px; }
  .audience-icon { width:96px; height:96px; flex-basis:96px; }
  .path-card { display:block; }
  .path-image { height:210px; min-height:0; }
  .path-content { padding:24px; }
  .service-block { grid-template-columns:1fr; gap:15px; }
  .service-block ul { columns:1; }
  .pillar-intro { grid-template-columns:1fr; gap:16px; }
  .pillar-number { width:66px; height:66px; border-radius:18px; }
  .cta { padding:36px 26px; flex-direction:column; align-items:flex-start; }
  .footer-grid > :last-child { grid-column:auto; }
  .footer-bottom { flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) {
  .film-scene, .film-progress span, .film-pulse, .investment-motion::before, .service-orbit, .service-node, .system-sun, .system-roof span, .system-windows i, .energy-spark, .money-stream b { animation:none; }
  .scene-solar { opacity:1; transform:none; }
}

/* Readability pass: keep supporting copy legible on desktop and mobile. */
.eyebrow,
.btn,
.hero-badge,
.credential,
.film-status,
.film-content p,
.investment-points strong,
.case-detail h4,
.tag,
.service-detail-card .number,
.situation strong,
label {
  font-size: .84rem;
  line-height: 1.45;
}

.hero-note span,
.trust-row,
.investment-points span,
.case-detail p,
.service-hero-panel p,
.situation p,
.audience > div {
  font-size: .96rem;
}

.choice-heading strong {
  font-size: 1.35rem;
  line-height: 1.2;
}

.choice-heading > span {
  margin-top: 9px;
  font-size: .82rem;
  line-height: 1.45;
  letter-spacing: .09em;
}

.choice-kicker {
  font-size: .75rem;
  line-height: 1.35;
  letter-spacing: .09em;
}

.choice-panel p {
  font-size: .88rem;
  line-height: 1.55;
}

.choice-divider span,
.money-stream b {
  font-size: .75rem;
}

.timeline-labels small {
  font-size: .7rem;
  line-height: 1.35;
  letter-spacing: .07em;
}

.timeline-labels strong {
  font-size: .78rem;
  line-height: 1.35;
}

.choice-footnote,
.investment-disclaimer {
  font-size: .74rem;
  line-height: 1.55;
}

.investment-label strong,
.capital-source strong,
.property-building b,
.system-building > b,
.service-node strong,
.motion-caption,
.value-core strong {
  font-size: .76rem;
  line-height: 1.35;
}

.investment-label small,
.capital-source small,
.asset small,
.value-core small {
  font-size: .68rem;
  line-height: 1.35;
}

.asset strong,
.asset > span,
.service-node > span {
  font-size: .76rem;
}

@media (max-width: 680px) {
  .choice-heading strong { font-size: 1.2rem; }
  .choice-heading > span { font-size: .76rem; }
  .choice-kicker { font-size: .72rem; }
  .choice-panel h3 { font-size: 1.02rem; }
  .choice-panel p { display: block; font-size: .82rem; }
  .timeline-labels small { font-size: .66rem; }
  .timeline-labels strong { font-size: .74rem; }
  .service-node strong { font-size: .7rem; }
  .motion-caption { font-size: .7rem; }
}
