/* ==========================================================================
   NEXUS v2: "evening light" design layer, from the split landing page.
   Loads after styles.css. Re-skins every existing page and adds the
   nx- components used by redesigned pages.
   ========================================================================== */

:root{
  --nx-navy:#071726; --nx-deep:#050b12; --nx-surface:#0D1520; --nx-surface-2:#101b29;
  --nx-cream:#F0E9DB; --nx-soft:#B9C5D2; --nx-muted:#9FB0BF;
  --nx-orange:#E06A1E; --nx-sky:#5CA9DE; --nx-green:#6FBF73; --nx-blue:#0068B3; --nx-brand-green:#4F9A2E;
  --nx-line:rgba(240,233,219,.14); --nx-line-strong:rgba(240,233,219,.3);
  --nx-serif:"Instrument Serif", Georgia, serif;
  --nx-sans:"Instrument Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --nx-ease:cubic-bezier(.2,.8,.2,1);
  --nx-gutter:clamp(20px, 4vw, 64px);
  --nx-max:1320px;
  --nx-header-h:84px;

  /* old tokens, re-pointed so every existing page picks up the new palette */
  --navy:#071726; --navy-2:#050b12; --bg:#071726; --surface:#0D1520; --light:#0a1522;
  --white:#F0E9DB; --text:#F0E9DB; --muted:#B9C5D2; --border:rgba(240,233,219,.14);
  --blue-text:#5CA9DE; --green:#4F9A2E; --radius:6px;
  --shadow:none; --shadow-lg:0 24px 60px rgba(0,0,0,.35);
}

/* ---------- Base ---------- */
body.nx-v2{font-family:var(--nx-sans);background:var(--nx-navy);color:var(--nx-cream);letter-spacing:-.005em}
body.nx-v2 h1, body.nx-v2 h2{font-family:var(--nx-serif);font-weight:400;letter-spacing:-.02em;line-height:1.02;color:var(--nx-cream);text-wrap:balance}
body.nx-v2 h1{font-size:clamp(2.6rem,6vw,5.4rem)}
body.nx-v2 h2{font-size:clamp(2rem,4.2vw,3.6rem)}
body.nx-v2 h3, body.nx-v2 h4{font-family:var(--nx-sans);font-weight:500;letter-spacing:-.01em;color:var(--nx-cream)}
body.nx-v2 h1 em, body.nx-v2 h2 em{font-style:italic;color:var(--nx-green)}
body.nx-v2 p{color:inherit}
body.nx-v2 .lead{color:var(--nx-soft);font-size:clamp(1.05rem,1.4vw,1.25rem);line-height:1.55}
.nx-stop{color:var(--nx-orange)}
.nx-c-sky{color:var(--nx-sky)} .nx-c-orange{color:var(--nx-orange)} .nx-c-green{color:var(--nx-green)}
.nx-skip{position:fixed;z-index:1000;top:.75rem;left:.75rem;padding:.7rem 1rem;border-radius:999px;background:var(--nx-cream);color:var(--nx-navy);transform:translateY(-200%);transition:transform .16s}
.nx-skip:focus{transform:none}
body.nx-v2 :focus-visible{outline:2px solid var(--nx-sky);outline-offset:3px}

/* Labels: [ 01 ]  SOLAR PANELS */
.nx-label, body.nx-v2 .eyebrow{display:inline-flex;align-items:center;gap:.7em;margin:0 0 .9rem;font-family:var(--nx-sans);font-size:12.5px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:rgba(240,233,219,.8)}
.nx-num{color:var(--nx-sky);white-space:nowrap}
body.nx-v2 .eyebrow{color:var(--nx-sky)}

/* ---------- Re-skin of existing page components ---------- */
body.nx-v2 .section.alt, body.nx-v2 .section.dark{background:var(--nx-deep)}
body.nx-v2 .page-hero{background:radial-gradient(90% 120% at 85% 0%, rgba(224,106,30,.12), transparent 55%), var(--nx-navy);border-bottom:1px solid var(--nx-line)}
body.nx-v2 .breadcrumb{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--nx-muted)}
body.nx-v2 .pillar-icon{display:none}
body.nx-v2 :is(.pillar-card,.feature-card,.info-card,.price-card,.grant-card,.stat-card,.quote-card,.case-card,.form-card,.step,.faq-item,.glossary-item){background:var(--nx-surface);border:1px solid var(--nx-line);border-radius:6px;box-shadow:none}
body.nx-v2 .pillar-card{border-top:1px solid var(--nx-line)}
body.nx-v2 .more{color:var(--nx-cream);border-bottom:1px solid var(--nx-line-strong);padding-bottom:2px}
body.nx-v2 .check-list li::before{color:var(--nx-green)}
body.nx-v2 input, body.nx-v2 select, body.nx-v2 textarea{background:var(--nx-deep);color:var(--nx-cream);border:1px solid var(--nx-line-strong);border-radius:6px;font-family:var(--nx-sans)}
body.nx-v2 .cta-band{background:var(--nx-deep);border-top:1px solid var(--nx-line);border-bottom:1px solid var(--nx-line)}
body.nx-v2 .cta-band img{display:none}

/* ---------- Buttons: letter-roll pill (used site-wide) ---------- */
body.nx-v2 .btn, body.nx-v2 .nav-quote, body.nx-v2 .nx-btn{
  position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;
  padding:14px 20px 14px 24px;border:1px solid var(--nx-line-strong);border-radius:999px;
  background:transparent;color:var(--nx-cream);font:500 14px/1 var(--nx-sans);letter-spacing:0;
  white-space:nowrap;text-decoration:none;cursor:pointer;overflow:hidden;transition:border-color .3s var(--nx-ease)}
body.nx-v2 .btn:hover, body.nx-v2 .btn:focus-visible{background:transparent;color:var(--nx-cream);border-color:rgba(240,233,219,.5)}
body.nx-v2 .btn::after{content:"";position:absolute;left:20px;right:20px;bottom:8px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--nx-sky),var(--nx-orange),var(--nx-green));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--nx-ease);pointer-events:none}
body.nx-v2 .btn:is(:hover,:focus-visible)::after{transform:scaleX(1)}
.nx-roll{display:inline-grid;overflow:hidden;line-height:1.25;white-space:pre}
.nx-roll__copy{grid-area:1/1;display:inline-flex}
.nx-roll i{display:inline-block;font-style:normal;transition:transform .5s var(--nx-ease);transition-delay:calc(var(--i) * 18ms)}
.nx-roll__copy--b i{transform:translateY(110%)}
.btn:is(:hover,:focus-visible) .nx-roll__copy--a i{transform:translateY(-110%)}
.btn:is(:hover,:focus-visible) .nx-roll__copy--b i{transform:translateY(0)}
.nx-arrow{display:inline-block;line-height:1;transition:color .45s var(--nx-ease),transform .45s var(--nx-ease)}
.btn:is(:hover,:focus-visible) .nx-arrow{color:var(--nx-orange);transform:translate(3px,-3px)}
body.nx-v2 .btn-sm{padding:11px 16px 11px 20px;font-size:13px}
@media (hover:none){
  body.nx-v2 .btn::after{transform:scaleX(1)}
  .nx-arrow{color:var(--nx-orange)}
  .nx-roll i{transition:none}
  .btn:is(:hover,:focus-visible) .nx-roll__copy--a i{transform:none}
  .btn:is(:hover,:focus-visible) .nx-roll__copy--b i{transform:translateY(110%)}
}

/* ---------- Header ---------- */
.nx-header{position:sticky;top:0;z-index:200;background:rgba(7,23,38,.88);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--nx-line);transition:background .4s var(--nx-ease),border-color .4s var(--nx-ease)}
body.admin-bar .nx-header{top:32px}
@media (max-width:782px){body.admin-bar .nx-header{top:46px}}
.nx-header__inner{max-width:var(--nx-max);margin:0 auto;height:var(--nx-header-h);padding:0 var(--nx-gutter);display:flex;align-items:center;gap:clamp(16px,2.4vw,40px)}
.nx-brand{display:inline-flex;align-items:center;gap:12px;flex:none;text-decoration:none}
.nx-brand__symbol{width:44px;height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}
.nx-brand__wordmark{width:104px;height:auto}
.nx-nav{display:flex;align-items:center;gap:clamp(14px,1.8vw,30px);margin-left:auto}
.nx-nav__group{position:relative;display:flex;align-items:center}
.nx-nav__link{font:500 14px var(--nx-sans);color:rgba(240,233,219,.86);text-decoration:none;padding:10px 0;transition:color .2s}
.nx-nav__link:hover{color:var(--nx-cream)}
.nx-nav__toggle{display:none}
.nx-nav__menu{position:absolute;top:100%;left:-18px;min-width:250px;padding:10px;display:grid;background:rgba(7,23,38,.97);border:1px solid var(--nx-line);border-radius:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .25s var(--nx-ease),transform .25s var(--nx-ease),visibility 0s .25s;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.nx-nav__group:is(:hover,:focus-within) .nx-nav__menu{opacity:1;visibility:visible;transform:none;transition-delay:0s}
.nx-nav__menu a{padding:10px 12px;border-radius:6px;font-size:14px;color:var(--nx-soft);text-decoration:none}
.nx-nav__menu a:hover{background:rgba(240,233,219,.06);color:var(--nx-cream)}
.nx-nav__mobile-extra{display:none}
.nx-header__actions{display:flex;align-items:center;gap:20px;flex:none}
.nx-header__phone{font:500 15px var(--nx-sans);color:var(--nx-cream);text-decoration:none;letter-spacing:.02em;white-space:nowrap}
.nx-header__phone span{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--nx-muted);margin-right:.5em}
.nx-burger{display:none;width:44px;height:44px;border:1px solid var(--nx-line-strong);border-radius:999px;background:transparent;cursor:pointer;position:relative;flex:none}
.nx-burger span{position:absolute;left:13px;right:13px;height:1.5px;background:var(--nx-cream);transition:transform .35s var(--nx-ease),top .35s var(--nx-ease)}
.nx-burger span:first-child{top:17px}.nx-burger span:last-child{top:25px}
.nx-burger[aria-expanded="true"] span:first-child{top:21px;transform:rotate(45deg)}
.nx-burger[aria-expanded="true"] span:last-child{top:21px;transform:rotate(-45deg)}

/* Transparent header over full-bleed heroes */
body.nx-has-hero .nx-header{position:fixed;left:0;right:0;background:linear-gradient(180deg,rgba(5,11,18,.55),rgba(5,11,18,0));border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
body.nx-has-hero .nx-header.is-scrolled{background:rgba(7,23,38,.9);border-bottom-color:var(--nx-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}

@media (max-width:1180px){ .nx-header__phone{display:none} }
@media (max-width:1080px){
  .nx-burger{display:block}
  .nx-header__actions{margin-left:auto}
  .nx-nav{position:fixed;inset:0;z-index:-1;margin:0;padding:calc(var(--nx-header-h) + 24px) var(--nx-gutter) 40px;flex-direction:column;align-items:stretch;gap:0;overflow-y:auto;background:var(--nx-navy);opacity:0;visibility:hidden;transition:opacity .35s var(--nx-ease),visibility 0s .35s}
  .nx-nav.is-open{opacity:1;visibility:visible;transition-delay:0s}
  .nx-nav__group{flex-wrap:wrap;justify-content:space-between}
  .nx-nav__link{font:400 clamp(2rem,8vw,2.8rem)/1.1 var(--nx-serif);color:var(--nx-cream);padding:14px 0;border-bottom:1px solid var(--nx-line);flex:1 1 auto}
  .nx-nav > .nx-nav__link{flex:0 0 auto}
  .nx-nav__group .nx-nav__link{border-bottom:0}
  .nx-nav__group{border-bottom:1px solid var(--nx-line)}
  .nx-nav__toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--nx-line-strong);border-radius:999px;background:transparent;color:var(--nx-cream);font-size:20px;cursor:pointer}
  .nx-nav__toggle[aria-expanded="true"] span{display:inline-block;transform:rotate(45deg)}
  .nx-nav__menu{position:static;flex-basis:100%;display:none;min-width:0;padding:0 0 14px;opacity:1;visibility:visible;transform:none;background:none;border:0;box-shadow:none}
  .nx-nav__group.is-open .nx-nav__menu{display:grid}
  .nx-nav__menu a{padding:9px 0;font-size:16px}
  .nx-nav__mobile-extra{display:grid;gap:16px;justify-items:start;padding-top:28px}
  .nx-nav__phone{font:500 18px var(--nx-sans);color:var(--nx-cream)}
  body.nx-menu-open{overflow:hidden}
}
@media (max-width:560px){ body.nx-v2 .nx-header__actions .nx-btn-survey{display:none} .nx-brand__wordmark{width:90px} }

/* ---------- Layout helpers ---------- */
.nx-wrap{max-width:var(--nx-max);margin:0 auto;padding-left:max(var(--nx-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--nx-gutter),env(safe-area-inset-right,0px))}
.nx-section{padding-block:clamp(72px,10vw,140px)}
.nx-section--deep{background:var(--nx-deep)}
.nx-head{display:grid;gap:18px;max-width:820px;margin-bottom:clamp(40px,5vw,72px)}
.nx-head p{margin:0;color:var(--nx-soft);font-size:clamp(1.05rem,1.3vw,1.2rem);line-height:1.55;max-width:58ch}
body.nx-v2 .nx-head h2{margin:0}

/* ---------- Hero (full-bleed video) ---------- */
.nx-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate;background:var(--nx-deep)}
.nx-hero__media{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:saturate(.95) brightness(.8)}
.nx-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(5,11,18,.45) 0%,transparent 30%),linear-gradient(0deg,rgba(5,11,18,.88) 0%,rgba(5,11,18,.25) 55%,transparent 80%)}
.nx-hero__content{width:100%;padding-block:calc(var(--nx-header-h) + 40px) clamp(56px,9vh,110px)}
body.nx-v2 .nx-hero h1{margin:0;font-size:clamp(3rem,8vw,7.4rem);line-height:.92;letter-spacing:-.035em;max-width:12ch}
.nx-hero__sub{margin:22px 0 0;max-width:46ch;font-size:clamp(1.1rem,1.6vw,1.4rem);line-height:1.45;color:var(--nx-cream)}
.nx-hero__products{display:flex;flex-wrap:wrap;margin:14px 0 0;font-size:14px;letter-spacing:.03em;color:rgba(240,233,219,.7)}
.nx-hero__products i{font-style:normal;margin:0 .55em}
.nx-hero__products i:nth-of-type(odd){color:var(--nx-sky)} .nx-hero__products i:nth-of-type(even){color:var(--nx-green)}
.nx-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:30px}
.nx-hero__call{font:500 15px var(--nx-sans);color:var(--nx-cream);text-decoration:none;border-bottom:1px solid var(--nx-line-strong);padding-bottom:3px}
.nx-hero__crumb{position:absolute;top:calc(var(--nx-header-h) + 18px);left:0;right:0;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(240,233,219,.6)}
.nx-hero__crumb a{color:inherit}
.nx-hero__scroll{position:absolute;right:var(--nx-gutter);bottom:clamp(56px,9vh,110px);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:rgba(240,233,219,.6);writing-mode:vertical-rl}
@media (max-width:700px){.nx-hero__scroll{display:none}}

/* ---------- Numbered services list with hover photo ---------- */
.nx-services{border-top:1px solid var(--nx-line)}
.nx-service{position:relative;display:grid;grid-template-columns:90px minmax(0,1fr) auto;align-items:center;gap:clamp(16px,3vw,40px);padding:clamp(22px,3vw,34px) 0;border-bottom:1px solid var(--nx-line);text-decoration:none;color:var(--nx-cream)}
.nx-service__num{font-size:13px;letter-spacing:.18em;color:var(--nx-sky)}
.nx-service__title{font:400 clamp(2rem,4.4vw,3.6rem)/1 var(--nx-serif);letter-spacing:-.02em;transition:transform .5s var(--nx-ease),color .3s}
.nx-service__line{display:block;margin-top:8px;font:400 15px/1.45 var(--nx-sans);color:var(--nx-soft);letter-spacing:0}
.nx-service__arrow{font-size:22px;color:var(--nx-cream);transition:transform .45s var(--nx-ease),color .45s var(--nx-ease)}
.nx-service__img{position:absolute;right:90px;top:50%;width:clamp(200px,24vw,340px);aspect-ratio:4/3;object-fit:cover;border-radius:6px;opacity:0;transform:translateY(-50%) scale(.94) rotate(-1.5deg);transition:opacity .4s var(--nx-ease),transform .6s var(--nx-ease);pointer-events:none;z-index:2;box-shadow:0 30px 60px rgba(0,0,0,.45)}
.nx-service__img--none{display:none}
@media (hover:hover) and (min-width:861px){
  .nx-service:hover .nx-service__img{opacity:1;transform:translateY(-50%) scale(1) rotate(0)}
  .nx-service:hover .nx-service__title{transform:translateX(10px)}
  .nx-service:hover .nx-service__arrow{color:var(--nx-orange);transform:translate(4px,-4px)}
}
@media (max-width:860px), (hover:none){
  .nx-service{grid-template-columns:56px minmax(0,1fr) auto}
  .nx-service__img{position:static;grid-column:2 / -1;grid-row:2;width:100%;max-width:100%;opacity:1;transform:none;margin-top:6px;box-shadow:none}
}

/* ---------- Scroll story ---------- */
.nx-story{display:grid;gap:clamp(48px,8vw,120px)}
.nx-story__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:clamp(28px,5vw,80px)}
.nx-story__row:nth-child(even) .nx-story__media{order:-1}
body.nx-v2 .nx-story__text h3{margin:0;font:400 clamp(2.2rem,4.6vw,4rem)/1.02 var(--nx-serif);letter-spacing:-.025em}
.nx-story__text p{margin:16px 0 0;max-width:42ch;color:var(--nx-soft);font-size:1.05rem;line-height:1.55}
.nx-story__media{position:relative;overflow:hidden;border-radius:6px;aspect-ratio:5/4;background:var(--nx-surface)}
.nx-story__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.4s var(--nx-ease)}
.nx-story__row.is-in .nx-story__media img{transform:scale(1)}
.nx-story__tag{position:absolute;left:14px;bottom:14px;padding:6px 10px;border-radius:999px;background:rgba(5,11,18,.7);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--nx-cream)}
@media (max-width:800px){ .nx-story__row{grid-template-columns:1fr} .nx-story__row:nth-child(even) .nx-story__media{order:0} }

/* ---------- Reveal on scroll (content is visible without JS) ---------- */
.nx-js .nx-reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--nx-ease),transform .9s var(--nx-ease)}
.nx-js .nx-reveal.is-in{opacity:1;transform:none}

/* ---------- Why Nexus: expandable rows ---------- */
.nx-why{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:start}
.nx-why__list{border-top:1px solid var(--nx-line)}
.nx-why details{border-bottom:1px solid var(--nx-line)}
.nx-why summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;cursor:pointer;font:400 clamp(1.5rem,2.6vw,2.1rem)/1.15 var(--nx-serif);letter-spacing:-.01em}
.nx-why summary::-webkit-details-marker{display:none}
.nx-why summary .nx-plus{flex:none;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--nx-line-strong);border-radius:999px;font:400 18px var(--nx-sans);transition:transform .4s var(--nx-ease),border-color .3s,color .3s}
.nx-why details[open] .nx-plus{transform:rotate(45deg);color:var(--nx-orange);border-color:var(--nx-orange)}
.nx-why details p{margin:0 0 24px;max-width:52ch;color:var(--nx-soft);line-height:1.6}
@media (max-width:860px){ .nx-why{grid-template-columns:1fr} }

/* ---------- Install photo strip ---------- */
.nx-marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.nx-marquee__track{display:flex;gap:16px;width:max-content;animation:nx-marquee 60s linear infinite}
.nx-marquee:hover .nx-marquee__track{animation-play-state:paused}
.nx-marquee figure{margin:0;flex:none;width:clamp(240px,26vw,380px)}
.nx-marquee img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px}
.nx-marquee figcaption{margin-top:10px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--nx-muted)}
.nx-marquee figcaption b{color:var(--nx-cream);font-weight:500}
@keyframes nx-marquee{to{transform:translateX(calc(-50% - 8px))}}
.nx-strip-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:40px}
.nx-strip-foot p{margin:0;color:var(--nx-soft);max-width:52ch}

/* ---------- Feature story ---------- */
.nx-feature{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(28px,5vw,72px);align-items:end;margin-top:clamp(56px,7vw,96px)}
.nx-feature__media{border-radius:6px;overflow:hidden;aspect-ratio:16/10}
.nx-feature__media img{width:100%;height:100%;object-fit:cover}
body.nx-v2 .nx-feature h3{margin:0 0 14px;font:400 clamp(1.9rem,3.4vw,2.8rem)/1.05 var(--nx-serif);letter-spacing:-.02em}
.nx-feature p{color:var(--nx-soft);line-height:1.6;margin:0 0 22px}
@media (max-width:860px){ .nx-feature{grid-template-columns:1fr} }

/* ---------- Steps ---------- */
.nx-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--nx-line)}
.nx-step{padding:28px 24px 8px 0;border-right:1px solid var(--nx-line);margin-right:24px}
.nx-step:last-child{border-right:0;margin-right:0}
body.nx-v2 .nx-step h3{margin:14px 0 10px;font:400 clamp(1.5rem,2.2vw,1.9rem)/1.1 var(--nx-serif);letter-spacing:-.01em}
.nx-step p{margin:0;color:var(--nx-soft);font-size:15px;line-height:1.55}
@media (max-width:900px){ .nx-steps{grid-template-columns:1fr 1fr} .nx-step:nth-child(2){border-right:0;margin-right:0} }
@media (max-width:560px){ .nx-steps{grid-template-columns:1fr} .nx-step{border-right:0;margin-right:0;border-bottom:1px solid var(--nx-line);padding-bottom:24px} }

/* ---------- Savings band ---------- */
.nx-save{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:32px;padding:clamp(32px,5vw,56px);border:1px solid var(--nx-line);border-radius:8px;background:radial-gradient(80% 140% at 100% 0%,rgba(111,191,115,.10),transparent 60%),var(--nx-surface)}
body.nx-v2 .nx-save h2{margin:0 0 10px;font-size:clamp(1.9rem,3.6vw,3rem)}
.nx-save p{margin:0;color:var(--nx-soft);max-width:52ch}
@media (max-width:760px){ .nx-save{grid-template-columns:1fr} }

/* ---------- Accreditations ---------- */
.nx-accred{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(24px,4vw,56px);margin-top:clamp(40px,5vw,64px);padding-top:32px;border-top:1px solid var(--nx-line)}
.nx-accred img{height:46px;width:auto;opacity:.85;filter:grayscale(1) brightness(1.6)}
.nx-accred span{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--nx-muted)}

/* ---------- Closing CTA ---------- */
.nx-cta{position:relative;overflow:hidden;isolation:isolate;padding-block:clamp(110px,16vw,220px);text-align:left}
.nx-cta img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:brightness(.55) saturate(.9)}
.nx-cta::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(5,11,18,.85),rgba(5,11,18,.2))}
body.nx-v2 .nx-cta h2{margin:0 0 18px;font-size:clamp(2.6rem,6vw,5.2rem);max-width:14ch}
.nx-cta p{margin:0 0 30px;color:var(--nx-cream);max-width:44ch;font-size:1.1rem}

/* ---------- Footer ---------- */
.nx-footer{background:var(--nx-deep);border-top:1px solid var(--nx-line);color:var(--nx-soft)}
.nx-footer__inner{max-width:var(--nx-max);margin:0 auto;padding:clamp(64px,8vw,110px) var(--nx-gutter) 32px}
.nx-footer__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:28px;padding-bottom:clamp(48px,6vw,80px);border-bottom:1px solid var(--nx-line)}
.nx-footer__line{margin:0;font:400 clamp(2.4rem,6vw,5rem)/1 var(--nx-serif);letter-spacing:-.03em;color:var(--nx-cream)}
.nx-footer__line em{color:var(--nx-green)}
.nx-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:40px;padding-block:clamp(40px,5vw,64px)}
.nx-footer__col{display:grid;align-content:start;gap:10px}
.nx-footer__col a{color:var(--nx-soft);text-decoration:none;font-size:15px;line-height:1.5}
.nx-footer__col a:hover{color:var(--nx-cream)}
.nx-footer__pillars{margin:16px 0 18px;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.nx-footer .footer-social{display:flex;gap:10px}
.nx-footer .footer-social a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--nx-line-strong);border-radius:999px;color:var(--nx-cream)}
.nx-footer__accred{display:flex;flex-wrap:wrap;align-items:center;gap:32px;padding-block:28px;border-top:1px solid var(--nx-line)}
.nx-footer__accred img{height:40px;width:auto;opacity:.75;filter:grayscale(1) brightness(1.6)}
.nx-footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid var(--nx-line);font-size:13px;color:var(--nx-muted)}
.nx-footer__legal{display:flex;flex-wrap:wrap;gap:18px}
.nx-footer__legal a{color:var(--nx-muted);text-decoration:none}
.nx-footer__legal a:hover{color:var(--nx-cream)}
@media (max-width:900px){ .nx-footer__grid{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .nx-footer__grid{grid-template-columns:1fr} }

/* Hide leftovers from the old header markup if any page still prints them */
body.nx-v2 .topbar, body.nx-v2 header.site-header, body.nx-v2 .site-footer{display:none}

@media (prefers-reduced-motion:reduce){
  .nx-js .nx-reveal{opacity:1;transform:none;transition:none}
  .nx-marquee__track{animation:none}
  .nx-roll i,.nx-story__media img,.nx-service__title{transition:none}
}

/* Journey-style header (domestic page dropdowns), used on redesigned service pages. Scoped to .jh */
.jh a{color:inherit;text-decoration:none}
.jh button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
.jh img{display:block;max-width:100%;height:auto}
.jh p{margin:0}
.jh{--cream:#f0e9db;--orange:#e06a1e;--sky:#5ca9de;--green:#6fbf73;--ink:#101916;--journey-surface:#101916;--finale-surface:#21352c;--project-surface:#15201b;--ease:cubic-bezier(.2,.8,.2,1);font-family:'Instrument Sans',sans-serif;color:var(--cream);font-synthesis:none}
.jh .header{position:fixed;z-index:30;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:30px 4vw;transition:background .4s,padding .4s,border-color .4s;border-bottom:1px solid transparent}
.jh .header.is-scrolled{padding-top:18px;padding-bottom:18px}
.jh .header.is-scrolled::before{content:"";
  position:absolute;
  z-index:-1;
  inset:0 0 -28px;
  background:linear-gradient(180deg,rgba(16,25,22,.98),rgba(16,25,22,.92) 55%,rgba(16,25,22,.69) 76%,transparent);
  pointer-events:none;}
.jh .brand{display:flex;align-items:center;gap:13px;width:205px;flex-shrink:0}
.jh .primary{display:flex;gap:32px;font-size:13px}
.jh .primary a{display:flex;align-items:center;gap:7px;color:rgba(240,233,219,.72)}
.jh .primary a[aria-current]{color:var(--cream)}
.jh .nav-dot{width:5px;height:5px;border-radius:50%;background:var(--green)}
.jh .header__actions{display:flex;align-items:center;gap:25px;font-size:13px}
.jh .enquire{border:1px solid rgba(240,233,219,.35);padding:13px 19px;border-radius:999px;white-space:nowrap}
.jh .enquire span{color:var(--orange);margin-left:16px}
.jh .menu-toggle{display:none;background:none;border:0;width:32px;padding:5px}
.jh .menu-toggle span{display:block;height:1px;background:var(--cream);margin:7px 0}
.jh .mobile-menu{position:fixed;z-index:29;inset:90px 0 auto;padding:30px 6vw;background:var(--ink);border-bottom:1px solid rgba(240,233,219,.2)}
.jh .mobile-menu:not([hidden]){display:flex;flex-direction:column;gap:24px}
@media(prefers-reduced-motion:no-preference){.jh .header{animation:header-arrive .9s var(--ease) both}}
@media(max-width:1100px){.jh .primary{display:none}}
@media(max-width:1100px){.jh .menu-toggle{display:block}}
@media(max-width:1100px){.jh .header__actions{gap:20px}}
@media(max-width:600px){.jh .header{padding:23px 5vw;gap:15px;flex-wrap:wrap}}
@media(max-width:600px){.jh .brand{width:137px;gap:9px}}
@media(max-width:600px){.jh .header__actions{gap:14px;font-size:11px}}
@media(max-width:600px){.jh .enquire{position:fixed;bottom:0;right:0;width:56%;height:58px;display:flex;align-items:center;justify-content:center;border-radius:0;background:var(--cream);color:var(--ink);border:0;border-top:1px solid var(--cream);z-index:35;font-size:12px}}
@media(max-width:600px){.jh .mobile-menu{inset:80px 0 auto}}
@media(max-width:600px){.jh .header.is-scrolled{backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.jh .header{transition:none}}
.jh .roll-link{position:relative;display:inline-flex;align-items:center;gap:12px;padding:14px 20px 14px 24px;border:1px solid rgba(240,233,219,.3);border-radius:999px;font-size:14px;font-weight:500;white-space:nowrap;line-height:1.25}
.jh .roll-link::after{content:"";height:2px;position:absolute;left:20px;right:20px;bottom:8px;border-radius:2px;background:linear-gradient(90deg,var(--sky),var(--orange),var(--green));transform:scaleX(0);transform-origin:left;transition:transform 600ms var(--ease)}
.jh .roll-link>span{transition:transform 450ms var(--ease),color 450ms var(--ease)}
.jh .roll-link:is(:hover,:focus-visible)::after{transform:scaleX(1)}
.jh .roll-link:is(:hover,:focus-visible)>span{transform:translate(3px,-3px);color:var(--orange)}
.jh .roll-label{display:inline-grid;overflow:hidden;line-height:1.25;white-space:pre}
.jh .roll-label__copy{display:inline-flex;grid-area:1/1}
.jh .roll-label i{font-style:normal;display:inline-block;transition:transform 500ms var(--ease);transition-delay:calc(var(--i)*18ms)}
.jh .roll-label__copy--b i{transform:translateY(110%)}
.jh .roll-link:is(:hover,:focus-visible) .roll-label__copy--a i{transform:translateY(-110%)}
.jh .roll-link:is(:hover,:focus-visible) .roll-label__copy--b i{transform:translateY(0)}
.jh .roll-link>.roll-label{transform:none!important;color:inherit!important}
@media(hover:none){.jh .roll-link::after{transform:scaleX(1)}}
@media(hover:none){.jh .roll-link>span:last-child{color:var(--orange)}}
@media(hover:none){.jh .roll-label i,.jh .roll-link>span,.jh .roll-link::after{transition:none}}
@media(hover:none){.jh .roll-link:is(:hover,:focus-visible) .roll-label__copy--a i{transform:none}}
@media(hover:none){.jh .roll-link:is(:hover,:focus-visible) .roll-label__copy--b i{transform:translateY(110%)}}
@media(prefers-reduced-motion:reduce){.jh .roll-label i,.jh .roll-link>span,.jh .roll-link::after{transition:none}}
@media(prefers-reduced-motion:reduce){.jh .roll-link:is(:hover,:focus-visible) .roll-label__copy--a i{transform:none}}
@media(prefers-reduced-motion:reduce){.jh .roll-link:is(:hover,:focus-visible) .roll-label__copy--b i{transform:translateY(110%)}}
@media(prefers-reduced-motion:reduce){.jh .roll-link:is(:hover,:focus-visible)>span:last-child{transform:none}}
.jh .header .enquire.roll-link{margin-top:0;gap:12px;padding:14px 20px 14px 24px;font-size:14px;font-weight:500;line-height:1.25}
.jh .enquire .roll-label,.jh .enquire .roll-label__copy{margin-left:0;color:inherit}
.jh .enquire>span:last-child{margin-left:0;color:var(--cream)}
.jh .enquire:is(:hover,:focus-visible)>span:last-child{color:var(--orange)}
@media(hover:none){.jh .enquire>span:last-child{color:var(--orange)}}
@media(max-width:600px){.jh .header .enquire.roll-link{position:fixed;bottom:0;right:0;width:56%;height:58px;border-radius:0;margin:0;padding:14px 20px;font-size:12px}}
@media(max-width:600px){.jh .header .enquire.roll-link::after{bottom:8px}}
.jh{--renewables-green:#67b32e;--mechanical-blue:#0067e2}
.jh .roll-link{color:var(--orange);
  background:transparent;
  border-color:var(--orange);}
.jh .roll-link>span:last-child,.jh .enquire>span:last-child,.jh .enquire:is(:hover,:focus-visible)>span:last-child{color:var(--orange)}
@media(max-width:600px){.jh .header .enquire.roll-link{background:var(--cream);color:var(--ink);border-color:var(--cream)}}
.jh .nav-dropdown{position:relative}
.jh .nav-trigger,.jh .nav-design{border:0;padding:0;background:none;text-align:left}
.jh .nav-trigger{display:flex;align-items:center;gap:7px;min-height:36px;white-space:nowrap}
.jh .nav-chevron{width:5px;height:5px;border:solid currentColor;border-width:0 1px 1px 0;transform:rotate(45deg);margin:0 2px 3px}
.jh .nav-trigger[aria-expanded="true"] .nav-chevron{transform:rotate(225deg);margin-bottom:0}
.jh .nav-plus{color:var(--sky)}
.jh .nav-panel:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:13px;position:absolute;top:100%;left:0;width:max-content;max-width:calc(100vw - 24px);background:#191d20;border:1px solid rgba(240,233,219,.18);border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.jh #nav-calculators .nav-panel{left:auto;right:0;grid-template-columns:1fr}
.jh .nav-panel>div+div{border-left:1px solid rgba(240,233,219,.14);padding-left:10px}
.jh .nav-panel p{margin:5px 8px 7px;color:var(--cream);opacity:.65;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.jh .header .nav-panel a,.jh .nav-panel a,.jh .nav-panel .nav-design{display:block;width:100%;padding:8px;border-radius:5px;color:var(--cream);font-size:13px}
.jh .nav-panel :is(a,button):is(:hover,:focus-visible){color:var(--sky);background:rgba(92,169,222,.1)}
@media(prefers-reduced-motion:no-preference){.jh .nav-panel:not([hidden]){animation:nav-arrive 180ms var(--ease) both}}
@media(max-width:1100px){.jh .mobile-menu:not([hidden]){gap:12px;max-height:calc(100dvh - 90px);overflow:auto}}
@media(max-width:1100px){.jh .mobile-menu .primary{display:flex;flex-direction:column;gap:8px}}
@media(max-width:1100px){.jh .mobile-menu .primary>a,.jh .mobile-menu .nav-trigger{min-height:36px}}
@media(max-width:1100px){.jh .mobile-menu .nav-trigger{width:100%}}
@media(max-width:1100px){.jh .mobile-menu .nav-panel:not([hidden]){position:static;width:100%;max-width:none;box-shadow:none}}
@media(max-width:430px){.jh .mobile-menu .nav-panel:not([hidden]){grid-template-columns:1fr}}
@media(max-width:430px){.jh .mobile-menu .nav-panel>div+div{border-left:0;border-top:1px solid rgba(240,233,219,.14);padding:8px 0 0}}
.jh{--stone:#f7f3ec;--charcoal:#202526;--link-blue:#00588f;--money-green:#357323}
.jh .header .nav-trigger{font-size:16px}
.jh .roll-link{border-color:currentColor;color:inherit}
.jh .roll-link>span:last-child{color:inherit}
.jh .roll-link::after{background:var(--sky)}
@media(max-width:767px){.jh .header{flex-wrap:nowrap;gap:10px}}
@media(max-width:767px){.jh .header__actions{gap:10px}}
@media(max-width:767px){.jh .header .enquire{padding:8px 10px;font-size:13px}}
@media(max-width:767px){.jh .header .menu-toggle{flex:none}}
.jh .header .enquire{white-space:nowrap}
@keyframes header-arrive{from{opacity:0}to{opacity:1}}
@keyframes nav-arrive{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.jh .brand__symbol{width:45px;height:auto}
.jh .brand__words{display:flex;flex-direction:column;gap:8px;align-items:center;width:145px}
.jh .brand__words img{display:block;width:100%;height:auto}
.jh .brand__words img:last-child{width:110%}
@media(max-width:600px){.jh .brand__symbol{width:32px}.jh .brand__words{width:95px;gap:6px}}
/* Footer on redesigned pages: Nexus colours only (website rules) */
body:has(.jh) .nx-areas,body:has(.jh) .nx-footer{background:#101916}
body:has(.jh) .nx-footer,body:has(.jh) .nx-footer *{color:rgba(240,233,219,.72)}
body:has(.jh) .nx-footer a:hover{color:#e06a1e}
body:has(.jh) .nx-footer em,body:has(.jh) .nx-footer .nx-c-green{color:#67b32e}
body:has(.jh) .nx-footer .nx-c-sky{color:#0067e2}
body:has(.jh) .nx-footer .nx-stop,body:has(.jh) .nx-footer .nx-c-orange{color:#e06a1e}
body:has(.jh) .nx-footer .nx-btn-survey{background:#e06a1e;border-color:#e06a1e}
body:has(.jh) .nx-footer .nx-btn-survey,body:has(.jh) .nx-footer .nx-btn-survey *{color:#101916}
body:has(.jh) .nx-footer .footer-social a{background:#191d20}
/* Pill motion on redesigned pages (matches Domestic roll-link) */
html body .sp .sp-btn{position:relative;display:inline-flex;align-items:center;gap:12px;padding:14px 20px 14px 24px;font-weight:500;line-height:1.25;white-space:nowrap}
html body .sp .sp-btn::after{content:"";height:2px;position:absolute;left:20px;right:20px;bottom:8px;border-radius:2px;background:linear-gradient(90deg,#0067e2,#e06a1e,#67b32e);transform:scaleX(0);transform-origin:left;transition:transform 600ms cubic-bezier(.2,.8,.2,1)}
html body .sp .sp-btn:not(.sp-btn--ghost)::after{background:#101916}
html body .sp .sp-btn:is(:hover,:focus-visible)::after{transform:scaleX(1)}
html body .sp .sp-btn>.sp-arrow{display:inline-block;transition:transform 450ms cubic-bezier(.2,.8,.2,1)}
html body .sp .sp-btn:is(:hover,:focus-visible)>.sp-arrow{transform:translate(3px,-3px)}
html body .sp .roll-label{display:inline-grid;overflow:hidden;line-height:1.25;white-space:pre}
html body .sp .roll-label__copy{display:inline-flex;grid-area:1/1}
html body .sp .roll-label i{font-style:normal;display:inline-block;transition:transform 500ms cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i)*18ms)}
html body .sp .roll-label__copy--b i{transform:translateY(110%)}
html body .sp .sp-btn:is(:hover,:focus-visible) .roll-label__copy--a i{transform:translateY(-110%)}
html body .sp .sp-btn:is(:hover,:focus-visible) .roll-label__copy--b i{transform:translateY(0)}
html body .sp .sp-btn:not(.sp-btn--ghost):hover{background:#e06a1e}
@media(hover:none),(prefers-reduced-motion:reduce){html body .sp .roll-label i,html body .sp .sp-btn::after,html body .sp .sp-btn>.sp-arrow{transition:none}html body .sp .sp-btn:is(:hover,:focus-visible) .roll-label__copy--a i{transform:none}html body .sp .sp-btn:is(:hover,:focus-visible) .roll-label__copy--b i{transform:translateY(110%)}}
