/* ===== Service and product pages =====
   Used by: commercial-solar, solar-water-heater, solar-electric-fencing,
            n-type-solar-panels, p-type-solar-panels. Loaded after sh-home.css.
   Prefixes: nt- (layout shared by all), rs- and cm- (splits, estimators, steps),
             sh- (water heater extras), fn- (fencing extras). */
.nt{--nt-gold-dark:#d99a00;--nt-gold-soft:#fff4d6;color:var(--ink,#10243f)}
.nt *{box-sizing:border-box}
.nt img{max-width:100%;display:block}
.nt-sec{padding:96px 0}
.nt-mist{background:var(--mist,#eef3f8)}
.nt-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--nt-gold-dark)}
.nt-eyebrow::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}
.nt-head{max-width:760px;margin-bottom:44px}
.nt-head.nt-center{text-align:center;margin-inline:auto}
.nt-head h2{margin:10px 0 14px}
.nt-head p{color:var(--slate,#4b5d73);font-size:1.08rem;margin:0}

/* banner: shorter than the home page hero (was min-height 740px, padding 100px 0 150px).
   Bottom padding leaves room for the key-figures card, which overlaps the banner by 80px. */
.nt-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;box-sizing:border-box;min-height:480px;display:flex;align-items:center;padding:56px 0 120px;
  background:linear-gradient(100deg,rgba(14,44,82,.94) 0%,rgba(24,69,123,.84) 55%,rgba(24,69,123,.55) 100%),var(--navy-deep,#0f2f57) url("/assets/images/page-titles/4.jpg") center/cover no-repeat}
.nt-hero>.wrap{width:100%}
.nt-crumb{font-size:14px;color:rgba(255,255,255,.72);margin-bottom:12px}
.nt-crumb a{color:inherit;text-decoration:none}.nt-crumb a:hover{color:#fff;text-decoration:underline}
.nt-hero .nt-eyebrow{color:var(--gold,#f8bc2d)}
.nt-hero h1{color:#fff;font-size:clamp(2.2rem,3.8vw,3.25rem);max-width:22ch;margin:10px 0 14px}
.nt-hero .lead{color:#d3deeb;max-width:46rem}
.nt-badges{list-style:none;margin:20px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.nt-badges li{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:14px;font-weight:600;border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.08)}
.nt-badges svg{width:17px;height:17px;color:var(--gold,#f8bc2d);flex:none}
.nt-acts{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.nt-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.nt-ghost:hover{background:rgba(255,255,255,.12);color:#fff}

/* key figures card overlapping the banner */
.nt-figs{position:relative;z-index:2;margin-top:-80px}
.nt-figs__card{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line,#d5deea);border-radius:20px;box-shadow:0 24px 60px rgba(15,47,87,.16);overflow:hidden}
.nt-fig{padding:28px 26px;position:relative}
.nt-fig+.nt-fig::before{content:"";position:absolute;left:0;top:26px;bottom:26px;width:1px;background:var(--line,#d5deea)}
.nt-fig b{display:block;font-size:2.2rem;font-weight:800;line-height:1;color:var(--navy-deep,#0f2f57);white-space:nowrap}
.nt-fig b small{font-size:1rem;color:var(--nt-gold-dark);margin-left:3px}
.nt-fig span{display:block;margin-top:8px;font-weight:700;font-size:15px}
.nt-fig em{display:block;font-style:normal;color:var(--slate,#4b5d73);font-size:13.5px;margin-top:2px}

/* why n-type */
.nt-why{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.nt-card{background:#fff;border:1px solid var(--line,#d5deea);border-radius:16px;padding:28px 24px;transition:transform .2s,box-shadow .2s}
.nt-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(15,47,87,.12)}
.nt-ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--nt-gold-soft);color:var(--nt-gold-dark);margin-bottom:18px}
.nt-ic svg{width:26px;height:26px}
.nt-card h3{font-size:1.3rem;margin-bottom:8px}
.nt-card p{margin:0;color:var(--slate,#4b5d73);font-size:15.5px}

/* range at a glance */
.nt-range{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.nt-pick{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line,#d5deea);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}
.nt-pick:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(15,47,87,.12);border-color:var(--gold,#f8bc2d)}
.nt-pick__img{height:190px;background:var(--mist,#eef3f8);overflow:hidden}
.nt-pick__img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.nt-pick:hover .nt-pick__img img{transform:scale(1.05)}
.nt-pick__body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.nt-pick__tag{align-self:flex-start;padding:4px 10px;border-radius:999px;background:#e8eff8;color:var(--navy,#18457b);font-size:12.5px;font-weight:700}
.nt-pick h3{font-size:1.35rem;margin:0}
.nt-pick__w{font-size:1.6rem;font-weight:800;color:var(--navy-deep,#0f2f57)}
.nt-pick__w small{font-size:.95rem;color:var(--slate,#4b5d73);font-weight:600;margin-left:4px}
.nt-pick__go{margin-top:auto;font-weight:700;color:var(--navy,#18457b);display:inline-flex;align-items:center;gap:6px}
.nt-pick__go svg{width:16px;height:16px;transition:transform .2s}
.nt-pick:hover .nt-pick__go svg{transform:translateX(4px)}

/* product sections */
.nt-prod{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start;scroll-margin-top:120px}
.nt-prod--flip .nt-prod__media{order:2}
.nt-prod__media{position:sticky;top:120px}
.nt-prod__frame{background:#fff;border:1px solid var(--line,#d5deea);border-radius:20px;padding:18px;box-shadow:0 18px 50px rgba(15,47,87,.10)}
.nt-prod__frame img{width:100%;border-radius:12px;background:var(--mist,#eef3f8);aspect-ratio:4/3;object-fit:contain}
.nt-prod__note{display:flex;gap:10px;align-items:center;margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--nt-gold-soft);color:#6a4a00;font-size:14.5px;font-weight:600}
.nt-prod__note svg{width:20px;height:20px;flex:none;color:var(--nt-gold-dark)}
.nt-prod h2{font-size:clamp(1.9rem,3.2vw,2.6rem);margin:10px 0 12px}
.nt-prod__intro{color:var(--slate,#4b5d73);font-size:1.05rem;margin:0 0 22px}
.nt-feats{list-style:none;margin:0 0 28px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}
.nt-feats li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px}
.nt-feats svg{flex:none;width:20px;height:20px;margin-top:2px;color:var(--navy,#18457b)}
.nt-feats b{color:var(--navy-deep,#0f2f57)}
.nt-tbl{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line,#d5deea);border-radius:14px;overflow:hidden;font-size:15.5px}
.nt-tbl th{background:var(--navy-deep,#0f2f57);color:#fff;text-align:left;font-weight:700;padding:13px 18px;font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.nt-tbl td{padding:15px 18px;border-top:1px solid var(--line,#d5deea);vertical-align:middle}
.nt-tbl tbody tr:hover td{background:#f7f9fc}
.nt-tbl td:nth-child(2){font-weight:800;color:var(--navy-deep,#0f2f57);white-space:nowrap}
.nt-dl{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:8px;border:1.5px solid var(--line,#d5deea);color:var(--navy,#18457b);font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap;transition:border-color .15s,background .15s}
.nt-dl:hover{border-color:var(--navy,#18457b);background:#f2f6fb}
.nt-dl svg{width:16px;height:16px}
.nt-dl--ask{color:#6a4a00;border-color:#f0d58c;background:#fffaf0}
.nt-sep{height:1px;background:var(--line,#d5deea);margin:80px 0}

/* sizing guide */
.nt-guide{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.nt-step{background:#fff;border:1px solid var(--line,#d5deea);border-radius:16px;padding:24px}
.nt-step__w{display:inline-block;padding:5px 12px;border-radius:8px;background:var(--navy-deep,#0f2f57);color:#fff;font-weight:800;font-size:14px;margin-bottom:14px}
.nt-step h3{font-size:1.2rem;margin-bottom:6px}
.nt-step p{margin:0;color:var(--slate,#4b5d73);font-size:15px}
.nt-guide__foot{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px 28px;border-radius:16px;background:#fff;border:1px dashed #c9d6e6}
.nt-guide__foot p{margin:0;font-weight:600;color:var(--navy-deep,#0f2f57)}
.nt-guide__foot .nt-acts{margin:0}

@media (max-width:1080px){
  .nt-why,.nt-guide{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:860px){
  .nt-hero{min-height:460px}
  .nt-sec{padding:72px 0}
  .nt-figs__card{grid-template-columns:repeat(2,1fr)}
  .nt-fig:nth-child(3)::before{display:none}
  .nt-fig:nth-child(-n+2){border-bottom:1px solid var(--line,#d5deea)}
  .nt-range{grid-template-columns:1fr}
  .nt-prod{grid-template-columns:1fr;gap:28px}
  .nt-prod--flip .nt-prod__media{order:0}
  .nt-prod__media{position:static}
  .nt-sep{margin:56px 0}
}
@media (max-width:560px){
  .nt-hero{min-height:0;padding:56px 0 108px}
  .nt-why,.nt-guide,.nt-feats{grid-template-columns:1fr}
  .nt-fig{padding:22px 18px}
  .nt-fig b{font-size:1.8rem}
  /* table rows become cards */
  .nt-tbl,.nt-tbl tbody,.nt-tbl tr,.nt-tbl td{display:block;width:100%}
  .nt-tbl thead{display:none}
  .nt-tbl tr{padding:14px 16px;border-top:1px solid var(--line,#d5deea)}
  .nt-tbl tr:first-child{border-top:0}
  .nt-tbl td{border:0;padding:3px 0}
  .nt-tbl td:last-child{padding-top:10px}
}
/* ---- on-this-page links ---- */
.nt-jump{margin-top:36px}
.nt-jump p{margin:0 0 10px;text-align:center;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--slate,#4b5d73)}
.nt-jump ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.nt-jump a{display:inline-block;padding:8px 15px;border-radius:999px;border:1px solid var(--line,#d5deea);background:#fff;color:var(--navy,#18457b);font-weight:600;font-size:14px;text-decoration:none;transition:border-color .15s,background .15s}
.nt-jump a:hover{border-color:var(--gold,#f8bc2d);background:#fffaf0}
.nt [id]{scroll-margin-top:110px}

/* ---- how bifacial works ---- */
.nt-bif{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center}
.nt-bif__art{margin:0;background:linear-gradient(180deg,#e9f1fb,#fff 75%);border:1px solid var(--line,#d5deea);border-radius:20px;padding:18px;box-shadow:0 18px 50px rgba(15,47,87,.08)}
.nt-bif__art svg{width:100%;height:auto;display:block}
.nt-bif__pts{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:16px}
.nt-bif__pts li{display:flex;gap:14px;align-items:flex-start}
.nt-bif__n{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--navy-deep,#0f2f57);color:#fff;font-weight:800;font-size:15px}
.nt-bif__pts b{display:block;color:var(--navy-deep,#0f2f57);font-size:1.05rem}
.nt-bif__pts span{color:var(--slate,#4b5d73);font-size:15.5px}
.nt-bif__pts .nt-bif__n{color:#fff;font-size:15px}
.nt-bif>*{min-width:0}

/* ---- compare the lines ---- */
.nt-cmp-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line,#d5deea);border-radius:16px;background:#fff;box-shadow:0 18px 50px rgba(15,47,87,.08)}
.nt-cmp{width:100%;min-width:760px;border-collapse:collapse;font-size:15.5px}
.nt-cmp th,.nt-cmp td{padding:15px 20px;text-align:left;border-top:1px solid var(--line,#d5deea);vertical-align:top}
.nt-cmp thead th{border-top:0;background:var(--navy-deep,#0f2f57);color:#fff;font-size:15.5px;line-height:1.3}
.nt-cmp thead th small{display:block;font-weight:600;color:#c9d7ea;font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:3px}
.nt-cmp thead th a{color:#fff;text-decoration:none}.nt-cmp thead th a:hover{text-decoration:underline}
.nt-cmp tbody th{width:19%;font-weight:700;color:var(--slate,#4b5d73);font-size:13px;letter-spacing:.06em;text-transform:uppercase;background:#f7f9fc}
.nt-cmp thead th:first-child,.nt-cmp tbody th{position:sticky;left:0;z-index:1}
.nt-cmp tbody tr:hover td{background:#fbfcfe}
.nt-cmp .nt-hi{font-weight:800;color:var(--navy-deep,#0f2f57)}
.nt-ask{color:#8a6a1e;font-style:italic}
.nt-cmp__note{margin:14px 2px 0;color:var(--slate,#4b5d73);font-size:14px}
.nt-cmp-hint{display:none;align-items:center;gap:8px;margin:0 2px 10px;font-size:13.5px;font-weight:700;color:var(--navy,#18457b)}
.nt-cmp-hint svg{width:16px;height:16px}

/* ---- power bars in model tables ---- */
.nt-pw{display:grid;gap:7px;min-width:140px}
.nt-bar{display:block;height:6px;border-radius:6px;background:#e7edf5;overflow:hidden}
.nt-bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#f8bc2d,#e89a10)}

/* ---- FAQs ---- */
.nt-faq{max-width:880px;margin:0 auto;display:grid;gap:12px}
.nt-faq details{background:#fff;border:1px solid var(--line,#d5deea);border-radius:14px;padding:0 22px;transition:border-color .2s,box-shadow .2s}
.nt-faq details[open]{border-color:#c3d3e8;box-shadow:0 12px 30px rgba(15,47,87,.08)}
.nt-faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-weight:700;font-size:1.08rem;color:var(--navy-deep,#0f2f57)}
.nt-faq summary::-webkit-details-marker{display:none}
.nt-faq summary::after{content:"+";flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--nt-gold-soft);color:var(--nt-gold-dark);font-size:20px;font-weight:700;line-height:1;transition:transform .2s}
.nt-faq details[open] summary::after{transform:rotate(45deg)}
.nt-faq p{margin:0 0 20px;color:var(--slate,#4b5d73)}
.nt-faq a{color:var(--navy,#18457b);font-weight:700}

@media (max-width:860px){
  .nt-bif{grid-template-columns:1fr;gap:32px}
  .nt-cmp-hint{display:flex}
  .nt-cmp{min-width:640px;font-size:14.5px}
  .nt-cmp th,.nt-cmp td{padding:13px 14px}
  .nt-cmp tbody th{width:118px;font-size:11.5px}
}
/* ---- residential page extras (rs-) ---- */
.rs-split{display:grid;grid-template-columns:1fr 1.05fr;gap:60px;align-items:center}
.rs-photo{position:relative;margin:0}
.rs-photo img{width:100%;aspect-ratio:5/4;object-fit:cover;border-radius:20px;box-shadow:0 24px 60px rgba(15,47,87,.16);background:var(--mist,#eef3f8)}
.rs-photo figcaption{position:absolute;right:-16px;bottom:-22px;display:flex;align-items:center;gap:12px;padding:14px 18px;border-radius:14px;background:var(--navy-deep,#0f2f57);color:#fff;box-shadow:0 16px 40px rgba(15,47,87,.28);max-width:260px}
.rs-photo figcaption svg{width:30px;height:30px;color:var(--gold,#f8bc2d);flex:none}
.rs-photo figcaption b{display:block;font-size:15px;line-height:1.25}
.rs-photo figcaption span{display:block;font-size:13px;color:#c9d7ea}
.rs-svc{list-style:none;margin:24px 0 30px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}
.rs-svc li{display:flex;gap:10px;align-items:flex-start;font-weight:600}
.rs-svc svg{flex:none;width:20px;height:20px;margin-top:3px;color:var(--navy,#18457b)}

/* subsidy */
.rs-sub{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.rs-calc{background:linear-gradient(150deg,var(--navy-deep,#0f2f57),var(--navy,#18457b));color:#fff;border-radius:20px;padding:34px;box-shadow:0 24px 60px rgba(15,47,87,.22)}
.rs-calc h3{color:#fff;font-size:1.5rem;margin-bottom:6px}
.rs-calc p{color:#c9d7ea;margin:0 0 22px;font-size:15px}
.rs-calc label{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;margin-bottom:12px}
.rs-calc label output{font-size:1.6rem;color:var(--gold,#f8bc2d)}
.rs-range{width:100%;accent-color:#f8bc2d;height:6px;cursor:pointer}
.rs-ticks{display:flex;justify-content:space-between;font-size:12px;color:#9fb5d0;margin-top:6px}
.rs-out{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.rs-out div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:16px 18px}
.rs-out small{display:block;font-size:12.5px;color:#c9d7ea;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.rs-out b{display:block;font-size:1.7rem;line-height:1.2;margin-top:4px;color:#fff}
.rs-out .rs-big{grid-column:1/-1;background:#fff;border-color:#fff}
.rs-out .rs-big small{color:var(--slate,#4b5d73)}
.rs-out .rs-big b{color:var(--navy-deep,#0f2f57);font-size:2.4rem}
.rs-calc__fine{margin:16px 0 0!important;font-size:12.5px!important;color:#9fb5d0!important}
.rs-tiers{background:#fff;border:1px solid var(--line,#d5deea);border-radius:20px;padding:30px;display:flex;flex-direction:column}
.rs-tiers h3{font-size:1.35rem;margin-bottom:16px}
.rs-tier{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line,#d5deea)}
.rs-tier:first-of-type{border-top:0}
.rs-tier span{font-weight:700}
.rs-tier span small{display:block;font-weight:500;color:var(--slate,#4b5d73);font-size:13.5px}
.rs-tier b{font-size:1.45rem;color:var(--navy-deep,#0f2f57);white-space:nowrap}
.rs-tiers__note{margin:auto 0 0;padding-top:16px;font-size:13.5px;color:var(--slate,#4b5d73)}
.rs-tiers__note a{color:var(--navy,#18457b);font-weight:700}

/* process */
.rs-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;counter-reset:step}
.rs-steps::before{content:"";position:absolute;top:32px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,#c3d3e8 0 10px,transparent 10px 18px)}
.rs-step{position:relative;text-align:center;padding:0 6px}
.rs-step__ic{position:relative;z-index:1;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#fff;border:2px solid var(--gold,#f8bc2d);color:var(--navy-deep,#0f2f57);box-shadow:0 0 0 8px var(--mist,#eef3f8)}
.rs-step__ic svg{width:28px;height:28px}
.rs-step__n{position:absolute;top:-6px;right:-6px;width:26px;height:26px;border-radius:50%;background:var(--navy-deep,#0f2f57);color:#fff;font-size:13px;font-weight:800;display:grid;place-items:center}
.rs-step h3{font-size:1.2rem;margin-bottom:6px}
.rs-step p{margin:0;color:var(--slate,#4b5d73);font-size:15px}

/* choose panels */
.rs-panels{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rs-pcard{display:flex;flex-direction:column;gap:10px;padding:30px;border-radius:18px;background:#fff;border:1px solid var(--line,#d5deea);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}
.rs-pcard:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(15,47,87,.12);border-color:var(--gold,#f8bc2d)}
.rs-pcard__tag{align-self:flex-start;padding:4px 12px;border-radius:999px;background:#e8eff8;color:var(--navy,#18457b);font-size:12.5px;font-weight:700}
.rs-pcard h3{font-size:1.5rem;margin:0}
.rs-pcard p{margin:0;color:var(--slate,#4b5d73)}
.rs-pcard ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}
.rs-pcard li{display:flex;gap:10px;font-size:15px}
.rs-pcard li svg{width:19px;height:19px;flex:none;color:var(--navy,#18457b);margin-top:2px}
.rs-pcard .nt-pick__go{margin-top:10px}

@media (max-width:1080px){.rs-steps{grid-template-columns:repeat(2,1fr);row-gap:36px}.rs-steps::before{display:none}}
@media (max-width:860px){
  .rs-split,.rs-sub,.rs-panels{grid-template-columns:1fr}
  .rs-split{gap:48px}
  .rs-photo figcaption{right:12px}
}
@media (max-width:560px){
  .rs-steps,.rs-svc{grid-template-columns:1fr}
  .rs-calc,.rs-tiers{padding:24px}
}
/* ---- commercial page extras (cm-) ---- */
.cm-sectors{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cm-sector{display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:14px;background:#fff;border:1px solid var(--line,#d5deea);font-weight:700;color:var(--navy-deep,#0f2f57);transition:border-color .2s,transform .2s}
.cm-sector:hover{border-color:var(--gold,#f8bc2d);transform:translateY(-2px)}
.cm-sector span{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#e8eff8;color:var(--navy,#18457b)}
.cm-sector svg{width:23px;height:23px}

/* finance models */
.cm-fin{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cm-fcard{position:relative;padding:32px;border-radius:20px;background:#fff;border:1px solid var(--line,#d5deea);box-shadow:0 14px 40px rgba(15,47,87,.07)}
.cm-fcard--dark{background:linear-gradient(150deg,var(--navy-deep,#0f2f57),var(--navy,#18457b));border-color:transparent;color:#fff}
.cm-fcard--dark h3,.cm-fcard--dark .cm-fcard__k{color:#fff}
.cm-fcard__k{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--nt-gold-dark);margin-bottom:8px}
.cm-fcard--dark .cm-fcard__k{color:var(--gold,#f8bc2d)}
.cm-fcard h3{font-size:1.6rem;margin-bottom:8px}
.cm-fcard>p{margin:0 0 18px;color:var(--slate,#4b5d73)}
.cm-fcard--dark>p{color:#c9d7ea}
.cm-fcard ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cm-fcard li{display:flex;gap:10px;font-size:15.5px}
.cm-fcard li svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--navy,#18457b)}
.cm-fcard--dark li svg{color:var(--gold,#f8bc2d)}
.cm-fcard__best{margin-top:20px;padding-top:16px;border-top:1px solid var(--line,#d5deea);font-size:14.5px;font-weight:700;color:var(--navy-deep,#0f2f57)}
.cm-fcard--dark .cm-fcard__best{border-color:rgba(255,255,255,.18);color:#fff}

/* savings estimator inputs */
.cm-in{display:grid;gap:18px;margin-bottom:6px}
.cm-in label{display:block;margin:0 0 8px;font-weight:700}
.cm-in .cm-row{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:4px 14px}
.cm-in .cm-row span{color:#c9d7ea;font-weight:700;font-size:14px;white-space:nowrap}
.cm-in input{flex:1;min-width:0;width:100%;background:transparent;border:0;color:#fff;font:inherit;font-size:1.35rem;font-weight:800;padding:10px 0;outline:none}
.cm-in .cm-row:focus-within{border-color:var(--gold,#f8bc2d);box-shadow:0 0 0 3px rgba(248,188,45,.25)}

.rs-sub>*{min-width:0}

/* tax benefit list */
.cm-tax{display:grid;gap:14px}
.cm-tax>div{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid var(--line,#d5deea)}
.cm-tax>div:first-child{border-top:0;padding-top:0}
.cm-tax>div>span{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--nt-gold-soft);color:var(--nt-gold-dark)}
.cm-tax>div>span svg{width:22px;height:22px}
.cm-tax b{display:block;color:var(--navy-deep,#0f2f57)}
.cm-tax p{margin:2px 0 0;color:var(--slate,#4b5d73);font-size:15px}

.rs-steps.cm-5{grid-template-columns:repeat(5,1fr)}
.rs-steps.cm-5::before{left:10%;right:10%}

@media (max-width:1080px){.cm-sectors{grid-template-columns:repeat(2,1fr)}.rs-steps.cm-5{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){.cm-fin{grid-template-columns:1fr}}
@media (max-width:560px){.cm-sectors,.rs-steps.cm-5{grid-template-columns:1fr}.cm-fcard{padding:24px}}
/* ---- solar water heater extras (sh-) ---- */
.rs-split>*{min-width:0}
.cm-sectors.sh-apps{grid-template-columns:repeat(2,1fr);margin-top:24px}
.sh-tip{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.sh-tip .nt-card{padding:24px 22px}
@media (max-width:1080px){.sh-tip{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.sh-tip,.cm-sectors.sh-apps{grid-template-columns:1fr}}
/* ---- solar electric fence extras (fn-) ---- */
.fn-parts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fn-std{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fn-std>div{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:14px;background:#fff;border:1px solid var(--line,#d5deea)}
.fn-std>div>span{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e8eff8;color:var(--navy,#18457b)}
.fn-std>div>span svg{width:22px;height:22px}
.fn-std b{display:block;color:var(--navy-deep,#0f2f57)}
.fn-std p{margin:3px 0 0;color:var(--slate,#4b5d73);font-size:15px}
.fn-warn{margin-top:24px;display:flex;gap:16px;align-items:flex-start;padding:22px 24px;border-radius:16px;background:#fff6e5;border:1px solid #f3d18a}
.fn-warn svg{flex:none;width:30px;height:30px;color:#c77a00}
.fn-warn b{display:block;color:#6a4500;font-size:1.05rem}
.fn-warn p{margin:4px 0 0;color:#6a4a10}
.fn-sel{width:100%;background:transparent;border:0;color:#fff;font:inherit;font-size:1.2rem;font-weight:800;padding:10px 0;outline:none;cursor:pointer}
.fn-sel option{color:#10243f}
@media (max-width:1080px){.fn-parts{grid-template-columns:repeat(2,1fr)}}
@media (max-width:860px){.fn-std{grid-template-columns:1fr}}
@media (max-width:560px){.fn-parts{grid-template-columns:1fr}}
