:root {
  --ink: #10212c;
  --ink-soft: #485b66;
  --paper: #ffffff;
  --surface: #f4f7f5;
  --surface-2: #eaf1ed;
  --line: #dbe4df;
  --dark: #0b1720;
  --dark-2: #122630;
  --accent: #22b573;
  --accent-dark: #117d4d;
  --accent-pale: #dff6ea;
  --warning: #8a5d0a;
  --warning-bg: #fff7e8;
  --shadow: 0 20px 50px rgba(16, 33, 44, .09);
  --radius: 22px;
  --radius-sm: 14px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
button, input, select { font: inherit; }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 16px; top: 16px; z-index: 999; transform: translateY(-150%); background: var(--paper); padding: 10px 14px; border-radius: 8px; box-shadow: var(--shadow); }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.92); backdrop-filter: blur(16px); border-bottom: 1px solid rgba(219,228,223,.75); transition: box-shadow .2s ease; }
.site-header.is-scrolled { box-shadow: 0 10px 30px rgba(16,33,44,.07); }
.header-inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-weight: 800; text-decoration: none; letter-spacing: -.02em; }
.brand-mark { width: 42px; height: 42px; border-radius: 12px; display: inline-grid; place-items: center; background: var(--dark); color: #fff; font-size: 12px; letter-spacing: .08em; }
.brand-text { font-size: 17px; }
.primary-nav { display: flex; align-items: center; gap: 26px; font-size: 14px; font-weight: 700; }
.primary-nav > a:not(.button) { text-decoration: none; color: #334751; }
.primary-nav > a:not(.button):hover { color: var(--accent-dark); }
.nav-toggle { display: none; background: none; border: 0; padding: 8px; }
.nav-toggle span:not(.sr-only) { display: block; width: 24px; height: 2px; background: var(--ink); margin: 5px 0; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 20px; border: 1px solid var(--accent); border-radius: 12px; background: var(--accent); color: #062a1a; font-weight: 850; text-decoration: none; line-height: 1.2; box-shadow: 0 10px 24px rgba(34,181,115,.18); transition: transform .15s ease, background .15s ease; }
.button:hover { transform: translateY(-1px); background: #2bc681; }
.button-small { min-height: 42px; padding-inline: 15px; font-size: 13px; }
.button-light { background: #fff; color: var(--dark); border-color: #fff; box-shadow: none; }
.text-link { display: inline-flex; gap: 7px; align-items: center; text-decoration: none; font-weight: 800; }
.text-link:hover { color: var(--accent-dark); }

.hero { position: relative; overflow: hidden; padding: 92px 0 86px; background: radial-gradient(circle at 85% 20%, rgba(34,181,115,.14), transparent 28%), linear-gradient(180deg, #f7faf8 0%, #fff 100%); }
.hero::after { content: ""; position: absolute; right: -120px; bottom: -220px; width: 520px; height: 520px; border: 1px solid rgba(34,181,115,.15); border-radius: 50%; box-shadow: 0 0 0 70px rgba(34,181,115,.035), 0 0 0 140px rgba(34,181,115,.02); pointer-events: none; }
.hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 70px; align-items: center; position: relative; z-index: 1; }
.eyebrow { margin: 0 0 14px; color: var(--accent-dark); font-size: 12px; line-height: 1.2; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.eyebrow-light { color: #83e2b4; }
h1, h2, h3 { margin-top: 0; line-height: 1.08; letter-spacing: -.035em; }
h1 { margin-bottom: 22px; font-size: clamp(44px, 6vw, 74px); max-width: 850px; }
h2 { margin-bottom: 18px; font-size: clamp(32px, 4vw, 48px); }
h3 { margin-bottom: 10px; font-size: 21px; }
p { margin-top: 0; }
.hero-lead { max-width: 720px; margin-bottom: 30px; color: var(--ink-soft); font-size: clamp(18px, 2.1vw, 22px); line-height: 1.55; }
.hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.trust-list { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 28px 0 0; padding: 0; list-style: none; color: #50636c; font-size: 14px; font-weight: 700; }
.trust-list li::before { content: "✓"; margin-right: 7px; color: var(--accent-dark); }
.hero-panel { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.94); box-shadow: var(--shadow); }
.panel-kicker { margin-bottom: 20px; font-weight: 900; font-size: 13px; text-transform: uppercase; letter-spacing: .1em; color: var(--ink-soft); }
.metric-row { display: flex; justify-content: space-between; gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.metric-row span { color: var(--ink-soft); }
.metric-row strong { text-align: right; }
.panel-callout { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin: 22px 0 16px; padding: 16px; border-radius: 14px; background: var(--accent-pale); }
.panel-callout span { font-size: 13px; color: #2f5e48; }
.panel-callout strong { text-align: right; }
.panel-note { margin: 0; color: #60727a; font-size: 13px; }

.section { padding: 94px 0; }
.section-tight { padding: 68px 0; }
.section-alt { background: var(--surface); }
.section-dark { background: var(--dark); color: #fff; }
.section-heading { margin-bottom: 38px; max-width: 760px; }
.section-heading.centered { margin-inline: auto; text-align: center; }
.section-heading.narrow { max-width: 780px; }
.section-heading p:not(.eyebrow), .large-copy { color: var(--ink-soft); font-size: 18px; }
.card-grid { display: grid; gap: 18px; }
.card-grid-4 { grid-template-columns: repeat(4, 1fr); }
.feature-card { display: flex; flex-direction: column; min-height: 280px; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.feature-card:hover { transform: translateY(-3px); border-color: #b8d7c7; box-shadow: 0 16px 34px rgba(16,33,44,.08); }
.feature-card p { color: var(--ink-soft); }
.feature-card a { margin-top: auto; font-weight: 800; text-decoration: none; }
.icon-chip { width: 42px; height: 42px; margin-bottom: 24px; display: grid; place-items: center; border-radius: 12px; background: var(--accent-pale); color: var(--accent-dark); font-weight: 900; }

.two-column { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; align-items: start; }
.stacked-costs { display: grid; gap: 14px; }
.cost-factor { display: grid; grid-template-columns: 58px 1fr; gap: 18px; padding: 22px; border-radius: var(--radius-sm); background: #fff; border: 1px solid var(--line); }
.cost-factor p { margin: 5px 0 0; color: var(--ink-soft); }
.cost-number { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--dark); color: #fff; font-weight: 900; font-size: 13px; }

.split-card { display: grid; grid-template-columns: 1.3fr .7fr; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.split-card-main { padding: 46px; }
.split-card-side { padding: 46px; background: var(--surface); border-left: 1px solid var(--line); }
.mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 30px; }
.mini-grid div { padding-top: 14px; border-top: 2px solid var(--dark); }
.mini-grid strong, .mini-grid span { display: block; }
.mini-grid span { margin-top: 5px; color: var(--ink-soft); font-size: 14px; }
.badge { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: var(--accent-pale); color: var(--accent-dark); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.quote { margin: 24px 0 20px; font-size: 24px; line-height: 1.35; font-weight: 750; letter-spacing: -.02em; }
.muted { color: var(--ink-soft); }

.grants-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.grants-grid > div:first-child > p:not(.eyebrow) { color: #bdcbd2; font-size: 17px; }
.source-note { padding-top: 16px; border-top: 1px solid rgba(255,255,255,.15); font-size: 13px !important; }
.grant-cards { display: grid; gap: 14px; }
.grant-cards article { padding: 22px; border-radius: var(--radius-sm); background: var(--dark-2); border: 1px solid rgba(255,255,255,.08); }
.grant-cards article span { display: block; margin-bottom: 5px; color: #83e2b4; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.grant-cards article strong { font-size: 19px; }
.grant-cards article p { margin: 8px 0 0; color: #bdcbd2; }

.number-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.number-grid article { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.number-grid article > span { width: 34px; height: 34px; display: grid; place-items: center; margin-bottom: 24px; border-radius: 50%; background: var(--accent-pale); color: var(--accent-dark); font-weight: 900; }
.number-grid h3 { font-size: 18px; }
.number-grid p { margin-bottom: 0; color: var(--ink-soft); font-size: 14px; }

.cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 32px; padding: 42px 46px; border-radius: var(--radius); background: var(--accent); }
.cta-panel h2 { max-width: 700px; margin-bottom: 12px; }
.cta-panel p:not(.eyebrow) { max-width: 700px; margin-bottom: 0; }
.cta-panel .eyebrow { color: #064b2b; }
.disclosure { padding: 24px 28px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.disclosure strong { display: block; margin-bottom: 7px; }
.disclosure p { margin-bottom: 0; color: var(--ink-soft); font-size: 14px; }

.site-footer { padding: 58px 0 24px; background: #081219; color: #dce7ec; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1.3fr; gap: 50px; }
.brand-footer { color: #fff; }
.footer-grid p { max-width: 420px; color: #91a4ae; }
.footer-grid > div:not(:first-child) { display: flex; flex-direction: column; gap: 9px; }
.footer-grid > div:not(:first-child) strong { margin-bottom: 5px; color: #fff; }
.footer-grid a { color: #b7c8d0; text-decoration: none; overflow-wrap: anywhere; }
.footer-grid a:hover { color: #fff; }
.footer-grid span { color: #91a4ae; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 46px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); color: #738993; font-size: 13px; }

/* Calculator */
.calculator-hero { padding: 70px 0 44px; background: linear-gradient(180deg, var(--surface) 0%, #fff 100%); }
.calculator-hero .section-heading { margin-bottom: 0; }
.breadcrumbs { display: flex; gap: 8px; align-items: center; margin-bottom: 24px; color: #657881; font-size: 13px; }
.breadcrumbs a { text-decoration: none; }
.calculator-layout { display: grid; grid-template-columns: minmax(0, 1fr) 390px; gap: 34px; align-items: start; }
.calculator-card { padding: 32px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow); }
.form-section + .form-section { margin-top: 32px; padding-top: 28px; border-top: 1px solid var(--line); }
.form-section-title { display: flex; align-items: start; gap: 14px; margin-bottom: 20px; }
.form-step { flex: 0 0 34px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--dark); color: #fff; font-weight: 900; font-size: 12px; }
.form-section-title h2 { margin: 0 0 4px; font-size: 22px; }
.form-section-title p { margin: 0; color: var(--ink-soft); font-size: 14px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { display: grid; gap: 7px; }
.field.full { grid-column: 1 / -1; }
.field label { font-weight: 800; font-size: 14px; }
.field small { color: #60727a; }
.field input, .field select { width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid #cfdad4; border-radius: 10px; background: #fff; color: var(--ink); outline: none; }
.field input:focus, .field select:focus { border-color: var(--accent-dark); box-shadow: 0 0 0 3px rgba(34,181,115,.12); }
.option-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.option-card { position: relative; }
.option-card input { position: absolute; opacity: 0; pointer-events: none; }
.option-card label { min-height: 74px; padding: 13px; display: flex; flex-direction: column; justify-content: center; border: 1px solid #cfdad4; border-radius: 10px; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.option-card label strong { font-size: 14px; }
.option-card label span { color: #60727a; font-size: 12px; }
.option-card input:checked + label { border-color: var(--accent-dark); background: var(--accent-pale); }
.calculate-row { display: flex; align-items: center; gap: 14px; margin-top: 30px; }
.calculate-row .button { border: 0; cursor: pointer; }
.calculator-aside { position: sticky; top: 102px; }
.result-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--dark); color: #fff; box-shadow: var(--shadow); }
.result-top { padding: 28px; }
.result-kicker { margin-bottom: 6px; color: #83e2b4; font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.result-range { margin: 8px 0 12px; font-size: clamp(34px, 5vw, 48px); font-weight: 900; letter-spacing: -.04em; line-height: 1; }
.result-sub { color: #b6c7cf; font-size: 13px; }
.result-breakdown { padding: 20px 28px 28px; background: var(--dark-2); }
.result-line { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 14px; }
.result-line:last-child { border-bottom: 0; }
.result-line span { color: #b9c8ce; }
.result-line strong { text-align: right; }
.result-net { margin-top: 10px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.16); }
.result-net .result-line { font-size: 16px; }
.result-net .result-line strong { color: #83e2b4; }
.result-note { margin: 18px 0 0; color: #8fa4ad; font-size: 12px; }
.assumption-card { margin-top: 16px; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.assumption-card strong { display: block; margin-bottom: 7px; }
.assumption-card p { margin-bottom: 0; color: var(--ink-soft); font-size: 13px; }
.methodology { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); }
.methodology h2 { font-size: 25px; }
.methodology ul { margin-bottom: 0; color: var(--ink-soft); }
.notice { padding: 14px 16px; border-radius: 10px; background: var(--warning-bg); color: #63440b; font-size: 13px; }

@media (max-width: 980px) {
  .hero-grid, .two-column, .grants-grid, .calculator-layout { grid-template-columns: 1fr; }
  .hero-grid { gap: 42px; }
  .card-grid-4 { grid-template-columns: 1fr 1fr; }
  .number-grid { grid-template-columns: repeat(3, 1fr); }
  .calculator-aside { position: static; }
}

@media (max-width: 760px) {
  .container { width: min(calc(100% - 28px), var(--container)); }
  .header-inner { min-height: 68px; }
  .brand-text { font-size: 15px; }
  .brand-mark { width: 38px; height: 38px; }
  .nav-toggle { display: block; }
  .primary-nav { position: absolute; top: 68px; left: 14px; right: 14px; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: var(--shadow); }
  .primary-nav.is-open { display: flex; }
  .primary-nav > a { padding: 12px; }
  .primary-nav .button { margin-top: 6px; }
  .hero { padding: 64px 0; }
  h1 { font-size: clamp(42px, 13vw, 58px); }
  .section { padding: 72px 0; }
  .section-tight { padding: 52px 0; }
  .card-grid-4, .number-grid, .mini-grid, .form-grid, .option-grid { grid-template-columns: 1fr; }
  .split-card { grid-template-columns: 1fr; }
  .split-card-main, .split-card-side { padding: 30px; }
  .split-card-side { border-left: 0; border-top: 1px solid var(--line); }
  .cta-panel { flex-direction: column; align-items: flex-start; padding: 30px; }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .footer-bottom { flex-direction: column; }
  .calculator-card { padding: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* Calculator refinements v2 */
.result-emphasis { margin-top: 6px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.16); }
.result-emphasis strong { color: #fff; }
.result-secondary { font-size: 13px; }
.result-mini { margin: 8px 0 0; color: #8fa4ad; font-size: 11px; line-height: 1.45; }
.warning-panel { margin-top: 16px; padding: 18px 20px; border: 1px solid #ead7ad; border-radius: var(--radius-sm); background: var(--warning-bg); color: #63440b; }
.warning-panel strong { display: block; margin-bottom: 8px; }
.warning-panel ul { margin: 0; padding-left: 18px; }
.warning-panel li + li { margin-top: 7px; }
.warning-panel li { font-size: 13px; line-height: 1.45; }
.source-box { margin-top: 22px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.source-box strong { display: block; margin-bottom: 6px; }
.source-box p { margin: 0; color: var(--ink-soft); font-size: 13px; }
.source-box a { color: var(--accent-dark); font-weight: 750; }


/* v2.1 alignment and grants hub */
.site-fields { align-items: start; }
.site-fields .field { grid-template-rows: auto 54px auto; align-content: start; }
.site-fields .field > input,
.site-fields .field > select { height: 54px; min-height: 54px; margin: 0; }
.grant-summary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.grant-summary-card { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: #fff; }
.grant-summary-card .eyebrow { margin-bottom: 10px; }
.grant-summary-card h3 { margin-bottom: 12px; }
.grant-summary-card p { color: var(--ink-soft); }
.grant-amount { display: block; margin: 18px 0 6px; font-size: 30px; line-height: 1; font-weight: 900; letter-spacing: -.04em; }
.grant-meta { display: block; color: #60727a; font-size: 13px; }
.status-pill { display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px; border-radius: 999px; background: var(--accent-pale); color: var(--accent-dark); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .07em; }
.status-pill.pending { background: var(--warning-bg); color: var(--warning); }
.source-list { display: grid; gap: 12px; margin: 22px 0 0; padding: 0; list-style: none; }
.source-list li { padding: 15px 0; border-top: 1px solid var(--line); }
.source-list a { font-weight: 800; color: var(--accent-dark); text-decoration: none; }
.source-list small { display: block; margin-top: 4px; color: #60727a; }
@media (max-width: 980px) { .grant-summary-grid { grid-template-columns: 1fr; } }


/* v2.2 — deterministic form alignment + clearer grant cards */
.site-fields {
  align-items: start;
}
.site-fields .field {
  display: flex;
  flex-direction: column;
  gap: 0;
  align-self: start;
}
.site-fields .field label {
  display: block;
  min-height: 22px;
  margin: 0 0 12px;
  line-height: 1.35;
}
.site-fields .field > input,
.site-fields .field > select {
  display: block;
  width: 100%;
  height: 56px;
  min-height: 56px;
  margin: 0;
  padding: 0 16px;
  line-height: 1.2;
  border-radius: 12px;
}
.site-fields .field > select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 44px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2310212c' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px 16px;
}
.site-fields .field small {
  display: block;
  min-height: 44px;
  margin-top: 10px;
  line-height: 1.45;
}
.site-fields .field small.field-spacer {
  visibility: hidden;
}

.grant-summary-grid {
  gap: 26px;
}
.grant-summary-card {
  display: flex;
  flex-direction: column;
  min-height: 340px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(16, 33, 44, .055);
}
.grant-summary-card p {
  margin-bottom: 22px;
}
.grant-summary-card .grant-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}
.grant-date {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 999px;
  background: var(--accent-pale);
  color: var(--accent-dark);
  font-size: 12px;
  line-height: 1.25;
  font-weight: 900;
}
.grant-date.expected {
  background: var(--warning-bg);
  color: var(--warning);
}
.date-inline {
  color: var(--accent-dark);
  font-weight: 900;
}
@media (max-width: 760px) {
  .site-fields .field small { min-height: 0; }
  .site-fields .field small.field-spacer { display: none; }
  .grant-summary-grid { gap: 18px; }
  .grant-summary-card { min-height: 0; padding: 24px; }
}


/* v2.3 — flagship commercial EV charger cost guide */
.cost-guide-hero {
  padding: 72px 0 66px;
  background:
    radial-gradient(circle at 88% 15%, rgba(34,181,115,.14), transparent 25%),
    linear-gradient(180deg, #f6faf8 0%, #fff 100%);
}
.cost-hero-grid {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 66px;
  align-items: center;
}
.checked-line {
  margin: 24px 0 0;
  color: #667982;
  font-size: 13px;
}
.quick-answer-card {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}
.quick-price {
  padding: 16px 0;
  border-bottom: 1px solid var(--line);
}
.quick-price:first-of-type { padding-top: 4px; }
.quick-price:last-of-type { border-bottom: 0; }
.quick-price span,
.quick-price strong,
.quick-price small { display: block; }
.quick-price span {
  margin-bottom: 3px;
  color: var(--ink-soft);
  font-size: 13px;
  font-weight: 750;
}
.quick-price strong {
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: -.035em;
}
.quick-price small {
  margin-top: 5px;
  color: #60727a;
  line-height: 1.45;
}
.responsive-table {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
  box-shadow: 0 14px 34px rgba(16,33,44,.05);
}
.cost-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}
.cost-table th,
.cost-table td {
  padding: 20px 22px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--line);
}
.cost-table th {
  background: var(--surface);
  color: #53666f;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .07em;
}
.cost-table tbody tr:last-child td { border-bottom: 0; }
.cost-table td strong,
.cost-table td span { display: block; }
.cost-table td strong { font-size: 16px; }
.cost-table td span {
  margin-top: 3px;
  color: #60727a;
  font-size: 12px;
}
.range-note,
.scenario-disclaimer {
  margin-top: 18px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
}
.range-note p,
.scenario-disclaimer p {
  margin: 5px 0 0;
  color: var(--ink-soft);
  font-size: 14px;
}
.cost-driver-grid { display: grid; gap: 13px; }
.cost-driver-grid article {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 18px;
  padding: 21px 22px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
}
.cost-driver-grid article > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--dark);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}
.cost-driver-grid h3 { margin-bottom: 6px; font-size: 19px; }
.cost-driver-grid p { margin: 0; color: var(--ink-soft); font-size: 14px; }
.scenario-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.scenario-card {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
}
.scenario-card.featured {
  border-color: #9bd1b6;
  background: linear-gradient(180deg, #f5fcf8 0%, #fff 100%);
  box-shadow: 0 16px 36px rgba(16,33,44,.07);
}
.scenario-top {
  min-height: 62px;
  margin-bottom: 18px;
}
.scenario-top span,
.scenario-top strong { display: block; }
.scenario-label {
  margin-bottom: 5px;
  color: var(--accent-dark);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.scenario-top strong { font-size: 19px; }
.scenario-price {
  padding: 16px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: 24px;
  font-weight: 900;
  letter-spacing: -.03em;
}
.scenario-price small {
  display: block;
  margin-top: 2px;
  color: #60727a;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
}
.scenario-card ul {
  margin: 18px 0 0;
  padding-left: 18px;
  color: var(--ink-soft);
  font-size: 13px;
}
.scenario-card li + li { margin-top: 6px; }
.grid-cost-section {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 70px;
  align-items: start;
}
.grid-cost-section > div > p:not(.eyebrow) {
  color: #bdcbd2;
  font-size: 17px;
}
.dark-checklist {
  padding: 28px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius);
  background: var(--dark-2);
}
.badge-dark {
  background: rgba(131,226,180,.12);
  color: #83e2b4;
}
.dark-checklist h3 {
  margin: 18px 0;
  color: #fff;
  font-size: 27px;
}
.dark-checklist ul {
  margin: 0;
  padding-left: 20px;
  color: #bdcbd2;
}
.dark-checklist li + li { margin-top: 9px; }
.grant-cost-panel {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 60px;
  align-items: center;
}
.grant-cost-panel > div > p:not(.eyebrow,.grant-deadline) {
  color: var(--ink-soft);
  font-size: 17px;
}
.grant-deadline {
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  margin: 8px 0 18px;
  padding: 12px 15px;
  border-radius: 12px;
  background: var(--accent-pale);
  color: var(--accent-dark);
}
.grant-deadline span {
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.grant-deadline strong { font-size: 18px; }
.grant-math-card {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
}
.grant-math-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.grant-math-row span { color: var(--ink-soft); }
.grant-math-row strong { text-align: right; }
.grant-math-card p:last-child {
  margin: 18px 0 0;
  color: var(--ink-soft);
  font-size: 13px;
}
.choice-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.choice-grid article {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
}
.choice-grid article > strong {
  display: block;
  margin-bottom: 8px;
  font-size: 25px;
}
.choice-grid article > span {
  display: block;
  min-height: 48px;
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 800;
}
.choice-grid p {
  margin: 18px 0 0;
  color: var(--ink-soft);
  font-size: 14px;
}
.quote-checklist {
  display: grid;
  gap: 10px;
}
.quote-checklist > div {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 13px;
  padding: 17px 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
}
.quote-checklist > div > span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--accent-pale);
  color: var(--accent-dark);
  font-weight: 900;
}
.quote-checklist p {
  margin: 2px 0 0;
  color: var(--ink-soft);
  font-size: 14px;
}
.faq-wrap { max-width: 940px; }
.faq-list {
  display: grid;
  gap: 10px;
}
.faq-list details {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}
.faq-list summary {
  padding: 19px 22px;
  cursor: pointer;
  font-weight: 850;
  list-style: none;
}
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after {
  content: "+";
  float: right;
  color: var(--accent-dark);
  font-size: 22px;
  line-height: 1;
}
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p {
  margin: 0;
  padding: 0 22px 20px;
  color: var(--ink-soft);
}
@media (max-width: 980px) {
  .cost-hero-grid,
  .grid-cost-section,
  .grant-cost-panel { grid-template-columns: 1fr; }
  .scenario-grid { grid-template-columns: 1fr 1fr; }
  .choice-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .cost-guide-hero { padding: 54px 0 48px; }
  .scenario-grid { grid-template-columns: 1fr; }
  .quick-price strong { font-size: 24px; }
  .cost-driver-grid article { grid-template-columns: 40px 1fr; padding: 18px; }
  .grant-cost-panel { gap: 30px; }
}


/* v2.4 — Workplace EV charging guide */
.workplace-hero {
  padding: 72px 0 66px;
  background:
    radial-gradient(circle at 86% 15%, rgba(34,181,115,.16), transparent 26%),
    linear-gradient(180deg, #f6faf8 0%, #fff 100%);
}
.workplace-hero-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 68px;
  align-items: center;
}
.workplace-facts-card {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: var(--shadow);
}
.workplace-fact {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 18px;
  align-items: center;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}
.workplace-fact:last-of-type { border-bottom: 0; }
.workplace-fact strong {
  font-size: 27px;
  line-height: 1;
  letter-spacing: -.035em;
}
.workplace-fact span {
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.45;
}
.workplace-use-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}
.workplace-use-grid article {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
}
.use-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  margin-bottom: 22px;
  border-radius: 50%;
  background: var(--dark);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}
.workplace-use-grid h3 { margin-bottom: 10px; font-size: 23px; }
.workplace-use-grid p { color: var(--ink-soft); }
.workplace-use-grid article > strong {
  display: block;
  margin-top: 20px;
  color: var(--accent-dark);
  font-size: 13px;
}
.workplace-planning-grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 66px;
  align-items: center;
}
.planning-formula {
  margin: 28px 0 18px;
  padding: 20px 22px;
  border: 1px solid #acd9c2;
  border-radius: 14px;
  background: var(--accent-pale);
}
.planning-formula span,
.planning-formula strong { display: block; }
.planning-formula span {
  margin-bottom: 7px;
  color: var(--accent-dark);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.planning-formula strong {
  font-size: 20px;
  line-height: 1.35;
}
.planning-example-card {
  padding: 29px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  box-shadow: 0 16px 40px rgba(16,33,44,.06);
}
.planning-row,
.planning-result {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}
.planning-row span { color: var(--ink-soft); }
.planning-result {
  margin-top: 3px;
  color: var(--accent-dark);
}
.planning-result strong { font-size: 23px; }
.planning-capacity {
  margin-top: 20px;
  padding: 17px;
  border-radius: 12px;
  background: var(--surface);
}
.planning-capacity p { margin: 0 0 8px; }
.planning-capacity small { color: #60727a; line-height: 1.45; }
.workplace-power-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}
.workplace-power-grid article {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
}
.workplace-power-grid article.featured {
  border-color: #9bd1b6;
  background: linear-gradient(180deg,#f5fcf8 0%,#fff 100%);
  box-shadow: 0 16px 36px rgba(16,33,44,.07);
}
.power-heading-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 22px;
}
.power-heading-row strong { font-size: 27px; }
.power-heading-row span {
  padding: 6px 9px;
  border-radius: 999px;
  background: var(--surface);
  color: var(--accent-dark);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .07em;
}
.workplace-power-grid h3 { font-size: 20px; margin-bottom: 9px; }
.workplace-power-grid p { color: var(--ink-soft); font-size: 14px; }
.workplace-power-grid ul {
  margin: 20px 0 0;
  padding-left: 18px;
  color: var(--ink-soft);
  font-size: 13px;
}
.workplace-power-grid li + li { margin-top: 6px; }
.center-link { margin-top: 26px; text-align: center; }
.load-management-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 70px;
  align-items: start;
}
.load-management-grid > div > p:not(.eyebrow) {
  color: #bdcbd2;
  font-size: 17px;
}
.load-card {
  padding: 28px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: var(--radius);
  background: var(--dark-2);
}
.load-card h3 {
  margin: 14px 0 18px;
  color: #fff;
  font-size: 26px;
}
.load-card ul {
  margin: 0;
  padding-left: 20px;
  color: #bdcbd2;
}
.load-card li + li { margin-top: 9px; }
.workplace-budget-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 18px;
}
.workplace-budget-grid article {
  padding: 27px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: #fff;
}
.workplace-budget-grid article.featured {
  border-color: #9bd1b6;
  background: linear-gradient(180deg,#f5fcf8,#fff);
}
.workplace-budget-grid article > span {
  display: block;
  margin-bottom: 5px;
  color: var(--accent-dark);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.workplace-budget-grid article > strong { font-size: 21px; }
.budget-price {
  margin: 18px 0;
  padding: 16px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: 25px;
  font-weight: 900;
  letter-spacing: -.035em;
}
.budget-price small {
  display: block;
  margin-top: 3px;
  color: #60727a;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
}
.workplace-budget-grid p { margin: 0; color: var(--ink-soft); font-size: 14px; }
.centered-actions { justify-content: center; margin-top: 28px; }
.wcs-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 64px;
  align-items: center;
}
.wcs-number-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
  margin: 25px 0 20px;
}
.wcs-number-grid > div {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
}
.wcs-number-grid strong,
.wcs-number-grid span { display: block; }
.wcs-number-grid strong {
  margin-bottom: 7px;
  font-size: 29px;
  color: var(--accent-dark);
}
.wcs-number-grid span {
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.45;
}
.wcs-process-card {
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
}
.wcs-process-card ol {
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
}
.wcs-process-card li {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 13px;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}
.wcs-process-card li:last-child { border-bottom: 0; }
.wcs-process-card li > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--dark);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}
.wcs-process-card p { margin: 3px 0 0; color: var(--ink-soft); font-size: 13px; }
.grant-eligible-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
}
.grant-eligible-grid h2 { font-size: clamp(28px,3vw,40px); }
.eligible-list {
  display: grid;
  gap: 9px;
  margin-top: 24px;
}
.eligible-list > div {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 12px;
  align-items: center;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.eligible-list span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  font-weight: 900;
}
.yes-list span { background: var(--accent-pale); color: var(--accent-dark); }
.no-list span { background: #f4eded; color: #875757; }
.eligible-list p { margin: 0; color: var(--ink-soft); font-size: 14px; }
.workplace-tax-grid {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  gap: 66px;
  align-items: center;
}
.workplace-tax-grid > div > p:not(.eyebrow) { color: var(--ink-soft); font-size: 16px; }
.tax-card {
  padding: 30px;
  border: 1px solid #a9d8c0;
  border-radius: var(--radius);
  background: linear-gradient(180deg,#f1fbf6 0%,#fff 100%);
}
.tax-card h3 { margin: 18px 0 12px; font-size: 27px; }
.tax-card p { color: var(--ink-soft); }
.tax-card > strong { display: block; margin-top: 20px; color: var(--accent-dark); }

@media (max-width: 980px) {
  .workplace-hero-grid,
  .workplace-planning-grid,
  .load-management-grid,
  .wcs-grid,
  .workplace-tax-grid { grid-template-columns: 1fr; }
  .workplace-use-grid,
  .workplace-power-grid,
  .workplace-budget-grid { grid-template-columns: 1fr 1fr; }
  .grant-eligible-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .workplace-hero { padding: 54px 0 48px; }
  .workplace-fact { grid-template-columns: 105px 1fr; }
  .workplace-fact strong { font-size: 23px; }
  .workplace-use-grid,
  .workplace-power-grid,
  .workplace-budget-grid,
  .wcs-number-grid { grid-template-columns: 1fr; }
  .workplace-power-grid article,
  .workplace-use-grid article,
  .workplace-budget-grid article { padding: 22px; }
}


/* v2.5 — Fleet / Depot EV Charging guide */
.fleet-hero {
  padding: 72px 0 66px;
  background:
    radial-gradient(circle at 88% 13%, rgba(34,181,115,.17), transparent 26%),
    linear-gradient(180deg,#f5faf7 0%,#fff 100%);
}
.fleet-hero-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:center;
}
.fleet-facts-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
}
.fleet-fact {
  display:grid;
  grid-template-columns:145px 1fr;
  gap:18px;
  align-items:center;
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.fleet-fact strong {
  font-size:27px;
  line-height:1;
  letter-spacing:-.035em;
}
.fleet-fact span {
  color:var(--ink-soft);
  font-size:13px;
  line-height:1.45;
}
.fleet-status {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:18px;
  padding:14px 16px;
  border-radius:12px;
  background:#fff4d7;
}
.fleet-status span {
  color:#705b25;
  font-size:12px;
  font-weight:800;
}
.fleet-status strong { color:#5f4c1d; }
.fleet-plan-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:66px;
  align-items:center;
}
.fleet-formula {
  margin:28px 0 18px;
  padding:20px 22px;
  border:1px solid #abd9c1;
  border-radius:14px;
  background:var(--accent-pale);
}
.fleet-formula span,
.fleet-formula strong { display:block; }
.fleet-formula span {
  margin-bottom:7px;
  color:var(--accent-dark);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.fleet-formula strong {
  font-size:20px;
  line-height:1.35;
}
.fleet-example-card {
  padding:29px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 16px 40px rgba(16,33,44,.06);
}
.fleet-calc-row,
.fleet-calc-result {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.fleet-calc-row span { color:var(--ink-soft); }
.fleet-calc-result {
  color:var(--accent-dark);
}
.fleet-calc-result strong { font-size:23px; }
.fleet-window {
  margin-top:20px;
  padding:17px;
  border-radius:12px;
  background:var(--surface);
}
.fleet-window p { margin:0 0 8px; }
.fleet-window small { color:#60727a; line-height:1.45; }
.fleet-type-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.fleet-type-grid article {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.fleet-type-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
  box-shadow:0 16px 36px rgba(16,33,44,.07);
}
.fleet-type-tag {
  display:inline-block;
  margin-bottom:20px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--surface);
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.fleet-type-grid h3 { font-size:22px; margin-bottom:10px; }
.fleet-type-grid p { color:var(--ink-soft); }
.fleet-type-grid article > strong {
  display:block;
  margin-top:20px;
  color:var(--accent-dark);
  font-size:13px;
}
.depot-power-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.depot-power-grid article {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.depot-power-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f4fbf7,#fff);
}
.depot-power-top {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:22px;
}
.depot-power-top strong { font-size:27px; }
.depot-power-top span {
  padding:6px 9px;
  border-radius:999px;
  background:var(--surface);
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.depot-power-grid h3 { font-size:20px; margin-bottom:9px; }
.depot-power-grid p { margin:0; color:var(--ink-soft); font-size:14px; }
.depot-principle {
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-top:20px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
}
.depot-principle strong { white-space:nowrap; }
.depot-principle p { margin:0; color:var(--ink-soft); }
.depot-smart-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:70px;
  align-items:start;
}
.depot-smart-grid > div > p:not(.eyebrow) {
  color:#bdcbd2;
  font-size:17px;
}
.smart-stack-card {
  padding:28px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);
  background:var(--dark-2);
}
.smart-stack-card > div {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:13px;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.smart-stack-card > div:last-child { border-bottom:0; }
.smart-stack-card > div > span {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(131,226,180,.12);
  color:#83e2b4;
  font-size:11px;
  font-weight:900;
}
.smart-stack-card p { margin:1px 0 0; color:#fff; }
.smart-stack-card small {
  display:block;
  margin-top:3px;
  color:#9fb0b8;
}
.depot-budget-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.depot-budget-grid article {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.depot-budget-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
  box-shadow:0 16px 36px rgba(16,33,44,.07);
}
.depot-budget-grid article > span {
  display:block;
  margin-bottom:5px;
  color:var(--accent-dark);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.depot-budget-grid article > strong { font-size:21px; }
.depot-budget-price {
  margin:18px 0;
  padding:16px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-size:25px;
  font-weight:900;
  letter-spacing:-.035em;
}
.depot-budget-price small {
  display:block;
  margin-top:3px;
  color:#60727a;
  font-size:11px;
  font-weight:700;
  letter-spacing:0;
}
.depot-budget-grid p {
  min-height:74px;
  color:var(--ink-soft);
  font-size:14px;
}
.depot-budget-grid b {
  display:block;
  color:var(--accent-dark);
  font-size:12px;
}
.depot-grid-section {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:66px;
  align-items:start;
}
.connection-timeline {
  display:grid;
  gap:10px;
  margin-top:28px;
}
.connection-timeline > div {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:13px;
  padding:15px 17px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
}
.connection-timeline > div > span {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.connection-timeline p { margin:1px 0 0; }
.connection-timeline small {
  display:block;
  margin-top:3px;
  color:var(--ink-soft);
}
.connection-card {
  padding:29px;
  border:1px solid #acd9c2;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#f2fbf6,#fff);
}
.connection-card > strong {
  display:block;
  margin:14px 0 12px;
  font-size:24px;
  line-height:1.25;
}
.connection-card p { color:var(--ink-soft); }
.depot-grant-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:64px;
  align-items:center;
}
.depot-window-status {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
  margin:28px 0 18px;
}
.depot-window-status > div {
  padding:19px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
}
.depot-window-status > div.next {
  border-color:#a9d8c0;
  background:var(--accent-pale);
}
.depot-window-status span,
.depot-window-status strong,
.depot-window-status small { display:block; }
.depot-window-status span {
  margin-bottom:5px;
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.depot-window-status strong { font-size:18px; }
.depot-window-status small {
  margin-top:7px;
  color:var(--ink-soft);
  line-height:1.45;
}
.depot-date {
  display:inline-flex;
  flex-direction:column;
  gap:2px;
  padding:12px 15px;
  border-radius:12px;
  background:#fff4d7;
  color:#65501f;
}
.depot-date span {
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.depot-date strong { font-size:18px; }
.depot-grant-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.depot-grant-card ul {
  margin:14px 0 0;
  padding-left:20px;
  color:var(--ink-soft);
}
.depot-grant-card li + li { margin-top:9px; }
.grant-warning {
  margin:20px 0 0;
  padding:14px 15px;
  border-radius:10px;
  background:#fff4d7;
  color:#66511e;
  font-size:13px;
}
.depot-programme-strip {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.depot-programme-strip > div {
  padding:20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  text-align:center;
}
.depot-programme-strip span,
.depot-programme-strip strong,
.depot-programme-strip small { display:block; }
.depot-programme-strip span {
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.depot-programme-strip strong {
  margin:7px 0;
  font-size:28px;
}
.depot-programme-strip small {
  color:var(--ink-soft);
  line-height:1.4;
}
.fleet-vehicle-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:66px;
  align-items:center;
}
.fleet-vehicle-grid > div > p:not(.eyebrow) {
  color:var(--ink-soft);
  font-size:16px;
}
.vehicle-link-card {
  padding:29px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.vehicle-link-card h3 {
  margin:14px 0 12px;
  font-size:27px;
}
.vehicle-link-card > p { color:var(--ink-soft); }
.vehicle-stage {
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  align-items:center;
  padding:12px 0;
  border-bottom:1px solid var(--line);
}
.vehicle-stage:last-child { border-bottom:0; }
.vehicle-stage span {
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--accent-pale);
  color:var(--accent-dark);
  font-size:11px;
  font-weight:900;
}
.vehicle-stage p { margin:0; font-weight:750; }

@media (max-width:1100px) {
  .primary-nav { gap:18px; }
  .primary-nav a:not(.button) { font-size:13px; }
}
@media (max-width:980px) {
  .fleet-hero-grid,
  .fleet-plan-grid,
  .depot-smart-grid,
  .depot-grid-section,
  .depot-grant-grid,
  .fleet-vehicle-grid { grid-template-columns:1fr; }
  .fleet-type-grid,
  .depot-power-grid,
  .depot-budget-grid { grid-template-columns:1fr 1fr; }
  .depot-programme-strip { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
  .fleet-hero { padding:54px 0 48px; }
  .fleet-fact { grid-template-columns:120px 1fr; }
  .fleet-fact strong { font-size:23px; }
  .fleet-type-grid,
  .depot-power-grid,
  .depot-budget-grid,
  .depot-window-status,
  .depot-programme-strip { grid-template-columns:1fr; }
  .depot-principle { display:block; }
  .depot-principle strong { display:block; margin-bottom:5px; }
}


/* v2.6 — Hotel / Destination EV Charging guide */
.hotel-hero {
  padding:72px 0 66px;
  background:
    radial-gradient(circle at 87% 14%, rgba(34,181,115,.17), transparent 27%),
    linear-gradient(180deg,#f5faf7 0%,#fff 100%);
}
.hotel-hero-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:center;
}
.hotel-facts-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
}
.hotel-fact {
  display:grid;
  grid-template-columns:128px 1fr;
  gap:18px;
  align-items:center;
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.hotel-fact strong {
  font-size:27px;
  line-height:1;
  letter-spacing:-.035em;
}
.hotel-fact span {
  color:var(--ink-soft);
  font-size:13px;
  line-height:1.45;
}
.hotel-model-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.hotel-model-grid article {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.hotel-model-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
  box-shadow:0 16px 36px rgba(16,33,44,.07);
}
.model-number {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.hotel-model-grid h3 { font-size:23px; margin-bottom:10px; }
.hotel-model-grid p { color:var(--ink-soft); }
.hotel-model-grid article > strong {
  display:block;
  margin-top:20px;
  color:var(--accent-dark);
  font-size:13px;
}
.hotel-dwell-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:66px;
  align-items:center;
}
.hotel-energy-example {
  margin-top:27px;
  padding:20px 22px;
  border:1px solid #a9d8c0;
  border-radius:14px;
  background:var(--accent-pale);
}
.hotel-energy-example span,
.hotel-energy-example strong { display:block; }
.hotel-energy-example span {
  margin-bottom:7px;
  color:var(--accent-dark);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.hotel-energy-example strong {
  font-size:21px;
  line-height:1.35;
}
.hotel-energy-example p {
  margin:9px 0 0;
  color:var(--ink-soft);
  font-size:13px;
}
.hotel-speed-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.hotel-speed-card > div {
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.hotel-speed-card strong,
.hotel-speed-card span { display:block; }
.hotel-speed-card strong { margin-bottom:4px; font-size:21px; }
.hotel-speed-card span { color:var(--ink-soft); font-size:13px; }
.hotel-power-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.hotel-power-grid article {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.hotel-power-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
}
.hotel-power-top {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:22px;
}
.hotel-power-top strong { font-size:27px; }
.hotel-power-top span {
  padding:6px 9px;
  border-radius:999px;
  background:var(--surface);
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.hotel-power-grid h3 { font-size:20px; margin-bottom:9px; }
.hotel-power-grid p { color:var(--ink-soft); font-size:14px; }
.hotel-power-grid ul {
  margin:20px 0 0;
  padding-left:18px;
  color:var(--ink-soft);
  font-size:13px;
}
.hotel-power-grid li + li { margin-top:6px; }
.public-reg-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:70px;
  align-items:start;
}
.public-reg-grid > div > p:not(.eyebrow) {
  color:#bdcbd2;
  font-size:17px;
}
.public-reg-card {
  padding:28px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);
  background:var(--dark-2);
}
.public-reg-card > div {
  display:grid;
  grid-template-columns:52px 1fr;
  gap:13px;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.public-reg-card > div:last-child { border-bottom:0; }
.public-reg-card > div > span {
  min-width:46px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0 6px;
  border-radius:999px;
  background:rgba(131,226,180,.12);
  color:#83e2b4;
  font-size:10px;
  font-weight:900;
}
.public-reg-card p { margin:1px 0 0; color:#fff; }
.public-reg-card small {
  display:block;
  margin-top:3px;
  color:#9fb0b8;
}
.hotel-budget-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.hotel-budget-grid article {
  padding:25px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.hotel-budget-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
  box-shadow:0 16px 36px rgba(16,33,44,.07);
}
.hotel-budget-grid article > span {
  display:block;
  margin-bottom:5px;
  color:var(--accent-dark);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.hotel-budget-grid article > strong { font-size:20px; }
.hotel-budget-price {
  margin:17px 0;
  padding:15px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-size:22px;
  font-weight:900;
  letter-spacing:-.035em;
}
.hotel-budget-price small {
  display:block;
  margin-top:3px;
  color:#60727a;
  font-size:11px;
  font-weight:700;
  letter-spacing:0;
}
.hotel-budget-grid p {
  min-height:92px;
  color:var(--ink-soft);
  font-size:13px;
}
.hotel-budget-grid b {
  display:block;
  color:var(--accent-dark);
  font-size:12px;
}
.hotel-grant-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:64px;
  align-items:center;
}
.hotel-grant-numbers {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:25px 0 20px;
}
.hotel-grant-numbers > div {
  padding:18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.hotel-grant-numbers strong,
.hotel-grant-numbers span { display:block; }
.hotel-grant-numbers strong {
  margin-bottom:7px;
  color:var(--accent-dark);
  font-size:29px;
}
.hotel-grant-numbers span {
  color:var(--ink-soft);
  font-size:12px;
  line-height:1.45;
}
.hotel-grant-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.hotel-grant-card > div {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.hotel-grant-card > div span { color:var(--ink-soft); }
.hotel-grant-card > div strong { text-align:right; }
.hotel-grant-card > p:last-child {
  margin:18px 0 0;
  color:var(--ink-soft);
  font-size:13px;
}
.hotel-grant-note {
  display:flex;
  justify-content:space-between;
  gap:36px;
  align-items:center;
  padding:26px 28px;
  border:1px solid #a9d8c0;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#f3fbf7,#fff);
}
.hotel-grant-note h3 {
  margin:13px 0 8px;
  font-size:24px;
}
.hotel-grant-note p {
  margin:0;
  color:var(--ink-soft);
}
.hotel-pricing-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.hotel-pricing-grid article {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.hotel-pricing-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
}
.hotel-pricing-grid article > span {
  display:inline-block;
  margin-bottom:20px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--surface);
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.hotel-pricing-grid h3 { font-size:22px; margin-bottom:10px; }
.hotel-pricing-grid p { color:var(--ink-soft); }
.hotel-pricing-grid article > strong {
  display:block;
  margin-top:20px;
  color:var(--accent-dark);
  font-size:13px;
}
.hotel-public-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:66px;
  align-items:center;
}
.hotel-public-grid > div > p:not(.eyebrow) {
  color:var(--ink-soft);
  font-size:16px;
}
.access-policy-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.access-policy-card > div {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:13px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.access-policy-card > div:last-child { border-bottom:0; }
.access-policy-card > div > span {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.access-policy-card p { margin:0; font-weight:750; }

@media (max-width:1040px) {
  .hotel-budget-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:980px) {
  .hotel-hero-grid,
  .hotel-dwell-grid,
  .public-reg-grid,
  .hotel-grant-grid,
  .hotel-public-grid { grid-template-columns:1fr; }
  .hotel-model-grid,
  .hotel-power-grid,
  .hotel-pricing-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
  .hotel-hero { padding:54px 0 48px; }
  .hotel-fact { grid-template-columns:105px 1fr; }
  .hotel-fact strong { font-size:23px; }
  .hotel-model-grid,
  .hotel-power-grid,
  .hotel-budget-grid,
  .hotel-grant-numbers,
  .hotel-pricing-grid { grid-template-columns:1fr; }
  .hotel-budget-grid p { min-height:auto; }
  .hotel-grant-note { display:block; }
  .hotel-grant-note .button { margin-top:20px; }
}


/* v2.7 — 7kW vs 22kW commercial EV chargers */
.compare-hero {
  padding:72px 0 66px;
  background:
    radial-gradient(circle at 87% 14%, rgba(34,181,115,.17), transparent 27%),
    linear-gradient(180deg,#f5faf7 0%,#fff 100%);
}
.compare-hero-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:center;
}
.compare-card {
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
}
.compare-card-head {
  display:grid;
  grid-template-columns:1fr 1fr;
  background:var(--dark);
  color:#fff;
}
.compare-card-head span {
  padding:15px 20px;
  text-align:center;
  font-weight:900;
}
.compare-card-head span:last-child {
  background:#16302c;
  color:#83e2b4;
}
.compare-card-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  padding:17px 18px;
  border-bottom:1px solid var(--line);
  text-align:center;
}
.compare-card-row strong { font-size:22px; }
.compare-card-row small {
  margin-top:4px;
  color:var(--ink-soft);
  font-size:11px;
}
.compare-card .panel-note { margin:0; padding:17px 20px; }
.compare-columns {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.power-column {
  padding:30px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.power-column.twentytwo {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
  box-shadow:0 16px 36px rgba(16,33,44,.07);
}
.power-column-top {
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:center;
  padding-bottom:20px;
  border-bottom:1px solid var(--line);
}
.power-column-top span {
  font-size:25px;
  font-weight:900;
}
.power-column-top strong {
  color:var(--accent-dark);
  font-size:12px;
  text-align:right;
}
.power-big {
  margin:24px 0;
  font-size:58px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.05em;
}
.power-big small {
  font-size:15px;
  color:var(--ink-soft);
  letter-spacing:0;
}
.power-column ul {
  margin:0;
  padding-left:20px;
  color:var(--ink-soft);
}
.power-column li + li { margin-top:8px; }
.compare-footnote {
  margin:15px 0 0;
  color:#60727a;
  font-size:12px;
}
.dwell-compare-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:66px;
  align-items:center;
}
.dwell-rule {
  margin-top:26px;
  padding:20px 22px;
  border:1px solid #a9d8c0;
  border-radius:14px;
  background:var(--accent-pale);
}
.dwell-rule span,
.dwell-rule strong { display:block; }
.dwell-rule span {
  margin-bottom:7px;
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.dwell-rule strong { font-size:20px; line-height:1.35; }
.dwell-table-card {
  padding:27px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.dwell-table-card > div {
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:12px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.dwell-table-card > div strong { text-align:right; }
.dwell-table-head {
  color:var(--accent-dark);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.vehicle-limit-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:66px;
  align-items:center;
}
.vehicle-limit-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.vehicle-limit-card > div {
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.vehicle-limit-card strong,
.vehicle-limit-card span { display:block; }
.vehicle-limit-card strong { margin-bottom:4px; }
.vehicle-limit-card span { color:var(--ink-soft); font-size:13px; }
.site-load-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:70px;
  align-items:start;
}
.site-load-grid > div > p:not(.eyebrow) {
  color:#bdcbd2;
  font-size:17px;
}
.load-compare-card {
  padding:28px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);
  background:var(--dark-2);
}
.load-compare-card > div {
  display:grid;
  grid-template-columns:1.2fr 1fr 1fr;
  gap:12px;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#fff;
}
.load-compare-card > div strong { text-align:right; }
.load-compare-card .load-labels {
  border-bottom:0;
  color:#83e2b4;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.load-compare-card .load-labels small { text-align:right; }
.same-site-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.same-site-grid article {
  padding:30px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.same-site-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
}
.same-site-grid article > span {
  display:block;
  margin-bottom:7px;
  color:var(--accent-dark);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.same-site-price {
  margin-bottom:20px;
  font-size:31px;
  font-weight:950;
  letter-spacing:-.04em;
}
.same-site-price small {
  display:block;
  margin-top:3px;
  color:#60727a;
  font-size:11px;
  font-weight:700;
  letter-spacing:0;
}
.same-site-row {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:13px 0;
  border-top:1px solid var(--line);
}
.same-site-row span { color:var(--ink-soft); }
.same-site-grid p { color:var(--ink-soft); font-size:14px; }
.decision-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.decision-grid article {
  padding:25px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.decision-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
}
.decision-grid article > span {
  display:inline-block;
  margin-bottom:18px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--surface);
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.decision-grid h3 { font-size:20px; margin-bottom:10px; }
.decision-grid p { color:var(--ink-soft); font-size:14px; }
.decision-grid article > strong {
  display:block;
  margin-top:18px;
  color:var(--accent-dark);
  font-size:13px;
}
.grant-power-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:64px;
  align-items:center;
}
.grant-power-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.grant-power-card > div {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.grant-power-card > div span { color:var(--ink-soft); }
.grant-power-card > p {
  color:var(--ink-soft);
  font-size:13px;
}
@media (max-width:1040px) {
  .decision-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:980px) {
  .compare-hero-grid,
  .dwell-compare-grid,
  .vehicle-limit-grid,
  .site-load-grid,
  .grant-power-grid { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .compare-hero { padding:54px 0 48px; }
  .compare-columns,
  .same-site-grid,
  .decision-grid { grid-template-columns:1fr; }
  .power-column { padding:24px; }
  .power-column-top { display:block; }
  .power-column-top strong { display:block; margin-top:5px; text-align:left; }
  .power-big { font-size:48px; }
}


/* v2.8 — Commercial EV Charging ROI Calculator */
.roi-hero {
  padding:72px 0 66px;
  background:
    radial-gradient(circle at 87% 14%,rgba(34,181,115,.17),transparent 27%),
    linear-gradient(180deg,#f5faf7 0%,#fff 100%);
}
.roi-hero-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:center;
}
.roi-logic-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
}
.roi-logic-card > div {
  display:grid;
  grid-template-columns:150px 1fr;
  gap:16px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.roi-logic-card > div span {
  color:var(--ink-soft);
  font-size:12px;
  font-weight:800;
}
.roi-logic-card > div strong {
  font-size:14px;
  text-align:right;
}
.roi-layout {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);
  gap:30px;
  align-items:start;
}
.roi-form .form-help {
  margin:14px 0 0;
  color:var(--ink-soft);
  font-size:13px;
}
.form-grid.roi-three { grid-template-columns:repeat(3,1fr); }
.vat-model-note {
  margin-top:16px;
  padding:15px 17px;
  border:1px solid #c8d8d0;
  border-radius:11px;
  background:var(--surface);
}
.vat-model-note strong { color:var(--accent-dark); }
.vat-model-note p {
  margin:4px 0 0;
  color:var(--ink-soft);
  font-size:13px;
}
.roi-results {
  position:sticky;
  top:94px;
  display:grid;
  gap:14px;
}
.roi-result-card,
.roi-target-card {
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 16px 40px rgba(16,33,44,.06);
}
.roi-result-card { padding:28px; }
.roi-payback {
  margin:5px 0 8px;
  font-size:46px;
  line-height:1;
  font-weight:950;
  letter-spacing:-.05em;
  color:var(--dark);
}
.roi-primary-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:22px 0 16px;
}
.roi-primary-grid > div {
  padding:15px;
  border-radius:11px;
  background:var(--accent-pale);
}
.roi-primary-grid span,
.roi-primary-grid strong { display:block; }
.roi-primary-grid span {
  min-height:34px;
  color:var(--accent-dark);
  font-size:11px;
  font-weight:800;
}
.roi-primary-grid strong {
  margin-top:5px;
  font-size:21px;
}
.roi-result-lines > div {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:11px 0;
  border-bottom:1px solid var(--line);
}
.roi-result-lines > div:last-child { border-bottom:0; }
.roi-result-lines span { color:var(--ink-soft); font-size:13px; }
.roi-result-lines strong { text-align:right; font-size:13px; }
.roi-target-card { padding:25px 28px; }
.roi-target-card > div {
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.roi-target-card > div:last-of-type { border-bottom:0; }
.roi-target-card span,
.roi-target-card strong,
.roi-target-card small { display:block; }
.roi-target-card span { color:var(--ink-soft); font-size:12px; }
.roi-target-card strong {
  margin-top:3px;
  font-size:22px;
}
.roi-target-card small { margin-top:3px; color:#60727a; font-size:11px; }
.roi-warning-panel {
  padding:20px 22px;
  border:1px solid #e4c781;
  border-radius:var(--radius-sm);
  background:#fff8e8;
}
.roi-warning-panel ul {
  margin:10px 0 0;
  padding-left:19px;
  color:#665628;
  font-size:13px;
}
.roi-warning-panel li + li { margin-top:6px; }
.roi-sensitivity-table .roi-base-row td { background:#f3fbf7; }
.roi-interpret-grid {
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:66px;
  align-items:start;
}
.roi-interpret-list { display:grid; gap:10px; }
.roi-interpret-list > div {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:13px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
}
.roi-interpret-list > div > span {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.roi-interpret-list p { margin:2px 0 0; color:var(--ink-soft); font-size:14px; }
.roi-reg-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:70px;
  align-items:start;
}
.roi-reg-grid > div > p:not(.eyebrow) { color:#bdcbd2; font-size:17px; }
.roi-reg-card {
  padding:28px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);
  background:var(--dark-2);
}
.roi-reg-card ul {
  margin:14px 0 0;
  padding-left:20px;
  color:#bdcbd2;
}
.roi-reg-card li + li { margin-top:9px; }
.roi-reg-card p { margin-bottom:0; color:#9fb0b8; font-size:13px; }
.roi-rates-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:66px;
  align-items:center;
}
.roi-rates-grid > div > p:not(.eyebrow) { color:var(--ink-soft); }
.rates-card {
  padding:30px;
  border:1px solid #a9d8c0;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#f2fbf6,#fff);
}
.rates-card > strong {
  display:block;
  margin:18px 0 10px;
  font-size:27px;
  line-height:1.25;
}
.rates-card p { color:var(--ink-soft); }
.rates-card small { color:#60727a; }

@media (max-width:1080px) {
  .roi-layout { grid-template-columns:1fr; }
  .roi-results { position:static; }
}
@media (max-width:980px) {
  .roi-hero-grid,
  .roi-interpret-grid,
  .roi-reg-grid,
  .roi-rates-grid { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .roi-hero { padding:54px 0 48px; }
  .form-grid.roi-three { grid-template-columns:1fr; }
  .roi-primary-grid { grid-template-columns:1fr; }
  .roi-payback { font-size:40px; }
  .roi-logic-card > div { grid-template-columns:1fr; gap:4px; }
  .roi-logic-card > div strong { text-align:left; }
}

.roi-home-cta {
  display:flex;
  justify-content:space-between;
  gap:36px;
  align-items:center;
  margin-top:28px;
  padding:25px 27px;
  border:1px solid #a9d8c0;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#f3fbf7,#fff);
}
.roi-home-cta h3 { margin:5px 0 7px; font-size:25px; }
.roi-home-cta p:not(.eyebrow) { margin:0; color:var(--ink-soft); }
@media (max-width:720px) {
  .roi-home-cta { display:block; }
  .roi-home-cta .button { margin-top:18px; }
}


/* v2.9 — School / Education EV Charging guide */
.education-hero {
  padding:72px 0 66px;
  background:
    radial-gradient(circle at 87% 14%,rgba(34,181,115,.17),transparent 27%),
    linear-gradient(180deg,#f5faf7 0%,#fff 100%);
}
.education-hero-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:center;
}
.education-facts-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
}
.education-fact {
  display:grid;
  grid-template-columns:135px 1fr;
  gap:18px;
  align-items:center;
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.education-fact strong { font-size:27px; line-height:1; letter-spacing:-.035em; }
.education-fact span { color:var(--ink-soft); font-size:13px; line-height:1.45; }
.education-use-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.education-use-grid article {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.education-use-grid h3 { margin-bottom:10px; font-size:23px; }
.education-use-grid p { color:var(--ink-soft); }
.education-use-grid article > strong { display:block; margin-top:20px; color:var(--accent-dark); font-size:13px; }
.education-grant-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:64px;
  align-items:center;
}
.education-grant-numbers {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:25px 0 20px;
}
.education-grant-numbers > div {
  padding:18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.education-grant-numbers strong,
.education-grant-numbers span { display:block; }
.education-grant-numbers strong { margin-bottom:7px; color:var(--accent-dark); font-size:29px; }
.education-grant-numbers span { color:var(--ink-soft); font-size:12px; line-height:1.45; }
.education-eligibility-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.education-eligibility-card > div {
  display:grid;
  grid-template-columns:32px 1fr;
  gap:12px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.education-eligibility-card > div > span {
  width:28px;height:28px;display:grid;place-items:center;border-radius:50%;
  background:var(--accent-pale);color:var(--accent-dark);font-weight:900;
}
.education-eligibility-card p { margin:0; color:var(--ink-soft); font-size:14px; }
.education-warning {
  margin-top:18px !important;
  padding:14px 15px;
  border-radius:10px;
  background:#fff4d7;
  color:#66511e !important;
}
.education-cap-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.education-cap-grid article {
  padding:30px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.education-cap-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
  box-shadow:0 16px 36px rgba(16,33,44,.07);
}
.education-cap-grid article > span { display:block; margin-bottom:6px; color:var(--accent-dark); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.education-cap-grid article > strong { font-size:24px; }
.education-cap-price { margin:18px 0; padding:16px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:36px; font-weight:950; letter-spacing:-.04em; }
.education-cap-price small { display:block; margin-top:4px; color:#60727a; font-size:11px; font-weight:700; letter-spacing:0; }
.education-cap-grid p { margin:0; color:var(--ink-soft); }
.academy-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:70px;
  align-items:start;
}
.academy-grid > div > p:not(.eyebrow) { color:#bdcbd2; font-size:17px; }
.academy-card {
  padding:28px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);
  background:var(--dark-2);
}
.academy-card > div {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:13px;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.academy-card > div:last-child { border-bottom:0; }
.academy-card > div > span { width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(131,226,180,.12);color:#83e2b4;font-size:11px;font-weight:900; }
.academy-card p { margin:1px 0 0; color:#fff; }
.academy-card small { display:block; margin-top:3px; color:#9fb0b8; }
.education-budget-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.education-budget-grid article {
  padding:27px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.education-budget-grid article.featured { border-color:#9bd1b6; background:linear-gradient(180deg,#f5fcf8,#fff); box-shadow:0 16px 36px rgba(16,33,44,.07); }
.education-budget-grid article > span { display:block; margin-bottom:5px; color:var(--accent-dark); font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.education-budget-grid article > strong { display:block; margin-bottom:15px; font-size:21px; }
.education-budget-line { display:flex; justify-content:space-between; gap:15px; padding:10px 0; border-top:1px solid var(--line); font-size:13px; }
.education-budget-line span { color:var(--ink-soft); }
.education-budget-line b { text-align:right; }
.education-budget-line.grant b { color:var(--accent-dark); }
.education-budget-net { margin:12px 0 15px; padding:14px; border-radius:10px; background:var(--accent-pale); }
.education-budget-net span,
.education-budget-net strong { display:block; }
.education-budget-net span { color:var(--accent-dark); font-size:11px; font-weight:800; }
.education-budget-net strong { margin-top:4px; font-size:21px; }
.education-budget-grid article > p { margin:0; color:var(--ink-soft); font-size:13px; }
.education-power-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:64px; align-items:center; }
.education-load-card { padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; }
.education-load-card > div { padding:15px 0; border-bottom:1px solid var(--line); }
.education-load-card span,
.education-load-card strong,
.education-load-card small { display:block; }
.education-load-card strong { margin:3px 0; font-size:28px; }
.education-load-card small { color:var(--ink-soft); }
.education-process-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:start; }
.education-process-list { display:grid; gap:10px; }
.education-process-list > div { display:grid; grid-template-columns:36px 1fr; gap:13px; padding:16px 18px; border:1px solid var(--line); border-radius:11px; background:#fff; }
.education-process-list > div > span { width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--dark);color:#fff;font-size:11px;font-weight:900; }
.education-process-list p { margin:1px 0 0; }
.education-process-list small { display:block; margin-top:3px; color:var(--ink-soft); }
.education-public-grid { display:grid; grid-template-columns:1.08fr .92fr; gap:70px; align-items:start; }
.education-public-grid > div > p:not(.eyebrow) { color:#bdcbd2; font-size:17px; }
.education-public-card { padding:28px; border:1px solid rgba(255,255,255,.1); border-radius:var(--radius); background:var(--dark-2); }
.education-public-card ul { margin:14px 0 22px; padding-left:20px; color:#bdcbd2; }
.education-public-card li + li { margin-top:9px; }
.text-link-dark { color:#83e2b4; }
@media (max-width:980px) {
  .education-hero-grid,
  .education-grant-grid,
  .academy-grid,
  .education-power-grid,
  .education-process-grid,
  .education-public-grid { grid-template-columns:1fr; }
  .education-use-grid,
  .education-budget-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
  .education-hero { padding:54px 0 48px; }
  .education-fact { grid-template-columns:108px 1fr; }
  .education-fact strong { font-size:23px; }
  .education-use-grid,
  .education-budget-grid,
  .education-cap-grid,
  .education-grant-numbers { grid-template-columns:1fr; }
}


/* v2.10 — Car Park / Retail EV Charging guide */
.retail-hero {
  padding:72px 0 66px;
  background:
    radial-gradient(circle at 88% 14%,rgba(34,181,115,.17),transparent 27%),
    linear-gradient(180deg,#f5faf7 0%,#fff 100%);
}
.retail-hero-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:center;
}
.retail-facts-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
}
.retail-fact {
  display:grid;
  grid-template-columns:128px 1fr;
  gap:18px;
  align-items:center;
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.retail-fact strong {
  font-size:27px;
  line-height:1;
  letter-spacing:-.035em;
}
.retail-fact span {
  color:var(--ink-soft);
  font-size:13px;
  line-height:1.45;
}
.retail-strategy-grid,
.retail-power-grid,
.operator-model-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.retail-strategy-grid article,
.retail-power-grid article,
.operator-model-grid article {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.retail-strategy-grid article.featured,
.retail-power-grid article.featured,
.operator-model-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
  box-shadow:0 16px 36px rgba(16,33,44,.07);
}
.strategy-number {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.retail-strategy-grid h3,
.operator-model-grid h3 { font-size:22px; margin-bottom:10px; }
.retail-strategy-grid p,
.operator-model-grid p { color:var(--ink-soft); }
.retail-strategy-grid article > strong,
.operator-model-grid article > strong {
  display:block;
  margin-top:20px;
  color:var(--accent-dark);
  font-size:13px;
}
.retail-dwell-grid,
.retail-roi-grid,
.retail-grid-section,
.retail-rates-grid,
.retail-planning-grid {
  display:grid;
  grid-template-columns:1.06fr .94fr;
  gap:66px;
  align-items:center;
}
.retail-rule {
  margin-top:27px;
  padding:20px 22px;
  border:1px solid #a9d8c0;
  border-radius:14px;
  background:var(--accent-pale);
}
.retail-rule span,
.retail-rule strong { display:block; }
.retail-rule span {
  margin-bottom:7px;
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.retail-rule strong { font-size:20px; line-height:1.35; }
.retail-rule p { margin:8px 0 0; color:var(--ink-soft); font-size:13px; }
.retail-dwell-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.retail-dwell-card > div {
  display:grid;
  grid-template-columns:95px 1fr;
  gap:14px;
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.retail-dwell-card > div span {
  color:var(--accent-dark);
  font-size:12px;
  font-weight:900;
}
.retail-dwell-card > div strong,
.retail-dwell-card > div small { display:block; }
.retail-dwell-card > div small {
  grid-column:2;
  color:var(--ink-soft);
  font-size:12px;
}
.retail-power-top {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:22px;
}
.retail-power-top strong { font-size:25px; }
.retail-power-top span {
  padding:6px 9px;
  border-radius:999px;
  background:var(--surface);
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.retail-power-grid h3 { font-size:20px; margin-bottom:9px; }
.retail-power-grid p { color:var(--ink-soft); font-size:14px; }
.retail-power-grid ul {
  margin:20px 0 0;
  padding-left:18px;
  color:var(--ink-soft);
  font-size:13px;
}
.retail-power-grid li + li { margin-top:6px; }
.retail-rules-grid {
  display:grid;
  grid-template-columns:1.06fr .94fr;
  gap:70px;
  align-items:start;
}
.retail-rules-grid > div > p:not(.eyebrow) {
  color:#bdcbd2;
  font-size:17px;
}
.retail-rules-card {
  padding:28px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);
  background:var(--dark-2);
}
.retail-rules-card > div {
  display:grid;
  grid-template-columns:52px 1fr;
  gap:13px;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.retail-rules-card > div:last-child { border-bottom:0; }
.retail-rules-card > div > span {
  min-width:46px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0 6px;
  border-radius:999px;
  background:rgba(131,226,180,.12);
  color:#83e2b4;
  font-size:10px;
  font-weight:900;
}
.retail-rules-card p { margin:1px 0 0; color:#fff; }
.retail-rules-card small {
  display:block;
  margin-top:3px;
  color:#9fb0b8;
}
.retail-budget-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.retail-budget-grid article {
  padding:25px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.retail-budget-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
  box-shadow:0 16px 36px rgba(16,33,44,.07);
}
.retail-budget-grid article > span {
  display:block;
  margin-bottom:5px;
  color:var(--accent-dark);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.retail-budget-grid article > strong { font-size:20px; }
.retail-budget-price {
  margin:17px 0;
  padding:15px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-size:22px;
  font-weight:900;
  letter-spacing:-.035em;
}
.retail-budget-price small {
  display:block;
  margin-top:3px;
  color:#60727a;
  font-size:11px;
  font-weight:700;
  letter-spacing:0;
}
.retail-budget-grid p {
  min-height:92px;
  color:var(--ink-soft);
  font-size:13px;
}
.retail-budget-grid b { color:var(--accent-dark); font-size:12px; }
.retail-roi-formula {
  margin:27px 0 18px;
  padding:20px 22px;
  border:1px solid #a9d8c0;
  border-radius:14px;
  background:var(--accent-pale);
}
.retail-roi-formula span,
.retail-roi-formula strong { display:block; }
.retail-roi-formula span {
  margin-bottom:7px;
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.retail-roi-formula strong { font-size:20px; line-height:1.35; }
.retail-roi-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 16px 40px rgba(16,33,44,.06);
}
.retail-roi-card > div {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.retail-roi-card > div span { color:var(--ink-soft); }
.retail-roi-card .button { margin-top:20px; width:100%; text-align:center; }
.retail-grid-section { align-items:start; }
.retail-grid-timeline { display:grid; gap:9px; margin-top:26px; }
.retail-grid-timeline > div {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:13px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
}
.retail-grid-timeline > div > span {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.retail-grid-timeline p { margin:1px 0 0; }
.retail-grid-timeline small {
  display:block;
  margin-top:3px;
  color:var(--ink-soft);
}
.retail-grid-card {
  padding:29px;
  border:1px solid #a9d8c0;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#f2fbf6,#fff);
}
.retail-grid-card > strong {
  display:block;
  margin:14px 0 12px;
  font-size:23px;
  line-height:1.3;
}
.retail-grid-card p { color:var(--ink-soft); }
.retail-grant-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:center;
}
.retail-grant-grid > div > p:not(.eyebrow) {
  color:#bdcbd2;
  font-size:17px;
}
.retail-grant-card {
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);
  background:var(--dark-2);
}
.grant-split { padding:23px 25px; border-bottom:1px solid rgba(255,255,255,.09); }
.grant-split.no { background:rgba(255,198,112,.05); }
.grant-split span,
.grant-split strong,
.grant-split small { display:block; }
.grant-split span {
  margin-bottom:5px;
  color:#83e2b4;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.grant-split.no span { color:#e8c77f; }
.grant-split strong { color:#fff; font-size:21px; }
.grant-split small { margin-top:6px; color:#9fb0b8; line-height:1.45; }
.retail-grant-card > .text-link { margin:18px 25px 22px; display:inline-flex; }
.retail-rates-card {
  padding:30px;
  border:1px solid #a9d8c0;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#f2fbf6,#fff);
}
.retail-rates-card > strong {
  display:block;
  margin:18px 0 4px;
  font-size:43px;
  line-height:1;
  letter-spacing:-.045em;
}
.retail-rates-card p { color:var(--ink-soft); }
.retail-rates-card b { color:var(--accent-dark); font-size:13px; }
.operator-model-grid article > span {
  display:inline-block;
  margin-bottom:19px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--surface);
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.planning-check-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.planning-check-card > div {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:13px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.planning-check-card > div:last-child { border-bottom:0; }
.planning-check-card > div > span {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.planning-check-card p { margin:0; font-weight:750; }
.dual-cta {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.button-light-alt {
  background:transparent;
  border:1px solid rgba(255,255,255,.45);
}
@media (max-width:1040px) {
  .retail-budget-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:980px) {
  .retail-hero-grid,
  .retail-dwell-grid,
  .retail-rules-grid,
  .retail-roi-grid,
  .retail-grid-section,
  .retail-grant-grid,
  .retail-rates-grid,
  .retail-planning-grid { grid-template-columns:1fr; }
  .retail-strategy-grid,
  .retail-power-grid,
  .operator-model-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
  .retail-hero { padding:54px 0 48px; }
  .retail-fact { grid-template-columns:105px 1fr; }
  .retail-fact strong { font-size:23px; }
  .retail-strategy-grid,
  .retail-power-grid,
  .operator-model-grid,
  .retail-budget-grid { grid-template-columns:1fr; }
  .retail-budget-grid p { min-height:auto; }
  .dual-cta { display:grid; width:100%; }
}


/* v2.11 — DC Rapid Charging for Business */
.rapid-hero {
  padding:72px 0 66px;
  background:
    radial-gradient(circle at 88% 14%,rgba(34,181,115,.17),transparent 27%),
    linear-gradient(180deg,#f5faf7 0%,#fff 100%);
}
.rapid-hero-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:center;
}
.rapid-facts-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
}
.rapid-fact {
  display:grid;
  grid-template-columns:128px 1fr;
  gap:18px;
  align-items:center;
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.rapid-fact strong {
  font-size:27px;
  line-height:1;
  letter-spacing:-.035em;
}
.rapid-fact span {
  color:var(--ink-soft);
  font-size:13px;
  line-height:1.45;
}
.rapid-fit-grid,
.rapid-power-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.rapid-fit-grid article,
.rapid-power-grid article {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.rapid-fit-grid article.featured,
.rapid-power-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
  box-shadow:0 16px 36px rgba(16,33,44,.07);
}
.rapid-number {
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.rapid-fit-grid h3 { font-size:22px; margin-bottom:10px; }
.rapid-fit-grid p { color:var(--ink-soft); }
.rapid-fit-grid article > strong {
  display:block;
  margin-top:20px;
  color:var(--accent-dark);
  font-size:13px;
}
.rapid-no-fit {
  margin-top:18px;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
}
.rapid-no-fit p { margin:5px 0 0; color:var(--ink-soft); font-size:14px; }
.rapid-power-top {
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:22px;
}
.rapid-power-top strong { font-size:25px; }
.rapid-power-top span {
  padding:6px 9px;
  border-radius:999px;
  background:var(--surface);
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.rapid-power-grid h3 { font-size:20px; margin-bottom:9px; }
.rapid-power-grid p { color:var(--ink-soft); font-size:14px; }
.rapid-power-grid ul {
  margin:20px 0 0;
  padding-left:18px;
  color:var(--ink-soft);
  font-size:13px;
}
.rapid-power-grid li + li { margin-top:6px; }
.rapid-vehicle-grid,
.rapid-rules-grid,
.rapid-roi-grid,
.rapid-rates-grid {
  display:grid;
  grid-template-columns:1.06fr .94fr;
  gap:66px;
  align-items:center;
}
.rapid-curve-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.rapid-curve-card > div {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:13px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.rapid-curve-card > div:last-child { border-bottom:0; }
.rapid-curve-card > div > span {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.rapid-curve-card p { margin:1px 0 0; }
.rapid-curve-card small {
  display:block;
  margin-top:3px;
  color:var(--ink-soft);
}
.rapid-grid-section,
.rapid-business-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:70px;
  align-items:start;
}
.rapid-grid-section > div > p:not(.eyebrow),
.rapid-business-grid > div > p:not(.eyebrow) {
  color:#bdcbd2;
  font-size:17px;
}
.rapid-grid-card,
.rapid-contract-card {
  padding:28px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);
  background:var(--dark-2);
}
.rapid-grid-card > strong {
  display:block;
  margin:14px 0 12px;
  color:#fff;
  font-size:23px;
  line-height:1.3;
}
.rapid-grid-card p { color:#9fb0b8; }
.rapid-budget-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.rapid-budget-grid article {
  padding:25px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.rapid-budget-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
  box-shadow:0 16px 36px rgba(16,33,44,.07);
}
.rapid-budget-grid article > span {
  display:block;
  margin-bottom:5px;
  color:var(--accent-dark);
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.rapid-budget-grid article > strong { font-size:20px; }
.rapid-budget-price {
  margin:17px 0;
  padding:15px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-size:22px;
  font-weight:900;
  letter-spacing:-.035em;
}
.rapid-budget-price small {
  display:block;
  margin-top:3px;
  color:#60727a;
  font-size:11px;
  font-weight:700;
  letter-spacing:0;
}
.rapid-budget-grid p {
  min-height:92px;
  color:var(--ink-soft);
  font-size:13px;
}
.rapid-budget-grid b { color:var(--accent-dark); font-size:12px; }
.rapid-rules-grid { align-items:start; }
.rapid-rule-list {
  display:grid;
  gap:9px;
  margin-top:25px;
}
.rapid-rule-list > div {
  display:grid;
  grid-template-columns:52px 1fr;
  gap:13px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:11px;
  background:#fff;
}
.rapid-rule-list > div > span {
  min-width:46px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0 6px;
  border-radius:999px;
  background:var(--accent-pale);
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
}
.rapid-rule-list p { margin:1px 0 0; }
.rapid-rule-list small {
  display:block;
  margin-top:3px;
  color:var(--ink-soft);
}
.rapid-price-card {
  padding:29px;
  border:1px solid #a9d8c0;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#f2fbf6,#fff);
}
.rapid-price-card > strong {
  display:block;
  margin:14px 0 12px;
  font-size:24px;
  line-height:1.3;
}
.rapid-price-card p { color:var(--ink-soft); }
.rapid-roi-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:0 16px 40px rgba(16,33,44,.06);
}
.rapid-roi-card > div {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.rapid-roi-card > div span { color:var(--ink-soft); }
.rapid-roi-card .button {
  margin-top:20px;
  width:100%;
  text-align:center;
}
.rapid-contract-card ul {
  margin:14px 0 0;
  padding-left:20px;
  color:#bdcbd2;
}
.rapid-contract-card li + li { margin-top:9px; }
.rapid-rates-card {
  padding:30px;
  border:1px solid #a9d8c0;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#f2fbf6,#fff);
}
.rapid-rates-card > strong {
  display:block;
  margin:18px 0 8px;
  font-size:31px;
  line-height:1.15;
  letter-spacing:-.035em;
}
.rapid-rates-card p { margin-bottom:5px; color:var(--ink-soft); }
.rapid-rates-card b { color:var(--accent-dark); font-size:15px; }

@media (max-width:1040px) {
  .rapid-budget-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:980px) {
  .rapid-hero-grid,
  .rapid-vehicle-grid,
  .rapid-grid-section,
  .rapid-rules-grid,
  .rapid-roi-grid,
  .rapid-business-grid,
  .rapid-rates-grid { grid-template-columns:1fr; }
  .rapid-fit-grid,
  .rapid-power-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
  .rapid-hero { padding:54px 0 48px; }
  .rapid-fact { grid-template-columns:105px 1fr; }
  .rapid-fact strong { font-size:23px; }
  .rapid-fit-grid,
  .rapid-power-grid,
  .rapid-budget-grid { grid-template-columns:1fr; }
  .rapid-budget-grid p { min-height:auto; }
}


/* v2.12 — Workplace Charging Scheme */
.wcs-hero {
  padding:72px 0 66px;
  background:
    radial-gradient(circle at 88% 14%,rgba(34,181,115,.17),transparent 27%),
    linear-gradient(180deg,#f5faf7 0%,#fff 100%);
}
.wcs-hero-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:center;
}
.wcs-hero-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
}
.wcs-hero-fact {
  display:grid;
  grid-template-columns:110px 1fr;
  gap:18px;
  align-items:center;
  padding:15px 0;
  border-bottom:1px solid var(--line);
}
.wcs-hero-fact strong {
  font-size:29px;
  line-height:1;
  letter-spacing:-.035em;
}
.wcs-hero-fact span {
  color:var(--ink-soft);
  font-size:13px;
  line-height:1.45;
}
.wcs-deadline-box {
  margin-top:18px;
  padding:15px 17px;
  border-radius:12px;
  background:#edf9f2;
  border:1px solid #a8d6bd;
}
.wcs-deadline-box span,
.wcs-deadline-box strong { display:block; }
.wcs-deadline-box span {
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.wcs-deadline-box strong { margin-top:4px; font-size:20px; }
.wcs-formula {
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr;
  gap:16px;
  align-items:center;
}
.wcs-formula > div {
  min-height:122px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  text-align:center;
}
.wcs-formula > div.result {
  border-color:#9bd1b6;
  background:var(--accent-pale);
}
.wcs-formula span {
  margin-bottom:6px;
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.wcs-formula strong { font-size:20px; }
.wcs-formula > b { color:var(--ink-soft); font-size:18px; }
.wcs-cap-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:18px;
}
.wcs-cap-grid > div {
  padding:18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--surface);
  text-align:center;
}
.wcs-cap-grid span,
.wcs-cap-grid strong,
.wcs-cap-grid small { display:block; }
.wcs-cap-grid span {
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.wcs-cap-grid strong { margin:6px 0 2px; font-size:27px; }
.wcs-cap-grid small { color:var(--ink-soft); }
.wcs-example-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.wcs-example-grid article {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.wcs-example-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
  box-shadow:0 16px 36px rgba(16,33,44,.07);
}
.wcs-example-grid article > span {
  display:block;
  margin-bottom:5px;
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.wcs-example-grid article > strong {
  display:block;
  margin-bottom:18px;
  font-size:22px;
}
.wcs-example-line {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:12px 0;
  border-top:1px solid var(--line);
}
.wcs-example-line span { color:var(--ink-soft); font-size:13px; }
.wcs-example-line b { font-size:13px; }
.wcs-example-line.grant b { color:var(--accent-dark); }
.wcs-example-net {
  margin-top:8px;
  padding:15px;
  border-radius:11px;
  background:var(--surface);
}
.wcs-example-net span,
.wcs-example-net strong { display:block; }
.wcs-example-net span { color:var(--ink-soft); font-size:11px; }
.wcs-example-net strong { margin-top:3px; font-size:18px; }
.wcs-applicant-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.wcs-applicant-grid article {
  display:grid;
  grid-template-columns:38px 1fr;
  gap:14px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.wcs-applicant-grid article > span {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--accent-pale);
  color:var(--accent-dark);
  font-weight:900;
}
.wcs-applicant-grid h3 { margin:1px 0 5px; font-size:20px; }
.wcs-applicant-grid p { margin:0; color:var(--ink-soft); font-size:13px; }
.wcs-education-note {
  display:flex;
  justify-content:space-between;
  gap:32px;
  align-items:center;
  margin-top:20px;
  padding:24px 26px;
  border:1px solid #a9d8c0;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#f3fbf7,#fff);
}
.wcs-education-note h3 { margin:13px 0 7px; font-size:23px; }
.wcs-education-note p { margin:0; color:var(--ink-soft); }
.wcs-parking-grid,
.wcs-tech-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:start;
}
.wcs-parking-grid > div > p:not(.eyebrow),
.wcs-tech-grid > div > p:not(.eyebrow) {
  color:#bdcbd2;
  font-size:17px;
}
.wcs-parking-card,
.wcs-tech-card {
  padding:28px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);
  background:var(--dark-2);
}
.parking-rule {
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.parking-rule:last-child { border-bottom:0; }
.parking-rule span,
.parking-rule strong,
.parking-rule small { display:block; }
.parking-rule span {
  margin-bottom:4px;
  color:#83e2b4;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.parking-rule strong { color:#fff; }
.parking-rule small { margin-top:3px; color:#9fb0b8; }
.wcs-site-grid,
.wcs-mfa-grid,
.wcs-compare-grid {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:66px;
  align-items:center;
}
.wcs-site-list {
  display:grid;
  gap:9px;
  margin-top:22px;
}
.wcs-site-list > div,
.wcs-ineligible-card > div {
  display:grid;
  grid-template-columns:32px 1fr;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
}
.wcs-site-list span,
.wcs-ineligible-card > div > span {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-weight:900;
}
.wcs-site-list span { background:var(--accent-pale); color:var(--accent-dark); }
.wcs-site-list p,
.wcs-ineligible-card p { margin:0; color:var(--ink-soft); font-size:13px; }
.wcs-ineligible-card {
  padding:25px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--surface);
}
.wcs-ineligible-card > div { margin-top:8px; }
.wcs-ineligible-card > div > span { background:#f4eded; color:#875757; }
.wcs-ineligible-card .panel-note { margin:16px 0 0; }
.wcs-process {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.wcs-process article {
  padding:24px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.wcs-process article.featured {
  border-color:#9bd1b6;
  background:var(--accent-pale);
}
.wcs-process article > span {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.wcs-process h3 { margin-bottom:7px; font-size:19px; }
.wcs-process p { margin:0; color:var(--ink-soft); font-size:13px; }
.wcs-costs-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:54px;
}
.wcs-costs-grid h3 { font-size:24px; }
.wcs-tech-card ul {
  margin:12px 0 0;
  padding-left:20px;
  color:#bdcbd2;
}
.wcs-tech-card li + li { margin-top:9px; }
.wcs-mfa-card {
  padding:30px;
  border:1px solid #a9d8c0;
  border-radius:var(--radius);
  background:linear-gradient(180deg,#f2fbf6,#fff);
}
.wcs-mfa-card > strong {
  display:block;
  margin:18px 0 6px;
  font-size:46px;
  line-height:1;
  letter-spacing:-.045em;
}
.wcs-mfa-card p { margin:0; color:var(--ink-soft); }
.wcs-special-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.wcs-special-grid article {
  padding:27px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.wcs-special-grid article > span {
  display:inline-block;
  margin-bottom:18px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--surface);
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.wcs-special-grid h3 { font-size:20px; margin-bottom:9px; }
.wcs-special-grid p { margin:0; color:var(--ink-soft); font-size:14px; }
.wcs-compare-card {
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.wcs-compare-card .head {
  display:grid;
  grid-template-columns:1fr 1fr;
  background:var(--dark);
  color:#fff;
}
.wcs-compare-card .head span {
  padding:14px 18px;
  text-align:center;
  font-weight:900;
}
.wcs-compare-card .head span:last-child {
  background:#16302c;
  color:#83e2b4;
}
.wcs-compare-card > div:not(.head) {
  display:grid;
  grid-template-columns:1fr 1fr;
  padding:15px 18px;
  border-bottom:1px solid var(--line);
  text-align:center;
}
.wcs-compare-card > div strong { font-size:20px; }
.wcs-compare-card > div small {
  margin-top:4px;
  color:var(--ink-soft);
  font-size:11px;
}
@media (max-width:980px) {
  .wcs-hero-grid,
  .wcs-parking-grid,
  .wcs-site-grid,
  .wcs-tech-grid,
  .wcs-mfa-grid,
  .wcs-compare-grid { grid-template-columns:1fr; }
  .wcs-process { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
  .wcs-formula { grid-template-columns:1fr; }
  .wcs-formula > b { text-align:center; }
  .wcs-cap-grid,
  .wcs-applicant-grid,
  .wcs-costs-grid,
  .wcs-special-grid,
  .wcs-example-grid,
  .wcs-process { grid-template-columns:1fr; }
  .wcs-education-note { display:block; }
  .wcs-education-note .button { margin-top:18px; }
}
@media (max-width:720px) {
  .wcs-hero { padding:54px 0 48px; }
  .wcs-hero-fact { grid-template-columns:95px 1fr; }
  .wcs-hero-fact strong { font-size:24px; }
}

.field-help-link {
  display:inline-flex;
  margin-top:8px;
  color:var(--accent-dark);
  font-size:12px;
  font-weight:800;
  text-decoration:none;
}
.field-help-link:hover { text-decoration:underline; }


/* v2.13 — Depot Charging Scheme */
.dcs-hero {
  padding:72px 0 66px;
  background:
    radial-gradient(circle at 88% 14%,rgba(34,181,115,.17),transparent 27%),
    linear-gradient(180deg,#f5faf7 0%,#fff 100%);
}
.dcs-hero-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:center;
}
.dcs-status-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
}
.dcs-status-main {
  margin:12px 0 10px;
  padding:17px;
  border-radius:12px;
  background:#fff4d7;
  border:1px solid #ead18f;
}
.dcs-status-main span,
.dcs-status-main strong { display:block; }
.dcs-status-main span {
  color:#705b25;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.dcs-status-main strong {
  margin-top:4px;
  color:#59491d;
  font-size:23px;
}
.dcs-status-row {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.dcs-status-row span { color:var(--ink-soft); font-size:13px; }
.dcs-status-row strong { text-align:right; }
.dcs-status-row strong.amber { color:#8a6717; }
.dcs-programme-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.dcs-programme-grid > div {
  padding:20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  text-align:center;
}
.dcs-programme-grid > div.featured {
  border-color:#9bd1b6;
  background:var(--accent-pale);
}
.dcs-programme-grid span,
.dcs-programme-grid strong,
.dcs-programme-grid small { display:block; }
.dcs-programme-grid span {
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.dcs-programme-grid strong {
  margin:7px 0;
  font-size:29px;
}
.dcs-programme-grid small { color:var(--ink-soft); }
.dcs-window-grid,
.dcs-shared-grid,
.dcs-spend-grid,
.dcs-cost-grid,
.dcs-vehicle-grid {
  display:grid;
  grid-template-columns:1.07fr .93fr;
  gap:66px;
  align-items:center;
}
.dcs-history-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.dcs-history-card > div {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.dcs-history-card > div span { color:var(--ink-soft); }
.dcs-warning {
  margin:18px 0 0;
  padding:14px 15px;
  border-radius:10px;
  background:#fff4d7;
  color:#66511e;
  font-size:13px;
}
.dcs-eligibility-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.dcs-eligibility-grid article {
  display:grid;
  grid-template-columns:38px 1fr;
  gap:14px;
  padding:22px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.dcs-eligibility-grid article > span {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--accent-pale);
  color:var(--accent-dark);
  font-weight:900;
}
.dcs-eligibility-grid h3 { margin:1px 0 5px; font-size:19px; }
.dcs-eligibility-grid p { margin:0; color:var(--ink-soft); font-size:13px; }
.dcs-shared-grid > div > p:not(.eyebrow),
.dcs-cost-grid > div > p:not(.eyebrow) {
  color:#bdcbd2;
  font-size:17px;
}
.dcs-shared-card,
.dcs-cost-card {
  padding:28px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);
  background:var(--dark-2);
}
.dcs-shared-card > div,
.dcs-cost-card > div {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.dcs-shared-card > div span,
.dcs-cost-card > div span { color:#9fb0b8; }
.dcs-shared-card > div strong,
.dcs-cost-card > div strong { color:#fff; text-align:right; }
.dcs-prepare-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.dcs-prepare-grid article {
  padding:24px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.dcs-prepare-grid article.featured {
  border-color:#9bd1b6;
  background:var(--accent-pale);
}
.dcs-prepare-grid article > span {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.dcs-prepare-grid h3 { margin-bottom:7px; font-size:19px; }
.dcs-prepare-grid p { margin:0; color:var(--ink-soft); font-size:13px; }
.dcs-timeline {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
}
.dcs-timeline article {
  position:relative;
  padding:20px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.dcs-timeline article.next {
  border-color:#9bd1b6;
  background:var(--accent-pale);
}
.dcs-timeline article.current {
  background:#fff8e8;
  border-color:#e4c781;
}
.dcs-timeline span,
.dcs-timeline strong { display:block; }
.dcs-timeline span {
  margin-bottom:6px;
  color:var(--accent-dark);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.dcs-timeline strong { font-size:19px; }
.dcs-timeline p { margin:8px 0 0; color:var(--ink-soft); font-size:12px; }
.dcs-spend-card {
  padding:30px;
  border:1px solid #e4c781;
  border-radius:var(--radius);
  background:#fff8e8;
}
.dcs-spend-card > strong {
  display:block;
  margin:18px 0 10px;
  font-size:26px;
  line-height:1.3;
}
.dcs-spend-card p { margin:0; color:#665b3d; }
.dcs-cost-card small {
  display:block;
  margin:14px 0 18px;
  color:#9fb0b8;
  line-height:1.45;
}
.dcs-vehicle-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.dcs-vehicle-card > div {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:13px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.dcs-vehicle-card > div:last-child { border-bottom:0; }
.dcs-vehicle-card > div > span {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.dcs-vehicle-card p { margin:0; font-weight:750; }

@media (max-width:1080px) {
  .dcs-timeline { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:980px) {
  .dcs-hero-grid,
  .dcs-window-grid,
  .dcs-shared-grid,
  .dcs-spend-grid,
  .dcs-cost-grid,
  .dcs-vehicle-grid { grid-template-columns:1fr; }
  .dcs-programme-grid { grid-template-columns:1fr 1fr; }
  .dcs-prepare-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
  .dcs-hero { padding:54px 0 48px; }
  .dcs-programme-grid,
  .dcs-eligibility-grid,
  .dcs-prepare-grid,
  .dcs-timeline { grid-template-columns:1fr; }
  .dcs-status-row { display:block; }
  .dcs-status-row strong { display:block; margin-top:3px; text-align:left; }
}


/* v2.14 — Compare Commercial EV Chargers */
.compare-buy-hero {
  padding:72px 0 66px;
  background:
    radial-gradient(circle at 88% 14%,rgba(34,181,115,.17),transparent 27%),
    linear-gradient(180deg,#f5faf7 0%,#fff 100%);
}
.compare-buy-hero-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:center;
}
.compare-buy-summary-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
}
.compare-buy-summary-card > div {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:13px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.compare-buy-summary-card > div:last-child { border-bottom:0; }
.compare-buy-summary-card > div > span {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--dark);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.compare-buy-summary-card p { margin:1px 0 0; }
.compare-buy-summary-card small {
  display:block;
  margin-top:3px;
  color:var(--ink-soft);
}
.charger-compare-table td strong,
.charger-compare-table td span { display:block; }
.charger-compare-table td span {
  margin-top:3px;
  color:var(--ink-soft);
  font-size:11px;
}
.charger-compare-table .compare-highlight td { background:#f3fbf7; }
.simultaneous-grid,
.ocpp-grid,
.public-hardware-grid,
.warranty-grid {
  display:grid;
  grid-template-columns:1.06fr .94fr;
  gap:66px;
  align-items:center;
}
.simultaneous-rule {
  margin-top:25px;
  padding:19px 21px;
  border:1px solid #a9d8c0;
  border-radius:13px;
  background:var(--accent-pale);
}
.simultaneous-rule span,
.simultaneous-rule strong { display:block; }
.simultaneous-rule span {
  margin-bottom:6px;
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.simultaneous-rule strong { font-size:19px; line-height:1.4; }
.simultaneous-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.sim-example {
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.sim-example span,
.sim-example strong,
.sim-example small { display:block; }
.sim-example span {
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.sim-example strong { margin-top:4px; font-size:21px; }
.sim-example small { margin-top:4px; color:var(--ink-soft); }
.socket-choice-grid,
.protocol-compare,
.tco-grid,
.site-shortlist-grid {
  display:grid;
  gap:18px;
}
.socket-choice-grid { grid-template-columns:repeat(3,1fr); }
.socket-choice-grid article,
.protocol-compare article,
.tco-grid article,
.site-shortlist-grid article {
  padding:27px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.socket-choice-grid article.featured,
.protocol-compare article.featured,
.tco-grid article.featured {
  border-color:#9bd1b6;
  background:linear-gradient(180deg,#f5fcf8,#fff);
  box-shadow:0 16px 36px rgba(16,33,44,.06);
}
.socket-choice-grid article > span,
.protocol-compare article > span,
.tco-grid article > span,
.site-shortlist-grid article > span {
  display:inline-block;
  margin-bottom:18px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--surface);
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.socket-choice-grid h3,
.protocol-compare h3,
.tco-grid h3,
.site-shortlist-grid h3 { font-size:21px; margin-bottom:9px; }
.socket-choice-grid ul { margin:17px 0 0; padding-left:18px; color:var(--ink-soft); font-size:13px; }
.socket-choice-grid li + li { margin-top:6px; }
.socket-choice-grid article > strong {
  display:block;
  margin-top:18px;
  color:var(--accent-dark);
  font-size:12px;
}
.buyer-score-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.buyer-score-grid article {
  display:grid;
  grid-template-columns:38px 1fr;
  gap:0 14px;
  padding:19px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  background:var(--dark-2);
}
.buyer-score-grid article > span {
  grid-row:1/3;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(131,226,180,.12);
  color:#83e2b4;
  font-size:11px;
  font-weight:900;
}
.buyer-score-grid h3 { margin:1px 0 4px; color:#fff; font-size:17px; }
.buyer-score-grid p { margin:0; color:#9fb0b8; font-size:13px; }
.ocpp-card,
.service-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.ocpp-card > div,
.service-card > div {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.ocpp-card > div span,
.service-card > div span { color:var(--ink-soft); font-size:13px; }
.ocpp-card > div strong,
.service-card > div strong { text-align:right; font-size:13px; }
.protocol-grid {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:50px;
  align-items:center;
}
.protocol-compare { grid-template-columns:1fr 1fr; }
.protocol-compare p,
.tco-grid p,
.site-shortlist-grid p { color:var(--ink-soft); font-size:14px; }
.protocol-compare article > strong {
  display:block;
  margin-top:18px;
  color:var(--accent-dark);
  font-size:12px;
}
.public-hardware-note {
  margin-top:24px;
  padding:17px 19px;
  border:1px solid #a9d8c0;
  border-radius:12px;
  background:var(--accent-pale);
}
.public-hardware-note p { margin:4px 0 0; color:var(--ink-soft); font-size:13px; }
.public-spec-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.public-spec-card > div {
  display:grid;
  grid-template-columns:54px 1fr;
  gap:13px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.public-spec-card > div:last-child { border-bottom:0; }
.public-spec-card > div > span {
  min-width:48px;
  height:32px;
  display:grid;
  place-items:center;
  padding:0 6px;
  border-radius:999px;
  background:var(--accent-pale);
  color:var(--accent-dark);
  font-size:10px;
  font-weight:900;
}
.public-spec-card p { margin:1px 0 0; }
.public-spec-card small { display:block; margin-top:3px; color:var(--ink-soft); }
.grant-model-grid,
.tender-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:start;
}
.grant-model-grid > div > p:not(.eyebrow),
.tender-grid > div > p:not(.eyebrow) {
  color:#bdcbd2;
  font-size:17px;
}
.grant-model-card,
.tender-card {
  padding:28px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);
  background:var(--dark-2);
}
.grant-model-card > div {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:13px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.grant-model-card > div > span {
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(131,226,180,.12);
  color:#83e2b4;
  font-size:11px;
  font-weight:900;
}
.grant-model-card p { margin:0; color:#fff; }
.grant-model-card .text-link { margin-top:18px; }
.tco-grid { grid-template-columns:repeat(3,1fr); }
.site-shortlist-grid { grid-template-columns:repeat(4,1fr); }
.site-shortlist-grid .text-link { margin-top:14px; }
.tender-card ul {
  margin:12px 0 0;
  padding-left:20px;
  color:#bdcbd2;
}
.tender-card li + li { margin-top:8px; }

@media (max-width:1050px) {
  .site-shortlist-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:980px) {
  .compare-buy-hero-grid,
  .simultaneous-grid,
  .ocpp-grid,
  .protocol-grid,
  .public-hardware-grid,
  .grant-model-grid,
  .warranty-grid,
  .tender-grid { grid-template-columns:1fr; }
  .socket-choice-grid { grid-template-columns:1fr 1fr; }
  .tco-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:720px) {
  .compare-buy-hero { padding:54px 0 48px; }
  .socket-choice-grid,
  .buyer-score-grid,
  .protocol-compare,
  .tco-grid,
  .site-shortlist-grid { grid-template-columns:1fr; }
  .ocpp-card > div,
  .service-card > div { display:block; }
  .ocpp-card > div strong,
  .service-card > div strong { display:block; margin-top:4px; text-align:left; }
}


/* v2.15 — trust, methodology, contact and legal pages */
.trust-footer-grid { grid-template-columns:1.65fr 1fr 1fr; }
.footer-email { display:inline-block; margin-top:8px; font-weight:800; }

.trust-hero,
.legal-hero {
  padding:72px 0 66px;
  background:
    radial-gradient(circle at 88% 14%,rgba(34,181,115,.14),transparent 27%),
    linear-gradient(180deg,#f5faf7 0%,#fff 100%);
}
.trust-hero-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:center;
}
.trust-principles-card,
.method-summary-card,
.contact-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  box-shadow:var(--shadow);
}
.trust-principles-card > div,
.method-assumption-card > div {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.trust-principles-card > div:last-child,
.method-assumption-card > div:last-of-type { border-bottom:0; }
.trust-principles-card span,
.method-assumption-card span { color:var(--ink-soft); font-size:13px; }
.trust-principles-card strong,
.method-assumption-card strong { text-align:right; font-size:13px; }

.trust-two-column {
  display:grid;
  grid-template-columns:1.06fr .94fr;
  gap:66px;
  align-items:start;
}
.trust-list-card,
.trust-link-card,
.method-assumption-card,
.method-formula-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
}
.trust-list-card > div {
  display:grid;
  grid-template-columns:32px 1fr;
  gap:12px;
  align-items:center;
  padding:11px 0;
  border-bottom:1px solid var(--line);
}
.trust-list-card > div:last-child { border-bottom:0; }
.trust-list-card > div > span {
  width:28px;height:28px;display:grid;place-items:center;
  border-radius:50%;background:var(--accent-pale);color:var(--accent-dark);font-weight:900;
}
.trust-list-card p { margin:0; color:var(--ink-soft); }
.trust-link-card { display:grid; gap:10px; }
.trust-link-card > a {
  display:block;
  padding:16px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;
}
.trust-link-card > a:last-child { border-bottom:0; }
.trust-link-card span,
.trust-link-card strong { display:block; }
.trust-link-card span {
  color:var(--accent-dark);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;
}
.trust-link-card strong { margin-top:4px; }

.trust-card-grid,
.method-source-grid,
.method-driver-grid,
.contact-brief-grid,
.contact-purpose-grid {
  display:grid;
  gap:16px;
}
.trust-card-grid { grid-template-columns:repeat(3,1fr); }
.method-source-grid { grid-template-columns:repeat(4,1fr); }
.method-driver-grid,
.contact-brief-grid { grid-template-columns:repeat(3,1fr); }
.contact-purpose-grid { grid-template-columns:repeat(3,1fr); }
.trust-card-grid article,
.method-source-grid article,
.method-driver-grid article,
.contact-brief-grid article,
.contact-purpose-grid article {
  padding:25px;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  background:#fff;
}
.trust-card-grid article > span,
.method-driver-grid article > span,
.contact-brief-grid article > span {
  width:34px;height:34px;display:grid;place-items:center;margin-bottom:18px;
  border-radius:50%;background:var(--dark);color:#fff;font-size:11px;font-weight:900;
}
.method-source-grid article > span,
.contact-purpose-grid article > span {
  display:inline-block;margin-bottom:17px;padding:6px 10px;border-radius:999px;
  background:var(--surface);color:var(--accent-dark);font-size:10px;font-weight:900;
  text-transform:uppercase;letter-spacing:.07em;
}
.trust-card-grid p,
.method-source-grid p,
.method-driver-grid p,
.contact-brief-grid p,
.contact-purpose-grid p { color:var(--ink-soft);font-size:14px; }
.contact-purpose-grid .text-link { margin-top:10px; }

.method-summary-card > div {
  display:grid;
  grid-template-columns:36px 1fr;
  gap:13px;
  padding:13px 0;
  border-bottom:1px solid var(--line);
}
.method-summary-card > div > span {
  width:32px;height:32px;display:grid;place-items:center;border-radius:50%;
  background:var(--dark);color:#fff;font-size:11px;font-weight:900;
}
.method-summary-card p { margin:1px 0 0; }
.method-summary-card small { display:block;margin-top:3px;color:var(--ink-soft); }
.method-dark-grid {
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:68px;
  align-items:start;
}
.method-dark-grid > div > p:not(.eyebrow) { color:#bdcbd2;font-size:17px; }
.method-dark-card {
  padding:28px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);background:var(--dark-2);
}
.method-dark-card > strong { display:block;color:#fff;font-size:25px;margin:12px 0 9px; }
.method-dark-card p { color:#9fb0b8; }
.method-formula-card {
  border-color:#a9d8c0;background:linear-gradient(180deg,#f2fbf6,#fff);
}
.method-formula-card span {
  color:var(--accent-dark);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;
}
.method-formula-card strong { display:block;margin:11px 0;font-size:24px;line-height:1.35; }
.method-formula-card p { margin:0;color:var(--ink-soft); }

.contact-card > strong {
  display:block;margin:7px 0 13px;font-size:21px;overflow-wrap:anywhere;
}
.contact-card p { margin:0;color:var(--ink-soft); }
.trust-home-links {
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.trust-home-links a {
  display:block;padding:22px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;text-decoration:none;
}
.trust-home-links span,
.trust-home-links strong { display:block; }
.trust-home-links span {
  margin-bottom:6px;color:var(--accent-dark);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;
}

.legal-wrap { max-width:900px; }
.legal-hero h1 { max-width:820px; }
.legal-prose h2 {
  margin-top:40px;padding-top:8px;font-size:27px;
}
.legal-prose h2:first-child { margin-top:0; }
.legal-prose p,
.legal-prose li { color:var(--ink-soft);font-size:16px; }
.legal-prose a { color:var(--accent-dark);font-weight:750; }
.legal-callout {
  margin:24px 0;padding:20px 22px;border:1px solid #a9d8c0;border-radius:13px;background:var(--accent-pale);
}
.legal-callout p { margin:6px 0 0; }
.legal-note {
  margin-top:42px!important;padding:17px 19px;border:1px solid #e4c781;border-radius:11px;background:#fff8e8;
}

@media (max-width:1020px) {
  .method-source-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:980px) {
  .trust-hero-grid,
  .trust-two-column,
  .method-dark-grid { grid-template-columns:1fr; }
  .trust-card-grid,
  .method-driver-grid,
  .contact-brief-grid,
  .contact-purpose-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:760px) {
  .trust-footer-grid,
  .trust-card-grid,
  .method-source-grid,
  .method-driver-grid,
  .contact-brief-grid,
  .contact-purpose-grid,
  .trust-home-links { grid-template-columns:1fr; }
}
@media (max-width:720px) {
  .trust-hero,.legal-hero { padding:54px 0 48px; }
}


/* v2.16 — pre-launch accessibility hardening */
.primary-nav > a[aria-current="page"]:not(.button) { color: var(--accent-dark); }

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--accent-dark);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}



/* discreet production legal details */
.discreet-legal-details {
  max-width: 900px;
  padding-top: 0;
}
.discreet-legal-details p {
  margin: 0;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  color: #60727a;
  font-size: 12px;
  line-height: 1.6;
}
.discreet-legal-details a {
  color: var(--accent-dark);
  font-weight: 750;
}
