/* ============================================================
   HOMEPAGE — components used only by index.html
   ============================================================ */

/* Hero headline: short line big, promise line smaller */
.home-h1{font-size:clamp(2.1rem,4.9vw,4.3rem);overflow-wrap:break-word}
@media(max-width:960px){.home-h1{font-size:clamp(2rem,10vw,3.4rem)}}
.hero-left{min-width:0}
.home-h1 .h1-accent{display:block;font-size:.5em;line-height:1.2;letter-spacing:-.015em;margin-top:.9rem}

.home-proof{display:flex;flex-wrap:wrap;gap:.625rem 1.5rem}
.home-proof li{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:rgba(255,255,255,.72)}
.home-proof li::before{content:'✓';display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:rgba(16,185,129,.15);border:1px solid rgba(16,185,129,.35);color:var(--green2);font-size:.7rem;font-weight:700}

/* Hero savings-check card */
.home-check .hc-body{border:0;padding:0;margin:0;min-width:0}
.hc-legend{display:block;font-size:.8375rem;font-weight:600;color:rgba(255,255,255,.65);margin-bottom:.625rem;padding:0}
.hc-body .hc-label{margin-top:1.25rem}
.home-check .money-input input{padding-inline:0}
.home-check-btn{width:100%;justify-content:center;margin-top:.5rem}
.home-err{min-height:1.25rem;font-size:.8rem;color:#FCA5A5;margin:.5rem 0 .25rem}
.hero-card-foot a{color:var(--green2);font-weight:600;margin-left:.25rem}

/* Audience chips (dark hero version, .light for the white form) */
.aud-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
.aud-chip{position:relative;display:block;cursor:pointer}
.aud-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.aud-chip span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:.5rem .5rem;border-radius:var(--r2);font-size:.85rem;font-weight:600;line-height:1.25;color:rgba(255,255,255,.75);background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);transition:background-color 160ms ease-out,border-color 160ms ease-out,color 160ms ease-out}
.aud-chip:hover span{border-color:rgba(255,255,255,.3)}
.aud-chip input:checked + span{background:rgba(37,99,235,.28);border-color:var(--blue2);color:#fff}
.aud-chip input:focus-visible + span{outline:2px solid var(--blue2);outline-offset:2px}
.aud-chips.light .aud-chip span{color:var(--tx2);background:var(--bg);border-color:var(--bdrlt)}
.aud-chips.light .aud-chip:hover span{border-color:rgba(37,99,235,.4)}
.aud-chips.light .aud-chip input:checked + span{background:rgba(37,99,235,.08);border-color:var(--blue);color:var(--blue3)}
.aud-chips.error .aud-chip span{border-color:var(--red)}
.af-label{display:block;font-size:.8375rem;font-weight:600;color:var(--tx2);margin-bottom:.5rem}

/* Links */
.home-link{color:var(--blue);font-weight:600;text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.home-link.light{color:#93C5FD}
.faq-a a{color:var(--blue);text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}

/* Capacity section */
.home-narrow{max-width:900px}
.home-dark-p{color:var(--txlt2);font-size:1.0625rem;line-height:1.78;margin-bottom:2rem;max-width:760px}
.home-dark-p strong{color:var(--txlt)}
.home-bra .bra-row{grid-template-columns:1fr 1.3fr 1.7fr}
.home-callout{background:rgba(37,99,235,.1);border:1px solid rgba(37,99,235,.3);border-radius:var(--r4);padding:1.75rem 2rem}
.home-callout p{color:var(--txlt2);font-size:1rem;line-height:1.75;margin-bottom:1.25rem}
.home-callout p strong{color:var(--txlt)}
.home-callout-actions{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}

/* Straight answers cards have no icons */
.why-eexm-section .why-card h3{font-size:1.2rem}

/* Final CTA call line */
.home-fcta-call{margin-top:1.5rem!important;font-size:.95rem!important}
.home-fcta-call a{color:var(--green2);font-weight:700}

/* Four audience options (2x2) and the secondary home option */
.aud-chips.four{grid-template-columns:repeat(2,1fr)}
.aud-home{display:block;margin-top:.75rem;cursor:pointer;text-align:center}
.aud-home input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.aud-home span{font-size:.8rem;color:rgba(255,255,255,.55);text-decoration:underline;text-underline-offset:3px}
.aud-home input:checked + span{color:#fff;font-weight:700;text-decoration:none}
.aud-home input:checked + span::before{content:'✓ '}
.aud-home input:focus-visible + span{outline:2px solid var(--blue2);outline-offset:2px}
.aud-chips.light .aud-chip-home{grid-column:1 / -1}
.srv-grid.four{grid-template-columns:repeat(2,1fr)}
@media(max-width:680px){.srv-grid.four{grid-template-columns:1fr}}
.srv-cta-sub{display:block;margin-top:.5rem;font-size:.8125rem;color:var(--tx3)}
.home-aside{text-align:center;margin-top:2rem;color:var(--tx3);font-size:.95rem}

/* Shop Rates page (compare.html) */
.aud-chips.two{grid-template-columns:repeat(2,1fr)}
.bill-grid{grid-template-columns:repeat(2,1fr);max-width:900px}
.trap-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;margin-top:3rem}
.trap-n{font-family:var(--head);font-size:2rem;font-weight:800;color:var(--green2);line-height:1;margin-bottom:.75rem}
.market-list{display:flex;flex-wrap:wrap;gap:.5rem;max-width:900px}
.market-list li{background:var(--white);border:1px solid var(--bdrlt);border-radius:var(--rfull);padding:.45rem .95rem;font-size:.875rem;font-weight:600;color:var(--tx2)}
.hero-bill{margin:.8rem 0 0;text-align:center;font-size:.86rem;color:rgba(255,255,255,.7)}
.audit-bill{margin:1.5rem 0}
.upload-box{margin-top:1.75rem}
.upload-box .bu{margin-left:0}
.upload-steps{margin-top:1.5rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
@media(max-width:768px){.upload-steps{grid-template-columns:minmax(0,1fr)}}
.bill-section .bu{margin-top:2rem}
.market-list li,.market-list li.focus{border-color:rgba(37,99,235,.35);color:var(--blue3);background:rgba(37,99,235,.05)}
.market-list li a{color:inherit;text-decoration:underline;text-decoration-color:rgba(29,78,216,.35);text-underline-offset:3px}
.market-list li a:hover{text-decoration-color:currentColor}
.market-list li span{font-weight:500;color:var(--tx3);font-size:.75rem;margin-left:.25rem}
@media(max-width:1024px){.trap-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.bill-grid{grid-template-columns:1fr}}
@media(max-width:560px){.trap-grid{grid-template-columns:1fr}}

/* Long bill-inbox address must wrap on phones */
.audit-info,.audit-form{min-width:0}
.audit-phone-cta div{min-width:0}
.audit-phone-cta a{font-size:1rem;overflow-wrap:anywhere}

/* Success state link */
.audit-success a{color:var(--green2);font-weight:600;word-break:break-word}

@media(max-width:1180px){
  .nav-links{gap:1.1rem}
  .nav-phone{display:none}
}
@media(max-width:960px){
  .home-proof{justify-content:center}
  .hero-grid{grid-template-columns:minmax(0,1fr)}
  .hero-card-foot{flex-wrap:wrap;justify-content:center;text-align:center}
}
@media(max-width:400px){
  .hero-card{padding:1.375rem 1.125rem}
  .sh{font-size:1.6rem}
  .fcta-actions .btn,.home-callout-actions .btn{white-space:normal;text-align:center}
}
.money-input input{min-width:0;width:100%}
@media(max-width:480px){
  .nav-right .btn{display:none}
}
@media(max-width:640px){
  .home-h1 .h1-accent{font-size:.56em}
  .home-bra .bra-row{grid-template-columns:1fr 1.2fr;row-gap:.25rem;padding:.8rem 1rem}
  .home-bra .bra-row:not(.bra-head) .bra-pct{display:block;grid-column:1 / -1;font-size:.8rem}
  .home-bra .bra-head div:last-child{display:none}
  .home-callout{padding:1.375rem 1.25rem}
  .aud-chip span{font-size:.8rem;min-height:52px}
}

/* Lead magnet banner (Energy Contract Checkup) */
.lm-section{padding-top:0}
.lm-banner{display:flex;flex-direction:column;gap:.35rem;padding:1.25rem 1.4rem;border-radius:16px;background:linear-gradient(135deg,var(--ink2),var(--ink4));color:#fff;text-decoration:none;box-shadow:0 10px 30px rgba(4,12,26,.18)}
.lm-banner strong{font-family:var(--head);font-size:clamp(1.1rem,2.4vw,1.4rem);line-height:1.25}
.lm-kicker{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green2)}
.lm-cta{font-weight:700;color:var(--green2)}
.lm-banner:hover .lm-cta{text-decoration:underline}

/* Get the app band (above the footer) */
.app-band{padding:3.5rem 0;background:var(--bg2)}
.app-band-inner{display:grid;grid-template-columns:1fr auto;gap:2.5rem;align-items:center}
.app-band h2{font-family:var(--head);font-size:clamp(1.5rem,3vw,2rem);line-height:1.2;margin:0 0 .6rem;color:var(--tx)}
.app-band p{margin:0 0 1rem;color:var(--tx2);max-width:46ch}
.app-band ul{list-style:none;padding:0;margin:0 0 1.25rem;display:grid;gap:.4rem;color:var(--tx2)}
.app-band li::before{content:"\2713";color:var(--green);font-weight:800;margin-right:.55rem}
.app-band-qr{margin:0;text-align:center;background:#fff;border:1px solid #D9E2F2;border-radius:16px;padding:14px}
.app-band-qr img{display:block;width:176px;height:176px}
.app-band-qr figcaption{font-size:.8rem;color:var(--tx3);margin-top:6px}
@media(max-width:700px){.app-band{padding:2.5rem 0}.app-band-inner{grid-template-columns:1fr}.app-band-qr{display:none}}


/* Homepage phase 1 (2026-10-14) */
.hero-cta-mobile{display:none;margin:0 0 1.25rem;text-align:center;justify-content:center}
.hero-reset{margin:1rem 0 0;padding:.7rem 1rem;border-left:3px solid var(--green2);background:rgba(16,185,129,.08);border-radius:0 10px 10px 0;font-size:.88rem;line-height:1.5;color:rgba(255,255,255,.85)}
.hero-reset strong{color:#fff}
.hero-reset a{color:var(--green2);font-weight:600;white-space:nowrap}
.hero-bill-sub{display:block;margin-top:.25rem;font-size:.8rem;color:rgba(255,255,255,.55)}
.home-proofstrip{background:#0B1830;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);padding:1.1rem 0}
.home-proofstrip ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.5rem}
.home-proofstrip a{display:block;color:inherit;text-decoration:none;padding:.35rem .25rem}
.home-proofstrip strong{display:block;color:#fff;font-size:.95rem;margin-bottom:.15rem}
.home-proofstrip span{display:block;color:rgba(255,255,255,.62);font-size:.85rem;line-height:1.45}
.home-proofstrip a:hover strong{color:var(--green2)}
.why-promise{display:flex;gap:1.25rem;align-items:flex-start;margin-top:1.5rem;padding:1.75rem 2rem;border:1.5px solid rgba(16,185,129,.45);border-radius:var(--r4);background:rgba(16,185,129,.08)}
.why-promise .ac-avatar{flex-shrink:0}
.why-promise h3{margin:0 0 .4rem;font-size:1.3rem;color:#fff}
.why-promise p{margin:0 0 1rem;color:rgba(255,255,255,.8);line-height:1.6;max-width:44rem}
@media(max-width:960px){
  .hero-cta-mobile{display:flex}
  .home-proofstrip ul{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
  .why-promise{flex-direction:column;padding:1.4rem 1.25rem}
}


/* Homepage phase 2 (2026-10-14) */
.home-snapshot{background:#08142A;border-bottom:1px solid rgba(255,255,255,.08);padding:1rem 0 1.15rem}
.snap-head{display:flex;flex-wrap:wrap;gap:.25rem 1rem;align-items:baseline;margin-bottom:.7rem}
.snap-head strong{color:#fff;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}
.snap-head span{color:rgba(255,255,255,.55);font-size:.8rem}
.home-snapshot ul{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem 1.25rem}
.home-snapshot li{display:flex;flex-direction:column;gap:.2rem;border-left:2px solid rgba(16,185,129,.5);padding-left:.75rem;min-width:0}
.snap-label{color:var(--green2);font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.snap-value{color:#fff;font-size:.88rem;line-height:1.4}
.snap-source{font-size:.74rem;line-height:1.35;color:rgba(255,255,255,.5)}
.snap-source a{color:rgba(255,255,255,.62);text-decoration:underline;text-underline-offset:2px}
.snap-source a:hover{color:#fff}
.cap-est{margin:2rem 0 0;padding:1.75rem 2rem;border:1.5px solid rgba(245,158,11,.4);border-radius:var(--r4);background:rgba(245,158,11,.06)}
.cap-est h3{margin:0 0 .5rem;font-size:1.3rem;color:#fff}
.cap-est-help{margin:0 0 1rem;color:rgba(255,255,255,.78);line-height:1.6;max-width:46rem}
.cap-est-input{display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;margin-bottom:1rem}
.cap-est-input label{font-weight:700;color:#fff}
.cap-est-input input{width:min(16rem,100%);min-height:48px;padding:.6rem .9rem;border-radius:12px;border:1.5px solid rgba(255,255,255,.3);background:rgba(255,255,255,.95);color:#0f172a;font:600 1.05rem var(--sans, Inter, Arial, sans-serif)}
.cap-est-input input:focus{outline:none;border-color:#F59E0B;box-shadow:0 0 0 3px rgba(245,158,11,.3)}
.cap-est-sum{margin:0 0 1rem;color:#fff;line-height:1.6;font-size:1.05rem;max-width:46rem}
.cap-est-sum strong{color:#FBBF24}
.cap-est-table{width:100%;max-width:34rem;border-collapse:collapse;margin:0 0 1.1rem;font-size:.92rem}
.cap-est-table th{text-align:left;color:rgba(255,255,255,.6);font-weight:600;padding:.4rem .6rem;border-bottom:1px solid rgba(255,255,255,.18)}
.cap-est-table td{color:rgba(255,255,255,.88);padding:.45rem .6rem;border-bottom:1px solid rgba(255,255,255,.08)}
.cap-est-table tr.cap-now td{color:#fff;font-weight:700;background:rgba(245,158,11,.12)}
.cap-est-actions{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;margin-bottom:1rem}
.cap-est-fine{margin:0;font-size:.8rem;line-height:1.55;color:rgba(255,255,255,.55);max-width:46rem}
@media(max-width:960px){.home-snapshot ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){
  .home-snapshot ul{grid-template-columns:minmax(0,1fr)}
  .cap-est{padding:1.4rem 1.15rem}
  .cap-est-table{font-size:.82rem}
  .cap-est-table th,.cap-est-table td{padding:.4rem .35rem}
}

/* Homepage polish 2026-10-14: hero bill button, trust line, PJM hook */
.hero-bill-btn{display:inline-flex;align-items:center;justify-content:center;margin:.35rem 0 0;padding:.6rem 1.1rem;min-height:44px;border:1.5px solid rgba(255,255,255,.55);border-radius:10px;color:#fff;font-weight:700;text-decoration:none}
.hero-bill-btn:hover,.hero-bill-btn:focus-visible{background:rgba(255,255,255,.12);border-color:#fff}
.hero-direct{margin:.7rem 0 0;text-align:center;font-size:.86rem;font-weight:600;color:rgba(255,255,255,.85)}
.bra-hook{margin:0 0 1.1rem;font-size:1.05rem;line-height:1.5;color:#fff}

/* Homepage spacing pass 2026-10-14: no dead band under the hero on tall screens, even rhythm in the hero column and card */
.hero{min-height:min(100vh,860px);padding-bottom:4rem}
.hero-chip{margin-bottom:1.75rem}
.hero-h1.home-h1{margin-bottom:1.5rem}
.hero-p{margin-bottom:1.75rem}
.home-proof{gap:.85rem 1.75rem}
.hero-reset{margin-top:1.5rem}
.hero-bill{margin-top:1.1rem}
.hero-bill-sub{margin-top:.6rem}
.hero-direct{margin-top:.95rem}
.home-callout{margin-top:2.5rem}
.why-promise{margin-top:1.25rem}
.final-cta-section{padding-top:clamp(64px,9vw,112px);padding-bottom:clamp(64px,9vw,112px)}
@media(min-width:721px){
  .home-proofstrip li+li,.home-proofstrip ul>*+*{border-left:1px solid rgba(255,255,255,.08);padding-left:1.5rem}
}

/* Bolder pass 2026-10-14: proof-strip tiles, text pill, service cards, PJM section */
@media(min-width:721px){.home-proofstrip ul>*+*{border-left:0;padding-left:0}}
.home-proofstrip{padding:1.5rem 0}
.home-proofstrip ul{gap:1.1rem}
.home-proofstrip a{display:flex;align-items:flex-start;gap:.9rem;padding:1rem 1.15rem;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015));transition:transform .2s,border-color .2s,background .2s}
.home-proofstrip a:hover,.home-proofstrip a:focus-visible{transform:translateY(-2px);border-color:rgba(16,185,129,.55);background:rgba(16,185,129,.07)}
.ps-ico{flex:none;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:11px;background:rgba(16,185,129,.14);border:1px solid rgba(16,185,129,.35);color:var(--green2);font-style:normal}
.ps-txt{display:block;min-width:0;font-weight:400}
.home-proofstrip strong{font-size:1rem;margin-bottom:.2rem}
.hero-text-pill{display:block;margin:1rem auto 0;width:fit-content;max-width:100%;padding:.55rem 1rem;border-radius:999px;border:1px solid rgba(16,185,129,.4);background:rgba(16,185,129,.1);color:#fff;font-size:.84rem;font-weight:600;text-align:center;text-decoration:none;line-height:1.35}
.hero-text-pill:hover,.hero-text-pill:focus-visible{background:rgba(16,185,129,.2);border-color:var(--green2)}
.services-section .srv-card{padding:2.25rem 2rem 2rem;border-radius:20px;border:1.5px solid var(--bdrlt);overflow:hidden;box-shadow:0 2px 0 rgba(15,23,42,.02),0 14px 34px -18px rgba(15,23,42,.22)}
.services-section .srv-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#2563EB,#60A5FA)}
.services-section .srv-card.featured::before{background:linear-gradient(90deg,#059669,#34D399)}
.services-section .srv-card:nth-child(4)::before{background:linear-gradient(90deg,#7C3AED,#A78BFA)}
.services-section .srv-icon-wrap{width:64px;height:64px;border-radius:18px;margin-bottom:1.25rem}
.services-section .srv-icon-wrap svg{width:32px;height:32px}
.services-section .srv-card h3{font-size:1.45rem;letter-spacing:-.015em;margin-bottom:.75rem}
.services-section .srv-desc{font-size:.95rem;line-height:1.7}
.services-section .srv-cta:not(.srv-cta-sub){padding:.65rem 1.1rem;border-radius:10px;background:rgba(37,99,235,.08);font-weight:700}
.services-section .srv-card.featured .srv-cta:not(.srv-cta-sub){background:rgba(16,185,129,.12);color:#047857}
.services-section .srv-card:hover{transform:translateY(-6px);box-shadow:0 26px 56px -20px rgba(15,23,42,.35)}
.bra-hook{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;padding:1.25rem 1.5rem;border:1px solid rgba(249,115,22,.45);border-left:5px solid #F97316;border-radius:14px;background:linear-gradient(100deg,rgba(249,115,22,.16),rgba(239,68,68,.06));font-size:1.2rem;line-height:1.4}
.bra-hook strong{flex:1 1 22rem}
.bra-hook-num{color:#FDBA74;font-family:var(--head);font-weight:800;font-size:1.45em;letter-spacing:-.02em;white-space:nowrap}
.bra-hook .home-link{flex:none;display:inline-flex;align-items:center;padding:.6rem 1.1rem;border-radius:10px;background:#F97316;color:#fff;font-weight:700;text-decoration:none;white-space:nowrap}
.bra-hook .home-link:hover,.bra-hook .home-link:focus-visible{background:#EA580C}
.home-bra{border-color:rgba(255,255,255,.16);box-shadow:0 24px 60px -30px rgba(0,0,0,.7)}
.home-bra .bra-head{padding-top:1rem;padding-bottom:1rem;color:rgba(255,255,255,.75)}
.home-bra .bra-row:not(.bra-head){padding-top:1.15rem;padding-bottom:1.15rem}
.home-bra .bra-price{font-size:1.6rem;letter-spacing:-.02em}
.home-bra .bra-row.bra-record{box-shadow:inset 4px 0 0 #F97316}
.home-bra .bra-pct{font-size:.95rem}
@media(max-width:720px){
  .bra-hook{padding:1rem 1.1rem;font-size:1.05rem}
  .bra-hook .home-link{width:100%;justify-content:center}
  .home-bra .bra-price{font-size:1.35rem}
  .services-section .srv-card{padding:2rem 1.4rem 1.6rem}
}
.nw{white-space:nowrap}
.hero-text-pill{border-radius:16px}
@media(max-width:720px){
  .home-bra .bra-price{line-height:1.1}
  .home-bra .bra-price span{display:block;margin:.3rem 0 0;white-space:nowrap}
}
/* Hero audience chip: larger and brighter 2026-10-14 */
.hero-chip{font-size:.95rem;font-weight:600;padding:.6rem 1.15rem;color:#34D399;margin-bottom:2rem;line-height:1.35}
@media(max-width:560px){.hero-chip{font-size:.84rem;padding:.5rem .95rem;margin-bottom:1.5rem}}
