:root{
  --void:#06070A; --panel:#0C0F16; --panel-hi:#131824; --hairline:#1D2431;
  --arc:#2F6BFF; --spark:#5CD3FF; --glow:#A8DCFF; --live:#FFB020;
  --ink:#E9EEF6; --ink-dim:#8B97A9;
  --display:"Saira Condensed","Arial Narrow",Impact,sans-serif;
  --body:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
  --gut:clamp(20px,5vw,64px); --maxw:1180px;
  --ph-street:url("street.jpg");
  --ph-solar:url("solar.jpg");
  --ph-batt:url("batt.jpg");
  --ph-gen:url("gen.jpg");
  --ph-array:url("array.jpg");
  --ph-inv:url("inv.jpg");
  --ph-panel:url("panel.jpg");
  --ph-ev:url("ev.jpg");
  --ph-shack:url("shack.jpg");
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;overscroll-behavior-y:contain;background:var(--void);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
:focus-visible{outline:2px solid var(--spark);outline-offset:3px}
.ie-wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding-inline:var(--gut)}

.ie-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--arc);margin:0 0 18px;display:flex;align-items:center;gap:12px}
.ie-eyebrow::before{content:"";width:26px;height:1px;background:linear-gradient(90deg,transparent,var(--arc));flex:none}
.ie-h2{font-family:var(--display);font-weight:800;font-size:clamp(34px,5.4vw,64px);line-height:.95;text-transform:uppercase;margin:0 0 20px;max-width:16ch}
.ie-h2 em{font-style:normal;color:var(--spark)}
.ie-lede{font-size:clamp(16px,1.6vw,19px);color:var(--ink-dim);max-width:60ch;margin:0}

/* ---------------- NAV ---------------- */
.ie-nav{position:sticky;top:0;z-index:60;background:rgba(6,7,10,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--hairline);transition:opacity .7s ease .1s}
.ie-nav__in{display:flex;align-items:center;gap:24px;height:62px}
.ie-logo{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.ie-logo__mark{width:34px;height:auto;flex:none;filter:drop-shadow(0 0 10px rgba(47,107,255,.5))}
.ie-logo__lock{display:flex;flex-direction:column;gap:3px;line-height:1}
.ie-logo__tag{font-family:var(--mono);font-size:8.5px;letter-spacing:.26em;text-transform:uppercase;color:#5A6678;line-height:1;white-space:nowrap}
.ie-logo__txt{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:.06em;text-transform:uppercase;line-height:1}
.ie-logo__txt span{color:var(--arc)}
.ie-nav__links{display:flex;gap:19px}
.ie-nav__links a{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);text-decoration:none;white-space:nowrap;transition:color .18s}
.ie-nav__links a:hover{color:var(--spark)}
.ie-nav__cta{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:9px 16px;border:1px solid var(--arc);color:var(--glow);transition:background .18s,box-shadow .18s}
.ie-nav__cta:hover{background:rgba(47,107,255,.14);box-shadow:0 0 22px rgba(47,107,255,.3)}
@media(max-width:1120px){.ie-nav__links{display:none}}

/* ---------------- MOBILE NAV ---------------- */
.ie-burger{display:none;background:none;border:1px solid var(--hairline);cursor:pointer;padding:9px 11px;flex:none}
.ie-burger span{display:block;width:18px;height:1.5px;background:var(--ink);margin:3.5px 0;transition:transform .25s,opacity .2s}
.ie-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.ie-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.ie-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.ie-menu{display:none;border-top:1px solid var(--hairline);background:rgba(6,7,10,.98);backdrop-filter:blur(14px)}
.ie-menu.open{display:block}
.ie-menu a{display:block;padding:15px var(--gut);border-bottom:1px solid var(--hairline);font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);text-decoration:none}
.ie-menu a:active,.ie-menu a:hover{color:var(--spark);background:var(--panel)}
@media(max-width:1120px){
  .ie-burger{display:block}
  .ie-logo__txt{font-size:16px}
  .ie-nav__cta{padding:9px 12px;font-size:11px}
  .ie-nav__in{gap:12px}
}
@media(max-width:420px){
  .ie-logo__txt{font-size:14px;letter-spacing:.03em}
  .ie-nav__cta{padding:8px 10px;font-size:10px}
  .ie-logo__mark{width:26px}
.ie-logo__tag{display:none}
}

/* ---------------- COLD OPEN ---------------- */
body.is-booting{overflow:hidden}
body.is-booting .ie-nav{opacity:0}
.ie-boot{position:fixed;inset:0;z-index:999;background:var(--void);display:flex;align-items:center;justify-content:center;transition:opacity .75s ease,visibility .75s}
.ie-boot.is-done{opacity:0;visibility:hidden}
.ie-boot__panel{width:min(540px,86vw)}
.ie-boot__brand{display:flex;justify-content:center;margin-bottom:30px;opacity:0;transition:opacity .5s}
.ie-boot__brand.is-in{opacity:1}
.ie-boot__brand img{width:min(260px,60vw);height:auto;filter:drop-shadow(0 0 26px rgba(47,107,255,.3))}

.ie-boot__lines{font-family:var(--mono);font-size:12.5px;line-height:1.9;border-top:1px solid var(--hairline)}
.ie-boot__line{display:flex;align-items:baseline;gap:14px;padding:6px 0;border-bottom:1px solid var(--hairline);color:var(--ink-dim);opacity:0;transform:translateX(-8px);transition:opacity .28s,transform .28s}
.ie-boot__line.is-in{opacity:1;transform:none}
.ie-boot__line b{margin-left:auto;font-weight:500;color:var(--spark);text-shadow:0 0 12px rgba(92,211,255,.5)}
.ie-boot__line b.ie-bad{color:var(--live);text-shadow:0 0 12px rgba(255,176,32,.45)}
.ie-boot__track{height:2px;background:#121722;margin-top:26px;overflow:hidden}
.ie-boot__prog{height:100%;width:0;background:linear-gradient(90deg,var(--arc),var(--spark));box-shadow:0 0 14px rgba(92,211,255,.75);transition:width .4s cubic-bezier(.3,1,.4,1)}
.ie-boot__skip{margin-top:16px;text-align:right;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#3D4757;background:none;border:0;cursor:pointer;padding:4px 0;width:100%}
.ie-boot__skip:hover{color:var(--spark)}

/* ---------------- HERO ---------------- */
.ie-hero{position:relative;overflow:hidden;min-height:76vh;display:flex;align-items:center}
.ie-hero__bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:#06070A}
.ie-hero__bg video{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;filter:saturate(.72) contrast(1.02) brightness(.60)}
.ie-hero::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(6,7,10,.92) 0%,rgba(6,7,10,.74) 34%,rgba(6,7,10,.40) 62%,rgba(6,7,10,.56) 100%),linear-gradient(0deg,var(--void) 0%,rgba(6,7,10,.55) 12%,transparent 34%)}
.ie-hero__in{position:relative;z-index:3;padding-block:clamp(56px,8vw,92px) clamp(48px,6vw,76px);width:100%}
.ie-hero h1{font-family:var(--display);font-weight:800;font-size:clamp(40px,7vw,88px);line-height:.92;letter-spacing:-.015em;text-transform:uppercase;margin:0 0 22px;max-width:17ch;text-shadow:0 0 42px rgba(47,107,255,.32)}
.ie-hero h1 em{font-style:normal;color:var(--spark);text-shadow:0 0 30px rgba(92,211,255,.55)}
.ie-hero__sub{font-size:clamp(16px,1.9vw,20px);color:var(--ink-dim);max-width:56ch;margin:0 0 34px}
.ie-hero__btns{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:44px}
.ie-btn{font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:15px 26px;border:1px solid transparent;cursor:pointer;display:inline-block;transition:transform .16s,box-shadow .2s,background .2s}
.ie-btn--solid{background:var(--arc);color:#fff}
.ie-btn--solid:hover{transform:translateY(-1px);box-shadow:0 8px 34px rgba(47,107,255,.45)}
.ie-btn--ghost{border-color:var(--hairline);color:var(--ink);background:rgba(255,255,255,.02)}
.ie-btn--ghost:hover{border-color:var(--arc);color:var(--glow)}

/* ---------------- OFFER STEPS ---------------- */
.ie-offer{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2px;background:var(--hairline);border:1px solid var(--hairline)}
.ie-offer__i{background:var(--panel);padding:clamp(24px,3vw,34px);position:relative}
.ie-offer__n{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--arc);margin-bottom:16px}
.ie-offer__i h3{font-family:var(--display);font-weight:700;font-size:clamp(22px,2.6vw,28px);text-transform:uppercase;line-height:1.03;margin:0 0 12px}
.ie-offer__i p{margin:0;font-size:14.5px;color:var(--ink-dim)}
.ie-offer__i.bonus{background:#0A0E16}
.ie-offer__i.bonus .ie-offer__n{color:var(--live)}

/* ---------------- SAVINGS TEASER ---------------- */
.ie-teaser{border:1px solid var(--hairline);background:linear-gradient(135deg,#0D131D,#080B12 65%);padding:clamp(26px,4vw,48px)}
.ie-teaser__grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:clamp(14px,3vw,34px);align-items:center;margin-bottom:26px}
@media(max-width:820px){.ie-teaser__grid{grid-template-columns:1fr;gap:18px}}
.ie-fig__lab{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 8px}
.ie-fig__n{font-family:var(--display);font-weight:800;font-size:clamp(38px,5.4vw,60px);line-height:.9;margin:0}
.ie-fig__n.warm{color:var(--warm)}
.ie-fig__n.cool{color:var(--spark);text-shadow:0 0 30px rgba(92,211,255,.3)}
.ie-fig__sub{font-family:var(--mono);font-size:11px;color:#4E5A6B;margin:8px 0 0}
.ie-teaser__op{font-family:var(--display);font-size:34px;color:var(--arc);line-height:1}
@media(max-width:820px){.ie-teaser__op{display:none}}
.ie-teaser__note{font-family:var(--mono);font-size:11px;line-height:1.8;color:#4E5A6B;border-top:1px solid var(--hairline);padding-top:18px;margin:0}

/* ---------------- GENERATOR + BATTERY ---------------- */
.ie-gen{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--hairline);border:1px solid var(--hairline)}
@media(max-width:820px){.ie-gen{grid-template-columns:1fr}}
.ie-gen__i{background:var(--panel);padding:clamp(22px,3vw,32px)}
.ie-gen__i.good{background:#0A1017}
.ie-gen__tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;margin-bottom:12px;color:var(--warm)}
.ie-gen__i.good .ie-gen__tag{color:var(--spark)}
.ie-gen__i h3{font-family:var(--display);font-weight:700;font-size:clamp(20px,2.4vw,26px);text-transform:uppercase;margin:0 0 16px;line-height:1.05}
.ie-bar{margin:16px 0 6px}
.ie-bar__lab{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:7px}
.ie-bar__track{height:8px;background:#121A26;position:relative;overflow:hidden}
.ie-bar__fill{height:100%;background:var(--warm)}
.ie-gen__i.good .ie-bar__fill{background:linear-gradient(90deg,var(--arc),var(--spark));box-shadow:0 0 14px rgba(92,211,255,.5)}
.ie-gen__i ul{list-style:none;margin:20px 0 0;padding:0}
.ie-gen__i li{padding:10px 0 10px 22px;border-top:1px solid var(--hairline);font-size:14px;color:var(--ink-dim);position:relative}
.ie-gen__i li::before{content:"";position:absolute;left:0;top:19px;width:9px;height:1px;background:var(--warm)}
.ie-gen__i.good li::before{background:var(--spark);box-shadow:0 0 7px var(--spark)}
.ie-cycle{border:1px solid var(--hairline);background:var(--panel);padding:clamp(20px,2.6vw,28px);margin-top:2px}
.ie-cycle h4{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--arc);margin:0 0 18px;font-weight:500}
.ie-cycle__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2px;background:var(--hairline)}
.ie-cycle__s{background:#080B12;padding:18px 20px}
.ie-cycle__s b{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--spark);margin-bottom:8px;font-weight:500}
.ie-cycle__s p{margin:0;font-size:13.5px;color:var(--ink-dim);line-height:1.55}

/* ---------------- NAV: bigger, with a growing underline ---------------- */
.ie-nav__in{height:68px}
.ie-nav__links{gap:26px}
.ie-nav__links a{font-size:13px;position:relative;padding:8px 0;transition:color .25s}
.ie-nav__links a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--spark);box-shadow:0 0 9px var(--spark);transition:right .35s cubic-bezier(.16,1,.3,1)}
.ie-nav__links a:hover{color:var(--ink)}
.ie-nav__links a:hover::after,.ie-nav__links a[aria-current]::after{right:0}
.ie-nav__cta{transition:background .25s,box-shadow .25s,transform .25s}
.ie-nav__cta:hover{transform:translateY(-1px);box-shadow:0 6px 26px rgba(47,107,255,.4)}

/* ---------------- GATEWAY CARDS ---------------- */
.ie-gate{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:2px;background:var(--hairline);border:1px solid var(--hairline)}
.ie-gate__a{position:relative;display:block;text-decoration:none;overflow:hidden;min-height:clamp(280px,31vw,380px);background:#080B12;isolation:isolate}
.ie-gate__img{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.75) brightness(.60);transform:scale(1.02);transition:transform .8s cubic-bezier(.16,1,.3,1),filter .55s ease}
.ie-gate__a:hover .ie-gate__img,.ie-gate__a:focus-visible .ie-gate__img{transform:scale(1.11);filter:saturate(1) brightness(.88)}
.ie-gate__a::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(6,7,10,.30) 0%,rgba(6,7,10,.62) 55%,rgba(6,7,10,.94) 100%);transition:background .45s ease}
.ie-gate__a:hover::after,.ie-gate__a:focus-visible::after{background:linear-gradient(180deg,rgba(6,7,10,.12) 0%,rgba(6,7,10,.45) 55%,rgba(6,7,10,.88) 100%)}
.ie-gate__a::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;border:1px solid transparent;transition:border-color .4s,box-shadow .4s}
.ie-gate__a:hover::before,.ie-gate__a:focus-visible::before{border-color:var(--arc);box-shadow:inset 0 0 46px rgba(47,107,255,.20)}
.ie-gate__in{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(22px,2.8vw,32px)}
.ie-gate__tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--spark);margin:0 0 11px}
.ie-gate__a h3{font-family:var(--display);font-weight:800;font-size:clamp(25px,3.1vw,36px);text-transform:uppercase;line-height:.98;margin:0 0 9px;color:var(--ink);transition:transform .45s cubic-bezier(.16,1,.3,1)}
.ie-gate__a:hover h3{transform:translateY(-3px)}
.ie-gate__a p{margin:0;font-size:14px;color:var(--ink-dim);max-width:34ch}
.ie-gate__go{margin-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--spark);display:flex;align-items:center;gap:9px}
.ie-gate__go i{font-style:normal;display:inline-block;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.ie-gate__a:hover .ie-gate__go i{transform:translateX(7px)}

/* ---------------- SYSTEM DIAGRAM ---------------- */
.ie-diagram{border:1px solid var(--hairline);background:linear-gradient(160deg,#0C121B,#080B12 70%);padding:clamp(18px,2.6vw,28px);margin-bottom:2px}
.ie-diagram__head{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-bottom:18px}
.ie-diagram__head h3{font-family:var(--display);font-weight:700;font-size:clamp(19px,2.2vw,24px);text-transform:uppercase;margin:0}
.ie-diagram__toggle{display:flex;gap:1px;background:var(--hairline);border:1px solid var(--hairline)}
.ie-diagram__toggle button{padding:9px 15px;border:0;cursor:pointer;background:#080B11;color:var(--ink-dim);font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.ie-diagram__toggle button[aria-pressed="true"]{background:var(--arc);color:#fff}
.ie-diagram svg{width:100%;height:auto;display:block}
.ie-diagram__cap{margin:20px auto 2px;max-width:82ch;font-family:var(--mono);font-size:clamp(12.5px,1.05vw,14.5px);line-height:1.8;color:var(--ink-dim);text-align:center}
.ie-diagram__cap span{display:block}
.ie-diagram__cap span+span{color:#7C8899}
@media(max-width:620px){.ie-diagram__cap{text-align:left;font-size:13px}}
.ie-diagram svg path,.ie-diagram svg rect,.ie-diagram svg text{transition:stroke .45s ease,fill .45s ease,opacity .45s ease}
@keyframes ieFlow{to{stroke-dashoffset:-24}}

/* ---------------- SECTIONS ---------------- */
.ie-sec{padding-block:clamp(64px,9vw,116px);position:relative}
.ie-sec--line{border-top:1px solid var(--hairline)}
.ie-sec__head{margin-bottom:clamp(32px,5vw,56px)}

/* ---------------- FIGURES ---------------- */
.ie-figure{position:relative;overflow:hidden;background:#080B11;border:1px solid var(--hairline);display:block;width:100%}
.ie-figure__img{width:100%;height:100%;background-size:cover;background-position:center;filter:saturate(.82) contrast(1.04) brightness(.94);transition:transform .9s cubic-bezier(.16,1,.3,1),filter .5s}
.ie-figure:hover .ie-figure__img{transform:scale(1.045);filter:saturate(1) brightness(1.04)}
.ie-figure::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(47,107,255,.06) 0%,transparent 35%,rgba(6,7,10,.8) 100%)}
.ie-figure__cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:14px 16px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}
.ie-figure__cap b{color:var(--spark);font-weight:500}

/* ---------------- STARTING POINTS ---------------- */
.ie-paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2px;background:var(--hairline);border:1px solid var(--hairline)}
.ie-path{background:var(--panel);padding:0;transition:background .22s}
.ie-path:hover{background:var(--panel-hi)}
.ie-path .ie-figure{border:0;border-bottom:1px solid var(--hairline)}
.ie-path .ie-figure__img{aspect-ratio:3/2}
.ie-path__body{padding:clamp(26px,3.4vw,40px)}
.ie-path__tag{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--arc);margin-bottom:14px}
.ie-path h3{font-family:var(--display);font-weight:700;font-size:clamp(24px,2.8vw,32px);line-height:1.05;text-transform:uppercase;margin:0 0 14px}
.ie-path p{color:var(--ink-dim);margin:0 0 20px;font-size:15px}
.ie-path ul{list-style:none;padding:0;margin:0}
.ie-path li{font-size:14px;padding:11px 0 11px 24px;position:relative;border-top:1px solid var(--hairline);color:var(--ink-dim);line-height:1.5}
.ie-path li b{color:var(--ink);font-weight:600;display:block;margin-bottom:2px}
.ie-path li::before{content:"";position:absolute;left:0;top:20px;width:10px;height:1px;background:var(--arc);box-shadow:0 0 7px var(--arc)}

/* ---------------- BREAKER PANEL ---------------- */
.ie-panelgrid{display:grid;grid-template-columns:1.35fr .95fr;gap:clamp(18px,2.6vw,32px);align-items:start}
@media(max-width:900px){.ie-panelgrid{grid-template-columns:1fr}}
.ie-box{border:1px solid var(--hairline);background:linear-gradient(180deg,var(--panel),#080B11)}
.ie-box__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;border-bottom:1px solid var(--hairline);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim)}
.ie-box__bar strong{color:var(--ink);font-weight:500}
.ie-breakers{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hairline)}
@media(max-width:560px){.ie-breakers{grid-template-columns:1fr}}
.ie-bk{background:var(--panel);display:flex;align-items:center;gap:13px;padding:12px 15px;cursor:pointer;border:0;width:100%;text-align:left;color:inherit;font:inherit;transition:background .16s}
.ie-bk:hover{background:var(--panel-hi)}
.ie-bk__txt{min-width:0}
.ie-bk__sw{width:20px;height:34px;flex:none;border:1px solid var(--hairline);background:#05070B;position:relative;border-radius:2px}
.ie-bk__sw::after{content:"";position:absolute;left:2px;right:2px;height:14px;background:#2A313E;border-radius:1px;bottom:2px;transition:bottom .16s,background .16s,box-shadow .16s}
.ie-bk[aria-pressed="true"] .ie-bk__sw::after{bottom:16px;background:var(--arc);box-shadow:0 0 12px rgba(47,107,255,.85)}
.ie-bk__name{font-size:14px;line-height:1.25;color:var(--ink-dim);transition:color .16s}
.ie-bk[aria-pressed="true"] .ie-bk__name{color:var(--ink)}
.ie-bk__w{font-family:var(--mono);font-size:11px;color:#4E5A6B}
.ie-result{padding:clamp(20px,2.6vw,28px)}
.ie-result__label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:6px}
.ie-result__big{font-family:var(--display);font-weight:800;font-size:clamp(46px,7vw,72px);line-height:.9;color:var(--spark);text-transform:uppercase;text-shadow:0 0 34px rgba(92,211,255,.35);margin-bottom:4px;overflow-wrap:anywhere}
.ie-result__note{font-size:13px;color:var(--ink-dim);margin:0 0 22px}
.ie-meter{height:5px;background:#121722;margin-bottom:22px}
.ie-meter__fill{height:100%;width:0;background:linear-gradient(90deg,var(--arc),var(--spark));box-shadow:0 0 14px rgba(92,211,255,.6);transition:width .35s ease}
.ie-field{margin-bottom:18px}
.ie-field > span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:8px}
.ie-field__lab{display:flex!important;align-items:baseline;justify-content:space-between;gap:10px}
.ie-field__lab b{color:var(--spark);font-weight:500;font-size:15px;letter-spacing:.02em}
.ie-field input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;background:#1B2331;outline:none;margin:10px 0 4px}
.ie-field input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:19px;height:19px;border-radius:50%;background:var(--arc);cursor:pointer;box-shadow:0 0 12px rgba(47,107,255,.8);border:0}
.ie-field input[type=range]::-moz-range-thumb{width:19px;height:19px;border-radius:50%;background:var(--arc);cursor:pointer;border:0;box-shadow:0 0 12px rgba(47,107,255,.8)}
.ie-rangehint{font-family:var(--mono);font-size:10.5px;line-height:1.6;color:#4E5A6B;margin:6px 0 0}
.ie-seg{display:flex;gap:1px;background:var(--hairline);border:1px solid var(--hairline)}
.ie-seg button{flex:1;padding:11px 6px;border:0;cursor:pointer;background:#080B11;color:var(--ink-dim);font-family:var(--mono);font-size:12px;transition:background .16s,color .16s}
.ie-seg button[aria-pressed="true"]{background:var(--arc);color:#fff}
.ie-check{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;color:var(--ink-dim);cursor:pointer;padding:14px 0;border-top:1px solid var(--hairline)}
.ie-check input{accent-color:var(--arc);margin-top:3px;flex:none;width:15px;height:15px}
.ie-fineprint{font-family:var(--mono);font-size:11px;line-height:1.7;color:#4E5A6B;border-top:1px solid var(--hairline);padding-top:14px;margin:0}

/* ---------------- SYSTEMS ---------------- */
.ie-sys{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2px;background:var(--hairline);border:1px solid var(--hairline)}
.ie-sys__i{background:var(--panel);padding:clamp(24px,3vw,34px);transition:background .2s}
.ie-sys__i:hover{background:var(--panel-hi)}
.ie-sys__i .ie-figure{margin-bottom:20px}
.ie-sys__i .ie-figure__img{aspect-ratio:3/2}
.ie-sys__i h3{font-family:var(--display);font-weight:700;font-size:22px;text-transform:uppercase;margin:14px 0 10px}
.ie-sys__i p{margin:0;font-size:14.5px;color:var(--ink-dim)}
.ie-sys__ico{width:30px;height:30px;color:var(--arc);filter:drop-shadow(0 0 8px rgba(47,107,255,.6))}

/* ---------------- PROCESS ---------------- */
.ie-steps{border-top:1px solid var(--hairline)}
.ie-step{display:grid;grid-template-columns:88px 1fr 1.15fr;gap:clamp(14px,3vw,40px);padding:clamp(22px,3vw,34px) 0;border-bottom:1px solid var(--hairline);align-items:start}
@media(max-width:760px){.ie-step{grid-template-columns:56px 1fr}.ie-step p{grid-column:2}}
.ie-step__n{font-family:var(--mono);font-size:13px;color:var(--arc);letter-spacing:.1em;padding-top:6px}
.ie-step h3{font-family:var(--display);font-weight:700;font-size:clamp(21px,2.4vw,28px);text-transform:uppercase;margin:0;line-height:1.05}
.ie-step p{margin:0;color:var(--ink-dim);font-size:15px}
.ie-optional{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2px;background:var(--hairline);border:1px solid var(--hairline);margin-top:26px}
.ie-optional__i{background:#0A0E16;padding:clamp(22px,2.8vw,30px)}
.ie-optional__tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--live);margin:0 0 11px}
.ie-optional__i h3{font-family:var(--display);font-weight:700;font-size:clamp(20px,2.3vw,26px);text-transform:uppercase;margin:0 0 12px;line-height:1.05}
.ie-optional__i p{margin:0;font-size:14.5px;color:var(--ink-dim)}

/* ---------------- NEW HAMPSHIRE ---------------- */
.ie-nh{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px);align-items:start}
@media(max-width:860px){.ie-nh{grid-template-columns:1fr}}
.ie-nh__list{list-style:none;margin:0;padding:0}
.ie-nh__list li{border-top:1px solid var(--hairline);padding:18px 0}
.ie-nh__list h3{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--spark);margin:0 0 7px;font-weight:500}
.ie-nh__list p{margin:0;font-size:15px;color:var(--ink-dim)}

/* ---------------- FAQ ---------------- */
.ie-faq{border-top:1px solid var(--hairline)}
.ie-faq details{border-bottom:1px solid var(--hairline)}
.ie-faq summary{cursor:pointer;list-style:none;padding:20px 0;display:flex;gap:18px;align-items:center;font-family:var(--display);font-weight:700;font-size:clamp(18px,2.1vw,23px);text-transform:uppercase;transition:color .18s}
.ie-faq summary::-webkit-details-marker{display:none}
.ie-faq summary:hover{color:var(--spark)}
.ie-faq summary::after{content:"+";margin-left:auto;color:var(--arc);font-family:var(--mono);font-weight:400;font-size:20px}
.ie-faq details[open] summary::after{content:"\2212"}
.ie-faq p{margin:0 0 22px;color:var(--ink-dim);max-width:72ch;font-size:15px}

/* ---------------- CONTACT ---------------- */
.ie-contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(26px,4vw,60px)}
@media(max-width:860px){.ie-contact{grid-template-columns:1fr}}
.ie-form{display:grid;gap:14px}
.ie-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.ie-row{grid-template-columns:1fr}}
.ie-form label{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:7px}
.ie-form input,.ie-form select,.ie-form textarea{width:100%;background:#080B11;color:var(--ink);border:1px solid var(--hairline);padding:13px 14px;font-family:var(--body);font-size:15px;border-radius:0;transition:border-color .18s,box-shadow .18s}
.ie-form input:focus,.ie-form select:focus,.ie-form textarea:focus{outline:none;border-color:var(--arc);box-shadow:0 0 0 1px var(--arc),0 0 22px rgba(47,107,255,.22)}
.ie-form textarea{min-height:110px;resize:vertical}
.ie-formnote{font-family:var(--mono);font-size:11px;color:#4E5A6B;margin:2px 0 0}
.ie-contact__aside p{color:var(--ink-dim);font-size:15px}
.ie-contact__aside dl{margin:26px 0 0}
.ie-contact__aside dt{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--arc);margin-bottom:5px}
.ie-contact__aside dd{margin:0 0 20px;font-size:15.5px}
.ie-tel{font-family:var(--display);font-weight:700;font-size:clamp(26px,3.4vw,34px);letter-spacing:.02em;color:var(--spark);text-decoration:none;line-height:1;display:inline-block;text-shadow:0 0 26px rgba(92,211,255,.35);transition:text-shadow .25s}
.ie-tel:hover{text-shadow:0 0 40px rgba(92,211,255,.7)}
.ie-copy{margin-left:10px;background:transparent;border:1px solid var(--hairline);color:var(--ink-dim);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;cursor:pointer;transition:border-color .2s,color .2s}
.ie-copy:hover{border-color:var(--arc);color:var(--glow)}
.ie-copy.done{border-color:var(--spark);color:var(--spark)}
.ie-copy--wide{margin:12px 0 0;width:100%;padding:11px}
.ie-fallback{margin-top:18px;border:1px solid var(--hairline);border-left:2px solid var(--live);background:rgba(255,176,32,.05);padding:18px 20px}
.ie-fallback p{margin:0 0 12px;font-size:14px;color:var(--ink-dim)}
.ie-fallback p b{color:var(--ink)}
.ie-fallback a{color:var(--spark)}
.ie-fallback textarea{width:100%;background:#080B11;color:var(--ink-dim);border:1px solid var(--hairline);padding:12px;font-family:var(--mono);font-size:12px;line-height:1.6;resize:vertical;border-radius:0}
.ie-mail{color:var(--spark);text-decoration:none;font-family:var(--mono);font-size:14px;letter-spacing:.02em;border-bottom:1px solid rgba(92,211,255,.35);padding-bottom:2px}
.ie-mail:hover{border-bottom-color:var(--spark)}
.ie-cover__in{display:block;font-family:var(--display);font-weight:700;font-size:clamp(19px,2.2vw,23px);line-height:1.1;text-transform:uppercase;color:var(--ink);margin-bottom:6px}
.ie-cover__sub{display:block;color:var(--ink-dim);font-size:14.5px}
.ie-cover__out{display:block;margin-top:12px;padding-top:11px;border-top:1px solid var(--hairline);font-family:var(--mono);font-size:11px;line-height:1.7;letter-spacing:.06em;color:#5A6678}

/* ---------------- FOOTER ---------------- */
.ie-foot{border-top:1px solid var(--hairline);padding-block:36px;font-family:var(--mono);font-size:11.5px;color:#4E5A6B;display:flex;flex-wrap:wrap;gap:14px 30px;align-items:center}
.ie-foot a{color:var(--ink-dim);text-decoration:none}
.ie-foot a:hover{color:var(--spark)}
.ie-foot__sp{margin-left:auto}

/* ---------------- REVEALS ---------------- */
body.is-booting .ie-hero__in > *{opacity:0;transform:translateY(26px)}
[data-rv]{opacity:0;transform:translateY(26px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
[data-rv].is-in{opacity:1;transform:none}
.ie-hero h1[data-rv].is-in{animation:ieSurge 1.5s ease-out .05s both}
@keyframes ieSurge{0%{text-shadow:0 0 0 rgba(47,107,255,0)}12%{text-shadow:0 0 70px rgba(168,220,255,.95)}22%{text-shadow:0 0 12px rgba(47,107,255,.3)}34%{text-shadow:0 0 60px rgba(92,211,255,.8)}100%{text-shadow:0 0 42px rgba(47,107,255,.32)}}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  html{scroll-behavior:auto}
  .ie-boot{display:none}
  body.is-booting{overflow:auto}
  body.is-booting .ie-nav{opacity:1}
  body.is-booting .ie-hero__in > *,[data-rv]{opacity:1!important;transform:none!important}
}

/* ---- giving back to nature ---- */
.ie-green{--arc:#3FBF6A;--spark:#7CE0A0;--glow:#B6F0CB}
.ie-nav__links a.ie-navgreen{color:#7CE0A0}
.ie-nav__links a.ie-navgreen::after{background:#7CE0A0;box-shadow:0 0 9px #7CE0A0}
.ie-menu a.ie-navgreen{color:#7CE0A0}
@keyframes ieFadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ie-fade{animation:ieFadeUp 1.1s cubic-bezier(.16,1,.3,1) both}
.ie-fade-1{animation-delay:.05s}.ie-fade-2{animation-delay:.28s}
.ie-fade-3{animation-delay:.5s}.ie-fade-4{animation-delay:.72s}
@media(prefers-reduced-motion:reduce){.ie-fade{animation:none}}
/* stat row */
.ie-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:2px;background:var(--hairline);border:1px solid var(--hairline)}
.ie-fact{background:var(--panel);padding:22px 24px}
.ie-fact b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(30px,3.6vw,42px);line-height:1;color:#7CE0A0;margin-bottom:8px}
.ie-fact span{display:block;font-size:14px;color:var(--ink-dim);line-height:1.5}
.ie-fact em{display:block;font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#4E5A6B;margin-top:10px}
/* prose block */
.ie-prose{max-width:74ch}
.ie-prose p{font-size:clamp(15.5px,1.35vw,17px);line-height:1.75;color:var(--ink-dim);margin:0 0 20px}
.ie-prose p strong{color:var(--ink);font-weight:600}
.ie-prose h3{font-family:var(--display);font-weight:700;font-size:clamp(22px,2.5vw,29px);text-transform:uppercase;color:var(--ink);margin:38px 0 14px;line-height:1.05}
.ie-sources{font-family:var(--mono);font-size:10.5px;line-height:1.9;color:#4E5A6B;border-top:1px solid var(--hairline);padding-top:16px;margin-top:34px}
.ie-boot{display:none!important}body.is-booting{overflow:auto}body.is-booting .ie-nav{opacity:1}body.is-booting .ie-hero__in > *,[data-rv]{opacity:1!important;transform:none!important}

/* ================= calculator page ================= */
.ie-nav__links a:hover,.ie-nav__links a[aria-current]{color:var(--spark)}
.ie-head{padding-block:clamp(44px,7vw,84px) clamp(26px,4vw,40px)}
/* ---------- sticky result bar ---------- */
.ie-stick{position:sticky;top:62px;z-index:50;background:linear-gradient(180deg,rgba(9,12,18,.97),rgba(7,9,14,.97));backdrop-filter:blur(12px);border-bottom:1px solid var(--hairline)}
.ie-stick__in{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hairline)}
.ie-stat{background:#080B12;padding:14px 16px}
.ie-stat h4{font-family:var(--mono);font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 5px;font-weight:500}
.ie-stat p{font-family:var(--display);font-weight:800;font-size:clamp(24px,3.2vw,34px);line-height:1;margin:0}
.ie-stat.save p{color:var(--spark);text-shadow:0 0 26px rgba(92,211,255,.3)}
.ie-stat.now p{color:var(--warm)}
.ie-stat small{display:block;font-family:var(--mono);font-size:10px;color:#4E5A6B;margin-top:5px}
/* ---------- controls ---------- */
.ie-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:2px;background:var(--hairline);border:1px solid var(--hairline)}
.ie-cell{background:var(--panel);padding:20px 22px}
.ie-cell.wide{grid-column:1/-1}
.ie-lab{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:11px}
.ie-lab b{color:var(--spark);font-weight:500;font-size:14px;letter-spacing:.02em}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;background:#1B2331;outline:none;margin:8px 0 4px}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:19px;height:19px;border-radius:50%;background:var(--arc);cursor:pointer;box-shadow:0 0 12px rgba(47,107,255,.8);border:0}
input[type=range]::-moz-range-thumb{width:19px;height:19px;border-radius:50%;background:var(--arc);cursor:pointer;border:0;box-shadow:0 0 12px rgba(47,107,255,.8)}
.ie-hint{font-family:var(--mono);font-size:10.5px;color:#4E5A6B;margin:6px 0 0;line-height:1.6}
.ie-fit{margin-top:11px;width:100%;padding:9px 8px;background:#080B11;border:1px solid var(--arc);color:var(--glow);
font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .2s}
.ie-fit:hover{background:rgba(47,107,255,.16)}
.ie-math{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;background:var(--hairline);
border:1px solid var(--hairline);margin-top:2px}
.ie-math__c{background:#080B12;padding:15px 18px}
.ie-math__c h5{font-family:var(--mono);font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 6px;font-weight:500}
.ie-math__c b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(20px,2.4vw,26px);line-height:1;color:var(--ink)}
.ie-math__c.out b{color:var(--spark)}
.ie-math__c em{display:block;font-style:normal;font-family:var(--mono);font-size:10px;color:#4E5A6B;margin-top:6px}
.ie-toggle{display:flex;align-items:center;gap:11px;cursor:pointer;font-size:14px;color:var(--ink-dim);padding-top:6px}
.ie-toggle input{accent-color:var(--arc);width:16px;height:16px;flex:none}
/* ---------- comparison ---------- */
.ie-vs{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch;border:1px solid var(--hairline);background:var(--hairline)}
.ie-side{background:var(--panel);padding:clamp(22px,3vw,30px)}
.ie-side h3{font-family:var(--display);font-weight:700;font-size:clamp(21px,2.5vw,27px);text-transform:uppercase;margin:0 0 4px}
.ie-side__tag{font-family:var(--mono);font-size:10.5px;letter-spacing:.17em;text-transform:uppercase;margin-bottom:14px}
.ie-side.old .ie-side__tag{color:var(--warm)}
.ie-side.new .ie-side__tag{color:var(--spark)}
.ie-arrow{background:#080B12;display:flex;align-items:center;justify-content:center;padding:0 18px;font-family:var(--mono);color:var(--arc);font-size:20px}
.ie-line{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--hairline);font-size:14.5px}
.ie-line span:last-child{font-family:var(--mono);white-space:nowrap}
.ie-line.tot{border-top:1px solid var(--arc);margin-top:6px;padding-top:14px;font-weight:600}
.ie-line.tot span:last-child{font-size:19px}
.ie-side.old .ie-line.tot span:last-child{color:var(--warm)}
.ie-side.new .ie-line.tot span:last-child{color:var(--spark)}
.ie-line em{font-style:normal;color:#5A6678;font-size:12px;display:block;font-family:var(--body)}
/* ---------- chart ---------- */
.ie-chart{border:1px solid var(--hairline);background:var(--panel);padding:clamp(18px,2.4vw,26px);margin-top:2px}
.ie-chart svg{width:100%;height:auto;display:block}
.ie-key{display:flex;flex-wrap:wrap;gap:20px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);margin-top:14px}
.ie-key i{display:inline-block;width:16px;height:2px;margin-right:7px;vertical-align:middle}
.ie-note{border:1px solid var(--hairline);border-left:2px solid var(--live);background:linear-gradient(90deg,rgba(255,176,32,.06),transparent 60%);padding:20px 22px;margin-top:26px}
.ie-note h3{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--live);margin:0 0 9px;font-weight:500}
.ie-note p{margin:0 0 10px;font-size:14.5px;color:var(--ink-dim);max-width:76ch}
.ie-note p:last-child{margin-bottom:0}
.ie-assump{font-family:var(--mono);font-size:11px;line-height:1.85;color:#4E5A6B;border-top:1px solid var(--hairline);padding-top:18px;margin-top:28px}
.ie-assump b{color:var(--ink-dim);font-weight:500}
.ie-btn:hover{box-shadow:0 8px 34px rgba(47,107,255,.45)}
@media(max-width:520px){.ie-logo__tag{display:none}.ie-logo__mark{width:26px}}
/* ---- subpage video hero (full bleed) ---- */
.ie-subhero{position:relative;overflow:hidden;min-height:clamp(330px,46vw,520px);display:flex;align-items:center}
.ie-subhero__bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:#06070A}
.ie-subhero__bg video{width:100%;height:100%;object-fit:cover;display:block}
.ie-subhero::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(6,7,10,.90) 0%,rgba(6,7,10,.62) 40%,rgba(6,7,10,.16) 72%,rgba(6,7,10,.38) 100%),linear-gradient(0deg,var(--void) 0%,rgba(6,7,10,.55) 15%,transparent 40%)}
.ie-subhero__in{position:relative;z-index:2;width:100%;padding-block:clamp(46px,6vw,84px)}

/* ---- responsive rules lost when the two stylesheets were merged ---- */
@media(max-width:820px){
  .ie-vs{grid-template-columns:1fr}
  .ie-arrow{padding:12px 0}
  .ie-stick__in{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:560px){
  .ie-math{grid-template-columns:1fr}
}

/* ---- narrow phones: nav was 4px wider than the screen, causing a faint
   horizontal scroll on every page ---- */
@media(max-width:430px){
  .ie-nav__in{gap:9px}
  .ie-logo__mark{width:26px}
  .ie-logo__txt{font-size:13px;letter-spacing:.02em}
  .ie-burger{padding:8px 9px}
  .ie-nav__cta{padding:7px 9px;font-size:9.5px;letter-spacing:.05em}
}

/* ---------------- COLLAPSIBLE PANELS ---------------- */
.ie-drop{border:1px solid var(--hairline);background:var(--panel);margin-top:2px}
.ie-drop summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:16px;
padding:18px 22px;transition:background .18s}
.ie-drop summary::-webkit-details-marker{display:none}
.ie-drop summary:hover{background:var(--panel-hi)}
.ie-drop__t{font-family:var(--display);font-weight:700;font-size:clamp(18px,2.1vw,23px);
text-transform:uppercase;line-height:1.05}
.ie-drop__n{margin-left:auto;font-family:var(--mono);font-size:11px;letter-spacing:.12em;
text-transform:uppercase;color:var(--ink-dim);text-align:right}
.ie-drop__n strong{color:var(--spark);font-weight:500}
.ie-drop summary::after{content:"+";flex:none;color:var(--arc);font-family:var(--mono);font-size:22px;line-height:1}
.ie-drop[open] summary::after{content:"\2212"}
.ie-drop[open] summary{border-bottom:1px solid var(--hairline)}
.ie-drop__body{padding:22px}
.ie-drop__intro{margin:0 0 18px;font-size:14.5px;color:var(--ink-dim)}
.ie-drop__body.ie-diagram{border:0;margin:0;background:linear-gradient(160deg,#0C121B,#080B12 70%)}

/* ---------------- BATTERY BANK ---------------- */
.ie-bankbox{display:grid;grid-template-columns:1.25fr .9fr;gap:2px;background:var(--hairline);
border:1px solid var(--hairline)}
@media(max-width:820px){.ie-bankbox{grid-template-columns:1fr}}
.ie-bankbox__set{background:var(--panel);padding:clamp(22px,2.8vw,30px)}
.ie-bankbox__out{background:linear-gradient(180deg,var(--panel),#080B11);padding:clamp(22px,2.8vw,30px)}
.ie-bankbox__set input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;
background:#1B2331;outline:none;margin:14px 0 4px}
.ie-bankbox__set input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:21px;height:21px;
border-radius:50%;background:var(--arc);cursor:pointer;box-shadow:0 0 12px rgba(47,107,255,.8);border:0}
.ie-bankbox__set input[type=range]::-moz-range-thumb{width:21px;height:21px;border-radius:50%;
background:var(--arc);cursor:pointer;border:0;box-shadow:0 0 12px rgba(47,107,255,.8)}
.ie-ticks{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;
color:#3E4756;margin-top:2px}
.ie-bankbox .ie-check{margin-top:4px}

/* the three numbered steps repeat what the sections below already say;
   on a phone that is three extra screenfuls before anything useful */
@media(max-width:820px){ .ie-hide-mobile{display:none} }

/* ---- the shared hover rule sits later in the cascade and was overriding
   the green link's colour; these come last so Green thumb stays green ---- */
.ie-nav__links a.ie-navgreen:hover,
.ie-nav__links a.ie-navgreen[aria-current]{color:#B6F0CB}
.ie-nav__links a.ie-navgreen:hover::after,
.ie-nav__links a.ie-navgreen[aria-current]::after{background:#7CE0A0;box-shadow:0 0 9px #7CE0A0}
.ie-menu a.ie-navgreen:hover,
.ie-menu a.ie-navgreen[aria-current]{color:#B6F0CB}

/* ---- the intro flash is a full-screen fixed gradient; once it has played it
   must leave the page entirely or mobile repaints it during fast scrolling ---- */

/* ---------------- BATTERY CHARGE CHART ---------------- */
.ie-soc{margin-top:20px;border-top:1px solid var(--hairline);padding-top:16px}
.ie-soc svg{width:100%;height:auto;display:block}
.ie-soc__key{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px;font-family:var(--mono);
font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#5A6678}
.ie-soc__key i{display:inline-block;width:14px;height:8px;margin-right:6px;vertical-align:middle}
.ie-soc__key .k-bank{background:#5CD3FF}
.ie-soc__key .k-sun{background:rgba(245,200,106,.35)}
.ie-soc__key .k-night{background:#0C0F16;border:1px solid var(--hairline)}

/* legend type was oversized once the chart shrank on a phone */
@media(max-width:560px){
  .ie-soc__key{font-size:9px;letter-spacing:.06em;gap:4px 12px}
  .ie-soc__key i{width:11px;height:7px;margin-right:4px}
}

/* the bolt mark is a raster blue; on the Green thumb page shift it to the
   green accent so the logo matches the rest of that page */
.ie-green .ie-logo__mark{filter:hue-rotate(-73deg) saturate(1.05)
  drop-shadow(0 0 10px rgba(63,191,106,.45))}

/* hot water system picker on the calculator */
.ie-cell select{width:100%;background:#080B11;color:var(--ink);border:1px solid var(--hairline);
padding:11px 12px;font-family:var(--body);font-size:14.5px;border-radius:0;margin-top:4px;
transition:border-color .18s,box-shadow .18s}
.ie-cell select:focus{outline:none;border-color:var(--arc);box-shadow:0 0 0 1px var(--arc)}
.ie-cell .ie-ticks{margin-top:2px}

/* three stats across on a phone, so there is no empty cell */
@media(max-width:560px){
  .ie-stat{padding:10px 9px}
  .ie-stat h4{font-size:8.5px;letter-spacing:.08em}
  .ie-stat p{font-size:clamp(17px,5vw,22px)}
  .ie-stat small{font-size:8.5px;line-height:1.4}
}

/* installed cost sits with the payback chart it drives, not up in the assumptions */
.ie-costbar{border:1px solid var(--hairline);background:var(--panel);
padding:clamp(20px,2.6vw,28px);margin-top:2px}
.ie-costbar .ie-lab{margin-bottom:11px}
.ie-costbar input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;
background:#1B2331;outline:none;margin:8px 0 4px}
.ie-costbar input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:21px;height:21px;
border-radius:50%;background:var(--arc);cursor:pointer;box-shadow:0 0 12px rgba(47,107,255,.8);border:0}
.ie-costbar input[type=range]::-moz-range-thumb{width:21px;height:21px;border-radius:50%;
background:var(--arc);cursor:pointer;border:0;box-shadow:0 0 12px rgba(47,107,255,.8)}

/* ---- grid separators come from the cells, not a backdrop ----
   these grids auto-fit, so a row that isn't full used to leave a grey
   rectangle where the container background showed through. Now each cell
   draws its own hairline and the overlap collapses, so empty space is
   simply page background. */
.ie-grid,.ie-sys,.ie-optional,.ie-facts,.ie-math,.ie-offer,.ie-paths,
.ie-gate,.ie-cycle__row,.ie-svc{background:transparent!important;border:0!important;gap:0!important}
.ie-grid>*,.ie-sys>*,.ie-optional>*,.ie-facts>*,.ie-math>*,.ie-offer>*,
.ie-paths>*,.ie-gate>*,.ie-cycle__row>*,.ie-svc>*{
  border:1px solid var(--hairline);margin:-1px 0 0 -1px}

/* sources — deliberately quiet; most readers will never open it */
.ie-refs{margin-top:34px;border-top:1px solid var(--hairline);padding-top:14px}
.ie-refs summary{cursor:pointer;list-style:none;font-family:var(--mono);font-size:10.5px;
letter-spacing:.14em;text-transform:uppercase;color:#5A6678;display:inline-flex;align-items:center;gap:8px;
transition:color .2s}
.ie-refs summary::-webkit-details-marker{display:none}
.ie-refs summary::after{content:"+";color:var(--arc);font-size:14px;line-height:1}
.ie-refs[open] summary::after{content:"\2212"}
.ie-refs summary:hover{color:var(--spark)}
.ie-refs ol{margin:14px 0 0;padding-left:20px}
.ie-refs li{font-family:var(--mono);font-size:10.5px;line-height:1.85;color:#5A6678;margin-bottom:9px}
.ie-refs a{color:#7C8899;text-decoration:underline;text-underline-offset:2px}
.ie-refs a:hover{color:var(--spark)}
.ie-refs>p{font-family:var(--mono);font-size:10px;line-height:1.8;color:#4E5A6B;margin:10px 0 0}

/* ---- an unfilled last row centres instead of hugging the left ----
   auto-fit columns always stretch to fill, so a lone final card sat
   alone on the left. Flex with centred wrapping puts orphans in the
   middle while full rows still span the width. */
.ie-sys,.ie-grid{display:flex!important;flex-wrap:wrap;justify-content:center}
.ie-sys>*,.ie-grid>*{flex:0 1 33.3333%;min-width:280px}
@media(max-width:900px){.ie-sys>*,.ie-grid>*{flex-basis:50%}}
@media(max-width:620px){.ie-sys>*,.ie-grid>*{flex-basis:100%;min-width:0}}

/* generator running-cost verdict */
.ie-genverdict{border:1px solid var(--hairline);border-left:2px solid var(--live);
background:linear-gradient(90deg,rgba(255,176,32,.05),transparent 60%);
padding:22px 24px;margin-top:2px}
.ie-genverdict>p:first-child{margin:0 0 14px;font-size:clamp(15px,1.5vw,17px);line-height:1.7;color:var(--ink-dim)}
.ie-genverdict b{color:var(--spark);font-weight:600}
