
:root{
  --ink:#16222b;
  --muted:#64717a;
  --cream:#f7f5ef;
  --paper:#ffffff;
  --green:#8bcf63;
  --green-dark:#497d37;
  --orange:#e97a4f;
  --yellow:#f3d86a;
  --blue:#dcecf8;
  --line:#d9ddd8;
  --soft:#eef2ed;
  --warning:#fff8df;
  --shadow:0 12px 32px rgba(22,34,43,.08);
  --radius:18px;
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--cream);color:var(--ink);line-height:1.55}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
img,svg{max-width:100%;display:block}
.container{width:min(calc(100% - 36px),var(--max));margin:auto}
header{position:sticky;top:0;z-index:50;background:rgba(247,245,239,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
nav{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:11px;font-weight:800;letter-spacing:-.02em}
.logo-battery{width:38px;height:32px;border:1.5px solid var(--ink);border-radius:8px;display:grid;place-items:center;background:var(--green);position:relative}
.logo-battery:after{content:"";width:4px;height:11px;background:var(--ink);position:absolute;right:-6px;border-radius:0 3px 3px 0}
.logo-battery:before{content:"⚡";font-size:17px}
.links{display:flex;gap:22px;font-size:14px;color:#45515a}
.navbtn{padding:11px 17px;border-radius:999px;background:var(--ink);color:#fff;border:1px solid var(--ink);font-size:14px;font-weight:700}
.hero{padding:82px 0 60px;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;width:360px;height:360px;background:linear-gradient(135deg,rgba(139,207,99,.20),rgba(220,236,248,.32));border-radius:50%;right:-170px;top:-150px}
.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:54px;align-items:center;position:relative;z-index:1}
.eyebrow{display:inline-flex;align-items:center;background:#eff6ea;color:var(--green-dark);border:1px solid #cddfc4;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;letter-spacing:.02em}
h1,h2,h3{line-height:1.06;letter-spacing:-.04em;margin:0}
h1{font-size:clamp(48px,6.6vw,80px)}
h2{font-size:clamp(34px,4.2vw,54px)}
h3{font-size:23px}
.lead{font-size:19px;color:#536069;max-width:720px;margin:24px 0 0}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 19px;border:1px solid var(--ink);font-weight:700;cursor:pointer;transition:.15s ease}
.btn:hover{transform:translateY(-1px)}
.primary{background:var(--orange);color:#fff;border-color:var(--orange)}
.secondary{background:#fff}
.green{background:var(--green);border-color:var(--green-dark)}
.tiny{font-size:13px;color:var(--muted)}
.preview,.panel,.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius)}
.preview{padding:30px;box-shadow:var(--shadow);position:relative}
.preview:before{content:"";position:absolute;width:92px;height:92px;background:var(--blue);border-radius:50%;right:-28px;top:-28px;z-index:-1}
.preview:after{content:"☀";position:absolute;font-size:34px;left:-14px;bottom:-12px}
.big{font-size:54px;font-weight:800;letter-spacing:-.05em;margin:12px 0 4px}
.row{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding:12px 0;font-size:14px}
.section{padding:74px 0}
.section.white{background:#fff}
.section.soft{background:#f0f4ee;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}
.section-head p{max-width:620px;color:var(--muted);margin:0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{padding:24px;box-shadow:var(--shadow)}
.card p{color:var(--muted)}
.icon{font-size:24px;width:48px;height:48px;display:grid;place-items:center;background:#f0f5ec;border:1px solid #d7e3d0;border-radius:14px;margin-bottom:18px}
.calc-wrap{background:linear-gradient(180deg,#f1f6ee 0%,#eef3f7 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.calc{display:grid;grid-template-columns:1fr .82fr;gap:24px;align-items:start}
.panel{padding:28px;box-shadow:var(--shadow)}
.results{position:sticky;top:92px;background:#fff}
.fieldgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
label{font-size:13px;font-weight:700;color:#4d5962}
input,select,textarea{width:100%;padding:13px 14px;border:1px solid #cfd6d0;border-radius:10px;background:#fff;color:var(--ink);outline:none}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--green-dark);box-shadow:0 0 0 3px rgba(139,207,99,.16)}
.divider{height:1px;background:var(--line);margin:25px 0}
.result-total{font-size:48px;font-weight:800;letter-spacing:-.05em}
.label{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}
.resultgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.resultbox{background:#f4f8f2;border:1px solid #d8e5d2;border-radius:12px;padding:14px}
.resultbox:nth-child(2){background:#f2f7fb;border-color:#dbe7f1}
.resultbox strong{display:block;font-size:22px}
.notice{background:var(--warning);border:1px solid #eadc9a;border-radius:12px;padding:14px;color:#5f562d;margin-top:18px}
.good{background:#eef8e8;border:1px solid #d0e5c5;border-radius:12px;padding:15px;margin-top:16px}
.good strong{font-size:22px;display:block}
.guidegrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.prose{max-width:830px}
.prose p,.prose li{color:#536069}
.prose h2{font-size:36px;margin-top:42px}
.prose h3{margin-top:28px}
.prose a{text-decoration:underline;text-underline-offset:3px}
.kicker{font-size:15px;font-weight:700;color:var(--green-dark)}
.pagehero{padding:70px 0 42px}
.pagehero h1{font-size:clamp(44px,6vw,70px);max-width:900px}
.pagehero .lead{max-width:800px}
.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
table{width:100%;border-collapse:collapse;min-width:650px}
th,td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);font-size:14px}
th{background:#f2f4f1}
.faq details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:10px}
.faq summary{font-weight:700;cursor:pointer}
.faq p{color:var(--muted)}
.quote-card{background:#18242c;color:#fff;border-radius:22px;padding:30px}
.quote-card p{color:#c2ccd2}
.checkbox{display:flex;align-items:flex-start;gap:10px}
.checkbox input{width:auto;margin-top:5px}
.status-pill{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;background:#fff4cc;color:#625719;border:1px solid #eadc9a}
.source-list{display:grid;gap:10px}
.source-item{background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px}
.source-item strong{display:block;margin-bottom:4px}
footer{border-top:1px solid var(--line);padding:38px 0 48px;background:#eff4ec}
.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:28px}
footer h4{margin:0 0 10px}
footer a{display:block;font-size:14px;margin:7px 0;color:#4d5b52}
footer p{color:#59655c;font-size:13px}
@media(max-width:900px){.hero-grid,.calc,.guidegrid,.footer-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.links{display:none}.results{position:static}}
@media(max-width:620px){.cards,.fieldgrid,.resultgrid{grid-template-columns:1fr}.hero{padding-top:54px}.section{padding:54px 0}.navbtn{display:none}h1{font-size:48px}}
</style>


/* Beginner education */
.beginner-section{background:#f8faf7}
.beginner-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.learn-card{
  background:#fff;border:1px solid var(--line);border-radius:16px;
  overflow:hidden;box-shadow:0 8px 24px rgba(22,34,43,.05)
}
.learn-card summary{
  list-style:none;cursor:pointer;padding:20px;display:grid;
  grid-template-columns:42px 1fr 28px;gap:12px;align-items:center;
  font-weight:750;font-size:18px
}
.learn-card summary::-webkit-details-marker{display:none}
.learn-number{
  width:34px;height:34px;display:grid;place-items:center;border-radius:10px;
  background:#eff6ea;color:var(--green-dark);font-size:12px;font-weight:800
}
.learn-plus{font-size:24px;color:#7c878e;text-align:center;transition:.2s ease}
.learn-card[open] .learn-plus{transform:rotate(45deg)}
.learn-content{padding:0 20px 20px 74px;color:#536069}
.learn-content p:first-child{margin-top:0}
.simple-flow{
  display:flex;flex-wrap:wrap;gap:9px;align-items:center;
  background:#f5f8f2;border:1px solid #dbe4d5;border-radius:12px;
  padding:13px 15px;margin-top:16px;font-weight:700;color:var(--ink)
}

/* Do-I-need-one modal */
body.modal-open{overflow:hidden}
.battery-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:20px}
.battery-modal.is-open{display:flex}
.battery-modal-backdrop{position:absolute;inset:0;background:rgba(15,24,30,.58);backdrop-filter:blur(5px)}
.battery-modal-card{
  position:relative;z-index:1;width:min(100%,660px);max-height:90vh;overflow:auto;
  background:#fff;border-radius:22px;padding:30px;box-shadow:0 28px 80px rgba(0,0,0,.25)
}
.battery-modal-close{
  position:absolute;right:16px;top:14px;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--line);background:#fff;font-size:24px;cursor:pointer
}
.decision-list{display:grid;gap:10px;margin:24px 0}
.decision-item{background:#f5f8f2;border:1px solid #dbe4d5;border-radius:12px;padding:14px 15px}
.decision-item p{margin:5px 0 0;color:#637069;font-size:14px}
.decision-result{background:#eef8e8;border:1px solid #d0e5c5;border-radius:12px;padding:14px 15px;margin-top:10px}
.decision-result p{margin:5px 0 0;color:#556550}
.muted-result{background:#f5f6f5;border-color:#e0e3df}

@media(max-width:800px){
  .beginner-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .learn-card summary{grid-template-columns:38px 1fr 24px;padding:17px}
  .learn-content{padding:0 17px 17px 17px}
  .battery-modal-card{padding:24px 18px 20px}
}


/* Supporting photography integrated into the existing design */
.support-image{
  overflow:hidden;
  border-radius:14px;
  border:1px solid var(--line);
  background:#eef2ed;
}
.support-image img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.hero-support-image{
  margin-top:18px;
  height:170px;
}
.basics-support-image{
  margin-top:16px;
  height:210px;
  max-width:470px;
}
.program-support-image{
  margin-top:22px;
  height:230px;
  max-width:520px;
}
@media(max-width:620px){
  .hero-support-image{height:145px}
  .basics-support-image,.program-support-image{height:185px}
}


/* Improved Battery Basics accordion layout */
.beginner-grid{
  align-items:start;
}

.learn-card{
  align-self:start;
}

/* Open questions become a full-width feature panel instead of stretching
   the closed card beside them to the same height. */
.learn-card[open]{
  grid-column:1 / -1;
}

/* Give the expanded content a more deliberate editorial layout */
.learn-card[open] .learn-content{
  max-width:none;
  padding:0 22px 22px 74px;
}

/* Keep supporting imagery controlled inside expanded cards */
.learn-card[open] .basics-support-image{
  max-width:640px;
  height:290px;
}

/* Closed cards remain neat and compact */
.learn-card:not([open]) summary{
  min-height:88px;
}

/* Slightly stronger visual cue for expanded card */
.learn-card[open]{
  box-shadow:0 12px 28px rgba(22,34,43,.07);
  border-color:#cfd8cf;
}

@media(max-width:800px){
  .learn-card[open]{
    grid-column:auto;
  }
  .learn-card[open] .learn-content{
    padding:0 17px 17px 17px;
  }
  .learn-card[open] .basics-support-image{
    max-width:none;
    height:220px;
  }
}


/* Refined expanded Battery Basics card */
.learn-copy-columns{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:34px;
  max-width:1180px;
}
.learn-copy-columns p{
  margin-top:0;
}
.basics-support-image-wide{
  width:100%;
  max-width:none !important;
  height:330px !important;
  margin-top:18px;
}
.basics-support-image-wide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 52%;
}

@media(max-width:760px){
  .learn-copy-columns{
    grid-template-columns:1fr;
    gap:0;
  }
  .basics-support-image-wide{
    height:220px !important;
  }
}


/* Stronger editorial colour blocking */
.colorblock{
  position:relative;
  overflow:hidden;
}

.colorblock-blue{
  background:#e7f1f8 !important;
  border-top:1px solid #d5e2ea;
  border-bottom:1px solid #d5e2ea;
}
.colorblock-peach{
  background:#f7e3d8 !important;
  border-top:1px solid #ecd0c1;
  border-bottom:1px solid #ecd0c1;
}
.colorblock-yellow{
  background:#f7efc9 !important;
  border-top:1px solid #eadfa7;
  border-bottom:1px solid #eadfa7;
}
.colorblock-green{
  background:#e5f0df !important;
  border-top:1px solid #d0e0c7;
  border-bottom:1px solid #d0e0c7;
}
.colorblock-lilac{
  background:#eee9f6 !important;
  border-top:1px solid #ddd5eb;
  border-bottom:1px solid #ddd5eb;
}

/* Keep cards crisp against the stronger background blocks */
.colorblock .card,
.colorblock .learn-card,
.colorblock details,
.colorblock .panel{
  background:#fff;
}

/* Subtle decorative block accents */
.colorblock-blue:after,
.colorblock-peach:after,
.colorblock-yellow:after,
.colorblock-green:after,
.colorblock-lilac:after{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  border-radius:50%;
  right:-110px;
  top:-105px;
  pointer-events:none;
  opacity:.55;
}

.colorblock-blue:after{background:#c7dfef}
.colorblock-peach:after{background:#f1c9b6}
.colorblock-yellow:after{background:#eadb8a}
.colorblock-green:after{background:#c7dfba}
.colorblock-lilac:after{background:#d9cceb}

.colorblock > .container{
  position:relative;
  z-index:1;
}

/* Give the hero a stronger split-block feeling without changing layout */
.hero{
  background:
    linear-gradient(90deg,#f7f5ef 0%,#f7f5ef 61%,#e3efdc 61%,#e3efdc 100%);
}
.hero:before{
  display:none;
}
.preview{
  border-color:#cbd7c4;
}

/* Stronger CTA colour presence */
.primary{
  background:#df7048;
  border-color:#df7048;
}
.navbtn{
  background:#20313a;
}
.eyebrow{
  background:#f6fbf3;
}

/* Alternating micro-blocks inside the expanded battery basics area */
.simple-flow{
  background:#f3f7ef;
  border-color:#d6e2cf;
}

/* Make the calculator feel like its own distinct destination */
.calc-wrap{
  background:#dfeadd !important;
  border-top:1px solid #cad8c6;
  border-bottom:1px solid #cad8c6;
}

/* Mobile: simplify hero split so it doesn't feel cramped */
@media(max-width:900px){
  .hero{
    background:#f7f5ef;
  }
}


/* Legacy logo sizing retained for compatibility */
.brand-image-link{
  display:flex;
  align-items:center;
  min-width:0;
}
.brand-logo{
  display:block;
  width:260px;
  max-width:100%;
  height:auto;
}
footer .brand-logo{
  width:235px;
}

@media(max-width:1050px){
  .brand-logo{width:220px}
}
@media(max-width:620px){
  .brand-logo{width:190px}
  footer .brand-logo{width:205px}
}


/* Battery Simple wordmark */
.brand-wordmark{display:flex;align-items:center;gap:10px;min-width:0}
.brand-icon{display:block;width:43px;height:43px;object-fit:contain;flex:0 0 auto}
.brand-type{display:flex;flex-direction:column;justify-content:center;line-height:.92}
.brand-type strong{color:#082f50;font-size:23px;font-weight:800;letter-spacing:-.045em;white-space:nowrap}
.brand-type small{color:#5f8c70;font-size:8px;font-weight:800;letter-spacing:.34em;margin-top:6px;padding-left:1px}
footer .brand-icon{width:48px;height:48px}
footer .brand-type strong{font-size:25px}
footer .brand-type small{font-size:8.5px}
@media(max-width:620px){
  .brand-icon{width:39px;height:39px}
  .brand-type strong{font-size:20px}
}
