body,
h1, h2, h3,
p, li, label, small {
  text-align: center;
}

.eyebrow,
.hero-actions,
.trust-row,
.spec-row,
.battery-feature,
.cta-links,
.service-cta,
.quick-facts,
.contact-person,
footer {
  justify-content: center;
  flex-wrap: wrap;
  gap: 18px 28px;
}

footer > * {
  flex: 0 0 auto;
}

footer p,
footer .veteran-badge,
footer .established {
  white-space: nowrap;
}

.footer-about-link {
  color: #69828b;
  font-size: 10px;
  letter-spacing: .03em;
  text-decoration: underline;
  text-decoration-color: #48616a;
  text-underline-offset: 3px;
}

.footer-about-link:hover,
.footer-about-link[aria-current="page"] {
  color: #a7c1c9;
}

.hero-copy,
.hero-lede,
.section-heading > p:last-child,
.how-copy,
.cta-copy,
.page-hero > p:last-of-type,
.contact-intro > p,
.service-grid p {
  margin-left: auto;
  margin-right: auto;
}

.trust-row div,
.spec-row > span:last-child,
.battery-feature > span:last-child,
.contact-person > span:nth-child(2) {
  align-items: center;
  text-align: center;
}

.problem-grid article,
.service-grid article {
  text-align: center;
}

.event-icon,
.service-check,
.check-icon {
  margin-left: auto;
  margin-right: auto;
}

.steps li {
  justify-content: center;
}

.steps li > div {
  flex: 1;
  text-align: center;
}

.use-list li {
  text-align: center;
}

.inquiry-form label {
  text-align: center;
}

.inquiry-form input,
.inquiry-form textarea,
.inquiry-form select {
  text-align: center;
}

.inquiry-form select {
  text-align-last: center;
}

.contact-options > p,
.contact-options > h2 {
  text-align: center;
}

.service-cta,
.cta-links {
  align-items: center;
}

.service-cta {
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  text-align: center;
}

.page-hero .warranty-badge {
  text-align: center;
  position: static;
  width: max-content;
  margin: 35px auto 0;
}

.refer-step {
  margin-top: 18px;
  padding: 24px !important;
  border: 1px solid #9fc9bd !important;
  border-radius: 5px;
  background: #d5eee5;
}

.refer-step > div {
  width: 100%;
}

.refer-step > span {
  border-color: #759f93 !important;
  color: #0d705f !important;
}

.copy-link-button {
  margin-top: 14px;
  padding: 10px 16px;
  border: 0;
  border-radius: 3px;
  background: #c9ed42;
  color: #092d21;
  font: 800 12px "DM Sans", sans-serif;
  cursor: pointer;
}

.copy-link-button:hover { background: #d9f568; }
html[data-theme="dark"] .refer-step { background: #173e30; border-color: #34594a !important; }
html[data-theme="dark"] .refer-step > span { border-color: #78aa98 !important; color: #a9e4d4 !important; }

@media (max-width: 850px) {
  footer { align-items: center; }
}
/* Keep footer badges and business details on one visual baseline. */
footer{align-items:center!important}footer>*{align-self:center}footer p,footer .veteran-badge,footer .established{display:inline-flex;align-items:center;justify-content:center;min-height:28px;margin:0!important;line-height:1.2}.footer-about-link{display:inline-flex;align-items:center;min-height:28px}@media(max-width:850px){footer{row-gap:16px}}@media(max-width:520px){footer p,footer .veteran-badge,footer .established,.footer-about-link{width:100%;justify-content:center}}
/* Neutral header in both themes keeps the outlined logo highly visible. */
.site-header,html[data-theme="dark"] .site-header{background:#d9dedc!important;color:#12372f!important;border-bottom:1px solid #aeb9b5!important;box-shadow:0 5px 18px rgba(3,31,24,.18)}.site-header nav a{color:#12372f}.site-header nav a[aria-current="page"]{color:#096b5b!important}.site-header .nav-cta{border-color:#718b84;background:#edf1ef;color:#12372f}.site-header .nav-cta:hover{background:#c8d2ce}.site-header .menu-button span{background:#12372f}@media(max-width:850px){.site-header nav{background:#173d34;color:#fff}.site-header nav a,.site-header nav a[aria-current="page"]{color:#fff!important}.site-header nav a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--lime);text-underline-offset:5px}.site-header nav .nav-cta{border-color:#86a89f;background:#245247;color:#fff}}
/* Dark-mode header uses flat black with Energy-green navigation. */
html[data-theme="dark"] .site-header{background:#000!important;color:#42b95f!important;border-bottom-color:#26382b!important;box-shadow:0 5px 18px rgba(0,0,0,.5)}html[data-theme="dark"] .site-header nav a,html[data-theme="dark"] .site-header nav a[aria-current="page"]{color:#42b95f!important}html[data-theme="dark"] .site-header nav a:hover{color:#72dc89!important}html[data-theme="dark"] .site-header .nav-cta{border-color:#42b95f;background:#07170b;color:#42b95f!important}html[data-theme="dark"] .site-header .nav-cta:hover{background:#102b16;color:#72dc89!important}html[data-theme="dark"] .site-header .menu-button span{background:#42b95f}@media(max-width:850px){html[data-theme="dark"] .site-header nav{background:#000}html[data-theme="dark"] .site-header nav a,html[data-theme="dark"] .site-header nav a[aria-current="page"]{color:#42b95f!important}}
/* Light-mode navigation: black tabs and Energy-green contact button. */
html:not([data-theme="dark"]) .site-header nav a,html:not([data-theme="dark"]) .site-header nav a[aria-current="page"]{color:#000!important}html:not([data-theme="dark"]) .site-header .nav-cta{border-color:#258e43;background:#42b95f;color:#07150a!important;box-shadow:0 2px 6px rgba(20,90,42,.2)}html:not([data-theme="dark"]) .site-header .nav-cta:hover{border-color:#176d31;background:#55cb70;color:#000!important}
/* High-contrast typography for light mode; logo colors remain untouched. */
html:not([data-theme="dark"]) body{color:#102f28}html:not([data-theme="dark"]) main h1,html:not([data-theme="dark"]) main h2,html:not([data-theme="dark"]) main h3{color:#0a2b24}html:not([data-theme="dark"]) .problem-section p,html:not([data-theme="dark"]) .how-section p:not(.note),html:not([data-theme="dark"]) .service-section p,html:not([data-theme="dark"]) .contact-page p,html:not([data-theme="dark"]) .our-story p,html:not([data-theme="dark"]) .family-section p,html:not([data-theme="dark"]) .about-cta p,html:not([data-theme="dark"]) .guide-section p,html:not([data-theme="dark"]) .product-guide p,html:not([data-theme="dark"]) .faq-section p{color:#294f45!important}html:not([data-theme="dark"]) .note,html:not([data-theme="dark"]) small,html:not([data-theme="dark"]) .quick-facts span,html:not([data-theme="dark"]) .service-grid p,html:not([data-theme="dark"]) .guide-specs span{color:#365c52!important}html:not([data-theme="dark"]) .eyebrow,html:not([data-theme="dark"]) .eyebrow.dark,html:not([data-theme="dark"]) .contact-intro .eyebrow{color:#000!important}html:not([data-theme="dark"]) .footer-about-link{color:#b8c9c4}html:not([data-theme="dark"]) .inquiry-form label{color:#163b32}html:not([data-theme="dark"]) .inquiry-form input,html:not([data-theme="dark"]) .inquiry-form select,html:not([data-theme="dark"]) .inquiry-form textarea{color:#0b2b23}html:not([data-theme="dark"]) .pressure-safety p{color:#294f45!important}
html:not([data-theme="dark"]) .hero h1,html:not([data-theme="dark"]) .page-hero h1,html:not([data-theme="dark"]) .support-band h2,html:not([data-theme="dark"]) .cta-section h2,html:not([data-theme="dark"]) .off-duty h2,html:not([data-theme="dark"]) .guide-hero h1,html:not([data-theme="dark"]) .storm-prep h2,html:not([data-theme="dark"]) .guide-band h2,html:not([data-theme="dark"]) .safe-storage h2,html:not([data-theme="dark"]) .guide-cta h2{color:#fff!important}
/* Readable, balanced typography palette for dark mode. */
html[data-theme="dark"] main{color:#edf5f2}html[data-theme="dark"] main h1,html[data-theme="dark"] main h2,html[data-theme="dark"] main h3{color:#f4f8f6}html[data-theme="dark"] main p,html[data-theme="dark"] main li,html[data-theme="dark"] main small{color:#bdd1ca}html[data-theme="dark"] .hero h1 em{color:#65cde3}html[data-theme="dark"] .eyebrow,html[data-theme="dark"] .eyebrow.dark,html[data-theme="dark"] .eyebrow.light{color:#a9d9cd!important}html[data-theme="dark"] .eyebrow>span{background:#329fc7!important}html[data-theme="dark"] .note{color:#a8beb7!important}html[data-theme="dark"] .pressure-safety h3{color:#ff777d!important}html[data-theme="dark"] .pressure-safety a,html[data-theme="dark"] .safe-storage a{color:#79d3e5!important}
/* Footer mirrors the header palette in each theme. */
html:not([data-theme="dark"]) footer{background:#d9dedc;color:#000;border-top:1px solid #aeb9b5}html:not([data-theme="dark"]) footer p,html:not([data-theme="dark"]) footer .established,html:not([data-theme="dark"]) footer .footer-about-link{color:#000!important}html:not([data-theme="dark"]) footer .footer-about-link{text-decoration-color:#52635e}html:not([data-theme="dark"]) footer .veteran-badge{border-color:#258e43;border-left-color:#1769c2;background:#42b95f;color:#07150a!important}html:not([data-theme="dark"]) footer .veteran-badge span{color:#07150a}html[data-theme="dark"] footer{background:#000;color:#42b95f;border-top:1px solid #26382b}html[data-theme="dark"] footer p,html[data-theme="dark"] footer .established,html[data-theme="dark"] footer .footer-about-link{color:#42b95f!important}html[data-theme="dark"] footer .footer-about-link{text-decoration-color:#2b7440}html[data-theme="dark"] footer .veteran-badge{border-color:#42b95f;border-left-color:#329fc7;background:#07170b;color:#42b95f!important}html[data-theme="dark"] footer .veteran-badge span{color:#42b95f}
/* Red, white, and blue Veteran Owned badge in both themes. */
footer .veteran-badge,html:not([data-theme="dark"]) footer .veteran-badge,html[data-theme="dark"] footer .veteran-badge{border:1px solid #fff;border-left:4px solid #d52b36;background:#174a7e;color:#fff!important;box-shadow:inset 0 -3px 0 #0d3155,0 0 0 1px rgba(213,43,54,.35)}footer .veteran-badge span,html:not([data-theme="dark"]) footer .veteran-badge span,html[data-theme="dark"] footer .veteran-badge span{color:#f0444e!important;text-shadow:0 1px 0 #6e0c13}
/* Keep compact section introductions together in one centered column. */
.section-heading.compact{display:flex;max-width:900px;margin-left:auto;margin-right:auto;flex-direction:column;align-items:center;gap:0;text-align:center}.section-heading.compact .eyebrow,.section-heading.compact h2,.section-heading.compact>p:last-child{width:100%;max-width:780px;margin-left:auto;margin-right:auto;text-align:center}.section-heading.compact .eyebrow{justify-content:center}
/* Matching navigation tabs with a clear active-page underline. */
.site-header nav a,.site-header nav .nav-cta,html:not([data-theme="dark"]) .site-header nav a,html:not([data-theme="dark"]) .site-header nav .nav-cta,html[data-theme="dark"] .site-header nav a,html[data-theme="dark"] .site-header nav .nav-cta{padding:8px 2px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#000!important;text-decoration:none}.site-header nav a[aria-current="page"],html:not([data-theme="dark"]) .site-header nav a[aria-current="page"]{color:#000!important;text-decoration:underline;text-decoration-color:#1769c2;text-decoration-thickness:3px;text-underline-offset:7px}html[data-theme="dark"] .site-header nav a,html[data-theme="dark"] .site-header nav .nav-cta{color:#42b95f!important}html[data-theme="dark"] .site-header nav a[aria-current="page"]{color:#42b95f!important;text-decoration:underline;text-decoration-color:#329fc7;text-decoration-thickness:3px;text-underline-offset:7px}

/* Keep the main-page capacity and section introduction centered at every width. */
.product-overview .capacity-display{display:flex!important;width:100%;margin-left:auto!important;margin-right:auto!important;align-items:center!important;justify-content:center!important;text-align:center!important}
.product-overview .capacity-display span{text-align:left}
.problem-section .section-heading{display:flex!important;width:100%;max-width:1000px;margin:0 auto 58px!important;flex-direction:column;align-items:center!important;column-gap:0;text-align:center!important}
.problem-section .section-heading .eyebrow{width:100%;justify-content:center}
.problem-section .section-heading h2{width:100%;max-width:900px;margin-left:auto;margin-right:auto;text-align:center}
.problem-section .section-heading>p:last-child{width:100%;max-width:760px;margin-left:auto;margin-right:auto;align-self:center;text-align:center}

/* Keep the final call-to-action copy and buttons centered across the full page. */
.cta-section.page-cta{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-items:center!important;gap:42px!important;text-align:center!important}
.page-cta .cta-copy{width:100%;max-width:920px;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.page-cta .cta-copy .eyebrow{justify-content:center!important}
.page-cta .cta-copy h2,.page-cta .cta-copy>p:last-child{width:100%;max-width:850px;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.page-cta .cta-links{width:100%;align-items:center!important;justify-content:center!important}

/* Center the Services hero and give the inspection notice clear separation. */
.page-hero{text-align:center}
.page-hero h1,.page-hero>p:last-of-type{width:100%;margin-left:auto!important;margin-right:auto!important;text-align:center!important}
.page-hero .eyebrow{justify-content:center}
.service-grid+.service-scope{margin-top:88px!important}

@media(max-width:520px){
  .product-overview .capacity-display span{text-align:center}
  .problem-section .section-heading{margin-bottom:42px}
  .service-grid+.service-scope{margin-top:56px!important;padding:25px 20px}
}

/* Mobile review refinements: stronger navigation and slightly larger labels. */
@media(max-width:850px){
  .site-header nav a,
  .site-header nav .nav-cta,
  html:not([data-theme="dark"]) .site-header nav a,
  html:not([data-theme="dark"]) .site-header nav .nav-cta,
  html[data-theme="dark"] .site-header nav a,
  html[data-theme="dark"] .site-header nav .nav-cta{
    color:#fff!important;
    font-size:16px!important;
    line-height:1.35;
  }
  .eyebrow{font-size:13px!important;letter-spacing:.15em}
}

/* Keep labels and checklist headings readable on every dark-green section. */
html[data-theme] .cta-section .eyebrow,
html[data-theme] .page-hero .eyebrow,
html[data-theme] .support-band .eyebrow,
html[data-theme] .off-duty .eyebrow,
html[data-theme] .guide-hero .eyebrow,
html[data-theme] .storm-prep .eyebrow,
html[data-theme] .guide-band .eyebrow,
html[data-theme] .safe-storage .eyebrow,
html[data-theme] .guide-cta .eyebrow,
.storm-prep .prep-grid h3{
  color:#fff!important;
}

/* Mobile navigation: white links with a green active tab and no underline. */
@media(max-width:850px){
  .site-header nav a,
  .site-header nav .nav-cta,
  html:not([data-theme="dark"]) .site-header nav a,
  html:not([data-theme="dark"]) .site-header nav .nav-cta,
  html[data-theme="dark"] .site-header nav a,
  html[data-theme="dark"] .site-header nav .nav-cta{
    color:#fff!important;
    text-decoration:none!important;
  }
  .site-header nav a[aria-current="page"],
  html:not([data-theme="dark"]) .site-header nav a[aria-current="page"],
  html[data-theme="dark"] .site-header nav a[aria-current="page"]{
    color:#c8e84a!important;
    text-decoration:none!important;
  }
}
