
@font-face {
  font-family: "DM Mono";
  src: url("/fonts/dm-mono-400-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "DM Mono";
  src: url("/fonts/dm-mono-500-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Manrope";
  src: url("/fonts/manrope-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
}

@font-face {
  font-family: "Newsreader";
  src: url("/fonts/newsreader-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
}

:root {
  --ink: #071f3f;
  --muted: #59697d;
  --paper: #f5f7fb;
  --card: #ffffff;
  --line: #cbd5e1;
  --green: #0a3161;
  --lime: #e8f0fa;
  --lime-soft: #dce8f7;
  --orange: #b31942;
  --font-serif: "Newsreader";
}

/* Advertising manager */
.ad-admin-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.ad-admin-summary article {
  min-height: 128px;
  padding: 20px;
  border: 1px solid var(--ink);
  background: #fffdf5;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.ad-admin-summary article:last-child {
  color: #fff;
  background: var(--ink);
}

.ad-admin-summary article:last-child.enabled {
  background: #0b513f;
}

.ad-admin-summary span,
.ad-admin-summary small {
  font: 700 11px/1.3 "DM Mono", monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ad-admin-summary strong {
  font: 800 clamp(20px, 2vw, 28px)/1.05 "Newsreader", Georgia, serif;
}

.ad-admin-message {
  margin: 0 0 16px;
}

.ad-admin-grid {
  align-items: start;
}

.ad-settings-form,
.manual-ad-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.ad-settings-form label,
.manual-ad-form label {
  display: grid;
  gap: 7px;
  color: var(--ink);
  font: 700 12px/1.3 "DM Mono", monospace;
  letter-spacing: .03em;
}

.ad-settings-form .wide,
.manual-ad-form .wide,
.ad-settings-form > button,
.manual-ad-form > button {
  grid-column: 1 / -1;
}

.ad-settings-form input,
.manual-ad-form input,
.manual-ad-form select,
.manual-ad-form textarea {
  width: 100%;
  border: 1px solid #b8b5a9;
  border-radius: 3px;
  background: #fff;
  color: var(--ink);
  padding: 11px 12px;
  font: 500 14px/1.4 "Manrope", sans-serif;
}

.ad-settings-form input:focus,
.manual-ad-form input:focus,
.manual-ad-form select:focus,
.manual-ad-form textarea:focus {
  outline: 3px solid color-mix(in srgb, var(--orange) 22%, transparent);
  border-color: var(--orange);
}

.ad-settings-form > button,
.manual-ad-form > button {
  min-height: 46px;
  border: 0;
  background: var(--orange);
  color: #fff;
  font-weight: 850;
  cursor: pointer;
}

.ad-toggle {
  grid-template-columns: auto 1fr !important;
  align-items: start;
  padding: 12px;
  border: 1px solid #d9d4c5;
  background: #f7f3e8;
}

.ad-toggle input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
}

.ad-toggle span,
.ad-toggle small {
  display: block;
}

.ad-toggle small {
  margin-top: 4px;
  color: #66706b;
  font: 500 12px/1.4 "Manrope", sans-serif;
  letter-spacing: 0;
}

.admin-safe-note {
  margin: 16px 0 0;
  padding: 13px 14px;
  border-left: 4px solid #18a47b;
  background: #eef8f2;
  color: #32443d;
  font-size: 13px;
}

.ad-inventory-list {
  display: grid;
  gap: 10px;
}

.ad-inventory-list > article {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 14px;
  border: 1px solid #d9d4c5;
  background: #fffdf8;
}

.ad-inventory-list > article.status-active {
  border-left: 5px solid #18a47b;
}

.ad-inventory-list > article.status-paused,
.ad-inventory-list > article.status-archived {
  opacity: .72;
}

.ad-inventory-list img,
.ad-image-placeholder {
  width: 128px;
  height: 88px;
  object-fit: cover;
  background: #183f35;
  color: #fff;
}

.ad-image-placeholder {
  display: grid;
  place-items: center;
  font: 900 24px/1 "DM Mono", monospace;
}

.ad-inventory-copy {
  min-width: 0;
}

.ad-inventory-copy > span,
.ad-inventory-copy small {
  color: #69736d;
  font: 700 10px/1.4 "DM Mono", monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.ad-inventory-copy h3 {
  margin: 3px 0 6px;
  font: 800 20px/1.1 "Newsreader", Georgia, serif;
}

.ad-inventory-copy strong,
.ad-inventory-copy p {
  display: block;
  margin: 0 0 5px;
}

.ad-inventory-actions {
  display: grid;
  min-width: 112px;
  gap: 7px;
}

.ad-inventory-actions > b {
  color: #0b7257;
  font: 800 11px/1 "DM Mono", monospace;
  text-transform: uppercase;
}

.ad-inventory-actions a,
.ad-inventory-actions button {
  border: 1px solid var(--ink);
  background: transparent;
  color: var(--ink);
  padding: 7px 9px;
  text-align: center;
  font: 750 11px/1.2 "Manrope", sans-serif;
  cursor: pointer;
}

.managed-manual-ad {
  width: min(100%, 1100px);
  margin: 28px auto;
  padding: 0 18px;
}

.managed-manual-ad > a {
  display: grid;
  grid-template-columns: minmax(120px, 210px) minmax(0, 1fr) auto;
  gap: clamp(16px, 3vw, 34px);
  align-items: center;
  overflow: hidden;
  border: 1px solid #173c32;
  border-left: 8px solid var(--orange);
  background:
    radial-gradient(circle at 88% 10%, rgba(203, 239, 65, .26), transparent 30%),
    #f7f2e7;
  color: var(--ink);
  text-decoration: none;
  padding: 16px;
}

.managed-manual-ad img {
  width: 100%;
  height: 116px;
  object-fit: cover;
}

.managed-manual-ad-copy {
  display: grid;
  gap: 7px;
}

.managed-manual-ad-copy small {
  color: var(--orange);
  font: 850 10px/1 "DM Mono", monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.managed-manual-ad-copy strong {
  font: 850 clamp(21px, 3vw, 34px)/1.02 "Newsreader", Georgia, serif;
}

.managed-manual-ad-copy em {
  color: #5e6863;
  font: 500 15px/1.45 "Manrope", sans-serif;
  font-style: normal;
}

.managed-manual-ad > a > b {
  white-space: nowrap;
  background: #173c32;
  color: #fff;
  padding: 12px 15px;
  font-size: 13px;
}

.managed-manual-ad > a:hover,
.managed-manual-ad > a:focus-visible {
  box-shadow: 0 10px 30px rgba(23, 60, 50, .14);
  transform: translateY(-1px);
}

@media (max-width: 900px) {
  .ad-admin-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ad-inventory-list > article {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .ad-inventory-list img,
  .ad-image-placeholder {
    width: 96px;
    height: 76px;
  }

  .ad-inventory-actions {
    grid-column: 1 / -1;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .ad-admin-summary,
  .ad-settings-form,
  .manual-ad-form {
    grid-template-columns: 1fr;
  }

  .ad-settings-form .wide,
  .manual-ad-form .wide,
  .ad-settings-form > button,
  .manual-ad-form > button {
    grid-column: auto;
  }

  .ad-inventory-list > article {
    grid-template-columns: 1fr;
  }

  .ad-inventory-list img,
  .ad-image-placeholder {
    width: 100%;
    height: 150px;
  }

  .ad-inventory-actions {
    grid-column: auto;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .managed-manual-ad {
    padding: 0 12px;
    margin: 20px auto;
  }

  .managed-manual-ad > a {
    grid-template-columns: 1fr;
  }

  .managed-manual-ad img {
    height: 170px;
  }

  .managed-manual-ad > a > b {
    justify-self: start;
  }
}

/* Home · Work · Car · Life portal */
.portal-page,
.insurance-page,
.state-insurance-page { background:#f5f1e7; color:#142b24; }
.portal-hero { min-height:610px; padding:5.5rem 0 4rem; display:grid; grid-template-columns:1.08fr .92fr; gap:4rem; align-items:center; }
.portal-hero h1,
.insurance-hero h1,
.state-insurance-hero h1 { margin:.6rem 0 1.25rem; max-width:920px; font-family:var(--font-serif),Georgia,serif; font-size:clamp(3.1rem,7vw,7.2rem); line-height:.88; letter-spacing:-.055em; }
.portal-hero > div > p { max-width:720px; color:#5b6d66; font-size:1.15rem; line-height:1.75; }
.portal-hero > div > div { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:2rem; }
.portal-hero > div a { padding:.9rem 1.15rem; border:1px solid #0a3161; border-radius:999px; color:#0a3161; font-weight:850; }
.portal-hero > div a:first-child { background:#0a3161; color:#fff; }
.portal-hero > aside { position:relative; aspect-ratio:1; display:grid; place-items:center; border:1px solid #b9c6bd; border-radius:50%; background:radial-gradient(circle,#fff 0 20%,transparent 21%),conic-gradient(from 20deg,#eef4fb,#d2264f,#70b8ff,#ffe273,#eef4fb); box-shadow:inset 0 0 0 4rem #f5f1e7,0 28px 80px rgb(20 43 36 / 12%); }
.portal-hero > aside > strong { width:8rem; height:8rem; display:grid; place-items:center; border-radius:50%; background:#0a3161; color:#fff; font-size:2rem; box-shadow:0 0 0 12px #fff; }
.portal-orbit { position:absolute; width:7.5rem; padding:.8rem; border:2px solid #0a3161; border-radius:1.1rem; background:#fff; transform:rotate(-4deg); box-shadow:6px 7px 0 #0a3161; }
.portal-orbit span { display:block; color:#6a7c75; font-size:.65rem; font-weight:900; }
.portal-orbit b { display:block; margin-top:.2rem; font-size:1.15rem; }
.portal-orbit:nth-child(1) { left:-1rem; top:18%; }
.portal-orbit:nth-child(2) { right:-1rem; top:17%; transform:rotate(5deg); }
.portal-orbit:nth-child(3) { left:2%; bottom:14%; transform:rotate(3deg); }
.portal-orbit:nth-child(4) { right:1%; bottom:13%; transform:rotate(-5deg); }
.portal-orbit.forest { background:#eef4fb; }
.portal-orbit.orange { background:#d2264f; }
.portal-orbit.blue { background:#93caff; }
.portal-orbit.yellow { background:#ffe273; }
.portal-pillar-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding-bottom:5rem; }
.portal-pillar-grid > article { padding:2rem; border:2px solid #0a3161; border-radius:1.5rem; box-shadow:8px 9px 0 #0a3161; }
.portal-pillar-grid > article.forest { background:#eef4fb; }
.portal-pillar-grid > article.orange { background:#d2264f; }
.portal-pillar-grid > article.blue { background:#93caff; }
.portal-pillar-grid > article.yellow { background:#ffe273; }
.portal-pillar-grid header { display:flex; gap:1rem; align-items:center; }
.portal-pillar-grid header > span { width:4rem; height:4rem; display:grid; place-items:center; border:2px solid #0a3161; border-radius:50%; background:#fff; font:900 1.6rem/1 var(--font-serif),serif; }
.portal-pillar-grid small { font-weight:900; letter-spacing:.12em; }
.portal-pillar-grid h2 { margin:.1rem 0; font:900 2.5rem/1 var(--font-serif),serif; }
.portal-pillar-grid > article > p { min-height:3.5rem; max-width:600px; font-size:1.05rem; line-height:1.6; }
.portal-pillar-grid nav { display:grid; grid-template-columns:1fr 1fr; gap:.55rem; }
.portal-pillar-grid nav a { padding:.8rem .9rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid #0a3161; border-radius:.8rem; background:rgb(255 255 255 / 72%); color:#0a3161; font-weight:800; }
.portal-pillar-grid nav a:hover { background:#fff; transform:translateY(-2px); }
.portal-flow { padding:4rem 0 6rem; display:grid; grid-template-columns:.85fr 1.15fr; gap:3rem; border-top:2px solid #0a3161; }
.portal-flow h2 { margin:.4rem 0; font:900 clamp(2.5rem,5vw,4.5rem)/.95 var(--font-serif),serif; }
.portal-flow > div > p { color:#59697d; line-height:1.7; }
.portal-flow ol { margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:1rem; list-style:none; }
.portal-flow li { min-height:180px; padding:1.2rem; border:1px solid #c9d3cd; border-radius:1.2rem; background:#fff; }
.portal-flow li span { color:#b31942; font-weight:900; }
.portal-flow li b { display:block; margin:1.5rem 0 .35rem; font:800 1.35rem var(--font-serif),serif; }
.portal-flow li p { margin:0; color:#6a7c75; }

/* Insurance center */
.insurance-hero { padding:5rem 0 4rem; display:grid; grid-template-columns:1fr 370px; gap:3rem; align-items:end; border-bottom:2px solid #0a3161; }
.insurance-hero h1 { font-size:clamp(3.2rem,7vw,6.6rem); }
.insurance-hero > div > p:last-of-type { max-width:780px; color:#63746e; font-size:1.1rem; line-height:1.7; }
.insurance-hero > div > a { margin-top:1.4rem; padding:.9rem 1rem; display:inline-flex; gap:1rem; border-radius:999px; background:#0a3161; color:#fff; font-weight:850; }
.insurance-hero > aside { padding:1.2rem; border-radius:1.2rem; background:#0a3161; color:#fff; box-shadow:10px 11px 0 #d2264f; }
.insurance-hero > aside > div { padding:1rem 0; border-bottom:1px solid rgb(255 255 255 / 22%); }
.insurance-hero > aside small,.insurance-hero > aside span { display:block; color:#b9cbc4; font-size:.7rem; font-weight:850; letter-spacing:.08em; }
.insurance-hero > aside strong { display:block; margin:.25rem 0; color:#eef4fb; font-size:2.3rem; }
.insurance-hero > aside p { color:#c7d4cf; font-size:.8rem; line-height:1.55; }
.insurance-guide-grid { padding:4rem 0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.8rem; }
.insurance-guide-grid article { min-height:360px; padding:1.25rem; display:flex; flex-direction:column; border:1px solid #0a3161; border-radius:1.1rem; background:#fff; }
.insurance-guide-grid article:nth-child(2) { background:#eef4fb; }
.insurance-guide-grid article:nth-child(4) { background:#93caff; }
.insurance-guide-grid article > span { color:#b31942; font-size:.65rem; font-weight:900; letter-spacing:.09em; }
.insurance-guide-grid h2 { margin:2rem 0 .5rem; font:850 1.7rem/1 var(--font-serif),serif; }
.insurance-guide-grid p { color:#59697d; line-height:1.55; }
.insurance-guide-grid ul { margin:auto 0 0; padding-left:1rem; font-size:.8rem; line-height:1.55; }
.insurance-ranking { padding:4rem 0; display:grid; grid-template-columns:1.1fr 1fr 1fr; gap:1rem; border-top:2px solid #0a3161; }
.insurance-ranking > div { padding-right:2rem; }
.insurance-ranking h2 { margin:.4rem 0; font:900 clamp(2.4rem,4vw,4rem)/.95 var(--font-serif),serif; }
.insurance-ranking > div p { color:#59697d; line-height:1.65; }
.insurance-ranking article { padding:1.25rem; border-radius:1.2rem; background:#fff; }
.insurance-ranking article h3 { margin-top:0; }
.insurance-ranking article a { padding:.7rem 0; display:grid; grid-template-columns:2rem 1fr auto; gap:.6rem; border-top:1px solid #dbe3df; color:#0a3161; }
.insurance-ranking article a span { color:#b31942; font-weight:900; }
.insurance-state-directory { padding:4rem 0 5rem; border-top:2px solid #0a3161; }
.insurance-state-directory > div:last-child { display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
.insurance-state-directory > div:last-child > a { min-width:0; padding:.65rem; display:grid; grid-template-columns:60px minmax(120px,1fr) auto auto 1.5rem; gap:.8rem; align-items:center; border:1px solid #cad6d0; border-radius:.8rem; background:#fff; color:#0a3161; }
.insurance-state-directory img { width:60px; height:38px; object-fit:cover; border-radius:.35rem; }
.insurance-state-directory a > span small,.insurance-state-directory a > span b,.insurance-state-directory a > strong small { display:block; }
.insurance-state-directory a > span small,.insurance-state-directory a > strong small { color:#70817a; font-size:.6rem; text-transform:uppercase; }
.insurance-state-directory a > strong { text-align:right; font-size:.85rem; }
.insurance-state-directory a > i { color:#b31942; font-style:normal; font-size:1.2rem; }
.insurance-method { padding:4rem 0 6rem; border-top:2px solid #0a3161; }
.insurance-method > div:first-child { display:grid; grid-template-columns:220px 1fr; align-items:end; }
.insurance-method h2 { margin:0; font:900 clamp(2.4rem,5vw,4.8rem)/.95 var(--font-serif),serif; }
.insurance-method > div:nth-child(2) { margin:2rem 0 1rem; display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.insurance-method article { padding:1.25rem; border:1px solid #c8d3cd; border-radius:1rem; background:#fff; }
.insurance-method article b { font-size:1.1rem; }
.insurance-method article p,.insurance-method > p { color:#59697d; line-height:1.6; }

.state-insurance-hero { padding:4.5rem 0 3rem; display:grid; grid-template-columns:1fr 340px; gap:3rem; align-items:end; }
.state-insurance-hero h1 { font-size:clamp(3rem,7vw,6.2rem); }
.state-insurance-hero > div > p:last-child { max-width:760px; color:#59697d; font-size:1.1rem; line-height:1.7; }
.state-insurance-hero aside { padding:1rem; border:2px solid #0a3161; border-radius:1.2rem; background:#eef4fb; box-shadow:8px 9px 0 #0a3161; }
.state-insurance-hero aside img { width:100%; height:180px; object-fit:cover; border:1px solid #0a3161; border-radius:.75rem; }
.state-insurance-hero aside span,.state-insurance-hero aside b,.state-insurance-hero aside small { display:block; }
.state-insurance-hero aside span { margin-top:.75rem; color:#b31942; font-weight:900; }
.state-insurance-hero aside b { font:850 1.6rem var(--font-serif),serif; }
.insurance-state-numbers { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; padding:1rem 0 4rem; }
.insurance-state-numbers article { padding:1.5rem; border:1px solid #0a3161; border-radius:1.2rem; background:#fff; }
.insurance-state-numbers article:nth-child(2) { background:#93caff; }
.insurance-state-numbers article span { font-size:.68rem; font-weight:900; letter-spacing:.1em; }
.insurance-state-numbers strong { display:block; margin:1rem 0 .2rem; font:900 3rem/1 var(--font-serif),serif; }
.insurance-state-numbers p { color:#59697d; }
.insurance-state-numbers i { padding:.35rem .5rem; display:inline-block; border-radius:999px; background:#eef3f0; font-size:.7rem; font-style:normal; font-weight:800; }
.insurance-state-numbers i.higher { background:#fdf0f3; color:#a53d25; }
.insurance-state-numbers i.lower { background:#e9f8ef; color:#166646; }
.insurance-state-layout { padding:4rem 0 6rem; display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:4rem; border-top:2px solid #0a3161; }
.insurance-state-layout > article > h2 { margin:3.5rem 0 1rem; font:900 clamp(2rem,4vw,3.3rem)/1 var(--font-serif),serif; }
.insurance-state-layout > article > h2:first-of-type { margin-top:.5rem; }
.insurance-state-layout > article > p { max-width:820px; color:#60726b; font-size:1.05rem; line-height:1.75; }
.insurance-quote-table { display:grid; grid-template-columns:repeat(3,1fr); gap:.75rem; }
.insurance-quote-table > div { padding:1rem; display:grid; gap:.5rem; border:1px solid #cbd6d1; border-radius:1rem; background:#fff; }
.insurance-quote-table b { padding-bottom:.55rem; border-bottom:2px solid #d2264f; }
.insurance-quote-table span { padding:.5rem; border-radius:.5rem; background:#f1f4f2; color:#6b7c75; font-size:.8rem; }
.insurance-risk-list { margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:.75rem; list-style:none; }
.insurance-risk-list li { padding:1rem; display:flex; gap:.8rem; border:1px solid #cbd6d1; border-radius:1rem; background:#fff; }
.insurance-risk-list span { color:#b31942; font-weight:900; }
.insurance-risk-list p { margin:0; line-height:1.55; }
.insurance-layer-list { display:grid; gap:.7rem; }
.insurance-layer-list section { padding:1rem; display:grid; grid-template-columns:90px 1fr; gap:1rem; border:1px solid #cbd6d1; border-radius:1rem; background:#fff; }
.insurance-layer-list section > span { color:#b31942; font-size:.68rem; font-weight:900; letter-spacing:.08em; }
.insurance-layer-list h3 { margin:0; font:850 1.35rem var(--font-serif),serif; }
.insurance-layer-list p { color:#59697d; }
.insurance-layer-list ul { padding-left:1.2rem; }
.insurance-faq details { padding:1rem 0; border-top:1px solid #cbd6d1; }
.insurance-faq summary { font-weight:850; cursor:pointer; }
.insurance-faq p { color:#59697d; line-height:1.65; }
.insurance-state-layout > aside { position:sticky; top:100px; height:max-content; padding:1.25rem; border-radius:1.2rem; background:#0a3161; color:#fff; }
.insurance-state-layout > aside > span { color:#eef4fb; font-size:.68rem; font-weight:900; letter-spacing:.1em; }
.insurance-state-layout > aside h3 { font:850 2rem/1 var(--font-serif),serif; }
.insurance-state-layout > aside > a { padding:.85rem 0; display:flex; justify-content:space-between; gap:1rem; border-top:1px solid rgb(255 255 255 / 20%); color:#fff; font-size:.85rem; }
.insurance-state-layout > aside > a.insurance-back-state { margin-top:1rem; padding:.8rem; border:0; border-radius:.7rem; background:#eef4fb; color:#0a3161; font-weight:850; }
.insurance-source-note { margin-bottom:5rem; padding:1.25rem; display:grid; grid-template-columns:120px 1fr; gap:1rem; border:1px solid #d4bd65; border-radius:1rem; background:#fff7d8; }
.insurance-source-note p { margin:0; line-height:1.6; }
.state-insurance-snapshot { margin-top:1rem; margin-bottom:3rem; padding:1.4rem; display:grid; grid-template-columns:1.5fr .7fr .7fr; gap:1rem; align-items:stretch; border:2px solid #0a3161; border-radius:1.25rem; background:#eef4fb; box-shadow:7px 8px 0 #0a3161; }
.state-insurance-snapshot > div h2 { margin:.4rem 0; font:850 2rem/1 var(--font-serif),serif; }
.state-insurance-snapshot > div p { margin:.4rem 0; max-width:620px; }
.state-insurance-snapshot > div a { display:inline-block; margin-top:.5rem; color:#0a3161; font-weight:900; }
.state-insurance-snapshot article { padding:1rem; border:1px solid #0a3161; border-radius:.8rem; background:#fff; }
.state-insurance-snapshot article small,.state-insurance-snapshot article span { display:block; color:#59697d; font-size:.65rem; }
.state-insurance-snapshot article strong { display:block; margin:.7rem 0; font-size:1.7rem; }
.state-insurance-snapshot > i { grid-column:1/-1; font-size:.7rem; font-style:normal; }
.city-insurance-snapshot { margin-top:3rem; margin-bottom:3rem; padding:1.5rem; display:grid; grid-template-columns:1.25fr 1fr auto; gap:1.5rem; align-items:center; border:2px solid #0a3161; border-radius:1.2rem; background:#93caff; box-shadow:7px 8px 0 #0a3161; }
.city-insurance-snapshot h2 { margin:.4rem 0; font:850 2.2rem/1 var(--font-serif),serif; }
.city-insurance-snapshot p { margin-bottom:0; line-height:1.55; }
.city-insurance-snapshot ol { margin:0; padding:0; display:grid; gap:.45rem; list-style:none; }
.city-insurance-snapshot li { display:flex; gap:.6rem; align-items:center; font-weight:750; }
.city-insurance-snapshot li span { width:1.6rem; height:1.6rem; display:grid; place-items:center; border-radius:50%; background:#fff; font-size:.7rem; }
.city-insurance-snapshot > a { padding:.85rem 1rem; border-radius:999px; background:#0a3161; color:#fff; font-weight:850; white-space:nowrap; }

/* Portal and insurance controls in the private dashboard */
.admin-portal-map { max-width:1450px; margin:0 auto 1rem; display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.admin-portal-map article { padding:1.25rem; border:1px solid #d8e1dd; border-top:5px solid #0a3161; border-radius:1rem; background:#fff; box-shadow:0 8px 30px rgb(16 56 44 / 5%); }
.admin-portal-map article:nth-child(2) { border-top-color:#d2264f; }
.admin-portal-map article:nth-child(3) { border-top-color:#4b9fe8; }
.admin-portal-map article:nth-child(4) { border-top-color:#d9aa18; }
.admin-portal-map article > span { color:#b31942; font-size:.7rem; font-weight:900; }
.admin-portal-map h2 { margin:.6rem 0; }
.admin-portal-map p { min-height:5rem; color:#59697d; line-height:1.55; }
.admin-portal-map small { min-height:2.5rem; display:block; color:#819089; }
.admin-portal-map a { display:inline-block; margin-top:1rem; color:#17684f; font-weight:850; }
.portal-admin-note { max-width:1450px; margin:0 auto; }
.insurance-admin { max-width:1450px; margin:0 auto; }
.insurance-admin-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem; }
.insurance-admin-grid form { padding:1rem; display:grid; grid-template-columns:1fr 1fr; gap:.65rem; border:1px solid #d8e1dd; border-radius:1rem; background:#f8fbf9; }
.insurance-admin-grid form > header { grid-column:1/-1; display:grid; grid-template-columns:auto 1fr auto; gap:.6rem; align-items:center; }
.insurance-admin-grid form > header strong { width:2.2rem; height:2.2rem; display:grid; place-items:center; border-radius:.55rem; background:#0a3161; color:#fff; }
.insurance-admin-grid form > header span { color:#b31942; font-size:.8rem; font-weight:900; text-transform:uppercase; }
.insurance-admin-grid form > header small { color:#71827b; font-size:.65rem; }
.insurance-admin-grid label { display:grid; gap:.3rem; color:#5e7068; font-size:.7rem; font-weight:800; }
.insurance-admin-grid label.wide { grid-column:1/-1; }
.insurance-admin-grid input,.insurance-admin-grid select,.insurance-admin-grid textarea { width:100%; padding:.6rem; border:1px solid #cbd8d3; border-radius:.55rem; background:#fff; font:inherit; color:#183229; }
.insurance-admin-grid button,.insurance-admin-view { padding:.65rem; border:0; border-radius:.55rem; background:#0a3161; color:#fff; font:inherit; font-size:.75rem; font-weight:850; text-align:center; cursor:pointer; }
.insurance-admin-view { background:#e5eeea; color:#0a3161; }

@media (max-width:1000px) {
  .portal-hero,.insurance-hero,.state-insurance-hero,.portal-flow,.insurance-state-layout { grid-template-columns:1fr; }
  .portal-hero > aside { width:min(580px,90%); margin:auto; }
  .insurance-guide-grid { grid-template-columns:repeat(2,1fr); }
  .insurance-ranking { grid-template-columns:1fr 1fr; }
  .insurance-ranking > div { grid-column:1/-1; }
  .insurance-state-directory > div:last-child { grid-template-columns:1fr; }
  .insurance-state-layout > aside { position:static; }
  .state-insurance-snapshot { grid-template-columns:1fr 1fr; }
  .state-insurance-snapshot > div { grid-column:1/-1; }
  .city-insurance-snapshot { grid-template-columns:1fr 1fr; }
  .city-insurance-snapshot > div { grid-column:1/-1; }
  .admin-portal-map,.insurance-admin-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:680px) {
  .portal-hero,.insurance-hero,.state-insurance-hero { padding-top:3rem; }
  .portal-hero h1,.insurance-hero h1,.state-insurance-hero h1 { font-size:clamp(2.7rem,15vw,4.5rem); }
  .portal-hero > aside { box-shadow:inset 0 0 0 2.5rem #f5f1e7; }
  .portal-orbit { width:5.3rem; padding:.55rem; }
  .portal-orbit b { font-size:.85rem; }
  .portal-hero > aside > strong { width:5rem; height:5rem; font-size:1.3rem; }
  .portal-pillar-grid,.portal-flow ol,.insurance-guide-grid,.insurance-ranking,.insurance-method > div:nth-child(2),.insurance-state-numbers,.insurance-quote-table,.insurance-risk-list,.state-insurance-snapshot,.city-insurance-snapshot,.admin-portal-map,.insurance-admin-grid { grid-template-columns:1fr; }
  .portal-pillar-grid nav { grid-template-columns:1fr; }
  .portal-pillar-grid > article { box-shadow:5px 6px 0 #0a3161; }
  .insurance-state-directory > div:last-child > a { grid-template-columns:46px 1fr auto 1.2rem; }
  .insurance-state-directory img { width:46px; }
  .insurance-state-directory a > strong:nth-of-type(2) { display:none; }
  .insurance-method > div:first-child { grid-template-columns:1fr; gap:.6rem; }
  .insurance-layer-list section { grid-template-columns:1fr; }
  .insurance-source-note { grid-template-columns:1fr; }
  .city-insurance-snapshot > div { grid-column:auto; }
  .city-insurance-snapshot > a { white-space:normal; text-align:center; }
  .admin-portal-map article p { min-height:0; }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: clip;
  background:
    radial-gradient(circle at 8% 6%, rgb(10 49 97 / 10%), transparent 25rem),
    radial-gradient(circle at 92% 18%, rgb(179 25 66 / 10%), transparent 24rem),
    radial-gradient(circle at 45% 58%, rgb(18 63 120 / 6%), transparent 30rem),
    var(--paper);
  color: var(--ink);
  font-family: "Manrope", Arial, sans-serif;
}

main > footer {
  display: none;
}

.site-footer {
  padding: 0;
  display: block;
  border-top: 6px solid var(--usa-red, #b31942);
  background: #071f3f;
  color: white;
}

.footer-feature {
  padding: 72px 0;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 48px;
  border-bottom: 1px solid rgb(255 255 255 / 14%);
}

.footer-feature .section-number {
  color: var(--lime);
}

.footer-feature h2 {
  max-width: 720px;
  margin: 18px 0 0;
  font-size: clamp(38px, 5vw, 68px);
  line-height: 1;
  letter-spacing: -.06em;
}

.footer-estimate {
  min-width: 245px;
  padding: 17px 19px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  background: var(--lime);
  color: var(--green);
  font-size: 13px;
  font-weight: 800;
}

.footer-estimate span {
  font-size: 18px;
}

.footer-grid {
  padding: 64px 0 54px;
  display: grid;
  grid-template-columns: 1.5fr .7fr .7fr .9fr;
  gap: 54px;
}

.footer-brand .brand {
  width: fit-content;
}

.footer-brand p {
  max-width: 350px;
  margin: 23px 0 26px;
  color: #c4d2e3;
  font-size: 12px;
  line-height: 1.75;
}

.social-links {
  display: flex;
  gap: 9px;
}

.social-links a {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgb(255 255 255 / 22%);
  border-radius: 13px 13px 13px 3px;
  color: white;
  font-size: 19px;
  font-weight: 800;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}

.social-links a:hover {
  transform: translateY(-3px);
  background: var(--lime);
  color: var(--green);
}

.footer-column {
  display: grid;
  align-content: start;
  gap: 13px;
}

.footer-column b,
.footer-coverage b {
  margin-bottom: 8px;
  color: white;
  font: 10px "DM Mono", monospace;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.footer-column a {
  width: fit-content;
  color: #c4d2e3;
  font-size: 12px;
}

.footer-column a:hover {
  color: var(--lime);
}

.footer-coverage {
  padding: 25px;
  display: grid;
  align-content: start;
  border-radius: 23px 23px 23px 6px;
  background: #19493c;
}

.footer-coverage > span {
  color: var(--lime);
  font-size: 57px;
  font-weight: 700;
  line-height: .9;
  letter-spacing: -.07em;
}

.footer-coverage b {
  margin-top: 14px;
}

.footer-coverage p {
  color: #c4d2e3;
  font-size: 11px;
  line-height: 1.6;
}

.footer-coverage a {
  margin-top: 12px;
  color: var(--lime);
  font-size: 11px;
  font-weight: 800;
}

.footer-bottom {
  min-height: 72px;
  padding: 18px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgb(255 255 255 / 14%);
  color: #91ada3;
  font: 9px "DM Mono", monospace;
  letter-spacing: .04em;
}

.footer-bottom p {
  margin: 0;
}

button,
input {
  font: inherit;
}

.sr-only {
  width: 1px;
  height: 1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

.shell {
  width: min(1180px, calc(100% - 48px));
  margin-inline: auto;
}

.nav {
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
}
.site-header { position: relative; z-index: 50; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); box-shadow: 0 10px 28px rgb(15 81 63 / 7%); }
.site-header-inner { min-height: 76px; display: flex; align-items: center; gap: 26px; }
.site-navigation { flex: 1; display: flex; justify-content: center; align-items: center; gap: 22px; }
.site-navigation a { color: var(--ink); font-size: 11px; font-weight: 750; white-space: nowrap; }
.site-navigation a:first-child { color: var(--orange); }
.site-header-cta { padding: 12px 16px; border-radius: 12px 12px 12px 3px; background: linear-gradient(135deg, var(--green), #278064); color: white; box-shadow: 6px 7px 0 var(--lime); font-size: 10px; font-weight: 800; white-space: nowrap; transition: transform .2s ease; }
.site-header-cta:hover { transform: translate(-2px,-2px); }
.site-menu-button { display: none; border: 0; background: transparent; color: var(--green); font-weight: 800; }
.site-pulse-strip { height: 25px; overflow: hidden; background: linear-gradient(90deg, var(--orange), #f1974f 45%, var(--lime)); color: var(--green); }
.site-pulse-strip > div { width: max-content; height: 100%; display: flex; align-items: center; gap: 22px; animation: site-pulse-scroll 28s linear infinite; }
.site-pulse-strip span { font: 800 8px "DM Mono", monospace; letter-spacing: .13em; }
.site-pulse-strip i { color: white; font-style: normal; }
@keyframes site-pulse-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .site-pulse-strip > div, .hero::before, .editorial-hero::after, .guide-bars > div > i span { animation: none !important; }
}

/* Reading and page-sharing tools */
.reading-share-tools {
  position: relative;
  z-index: 45;
  border-bottom: 1px solid rgb(15 81 63 / 10%);
  background: linear-gradient(90deg, #f6fbf6, #fff8ee 58%, #f3f9dc);
  box-shadow: 0 8px 22px rgb(15 81 63 / 4%);
}
.reading-share-tools-inner {
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 24px;
}
.reading-size-control,
.page-share-control {
  display: flex;
  align-items: center;
  gap: 9px;
}
.reading-size-control > span,
.page-share-control > span {
  color: var(--muted);
  font: 800 8px "DM Mono", monospace;
  letter-spacing: .12em;
}
.reading-size-control > div,
.page-share-control > div {
  display: flex;
  align-items: center;
  gap: 5px;
}
.reading-size-control button,
.page-share-control button {
  height: 32px;
  border: 1px solid rgb(15 81 63 / 14%);
  background: rgb(255 255 255 / 88%);
  color: var(--ink);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.reading-size-control button:hover,
.page-share-control button:hover {
  transform: translateY(-2px);
  border-color: rgb(15 81 63 / 32%);
  box-shadow: 0 5px 12px rgb(15 81 63 / 9%);
}
.reading-size-control button {
  width: 34px;
  border-radius: 10px;
  font-weight: 850;
}
.reading-size-control button:nth-child(1) { font-size: 11px; }
.reading-size-control button:nth-child(2) { font-size: 13px; }
.reading-size-control button:nth-child(3) { font-size: 15px; }
.reading-size-control button.is-active {
  border-color: var(--green);
  background: var(--green);
  color: white;
}
.page-share-control { margin-left: auto; }
.page-share-control button {
  padding: 0 9px 0 5px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border-radius: 999px;
}
.page-share-control button b {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: white;
  font-size: 10px;
  line-height: 1;
}
.page-share-control button i {
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
}
.share-whatsapp b { background: #16a85a; }
.share-x b { background: #111; }
.share-facebook b { background: #1877f2; font-family: Arial, sans-serif; }
.share-instagram b { background: linear-gradient(135deg, #7c3aed, #ec4899 55%, #f59e0b); font-size: 15px !important; }
.share-copy b { background: var(--orange); }
.reading-share-status {
  min-width: 0;
  margin: 0;
  color: var(--green);
  font-size: 9px;
  font-weight: 750;
  white-space: nowrap;
}

html[data-reading-size="small"] main {
  --reading-font-adjustment: -1px;
}
html[data-reading-size="normal"] main {
  --reading-font-adjustment: 0px;
}
html[data-reading-size="large"] main {
  --reading-font-adjustment: 2px;
}
html[data-reading-size] main :where(p, li, summary, td, th, dd, figcaption) {
  font-size: calc(1em + var(--reading-font-adjustment, 0px));
}

@media (max-width: 760px) {
  .reading-share-tools-inner {
    min-height: auto;
    padding-block: 9px;
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }
  .page-share-control {
    width: 100%;
    margin-left: 0;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .page-share-control::-webkit-scrollbar { display: none; }
  .page-share-control > div { width: max-content; }
  .reading-share-status {
    width: 100%;
    white-space: normal;
  }
}

/* Config-driven project cost platform */
.project-calculator-page {
  --calc-navy: #102a24;
  --calc-green: #176e55;
  --calc-lime: #eef4fb;
  --calc-orange: #ef6a43;
}

.project-calculator-experience,
.project-calculator-with-products {
  display: grid;
  gap: 34px;
}

.project-calculator {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  border: 1px solid var(--line);
  background: #ffffff;
  box-shadow: 16px 18px 0 rgb(15 81 63 / 10%);
}

.project-calculator-fields {
  padding: clamp(24px, 4vw, 44px);
  display: grid;
  gap: 28px;
}

.calculator-field-group {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  border: 0;
}

.calculator-field-group > span,
.calculator-field-group > legend {
  grid-column: 1 / -1;
  margin-bottom: 3px;
  color: var(--calc-orange);
  font: 800 10px "DM Mono", monospace;
  letter-spacing: .1em;
}

.calculator-field-group label {
  min-width: 0;
  display: grid;
  gap: 7px;
  color: #4e625b;
  font-size: 11px;
  font-weight: 800;
}

.calculator-field-group input,
.calculator-field-group select,
.project-lead-card input,
.project-lead-card textarea,
.cost-location-grid input {
  width: 100%;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid #cdd8d3;
  border-radius: 0;
  background: #fff;
  color: var(--ink);
  font: inherit;
}

.calculator-field-group input:focus,
.calculator-field-group select:focus,
.project-lead-card input:focus,
.project-lead-card textarea:focus {
  outline: 3px solid rgb(217 255 143 / 45%);
  border-color: var(--calc-green);
}

.calculator-field-group small {
  color: #7a8a84;
  font-weight: 500;
}

.option-group {
  grid-template-columns: 1fr;
}

.option-group label {
  padding: 13px 0;
  display: flex;
  grid-template-columns: none;
  align-items: flex-start;
  gap: 12px;
  border-bottom: 1px solid #e0e6e2;
  cursor: pointer;
}

.option-group input,
.lead-consent input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--calc-green);
}

.option-group label span {
  display: grid;
  gap: 4px;
}

.option-group label b { color: var(--ink); }

.calculate-project-button {
  width: 100%;
  padding: 17px 20px;
  border: 0;
  background: var(--calc-orange);
  color: #fff;
  font: 900 13px "DM Mono", monospace;
  letter-spacing: .04em;
  cursor: pointer;
}

.calculate-project-button:hover { background: #d94f2a; }

.project-result {
  padding: clamp(28px, 4vw, 48px);
  background: var(--calc-navy);
  color: #fff;
}

.project-result > span,
.project-lead-card > div > span,
.calculator-national-strip > div > span,
.calculator-depth-grid article > span,
.local-project-analysis article > span {
  color: var(--calc-lime);
  font: 800 10px "DM Mono", monospace;
  letter-spacing: .1em;
}

.project-result h2 {
  margin: 16px 0 8px;
  color: #fff;
  font-size: clamp(38px, 5vw, 62px);
  letter-spacing: -.065em;
}

.project-result > p {
  color: #bdd2ca;
  font-size: 12px;
  line-height: 1.6;
}

.estimate-three {
  margin: 26px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid rgb(255 255 255 / 18%);
}

.estimate-three article {
  padding: 14px 10px;
  display: grid;
  gap: 5px;
  border-right: 1px solid rgb(255 255 255 / 18%);
}

.estimate-three article:last-child { border-right: 0; }
.estimate-three small { color: var(--calc-lime); font: 8px "DM Mono", monospace; }
.estimate-three b { font-size: 14px; }

.cost-breakdown-bars {
  display: grid;
  gap: 14px;
}

.cost-breakdown-bars > div {
  display: grid;
  gap: 7px;
}

.cost-breakdown-bars span {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: #d6e3de;
  font-size: 11px;
}

.cost-breakdown-bars > div::after {
  content: "";
  height: 6px;
  grid-row: 2;
  grid-column: 1;
  background: rgb(255 255 255 / 12%);
}

.cost-breakdown-bars i {
  z-index: 1;
  height: 6px;
  grid-row: 2;
  grid-column: 1;
  background: linear-gradient(90deg, var(--calc-lime), var(--calc-orange));
}

.project-result dl { margin: 26px 0; }
.project-result dl > div { padding: 12px 0; display: flex; justify-content: space-between; gap: 18px; border-top: 1px solid rgb(255 255 255 / 14%); }
.project-result dt { color: #abc1b9; font-size: 11px; }
.project-result dd { margin: 0; font-size: 12px; font-weight: 850; text-align: right; }
.project-result .estimate-disclaimer { padding: 13px; border: 1px solid rgb(217 255 143 / 28%); background: rgb(217 255 143 / 6%); color: #d4e5df; }
.result-actions { display: flex; gap: 9px; }
.result-actions button { flex: 1; padding: 11px; border: 1px solid rgb(255 255 255 / 24%); background: transparent; color: #fff; font: 800 10px "DM Mono", monospace; cursor: pointer; }
.result-actions button:hover { background: var(--calc-lime); color: var(--calc-navy); }
.share-status { display: block; margin-top: 10px; color: var(--calc-lime); }

/* Construction intelligence workspace */
.project-intelligence {
  display: grid;
  gap: 24px;
  padding: clamp(28px, 5vw, 62px);
  border: 1px solid #cbd7e7;
  background: #eef4fb;
}

.project-intelligence > header {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
  gap: 32px;
  align-items: end;
}

.project-intelligence > header span,
.intelligence-card > span,
.project-intelligence-actions > div > span {
  color: #b31942;
  font: 800 11px "DM Mono", monospace;
  letter-spacing: .1em;
}

.project-intelligence > header h2 {
  max-width: 850px;
  margin: 12px 0 0;
  font: 700 clamp(38px, 5vw, 68px)/.96 "Newsreader", Georgia, serif;
  letter-spacing: -.045em;
}

.project-intelligence > header p {
  margin: 0;
  color: #52657d;
  line-height: 1.7;
}

.intelligence-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
  border: 1px solid #b9c9dc;
  background: #fff;
}

.intelligence-jump a {
  padding: 9px 12px;
  border-radius: 999px;
  background: #e8f0fa;
  color: #0a3161;
  font-size: 12px;
  font-weight: 850;
}

.construction-advisor {
  overflow: hidden;
  border: 1px solid #071f3f;
  border-top: 8px solid #b31942;
  background: #071f3f;
  color: #fff;
  box-shadow: 16px 16px 0 #c8d8ea;
}

.construction-advisor > header {
  padding: clamp(24px, 4vw, 44px);
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(250px, .75fr);
  gap: 30px;
  align-items: end;
  border-bottom: 1px solid rgb(255 255 255 / 18%);
  background:
    radial-gradient(circle at 92% 0, rgb(179 25 66 / 28%), transparent 32%),
    #071f3f;
}

.construction-advisor > header span,
.advisor-message > span {
  color: #ff6b8e;
  font: 800 11px "DM Mono", monospace;
  letter-spacing: .1em;
}

.construction-advisor > header h3 {
  max-width: 780px;
  margin: 11px 0 0;
  color: #fff;
  font: 700 clamp(38px, 5vw, 66px)/.94 "Newsreader", Georgia, serif;
  letter-spacing: -.045em;
}

.construction-advisor > header p {
  margin: 0;
  color: #c8d6e7;
  font-size: 16px;
  line-height: 1.65;
}

.advisor-prompt-row {
  padding: 14px clamp(18px, 4vw, 44px);
  display: flex;
  gap: 8px;
  overflow-x: auto;
  border-bottom: 1px solid rgb(255 255 255 / 15%);
  scrollbar-width: thin;
}

.advisor-prompt-row button {
  min-height: 40px;
  padding: 9px 13px;
  flex: 0 0 auto;
  border: 1px solid rgb(255 255 255 / 32%);
  border-radius: 999px;
  background: rgb(255 255 255 / 7%);
  color: #fff;
  font: 750 12px/1.2 "Manrope", sans-serif;
  cursor: pointer;
}

.advisor-prompt-row button:hover,
.advisor-prompt-row button:focus-visible {
  border-color: #ff6b8e;
  background: #b31942;
}

.advisor-conversation {
  max-height: 720px;
  padding: clamp(20px, 4vw, 42px);
  display: grid;
  gap: 18px;
  overflow-y: auto;
  background:
    linear-gradient(90deg, transparent 49.8%, rgb(255 255 255 / 4%) 50%, transparent 50.2%),
    #0a2447;
}

.advisor-message {
  width: min(100%, 920px);
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 22px;
}

.advisor-message.is-user {
  width: min(82%, 720px);
  padding: 16px 18px;
  grid-template-columns: 68px minmax(0, 1fr);
  justify-self: end;
  border: 1px solid rgb(255 255 255 / 20%);
  background: #fff;
  color: #071f3f;
}

.advisor-message.is-user > span { color: #b31942; }
.advisor-message.is-user p { margin: 0; font-weight: 750; }

.advisor-message.is-advisor {
  padding: clamp(18px, 3vw, 30px);
  border-left: 5px solid #ff6b8e;
  background: #fff;
  color: #071f3f;
}

.advisor-message.is-advisor > div { min-width: 0; }
.advisor-message h4 {
  margin: 0 0 10px;
  color: #071f3f;
  font: 700 clamp(25px, 3vw, 38px)/1 "Newsreader", Georgia, serif;
}

.advisor-message.is-advisor strong {
  margin: 4px 0 12px;
  display: block;
  color: #b31942;
  font: 800 clamp(24px, 3vw, 38px)/1 "Manrope", sans-serif;
}

.advisor-message.is-advisor p {
  margin: 0 0 14px;
  color: #3f5570;
  font-size: 15px;
  line-height: 1.65;
}

.advisor-message.is-advisor ul {
  margin: 0;
  padding: 0;
  display: grid;
  list-style: none;
}

.advisor-message.is-advisor li {
  padding: 10px 0 10px 22px;
  position: relative;
  border-top: 1px solid #d9e2ec;
  color: #1e3857;
  font-size: 14px;
  line-height: 1.55;
}

.advisor-message.is-advisor li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: #b31942;
  font-weight: 900;
}

.advisor-message.is-advisor small {
  margin-top: 14px;
  padding-top: 12px;
  display: block;
  border-top: 1px dashed #aebed2;
  color: #5d7086;
  line-height: 1.5;
}

.construction-advisor > form {
  padding: clamp(20px, 4vw, 38px);
  border-top: 1px solid rgb(255 255 255 / 18%);
  background: #071f3f;
}

.construction-advisor > form > label {
  display: block;
  margin-bottom: 9px;
  color: #dbe7f4;
  font-weight: 800;
}

.construction-advisor > form > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
}

.construction-advisor > form input {
  min-width: 0;
  min-height: 58px;
  padding: 15px 17px;
  border: 1px solid #8da5c0;
  border-right: 0;
  background: #fff;
  color: #071f3f;
  font: 600 16px "Manrope", sans-serif;
}

.construction-advisor > form button {
  min-height: 58px;
  padding: 14px 20px;
  border: 1px solid #ff6b8e;
  background: #b31942;
  color: #fff;
  font: 800 12px "DM Mono", monospace;
  cursor: pointer;
}

.construction-advisor > form button:disabled {
  border-color: #637891;
  background: #3d526b;
  cursor: not-allowed;
}

.construction-advisor > form > small {
  margin-top: 9px;
  display: block;
  color: #aebfd1;
}

.intelligence-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.intelligence-card {
  min-width: 0;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid #c5d2e2;
  border-top: 6px solid #0a3161;
  background: #fff;
}

.intelligence-card h3 {
  margin: 12px 0 22px;
  font: 700 clamp(27px, 3vw, 39px)/1 "Newsreader", Georgia, serif;
  letter-spacing: -.025em;
}

.intelligence-card p {
  color: #52657d;
  line-height: 1.6;
}

.project-plan-card ol {
  margin: 0;
  padding: 0;
  display: grid;
  list-style: none;
}

.project-plan-card li {
  padding: 14px 0;
  border-top: 1px solid #dae2ec;
}

.project-plan-card li b { color: #0a3161; }
.project-plan-card li p { margin: 5px 0 0; }
.project-plan-card > small,
.optimizer-card > small { display: block; margin-top: 18px; color: #65778d; line-height: 1.5; }

.quote-check-card { border-top-color: #b31942; }
.quote-check-card label { display: grid; gap: 7px; color: #344c69; font-weight: 800; }
.quote-check-card input,
.project-intelligence-actions input {
  width: 100%;
  padding: 14px;
  border: 1px solid #aebed2;
  background: #fff;
  color: #071f3f;
  font: inherit;
}

.quote-verdict { margin-top: 18px; padding: 20px; border-left: 6px solid #0a3161; background: #eaf2fb; }
.quote-verdict.is-high { border-left-color: #b31942; background: #fff0f3; }
.quote-verdict.is-low { border-left-color: #bf7d08; background: #fff8e7; }
.quote-verdict b { font-size: 20px; }
.quote-verdict p { margin: 7px 0; }

.cost-history-card { grid-column: 1 / -1; }
.history-bars {
  height: 280px;
  padding: 24px 12px 0;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: clamp(8px, 2vw, 24px);
  align-items: end;
  border-bottom: 1px solid #91a6bf;
  background: linear-gradient(#fff 24%, #e5edf7 25%, #fff 26%, #fff 49%, #e5edf7 50%, #fff 51%, #fff 74%, #e5edf7 75%, #fff 76%);
}

.history-bars > div { height: 100%; display: grid; grid-template-rows: 1fr auto auto; gap: 7px; align-items: end; text-align: center; }
.history-bars i { width: 74%; max-width: 74px; min-height: 18%; justify-self: center; display: block; background: linear-gradient(#b31942, #0a3161); }
.history-bars b { color: #0a3161; }
.history-bars small { min-height: 30px; color: #52657d; font-size: 10px; }

.material-table { display: grid; gap: 10px; }
.material-table > div { padding: 17px; display: grid; grid-template-columns: 1fr auto; gap: 7px 18px; border: 1px solid #d1dce8; }
.material-table > div.is-selected { border: 3px solid #0a3161; background: #eef4fb; }
.material-table strong { color: #b31942; font-size: 19px; }
.material-table p { grid-column: 1 / -1; margin: 0; }

.cost-map-card { grid-row: span 2; }
.state-cost-map { display: grid; grid-template-columns: repeat(8, 1fr); gap: 5px; }
.state-cost-map a { min-height: 53px; padding: 7px; display: grid; place-items: center; border: 1px solid #c7d4e3; background: #fff; color: #0a3161; }
.state-cost-map a.low { background: #d9edf3; }
.state-cost-map a.mid { background: #eef4fb; }
.state-cost-map a.high { background: #f8dfe5; }
.state-cost-map a.current { outline: 4px solid #b31942; outline-offset: -3px; }
.state-cost-map small { font-size: 9px; }
.local-city-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.local-city-links a { padding: 8px 10px; border: 1px solid #b8c8da; background: #fff; color: #0a3161; font-size: 12px; font-weight: 800; }

.optimizer-card > div { display: grid; gap: 10px; }
.optimizer-card section { padding: 16px; display: grid; grid-template-columns: 1fr auto; gap: 5px 14px; border: 1px solid #d3dde8; }
.optimizer-card section strong { color: #16704f; }
.optimizer-card section p { grid-column: 1 / -1; margin: 0; }

.project-intelligence-actions {
  padding: 22px;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto auto minmax(220px, .65fr) auto;
  gap: 12px;
  align-items: end;
  background: #071f3f;
  color: #fff;
}

.project-intelligence-actions h3 { margin: 8px 0 5px; color: #fff; }
.project-intelligence-actions p { margin: 0; color: #c8d6e7; font-size: 12px; }
.project-intelligence-actions > label { display: grid; gap: 6px; color: #dbe6f3; font-size: 11px; font-weight: 800; }
.project-intelligence-actions > button,
.project-intelligence-actions > a {
  min-height: 48px;
  padding: 13px 16px;
  display: grid;
  place-items: center;
  border: 1px solid #fff;
  background: #fff;
  color: #0a3161;
  font: 800 11px "DM Mono", monospace;
  cursor: pointer;
}
.project-intelligence-actions > a { background: #b31942; color: #fff; }
.project-intelligence-actions > button:disabled { opacity: .45; cursor: not-allowed; }
.project-intelligence-actions > p { grid-column: 1 / -1; color: #fff; }

.project-board-page { min-height: 80vh; padding-bottom: 90px; background: #eef4fb; }
.project-board-page > header { padding-top: clamp(50px, 8vw, 100px); padding-bottom: 46px; }
.project-board-page h1 { max-width: 1000px; margin: 14px 0; font: 700 clamp(48px, 7vw, 92px)/.9 "Newsreader", Georgia, serif; letter-spacing: -.05em; }
.project-board-page > header p { max-width: 780px; color: #52657d; font-size: 20px; line-height: 1.65; }
.project-board-empty { padding: clamp(30px, 6vw, 70px); border: 1px solid #b9c9dc; background: #fff; text-align: center; }
.project-board-empty h2 { font-size: clamp(34px, 5vw, 58px); }
.project-board-empty p { max-width: 680px; margin: 0 auto 24px; color: #52657d; }
.project-board-empty a { display: inline-block; padding: 14px 18px; background: #b31942; color: #fff; font-weight: 850; }
.project-board-app { display: grid; gap: 18px; }
.project-board-app > header { display: flex; justify-content: space-between; gap: 20px; align-items: end; }
.project-board-app > header span { color: #b31942; font: 800 11px "DM Mono", monospace; }
.project-board-app > header h2 { margin: 8px 0 0; font-size: clamp(32px, 4vw, 52px); }
.project-board-app > header button { padding: 12px 15px; border: 0; background: #0a3161; color: #fff; font-weight: 800; }
.project-board-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.project-board-summary article { padding: 22px; border-top: 6px solid #b31942; background: #071f3f; color: #fff; }
.project-board-summary span { display: block; color: #b9cce2; font-size: 12px; }
.project-board-summary strong { display: block; margin-top: 8px; font-size: clamp(25px, 3vw, 39px); }
.project-board-table { border: 1px solid #b9c9dc; background: #fff; overflow-x: auto; }
.project-board-row { min-width: 1000px; padding: 15px; display: grid; grid-template-columns: 1.2fr 1fr 1.2fr .8fr .8fr auto; gap: 18px; align-items: center; border-bottom: 1px solid #dbe3ed; }
.project-board-row > div:first-child { display: grid; gap: 4px; }
.project-board-row small { color: #65778d; }
.project-board-row > div:last-child { display: flex; gap: 7px; }
.project-board-row a,
.project-board-row button { padding: 8px 10px; border: 1px solid #a9bad0; background: #fff; color: #0a3161; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.project-board-head { background: #0a3161; color: #fff; font-size: 11px; }

@media (max-width: 980px) {
  .project-intelligence > header,
  .construction-advisor > header,
  .intelligence-grid { grid-template-columns: 1fr; }
  .cost-history-card,
  .cost-map-card { grid-column: auto; grid-row: auto; }
  .project-intelligence-actions { grid-template-columns: 1fr 1fr; }
  .project-intelligence-actions > div,
  .project-intelligence-actions > p { grid-column: 1 / -1; }
  .project-board-summary { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .project-intelligence { padding: 22px 15px; }
  .project-intelligence > header h2 { font-size: 38px; }
  .construction-advisor { box-shadow: 7px 7px 0 #c8d8ea; }
  .construction-advisor > header h3 { font-size: 40px; }
  .advisor-conversation { max-height: 640px; padding: 16px 12px; }
  .advisor-message,
  .advisor-message.is-user {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 9px;
  }
  .advisor-message.is-advisor { padding: 18px 15px; }
  .construction-advisor > form > div { grid-template-columns: 1fr; gap: 8px; }
  .construction-advisor > form input { border-right: 1px solid #8da5c0; }
  .intelligence-card { padding: 21px 16px; }
  .history-bars { height: 230px; gap: 4px; padding-inline: 4px; }
  .history-bars small { font-size: 8px; writing-mode: vertical-rl; }
  .state-cost-map { grid-template-columns: repeat(5, 1fr); }
  .optimizer-card section,
  .material-table > div { grid-template-columns: 1fr; }
  .optimizer-card section p,
  .material-table p { grid-column: auto; }
  .project-intelligence-actions { grid-template-columns: 1fr; }
  .project-intelligence-actions > div,
  .project-intelligence-actions > p { grid-column: auto; }
  .project-board-app > header { display: grid; }
}

.project-lead-card {
  padding: clamp(26px, 5vw, 48px);
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(28px, 5vw, 70px);
  border: 1px solid #f0bea9;
  background: #fdf0f3;
}

/* Human-readable site map */
.html-sitemap-page {
  padding-bottom: 90px;
  background: #eef4fb;
}

.html-sitemap-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.html-sitemap-grid > section {
  min-width: 0;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid #b8c8da;
  border-top: 6px solid #0a3161;
  background: #fff;
}

.html-sitemap-grid > section:nth-child(2n) { border-top-color: #b31942; }
.html-sitemap-grid > section.wide { grid-column: 1 / -1; }
.html-sitemap-grid h2 {
  margin: 0 0 18px;
  color: #071f3f;
  font: 700 clamp(28px, 3vw, 42px)/1 "Newsreader", Georgia, serif;
}

.html-sitemap-grid > section > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 18px;
}

.html-sitemap-grid a {
  min-width: 0;
  padding: 11px 0;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  border-top: 1px solid #d8e1eb;
  color: #0a3161;
  font-size: 13px;
  font-weight: 750;
}

.html-sitemap-grid a span { color: #b31942; }
.html-sitemap-grid .sitemap-state-links { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.sitemap-state-links a { justify-content: flex-start; }
.sitemap-state-links b { width: 30px; color: #b31942; }
.html-sitemap-grid .sitemap-trust-links { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.sitemap-machine-feeds {
  margin-top: 18px;
  padding: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) repeat(3, auto);
  gap: 12px;
  align-items: center;
  background: #071f3f;
  color: #fff;
}

.sitemap-machine-feeds h2 { margin: 6px 0 0; color: #fff; }
.sitemap-machine-feeds a {
  padding: 11px 13px;
  border: 1px solid rgb(255 255 255 / 35%);
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.policy-choice-action {
  margin: 20px 0;
  padding: 18px;
  border-left: 5px solid #b31942;
  background: #eef4fb;
}

.policy-choice-action .footer-privacy-choices {
  padding: 12px 16px;
  border: 0;
  background: #0a3161;
  color: #fff;
  font: 800 12px "DM Mono", monospace;
  cursor: pointer;
}

@media (max-width: 900px) {
  .html-sitemap-grid,
  .sitemap-machine-feeds { grid-template-columns: 1fr; }
  .html-sitemap-grid > section.wide { grid-column: auto; }
  .html-sitemap-grid .sitemap-state-links,
  .html-sitemap-grid .sitemap-trust-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .html-sitemap-grid > section > div,
  .html-sitemap-grid .sitemap-state-links,
  .html-sitemap-grid .sitemap-trust-links { grid-template-columns: 1fr; }
}

.project-lead-card > div > span { color: var(--calc-orange); }
.project-lead-card h2 { margin: 15px 0; font-size: clamp(30px, 4vw, 48px); }
.project-lead-card p { color: #59697d; line-height: 1.7; }
.project-lead-card form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.project-lead-card label { display: grid; gap: 6px; color: #4e625b; font-size: 11px; font-weight: 800; }
.project-lead-card .wide { grid-column: 1 / -1; }
.project-lead-card .lead-consent { display: flex; align-items: flex-start; gap: 9px; font-weight: 600; line-height: 1.5; }
.project-lead-card button { padding: 14px 18px; border: 0; background: var(--calc-green); color: #fff; font: 850 11px "DM Mono", monospace; cursor: pointer; }
.project-lead-card form > p { margin: 0; align-self: center; font-size: 12px; font-weight: 750; }

.calculator-national-strip {
  margin-top: 100px;
  padding: 34px;
  display: grid;
  grid-template-columns: 1.6fr repeat(3, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.calculator-national-strip > * { padding: 24px; background: #ffffff; }
.calculator-national-strip > div > span,
.calculator-depth-grid article > span,
.local-project-analysis article > span { color: var(--calc-orange); }
.calculator-national-strip h2 { margin: 12px 0; font-size: 30px; }
.calculator-national-strip p { margin: 0; color: var(--muted); line-height: 1.6; }
.calculator-national-strip article { display: grid; align-content: center; gap: 8px; }
.calculator-national-strip article small { color: var(--calc-green); font: 9px "DM Mono", monospace; }
.calculator-national-strip article b { font-size: clamp(24px, 3vw, 36px); }

.local-cost-comparison { padding: 100px 0 40px; }
.state-cost-table { border-top: 1px solid var(--line); }
.state-cost-table a { padding: 21px 10px; display: grid; grid-template-columns: 1fr auto 150px; gap: 25px; align-items: center; border-bottom: 1px solid var(--line); }
.state-cost-table a:hover { background: var(--lime-soft); }
.state-cost-table span { display: grid; gap: 5px; }
.state-cost-table small { color: var(--muted); }
.state-cost-table strong { font-size: 20px; }
.state-cost-table i { color: var(--calc-green); font: normal 10px "DM Mono", monospace; text-align: right; }
.city-cost-shortcuts { margin-top: 24px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.city-cost-shortcuts > * { min-height: 145px; padding: 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.city-cost-shortcuts > div { grid-column: span 3; min-height: auto; display: flex; justify-content: space-between; gap: 25px; background: var(--calc-navy); color: #fff; }
.city-cost-shortcuts > div span { color: var(--calc-lime); font: 900 9px "DM Mono", monospace; }
.city-cost-shortcuts > div strong { font-size: 14px; }
.city-cost-shortcuts > a { display: flex; flex-direction: column; background: #fff; transition: background .2s, transform .2s; }
.city-cost-shortcuts > a:hover { z-index: 2; background: var(--lime-soft); transform: translateY(-2px); }
.city-cost-shortcuts > a small { color: var(--orange); font: 900 9px "DM Mono", monospace; }
.city-cost-shortcuts > a b { margin: 18px 0 10px; font-size: 18px; line-height: 1.15; }
.city-cost-shortcuts > a span { margin-top: auto; color: var(--calc-green); font-size: 11px; font-weight: 900; }

.calculator-depth-grid {
  padding: 70px 0 40px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.calculator-depth-grid article {
  padding: clamp(25px, 4vw, 42px);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.calculator-depth-grid h2,
.local-project-analysis h2 { margin: 16px 0; font-size: clamp(27px, 3vw, 39px); }
.calculator-depth-grid p,
.calculator-depth-grid li,
.local-project-analysis p,
.local-project-analysis li { color: var(--muted); line-height: 1.75; }
.calculator-source-list { padding: 0; list-style: none; }
.calculator-source-list li { margin: 14px 0; display: grid; gap: 4px; }
.calculator-source-list a { color: var(--calc-green); font-weight: 800; }
.calculator-source-list small { color: #84918c; }

.local-project-hero {
  padding: 55px 0 70px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 55px;
  align-items: end;
}

.local-project-hero .breadcrumbs { grid-column: 1 / -1; margin-bottom: 0; }
.local-project-hero h1 { max-width: 900px; margin: 15px 0 20px; font-size: clamp(46px, 6vw, 78px); }
.local-project-hero h1 small { margin-top: 12px; display: block; color: var(--orange); font: 900 12px "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; }
.local-project-hero > div > p { max-width: 780px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.local-project-hero aside { min-width: 280px; padding: 28px; display: grid; gap: 9px; background: var(--calc-navy); color: #fff; }
.local-project-hero aside small { color: var(--calc-lime); font: 9px "DM Mono", monospace; }
.local-project-hero aside strong { font-size: 30px; }
.local-project-hero aside span { color: #bdd2ca; font-size: 11px; }
.local-project-hero aside b { padding-top: 9px; border-top: 1px solid rgb(255 255 255 / 18%); color: #fff; font-size: 11px; }

.local-project-analysis {
  padding: 100px 0 50px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--line);
}

.local-project-analysis article { padding: 32px; background: #ffffff; }
.local-project-analysis dl { margin: 24px 0 0; }
.local-project-analysis dl div { padding: 10px 0; display: flex; justify-content: space-between; border-top: 1px solid var(--line); }
.local-project-analysis dd { margin: 0; font-weight: 850; }

.calculator-sources { padding: 80px 0; display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; }
.calculator-sources h2 { margin: 14px 0; font-size: 38px; }
.calculator-sources p { color: var(--muted); line-height: 1.7; }
.calculator-sources ul { margin: 0; padding: 0; list-style: none; }
.calculator-sources li { padding: 14px 0; display: grid; gap: 5px; border-bottom: 1px solid var(--line); }
.calculator-sources a { color: var(--calc-green); font-weight: 850; }
.calculator-sources small { color: var(--muted); }

.cost-location-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.cost-location-grid form { padding: 20px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 11px; border: 1px solid #d8e1dd; background: #fbfdfc; }
.cost-location-grid form > div { grid-column: 1 / -1; display: flex; align-items: center; gap: 11px; }
.cost-location-grid form > div span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; background: #0a3161; color: #eef4fb; font-weight: 900; }
.cost-location-grid h3 { margin: 0; }
.cost-location-grid label { display: grid; gap: 5px; color: #5f716a; font-size: 10px; font-weight: 800; }
.cost-location-grid .wide { grid-column: 1 / -1; }
.cost-location-grid button { padding: 10px; border: 0; border-radius: 8px; background: #0a3161; color: #fff; font: 800 10px "DM Mono", monospace; cursor: pointer; }

@media (max-width: 980px) {
  .project-calculator,
  .project-lead-card,
  .local-project-hero,
  .calculator-sources { grid-template-columns: 1fr; }
  .calculator-national-strip { grid-template-columns: 1fr 1fr 1fr; }
  .calculator-national-strip > div { grid-column: 1 / -1; }
  .local-project-analysis { grid-template-columns: 1fr; }
  .cost-location-grid { grid-template-columns: 1fr; }
  .city-cost-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .city-cost-shortcuts > div { grid-column: span 2; }
}

@media (max-width: 680px) {
  .project-calculator { box-shadow: 8px 10px 0 rgb(15 81 63 / 10%); }
  .calculator-field-group,
  .project-lead-card form,
  .calculator-depth-grid { grid-template-columns: 1fr; }
  .calculator-field-group > span,
  .calculator-field-group > legend,
  .project-lead-card .wide { grid-column: 1; }
  .project-result { padding: 27px 20px; }
  .project-result h2 { font-size: 39px; }
  .estimate-three { grid-template-columns: 1fr; }
  .estimate-three article { border-right: 0; border-bottom: 1px solid rgb(255 255 255 / 18%); }
  .estimate-three article:last-child { border-bottom: 0; }
  .calculator-national-strip { margin-top: 70px; padding: 0; grid-template-columns: 1fr; }
  .calculator-national-strip > div { grid-column: 1; }
  .state-cost-table a { grid-template-columns: 1fr auto; }
  .state-cost-table i { grid-column: 1 / -1; text-align: left; }
  .local-project-hero aside { min-width: 0; }
  .local-project-analysis { padding-top: 70px; }
  .cost-location-grid form { grid-template-columns: 1fr 1fr; }
  .city-cost-shortcuts { grid-template-columns: 1fr; }
  .city-cost-shortcuts > div { grid-column: 1; flex-direction: column; gap: 8px; }
}

@media print {
  .site-header,
  .site-footer,
  .reading-share-tools,
  .top-five-widget,
  .project-calculator-fields,
  .project-lead-card,
  .affiliate-recommendations,
  .ad-slot,
  .nav { display: none !important; }
  .project-calculator { display: block; box-shadow: none; border: 0; }
  .project-result { min-height: 100vh; color-adjust: exact; print-color-adjust: exact; }
}

/* City-by-city home services directory */
.directory-hero {
  padding: 84px 0 68px;
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  gap: 70px;
  align-items: end;
  border-bottom: 1px solid var(--press-black);
}
.directory-hero h1 {
  max-width: 940px;
  margin: 14px 0 22px;
  font-size: clamp(52px, 7.5vw, 104px);
  line-height: .86;
  letter-spacing: -.07em;
}
.directory-hero > div > p {
  max-width: 750px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.7;
}
.directory-hero aside {
  padding: 28px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 16px;
  border-top: 6px solid var(--press-red);
  background: var(--press-black);
  color: white;
}
.directory-hero aside b { color: var(--lime); font: 700 48px "Newsreader", Georgia, serif; }
.directory-hero aside span { align-self: center; color: #d0ddd8; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.directory-hero aside small { margin-top: 22px; padding-top: 15px; grid-column: 1 / -1; border-top: 1px solid rgb(255 255 255 / 18%); color: #9fb2aa; }
.directory-services, .directory-cities { padding-top: 85px; padding-bottom: 90px; }
.directory-service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 5px solid var(--press-black);
}
.directory-service-grid article {
  min-height: 335px;
  padding: 26px;
  position: relative;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: white;
}
.directory-service-grid article > span {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--lime);
  color: var(--green);
  font-size: 22px;
  font-weight: 900;
}
.directory-service-grid article > small { position: absolute; top: 27px; right: 25px; color: #a0aaa6; font: 800 10px "DM Mono", monospace; }
.directory-service-grid h3 { margin: 28px 0 10px; font-size: 32px; line-height: .98; }
.directory-service-grid p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.6; }
.directory-service-grid article > div { margin-top: auto; padding-top: 26px; display: flex; flex-wrap: wrap; gap: 6px; }
.directory-service-grid article > div a { padding: 7px 9px; border: 1px solid #cfd7d2; color: var(--green); font-size: 8px; font-weight: 850; }
.directory-cities { border-top: 1px solid var(--press-black); }
.directory-cities > div:last-child { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--press-black); }
.directory-cities > div:last-child a { min-height: 88px; padding: 17px; display: grid; grid-template-columns: 36px 1fr auto; gap: 10px 13px; align-items: center; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.directory-cities a > span { width: 36px; height: 36px; display: grid; place-items: center; grid-row: 1 / 3; border-radius: 50%; background: var(--press-red); color: white; font-size: 8px; font-weight: 900; }
.directory-cities a b { align-self: end; font: 700 21px "Newsreader", Georgia, serif; }
.directory-cities a small { align-self: start; color: var(--muted); font-size: 8px; }
.directory-cities a i { grid-column: 3; grid-row: 1 / 3; color: var(--green); font-style: normal; }
.directory-trust { margin-bottom: 100px; padding: 48px; display: grid; grid-template-columns: .62fr 1.38fr; gap: 65px; background: #eef4fb; }
.directory-trust h2 { margin: 14px 0 0; font-size: 48px; line-height: .96; }
.directory-trust ol { margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; list-style: none; counter-reset: protrust; }
.directory-trust li { padding: 20px; counter-increment: protrust; border-top: 1px solid #cbd2ce; }
.directory-trust li::before { content: "0" counter(protrust); margin-right: 12px; color: var(--press-red); font: 800 9px "DM Mono", monospace; }
.directory-trust li b, .directory-trust li span { display: block; }
.directory-trust li b { margin: 17px 0 6px; }
.directory-trust li span { color: var(--muted); font-size: 10px; line-height: 1.55; }

.directory-city-hero {
  padding: 80px 0 65px;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 70px;
  align-items: end;
  border-bottom: 1px solid var(--press-black);
}
.directory-city-hero > div > a { display: block; margin-bottom: 35px; color: var(--green); font-size: 10px; font-weight: 850; }
.directory-city-hero h1 { margin: 13px 0 18px; font-size: clamp(54px, 8vw, 100px); line-height: .87; letter-spacing: -.07em; }
.directory-city-hero p { max-width: 710px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.directory-city-hero img { width: 100%; aspect-ratio: 5 / 3; object-fit: cover; filter: saturate(.82); box-shadow: 14px 14px 0 var(--lime); }
.directory-city-services { padding: 75px 0 95px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 5px solid var(--press-black); }
.directory-city-services > a { min-height: 280px; padding: 25px; position: relative; display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: white; transition: transform .18s, background .18s; }
.directory-city-services > a:hover { transform: translateY(-4px); background: #f9ffd9; }
.directory-city-services > a > span { color: var(--press-red); font-size: 28px; }
.directory-city-services > a > small { position: absolute; top: 25px; right: 25px; color: #a3ada8; font: 800 9px "DM Mono", monospace; }
.directory-city-services h2 { margin: 28px 0 10px; font-size: 31px; }
.directory-city-services p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.directory-city-services > a > b { margin-top: auto; color: var(--green); font-size: 9px; }
.city-directory-links { margin-bottom: 105px; display: grid; grid-template-columns: repeat(3, 1fr); background: var(--press-black); }
.city-directory-links a { min-height: 180px; padding: 28px; display: flex; flex-direction: column; border-right: 1px solid rgb(255 255 255 / 16%); color: white; }
.city-directory-links small { color: var(--lime); font-size: 8px; font-weight: 850; }
.city-directory-links b { margin: 28px 0; font: 700 26px "Newsreader", Georgia, serif; }
.city-directory-links span { margin-top: auto; color: #c0d0ca; font-size: 9px; font-weight: 800; }

.local-service-hero {
  padding: 70px 0;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 70px;
  align-items: end;
}
.local-service-hero nav { margin-bottom: 38px; display: flex; flex-wrap: wrap; gap: 9px; color: var(--muted); font-size: 9px; }
.local-service-hero nav a { color: var(--green); font-weight: 800; }
.local-service-hero h1 { max-width: 950px; margin: 14px 0 20px; font-size: clamp(50px, 7vw, 91px); line-height: .88; letter-spacing: -.065em; }
.local-service-hero > div > p { max-width: 760px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.local-service-hero aside { padding: 30px; border-top: 6px solid var(--press-red); background: #eef4fb; }
.local-service-hero aside small { color: var(--press-red); font: 850 8px "DM Mono", monospace; }
.local-service-hero aside h2 { margin: 15px 0 22px; font-size: 35px; line-height: 1; }
.local-service-hero aside ol { margin: 0; padding: 0; list-style: none; counter-reset: procalls; }
.local-service-hero aside li { padding: 12px 0 12px 34px; position: relative; border-top: 1px solid #cbd3cf; color: #4d5e57; font-size: 11px; line-height: 1.45; }
.local-service-hero aside li::before { content: counter(procalls); counter-increment: procalls; width: 22px; height: 22px; position: absolute; left: 0; top: 10px; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: var(--lime); font-size: 8px; font-weight: 900; }
.local-pro-results { padding-top: 30px; padding-bottom: 90px; }
.pro-loading { min-height: 140px; padding: 30px; display: flex; align-items: center; gap: 20px; border-top: 5px solid var(--press-black); background: white; }
.pro-loading > span { width: 34px; height: 34px; border: 4px solid #d9e1dd; border-top-color: var(--press-red); border-radius: 50%; animation: proSpin .8s linear infinite; }
.pro-loading div { display: grid; gap: 5px; }
.pro-loading small { color: var(--muted); }
@keyframes proSpin { to { transform: rotate(360deg); } }
.pro-connection-card { padding: 35px; display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; border-top: 6px solid #d4a835; background: #fff6d8; }
.pro-connection-card.error { border-color: var(--press-red); background: #fdf0f3; }
.pro-connection-card h2 { margin: 12px 0 8px; font-size: 38px; }
.pro-connection-card p { margin: 0; max-width: 780px; color: var(--muted); line-height: 1.65; }
.pro-connection-card > a { padding: 14px 16px; background: var(--press-black); color: white; font-size: 10px; font-weight: 850; }
.pro-sort-note { padding: 15px 0; display: flex; justify-content: space-between; gap: 25px; align-items: baseline; border-top: 5px solid var(--press-black); }
.pro-sort-note span { color: var(--green); font-size: 10px; font-weight: 850; text-transform: uppercase; }
.pro-sort-note span b { margin-right: 4px; color: var(--press-red); font: 700 25px "Newsreader", Georgia, serif; }
.pro-sort-note p { color: var(--muted); font-size: 9px; }
.local-pro-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--press-black); }
.local-pro-grid > article { min-height: 390px; padding: 28px; position: relative; display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: white; }
.pro-card-rank { position: absolute; top: 23px; right: 25px; color: #a4aea9; font: 850 9px "DM Mono", monospace; }
.pro-card-heading > small { padding-right: 50px; color: var(--press-red); font-size: 8px; font-weight: 850; letter-spacing: .05em; }
.pro-card-heading h2 { max-width: 500px; margin: 18px 0 12px; font-size: 34px; line-height: .98; }
.pro-rating { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.pro-rating > strong { color: var(--green); font: 700 25px "Newsreader", Georgia, serif; }
.pro-rating > small { color: var(--muted); font-size: 9px; }
.pro-stars { width: 84px; height: 18px; position: relative; display: inline-block; font-size: 16px; line-height: 18px; letter-spacing: 1px; }
.pro-stars i, .pro-stars b { position: absolute; inset: 0; overflow: hidden; color: #d8d8cf; font-style: normal; white-space: nowrap; }
.pro-stars b { color: #ec9d2d; }
.local-pro-grid dl { margin: 25px 0; display: grid; }
.local-pro-grid dl > div { padding: 10px 0; display: grid; grid-template-columns: 70px 1fr; gap: 12px; border-top: 1px solid var(--line); }
.local-pro-grid dt { color: var(--muted); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.local-pro-grid dd { margin: 0; color: #40524a; font-size: 10px; line-height: 1.5; }
.local-pro-grid dd a { color: var(--green); font-weight: 800; }
.pro-card-actions { margin-top: auto; display: flex; flex-wrap: wrap; gap: 7px; }
.pro-card-actions a { padding: 10px 12px; border: 1px solid var(--press-black); font-size: 9px; font-weight: 850; }
.pro-card-actions .google-map-button { background: var(--press-black); color: white; }
.pro-card-actions .apple-map-button { background: #eff5f2; }
.pro-card-actions .pro-website-button { margin-left: auto; color: var(--green); }
.google-attribution { padding: 20px 0; display: flex; align-items: center; gap: 24px; border-bottom: 1px solid var(--line); }
.google-attribution img { width: 120px; height: 15px; object-fit: contain; }
.google-attribution p { margin: 0; max-width: 800px; color: var(--muted); font-size: 9px; line-height: 1.5; }
.directory-hiring-guide { margin-bottom: 90px; padding: 45px; display: grid; grid-template-columns: .58fr 1.42fr; gap: 60px; background: var(--press-black); color: white; }
.directory-hiring-guide h2 { margin: 14px 0; color: white; font-size: 48px; line-height: .96; }
.directory-hiring-guide > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
.directory-hiring-guide article { padding: 20px; border-top: 1px solid rgb(255 255 255 / 20%); }
.directory-hiring-guide article > b { color: var(--lime); font: 850 9px "DM Mono", monospace; }
.directory-hiring-guide h3 { margin: 22px 0 8px; color: white; font-size: 22px; }
.directory-hiring-guide article p { color: #b9c9dc; font-size: 10px; line-height: 1.55; }
.more-local-services { padding-bottom: 100px; display: grid; grid-template-columns: .5fr 1.5fr; gap: 50px; }
.more-local-services h2 { margin: 12px 0; font-size: 43px; line-height: .98; }
.more-local-services > div:last-child { display: grid; grid-template-columns: repeat(3, 1fr); }
.more-local-services a { min-height: 150px; padding: 20px; display: flex; flex-direction: column; border-top: 1px solid var(--press-black); border-right: 1px solid var(--line); }
.more-local-services a span { color: var(--press-red); font-size: 22px; }
.more-local-services a b { margin-top: 20px; font: 700 20px "Newsreader", Georgia, serif; }
.more-local-services a small { margin-top: auto; color: var(--green); font-size: 8px; font-weight: 850; }
.city-pro-directory-cta { margin-top: 35px; margin-bottom: 40px; padding: 42px; display: grid; grid-template-columns: 1fr auto; gap: 55px; align-items: center; border-top: 6px solid var(--press-red); background: var(--press-black); color: white; }
.city-pro-directory-cta h2 { margin: 13px 0 8px; color: white; font-size: 43px; }
.city-pro-directory-cta p { margin: 0; max-width: 700px; color: #b5c5bf; line-height: 1.6; }
.city-pro-directory-cta > a { padding: 15px 18px; display: flex; gap: 28px; justify-content: space-between; background: var(--lime); color: var(--press-black); font-size: 11px; font-weight: 900; }

.local-pros-admin-panel { max-width: 1450px; margin: 0 auto 1.25rem; }
.local-pros-admin-panel .connection-ok, .local-pros-admin-panel .connection-missing { padding: .4rem .6rem; border-radius: 999px; font-size: .68rem; text-transform: uppercase; }
.local-pros-admin-panel .connection-ok { background: #dcf4e5; color: #123f78; }
.local-pros-admin-panel .connection-missing { background: #fff0c9; color: #795711; }
.local-pros-admin-metrics { margin: 1rem 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: .75rem; }
.local-pros-admin-metrics article { padding: 1rem; display: grid; gap: .5rem; border: 1px solid #dce5e1; border-radius: 12px; background: #fbfdfc; }
.local-pros-admin-metrics span { color: #60766d; font-size: .62rem; font-weight: 900; letter-spacing: .08em; }
.local-pros-admin-metrics strong { font-size: 1.25rem; }
.local-pros-admin-metrics article:last-child strong { font-size: .9rem; }
.local-pros-admin-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.local-pros-admin-actions a { padding: .65rem .8rem; border-radius: 8px; background: #0a3161; color: white; font-size: .73rem; font-weight: 800; }

@media (max-width: 980px) {
  .directory-hero, .directory-city-hero, .local-service-hero, .directory-trust, .directory-hiring-guide, .more-local-services { grid-template-columns: 1fr; }
  .directory-service-grid, .directory-city-services { grid-template-columns: repeat(2, 1fr); }
  .directory-cities > div:last-child { grid-template-columns: repeat(2, 1fr); }
  .local-pros-admin-metrics { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 660px) {
  .directory-hero { padding: 58px 0 45px; gap: 35px; }
  .directory-hero h1, .directory-city-hero h1, .local-service-hero h1 { font-size: 54px; }
  .directory-service-grid, .directory-city-services, .directory-cities > div:last-child, .local-pro-grid, .city-directory-links { grid-template-columns: 1fr; }
  .directory-services, .directory-cities { padding: 60px 0; }
  .directory-service-grid article { min-height: 300px; }
  .directory-trust { margin-bottom: 70px; padding: 28px 22px; gap: 30px; }
  .directory-trust ol, .directory-hiring-guide > div:last-child, .more-local-services > div:last-child { grid-template-columns: 1fr; }
  .directory-city-hero { padding: 58px 0 45px; gap: 35px; }
  .directory-city-services { padding: 55px 0 70px; }
  .local-service-hero { padding: 55px 0 40px; gap: 30px; }
  .pro-connection-card { padding: 25px 20px; grid-template-columns: 1fr; gap: 20px; }
  .pro-connection-card h2 { font-size: 31px; }
  .pro-sort-note { align-items: start; flex-direction: column; gap: 4px; }
  .local-pro-grid > article { padding: 23px 20px; }
  .pro-card-actions .pro-website-button { margin-left: 0; }
  .google-attribution { align-items: start; flex-direction: column; gap: 12px; }
  .directory-hiring-guide { padding: 28px 22px; gap: 30px; }
  .directory-hiring-guide h2 { font-size: 39px; }
  .more-local-services { padding-bottom: 70px; gap: 25px; }
  .city-pro-directory-cta { padding: 28px 22px; grid-template-columns: 1fr; gap: 25px; }
  .local-pros-admin-metrics { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .pro-loading > span { animation: none; }
}

/* Horizontal Which Car? homepage desk */
.home-which-car {
  padding-top: 18px;
  padding-bottom: 88px;
}
.home-car-widget-rule {
  min-height: 58px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 30px;
  align-items: center;
  border-top: 5px solid var(--press-black);
  border-bottom: 1px solid var(--press-black);
}
.home-car-widget-rule span,
.home-car-widget-rule a {
  color: var(--press-red);
  font: 850 9px "DM Mono", monospace;
  letter-spacing: .07em;
}
.home-car-widget-rule b { font-size: 11px; }
.home-car-widget-rule a { color: var(--green); text-align: right; }
.home-car-widget {
  display: grid;
  grid-template-columns: 1.08fr 1.72fr .62fr;
  border-bottom: 1px solid var(--press-black);
  background: var(--press-cream);
}
.home-car-widget-lead {
  min-width: 0;
  padding: 0 28px 28px 0;
  display: grid;
  grid-template-rows: 205px 1fr;
  border-right: 1px solid var(--press-black);
}
.home-car-widget-lead > img {
  width: 100%;
  height: 205px;
  object-fit: cover;
  filter: saturate(.9) contrast(1.03);
}
.home-car-widget-lead > div { padding-top: 23px; }
.home-car-widget-lead h2 {
  margin: 11px 0 10px;
  font-size: clamp(31px, 3.2vw, 48px);
  line-height: .94;
  letter-spacing: -.045em;
}
.home-car-widget-lead p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.6;
}
.home-car-widget-picks {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.home-car-widget-picks > a {
  min-width: 0;
  min-height: 420px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--line);
  transition: background .18s ease, transform .18s ease;
}
.home-car-widget-picks > a:hover {
  position: relative;
  z-index: 1;
  transform: translateY(-4px);
  background: #eef4fb;
}
.home-car-widget-picks > a > div:first-child {
  min-height: 40px;
  display: grid;
  gap: 6px;
}
.home-car-widget-picks small {
  color: var(--press-red);
  font: 850 8px "DM Mono", monospace;
  letter-spacing: .04em;
}
.home-car-widget-picks > a > div:first-child > span {
  color: var(--green);
  font-size: 8px;
  font-weight: 900;
}
.home-car-widget-picks h3 {
  margin: 24px 0 10px;
  font-size: 29px;
  line-height: .92;
}
.home-car-widget-picks > a > p {
  margin: 0;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.55;
}
.home-car-widget-picks dl {
  margin: 25px 0 20px;
  display: grid;
}
.home-car-widget-picks dl > div {
  padding: 8px 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  border-top: 1px solid var(--line);
}
.home-car-widget-picks dt {
  color: var(--muted);
  font-size: 8px;
  font-weight: 800;
  text-transform: uppercase;
}
.home-car-widget-picks dd {
  margin: 0;
  font-size: 9px;
  font-weight: 850;
}
.home-car-widget-picks > a > b {
  margin-top: auto;
  color: var(--green);
  font-size: 8px;
}
.home-car-widget-actions {
  min-width: 0;
  display: grid;
  grid-template-rows: repeat(3, 1fr);
  background: var(--press-black);
}
.home-car-widget-actions > a {
  min-height: 140px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  color: white;
  border-bottom: 1px solid rgb(255 255 255 / 18%);
}
.home-car-widget-actions > a:last-child { border-bottom: 0; }
.home-car-widget-actions span {
  color: var(--lime);
  font: 850 8px "DM Mono", monospace;
  letter-spacing: .06em;
}
.home-car-widget-actions strong {
  margin: 24px 0;
  font: 700 23px/.98 "Newsreader", Georgia, serif;
}
.home-car-widget-actions b {
  margin-top: auto;
  color: #c6d5cf;
  font-size: 8px;
}

@media (max-width: 1050px) {
  .home-car-widget {
    grid-template-columns: .8fr 1.2fr;
  }
  .home-car-widget-actions {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto;
  }
  .home-car-widget-actions > a { min-height: 145px; }
}

@media (max-width: 720px) {
  .home-which-car { padding-top: 5px; padding-bottom: 62px; }
  .home-car-widget-rule { grid-template-columns: 1fr auto; gap: 12px; }
  .home-car-widget-rule b { display: none; }
  .home-car-widget { grid-template-columns: 1fr; }
  .home-car-widget-lead {
    padding: 0 0 25px;
    grid-template-rows: 170px 1fr;
    border-right: 0;
    border-bottom: 1px solid var(--press-black);
  }
  .home-car-widget-lead > img { height: 170px; }
  .home-car-widget-lead > div { padding: 20px 18px 0; }
  .home-car-widget-lead h2 { font-size: 36px; }
  .home-car-widget-picks {
    padding-bottom: 3px;
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: thin;
  }
  .home-car-widget-picks > a {
    width: 78vw;
    min-width: 235px;
    min-height: 345px;
    padding: 20px 18px;
    scroll-snap-align: start;
  }
  .home-car-widget-picks h3 { font-size: 27px; }
  .home-car-widget-actions { grid-column: auto; grid-template-columns: 1fr; }
  .home-car-widget-actions > a { min-height: 150px; padding: 18px; }
  .home-car-widget-actions strong { font-size: 19px; }
}

@media (max-width: 420px) {
  .home-car-widget-actions { grid-template-columns: 1fr; }
  .home-car-widget-actions > a { min-height: 125px; }
}

/* Automotive news desk */
.auto-news-desk {
  padding-top: 42px;
  padding-bottom: 88px;
}
.auto-news-desk-heading {
  padding: 25px 0 30px;
  display: grid;
  grid-template-columns: 1.1fr .8fr auto;
  gap: 45px;
  align-items: end;
  border-top: 6px solid var(--press-red);
  border-bottom: 1px solid var(--press-black);
}
.auto-news-desk-heading h2 {
  max-width: 700px;
  margin: 11px 0 0;
  font-size: clamp(38px, 5vw, 63px);
  line-height: .93;
}
.auto-news-desk-heading > p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.65;
}
.auto-news-desk-heading > a {
  padding: 12px 14px;
  background: var(--press-black);
  color: white;
  font-size: 9px;
  font-weight: 850;
  white-space: nowrap;
}
.auto-news-desk-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid var(--press-black);
}
.auto-news-desk-grid > a {
  min-width: 0;
  min-height: 520px;
  padding: 0 24px 26px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--line);
  background: var(--press-cream);
}
.auto-news-desk-grid > a:first-child { padding-left: 0; }
.auto-news-desk-grid > a:last-child { padding-right: 0; border-right: 0; }
.auto-news-desk-grid > a > div {
  height: 205px;
  margin-bottom: 22px;
  position: relative;
  overflow: hidden;
}
.auto-news-desk-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .2s ease;
}
.auto-news-desk-grid a:hover img { transform: scale(1.025); }
.auto-news-desk-grid > a > div span {
  width: 42px;
  height: 42px;
  position: absolute;
  right: 0;
  bottom: 0;
  display: grid;
  place-items: center;
  background: var(--press-red);
  color: white;
  font: 850 9px "DM Mono", monospace;
}
.auto-news-desk-grid small {
  color: var(--press-red);
  font: 850 8px "DM Mono", monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.auto-news-desk-grid h3 {
  margin: 15px 0 10px;
  font-size: 31px;
  line-height: .98;
}
.auto-news-desk-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.6;
}
.auto-news-desk-grid > a > b {
  margin-top: auto;
  padding-top: 22px;
  color: var(--green);
  font-size: 9px;
}
.auto-deal-checklist {
  min-height: 68px;
  padding: 13px 18px;
  display: grid;
  grid-template-columns: 1.5fr repeat(6, 1fr);
  gap: 10px;
  align-items: center;
  background: var(--press-black);
  color: white;
}
.auto-deal-checklist span {
  color: var(--lime);
  font: 850 8px "DM Mono", monospace;
  letter-spacing: .05em;
}
.auto-deal-checklist b {
  padding-left: 12px;
  border-left: 1px solid rgb(255 255 255 / 20%);
  font-size: 8px;
  text-transform: uppercase;
}

/* NHTSA + IIHS safety comparison */
.vehicle-safety-module {
  margin-top: 75px;
  margin-bottom: 85px;
  padding-top: 30px;
  border-top: 6px solid var(--press-red);
}
.vehicle-safety-heading {
  padding-bottom: 30px;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 50px;
  align-items: end;
}
.vehicle-safety-heading h2 {
  max-width: 720px;
  margin: 12px 0 0;
  font-size: clamp(39px, 5vw, 62px);
  line-height: .94;
}
.vehicle-safety-heading > p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.65;
}
.safety-loading {
  min-height: 120px;
  padding: 30px;
  display: flex;
  gap: 18px;
  align-items: center;
  background: #eef4fb;
}
.safety-loading i {
  width: 31px;
  height: 31px;
  border: 4px solid #cbd7d1;
  border-top-color: var(--press-red);
  border-radius: 50%;
  animation: proSpin .8s linear infinite;
}
.safety-loading span { color: var(--muted); font-size: 10px; font-weight: 800; }
.vehicle-safety-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--press-black);
  border-bottom: 1px solid var(--press-black);
}
.vehicle-safety-grid.count-1 { grid-template-columns: 1fr; }
.vehicle-safety-card {
  min-width: 0;
  padding: 30px;
  border-right: 1px solid var(--press-black);
  background: white;
}
.vehicle-safety-card:last-child { border-right: 0; }
.vehicle-safety-card > small {
  color: var(--press-red);
  font: 850 8px "DM Mono", monospace;
  letter-spacing: .05em;
}
.vehicle-safety-card > h3 {
  margin: 16px 0 24px;
  font-size: 38px;
  line-height: .95;
}
.safety-rating-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.safety-rating-grid > div { padding: 14px 10px; border-right: 1px solid var(--line); }
.safety-rating-grid > div:last-child { border-right: 0; }
.safety-rating-grid span, .safety-rating-grid strong { display: block; }
.safety-rating-grid span { color: var(--muted); font-size: 7px; font-weight: 850; text-transform: uppercase; }
.safety-rating-grid strong { margin: 8px 0; color: var(--green); font: 700 22px "Newsreader", Georgia, serif; }
.safety-rating-grid i { height: 4px; display: block; background: #e0e4e1; }
.safety-rating-grid em { height: 100%; display: block; background: linear-gradient(90deg, var(--press-red), var(--lime)); }
.safety-variant-list { margin-top: 22px; display: grid; }
.safety-variant-list p { margin: 0; padding: 10px 0; display: grid; gap: 4px; border-top: 1px solid var(--line); }
.safety-variant-list b { font-size: 9px; }
.safety-variant-list span { color: var(--muted); font-size: 8px; }
.safety-recall-summary {
  margin-top: 20px;
  padding: 17px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 10px;
  background: #fdf0f3;
}
.safety-recall-summary > b { color: var(--press-red); font: 700 31px "Newsreader", Georgia, serif; }
.safety-recall-summary > span { align-self: center; font-size: 8px; font-weight: 850; text-transform: uppercase; }
.safety-recall-summary > p { margin: 13px 0 0; padding-top: 12px; grid-column: 1 / -1; border-top: 1px solid #e8cfc3; color: var(--muted); font-size: 8px; line-height: 1.55; }
.safety-recall-summary p strong { margin-bottom: 4px; display: block; color: var(--ink); }
.safety-context { margin-top: 20px; display: grid; gap: 7px; }
.safety-context b { color: var(--green); font-size: 8px; letter-spacing: .05em; }
.safety-context span { color: var(--muted); font-size: 9px; line-height: 1.55; }
.safety-source-actions { margin-top: 22px; display: flex; flex-wrap: wrap; gap: 7px; }
.safety-source-actions a,
.vehicle-safety-card.unavailable > a {
  padding: 9px 10px;
  border: 1px solid var(--press-black);
  font-size: 8px;
  font-weight: 850;
}
.vehicle-safety-card.unavailable > p { color: var(--muted); line-height: 1.65; }
.vehicle-safety-card.unavailable > a { margin-top: 24px; display: inline-block; background: var(--press-black); color: white; }
.safety-data-note {
  margin: 0;
  padding: 16px 0;
  color: var(--muted);
  font-size: 8px;
  line-height: 1.6;
}

@media (max-width: 900px) {
  .auto-news-desk-heading, .vehicle-safety-heading { grid-template-columns: 1fr; gap: 18px; }
  .auto-news-desk-heading > a { width: fit-content; }
  .auto-deal-checklist { grid-template-columns: repeat(3, 1fr); }
  .auto-deal-checklist span { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .auto-news-desk { padding-top: 20px; padding-bottom: 65px; }
  .auto-news-desk-grid {
    padding-bottom: 3px;
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  .auto-news-desk-grid > a,
  .auto-news-desk-grid > a:first-child,
  .auto-news-desk-grid > a:last-child {
    width: 82vw;
    min-width: 255px;
    min-height: 470px;
    padding: 0 18px 22px;
    scroll-snap-align: start;
  }
  .auto-news-desk-grid > a > div { height: 175px; }
  .auto-news-desk-grid h3 { font-size: 27px; }
  .auto-deal-checklist { grid-template-columns: 1fr 1fr; }
  .vehicle-safety-module { margin-top: 55px; margin-bottom: 65px; }
  .vehicle-safety-grid { grid-template-columns: 1fr; }
  .vehicle-safety-card { padding: 24px 19px; border-right: 0; border-bottom: 1px solid var(--press-black); }
  .vehicle-safety-card:last-child { border-bottom: 0; }
  .vehicle-safety-card > h3 { font-size: 34px; }
  .safety-rating-grid { grid-template-columns: 1fr 1fr; }
  .safety-rating-grid > div:nth-child(2) { border-right: 0; }
  .safety-rating-grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}

@media (prefers-reduced-motion: reduce) {
  .safety-loading i { animation: none; }
}

/* Which Car? and city-to-city comparison edition */
.cars-page,
.car-detail-page,
.brand-detail-page,
.car-comparison-page,
.city-cars-page {
  background: #fbfaf6;
}

.cars-hero {
  min-height: 680px;
  position: relative;
  display: grid;
  align-items: end;
  overflow: hidden;
  background: var(--press-black);
  color: white;
}

.cars-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgb(17 26 23 / 90%) 0%, rgb(17 26 23 / 48%) 48%, transparent 75%),
    linear-gradient(0deg, rgb(17 26 23 / 72%), transparent 55%);
}

.cars-hero > img {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  object-fit: cover;
}

.cars-hero > .shell {
  padding-top: 120px;
  padding-bottom: 74px;
  position: relative;
  z-index: 1;
}

.cars-hero h1 {
  max-width: 820px;
  margin: 14px 0 20px;
  color: white;
  font-size: clamp(58px, 8vw, 112px);
  line-height: .84;
  letter-spacing: -.07em;
}

.cars-hero p {
  max-width: 690px;
  margin: 0;
  color: #e2ebe7;
  font-size: 18px;
  line-height: 1.65;
}

.cars-hero > .shell > div {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cars-hero > .shell > div a {
  padding: 14px 18px;
  border: 1px solid rgb(255 255 255 / 38%);
  background: rgb(20 27 25 / 68%);
  color: white;
  font-size: 11px;
  font-weight: 850;
  backdrop-filter: blur(8px);
}

.cars-hero > .shell > div a:first-child {
  border-color: var(--lime);
  background: var(--lime);
  color: var(--ink);
}

.car-desk-strip {
  margin-top: -1px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--press-black);
  background: white;
}

.car-desk-strip article {
  padding: 26px 22px;
}

.car-desk-strip article + article { border-left: 1px solid var(--line); }
.car-desk-strip strong { display: block; color: var(--press-red); font: 700 36px "Newsreader", Georgia, serif; }
.car-desk-strip span { color: var(--muted); font-size: 10px; font-weight: 850; text-transform: uppercase; }

.car-situation-library { padding: 110px 0; }
.car-situation-row { padding: 32px 0; display: grid; grid-template-columns: .58fr 1.42fr; gap: 50px; border-top: 1px solid var(--press-black); }
.car-situation-row > div:first-child > span { color: var(--press-red); font: 850 10px "DM Mono", monospace; letter-spacing: .08em; }
.car-situation-row h3 { margin: 12px 0 14px; font-size: clamp(34px, 4vw, 52px); line-height: .96; letter-spacing: -.05em; }
.car-situation-row > div:first-child p { color: var(--muted); line-height: 1.65; }
.car-situation-row > div:last-child { display: grid; grid-template-columns: repeat(5, 1fr); }
.car-situation-row a { min-height: 250px; padding: 19px; display: flex; flex-direction: column; border-left: 1px solid var(--line); transition: background .2s ease, transform .2s ease; }
.car-situation-row a:hover { background: #fdf0f3; transform: translateY(-4px); }
.car-situation-row a small { color: var(--press-red); font-size: 9px; font-weight: 800; }
.car-situation-row a b { margin-top: 25px; color: var(--muted); font-size: 10px; text-transform: uppercase; }
.car-situation-row a strong { margin-top: 4px; font: 700 24px "Newsreader", Georgia, serif; }
.car-situation-row a span { margin-top: 12px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.car-situation-row a i { margin-top: auto; color: var(--green); font-size: 10px; font-style: normal; font-weight: 850; }

.car-calculator-section { padding: 105px 0; background: var(--press-black); color: white; }
.car-calculator-section .section-heading p { color: #b9c7c1; }
.car-cost-calculator { margin-top: 35px; display: grid; grid-template-columns: .68fr 1.32fr; border: 1px solid rgb(255 255 255 / 18%); background: #222d29; box-shadow: 16px 16px 0 var(--press-red); }
.car-calc-inputs { padding: 30px; display: grid; gap: 25px; border-right: 1px solid rgb(255 255 255 / 16%); }
.car-calc-inputs label { display: grid; grid-template-columns: 1fr auto; gap: 8px; color: #dfe8e4; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.car-calc-inputs select { grid-column: 1 / -1; width: 100%; padding: 13px; border: 0; background: white; color: var(--ink); font: inherit; }
.car-calc-inputs input { grid-column: 1 / -1; width: 100%; accent-color: var(--lime); }
.car-calc-inputs strong { color: var(--lime); }
.car-calc-result { padding: clamp(30px, 5vw, 65px); }
.car-calc-result > span { color: var(--lime); font: 850 10px "DM Mono", monospace; }
.car-calc-result h3 { margin: 10px 0 6px; color: white; font-size: clamp(46px, 6vw, 74px); letter-spacing: -.06em; }
.car-calc-result > p { color: #c4d0cb; }
.car-calc-result > small { display: block; margin-top: 28px; color: #9aacA5; font-size: 9px; line-height: 1.6; }
.car-cost-bars { margin-top: 34px; display: grid; gap: 15px; }
.car-cost-bars > div { display: grid; grid-template-columns: 140px 1fr 120px; gap: 12px; align-items: center; }
.car-cost-bars b { font-size: 10px; }
.car-cost-bars i { height: 10px; display: block; background: rgb(255 255 255 / 10%); }
.car-cost-bars em { height: 100%; min-width: 4px; display: block; background: linear-gradient(90deg, var(--press-red), var(--lime)); }
.car-cost-bars strong { text-align: right; font-size: 12px; }

.brand-library { padding: 110px 0; }
.brand-library > div:last-child { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--press-black); }
.brand-library > div:last-child > a { min-height: 265px; padding: 28px; display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.brand-library > div:last-child > a:hover { background: #fdf0f3; }
.brand-library a > strong { margin-top: 20px; font-size: 11px; }
.brand-library a > p { color: var(--muted); font-size: 12px; line-height: 1.65; }
.brand-library a > b { margin-top: auto; color: var(--press-red); font-size: 10px; }
.brand-wordmark { width: fit-content; padding: 9px 12px 7px; display: inline-block; border: 2px solid currentColor; color: var(--press-black); font: 900 16px Arial, sans-serif; letter-spacing: -.04em; text-transform: uppercase; }
.brand-toyota { color: #d71920; }
.brand-honda { color: #cc0000; }
.brand-ford { color: #165aa7; border-radius: 999px; }
.brand-chevrolet { color: #a47c1b; }
.brand-subaru { color: #174d92; }
.brand-hyundai { color: #003b70; }
.brand-kia { color: #bb162b; letter-spacing: .05em; }
.brand-tesla { color: #cc0000; letter-spacing: .12em; }
.brand-mazda { color: #263746; }
.brand-jeep { color: #3b5122; }

.car-method-band { margin-bottom: 110px; padding: 48px; border-top: 6px solid var(--press-red); background: #eef4fb; }
.car-method-band > div:first-child { display: flex; justify-content: space-between; gap: 40px; align-items: end; }
.car-method-band h2 { max-width: 740px; margin: 8px 0 0; font-size: clamp(40px, 5vw, 66px); line-height: .93; letter-spacing: -.055em; }
.car-method-grid { margin-top: 40px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--press-black); }
.car-method-grid article { padding: 24px 20px 5px; border-right: 1px solid #c9d0c4; }
.car-method-grid article > b { color: var(--press-red); font: 800 11px "DM Mono", monospace; }
.car-method-grid h3 { margin: 28px 0 8px; font-size: 27px; }
.car-method-grid p { color: #53615a; font-size: 11px; line-height: 1.6; }
.car-official-sources { margin-top: 35px; display: flex; flex-wrap: wrap; gap: 10px; }
.car-official-sources a { padding: 11px 13px; border: 1px solid #9fa99d; font-size: 9px; font-weight: 800; }

.car-review-promo {
  margin-bottom: 105px;
  display: grid;
  grid-template-columns: 1.35fr .65fr;
  border-top: 6px solid var(--press-red);
  border-bottom: 1px solid var(--press-black);
}
.car-review-promo > div { padding: 34px 50px 38px 0; }
.car-review-promo h2 { margin: 10px 0 12px; font-size: clamp(40px, 5vw, 66px); line-height: .92; letter-spacing: -.055em; }
.car-review-promo p { max-width: 760px; color: var(--muted); line-height: 1.65; }
.car-review-promo > a { padding: 30px; display: flex; flex-direction: column; background: var(--press-black); color: white; }
.car-review-promo > a strong { color: var(--lime); font: 700 72px "Newsreader", Georgia, serif; line-height: .9; }
.car-review-promo > a span { margin-top: 8px; color: #b9c7c1; font-size: 10px; text-transform: uppercase; }
.car-review-promo > a b { margin-top: auto; color: white; font-size: 10px; }

.car-profile-hero { padding: 82px 0; display: grid; grid-template-columns: 1.25fr .75fr; gap: 70px; align-items: end; }
.car-profile-hero .breadcrumbs { margin-bottom: 45px; }
.car-profile-hero .brand-wordmark { margin-top: 24px; }
.car-profile-hero h1 { margin: 15px 0; font-size: clamp(68px, 9vw, 126px); line-height: .82; letter-spacing: -.075em; }
.car-profile-hero > div > p:not(.breadcrumbs) { max-width: 720px; color: var(--muted); font-size: 18px; line-height: 1.65; }
.car-profile-hero > div > div { margin-top: 26px; display: flex; gap: 10px; flex-wrap: wrap; }
.car-profile-hero > div > div a { padding: 11px 13px; border: 1px solid var(--press-black); font-size: 10px; font-weight: 800; }
.car-profile-hero aside { padding: 38px; background: var(--press-black); color: white; box-shadow: 13px 14px 0 var(--lime); }
.car-profile-hero aside > span { color: var(--lime); font: 800 10px "DM Mono", monospace; }
.car-profile-hero aside > strong { margin-top: 12px; display: block; font: 700 clamp(40px, 5vw, 64px) "Newsreader", Georgia, serif; letter-spacing: -.05em; }
.car-profile-hero aside > p { color: #b9c9dc; }
.car-profile-hero aside > div { margin-top: 32px; padding-top: 20px; display: flex; align-items: end; gap: 8px; border-top: 1px solid rgb(255 255 255 / 22%); }
.car-profile-hero aside > div b { color: var(--press-red); font-size: 38px; }
.car-profile-hero aside > div span { padding-bottom: 6px; color: #b9c7c2; font-size: 11px; }

.car-fit-score { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--press-black); border-bottom: 1px solid var(--press-black); background: white; }
.car-fit-score article { min-height: 190px; padding: 20px; display: grid; grid-template-columns: 1fr 24px; grid-template-rows: auto 1fr auto; gap: 12px; }
.car-fit-score article + article { border-left: 1px solid var(--line); }
.car-fit-score article > span { grid-column: 1; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.car-fit-score article > i { width: 16px; height: 110px; grid-column: 2; grid-row: 1 / 4; align-self: end; display: flex; align-items: end; background: #e6e8e1; }
.car-fit-score article em { width: 100%; display: block; background: var(--press-red); }
.car-fit-score article > strong { align-self: end; font: 700 28px "Newsreader", Georgia, serif; }

.car-detail-grid { padding: 105px 0; display: grid; grid-template-columns: 1.28fr .72fr; gap: 90px; }
.car-detail-grid > article h2 { margin: 55px 0 16px; font-size: clamp(38px, 5vw, 60px); line-height: .95; letter-spacing: -.05em; }
.car-detail-grid > article > h2:first-of-type { margin-top: 12px; }
.car-detail-grid > article > p { color: var(--muted); font-size: 16px; line-height: 1.75; }
.car-watch-box { margin: 32px 0; padding: 28px; border-left: 6px solid var(--press-red); background: #fdf0f3; }
.car-watch-box b { color: var(--press-red); font-size: 10px; }
.car-watch-box p { margin: 8px 0 0; line-height: 1.6; }
.car-detail-grid > aside { height: fit-content; padding: 30px; position: sticky; top: 25px; background: #eef4fb; }
.car-detail-grid > aside > span { color: var(--press-red); font: 800 10px "DM Mono", monospace; }
.car-detail-grid > aside ol { margin: 24px 0; padding-left: 20px; }
.car-detail-grid > aside li { padding: 11px 0; border-bottom: 1px solid #c8d0c4; font-size: 12px; line-height: 1.5; }
.car-detail-grid > aside a { color: var(--green); font-size: 10px; font-weight: 800; }

.car-alternatives { padding-bottom: 110px; }
.car-alternatives h2 { margin: 8px 0 26px; font-size: clamp(38px, 5vw, 60px); }
.car-alternatives > div { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--press-black); }
.car-alternatives a { min-height: 215px; padding: 22px; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.car-alternatives a small { color: var(--press-red); font-size: 9px; }
.car-alternatives a b { margin-top: 25px; font: 700 23px "Newsreader", Georgia, serif; }
.car-alternatives a span { margin-top: 10px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.car-alternatives a strong { margin-top: auto; color: var(--green); font-size: 10px; }

.brand-detail-hero { padding: 90px 0 60px; }
.brand-detail-hero .breadcrumbs { margin-bottom: 50px; }
.brand-detail-hero h1 { max-width: 980px; margin: 20px 0 18px; font-size: clamp(56px, 8vw, 100px); line-height: .87; letter-spacing: -.07em; }
.brand-detail-hero > p:not(.breadcrumbs) { max-width: 760px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.brand-scorecard { padding: 70px 0 100px; display: grid; grid-template-columns: .55fr 1.45fr; gap: 65px; }
.brand-scorecard > div:first-child h2 { margin: 13px 0; font-size: 44px; line-height: .96; letter-spacing: -.05em; }
.brand-scorecard > div:first-child p { color: var(--muted); line-height: 1.7; }
.brand-scorecard > div:last-child { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--press-black); }
.brand-scorecard a { min-height: 290px; padding: 26px; display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.brand-scorecard a small { color: var(--press-red); font-size: 9px; font-weight: 800; }
.brand-scorecard h3 { margin: 22px 0 8px; font-size: 35px; }
.brand-scorecard a p { color: var(--muted); font-size: 12px; line-height: 1.55; }
.brand-scorecard a div { margin-top: auto; display: flex; justify-content: space-between; gap: 15px; align-items: end; }
.brand-scorecard a div span { color: var(--muted); font-size: 9px; }
.brand-scorecard a div strong { font-size: 17px; }
.brand-scorecard a > b { margin-top: 14px; color: var(--green); font-size: 10px; }
.brand-buying-check { margin-bottom: 110px; padding: 42px; background: var(--press-black); color: white; }
.brand-buying-check h2 { margin-top: 0; color: white; font-size: 46px; }
.brand-buying-check ol { padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; counter-reset: checks; }
.brand-buying-check li { padding: 20px; counter-increment: checks; border-left: 1px solid rgb(255 255 255 / 18%); }
.brand-buying-check li::before { content: "0" counter(checks); display: block; margin-bottom: 30px; color: var(--lime); font: 800 10px "DM Mono", monospace; }
.brand-buying-check li b, .brand-buying-check li span { display: block; }
.brand-buying-check li span { margin-top: 8px; color: #b9c9dc; font-size: 10px; line-height: 1.55; }

.car-compare-index { padding-bottom: 110px; }
.car-compare-index article { padding: 28px 0; display: grid; grid-template-columns: .4fr 1.6fr; gap: 50px; border-top: 1px solid var(--press-black); }
.car-compare-index article small { color: var(--press-red); font-size: 9px; font-weight: 800; }
.car-compare-index article h2 { margin: 8px 0; font-size: 34px; }
.car-compare-index article p { color: var(--muted); font-size: 11px; line-height: 1.5; }
.car-compare-index article > div:last-child { display: grid; grid-template-columns: repeat(2, 1fr); }
.car-compare-index a { padding: 15px; display: flex; justify-content: space-between; gap: 15px; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 11px; font-weight: 700; }
.car-compare-index a span { color: var(--press-red); }

.car-versus-board { display: grid; grid-template-columns: 1fr 170px 1fr; position: relative; background: white; border-top: 5px solid var(--press-black); border-bottom: 1px solid var(--press-black); }
.car-versus-board > article { min-height: 360px; padding: 36px; display: flex; flex-direction: column; align-items: flex-start; }
.car-versus-board > article:last-of-type { grid-column: 3; }
.car-versus-board article small { color: var(--muted); font-size: 9px; font-weight: 800; }
.car-versus-board article .brand-wordmark { margin-top: 40px; }
.car-versus-board h2 { margin: 12px 0 20px; font-size: clamp(42px, 5vw, 70px); line-height: .9; }
.car-versus-board article > strong { margin-top: auto; font-size: 24px; }
.car-versus-board article > p { margin: 4px 0 20px; color: var(--muted); font-size: 10px; }
.car-versus-board article > a { color: var(--green); font-size: 10px; font-weight: 800; }
.car-versus-board > div { grid-column: 2; grid-row: 1; padding: 25px 12px; display: flex; flex-direction: column; justify-content: center; text-align: center; background: var(--press-red); color: white; }
.car-versus-board > div span { font: 700 46px "Newsreader", Georgia, serif; }
.car-versus-board > div b { margin-top: 35px; font-size: 9px; }
.car-versus-board > div strong { margin-top: 7px; font-size: 14px; }
.car-versus-board > div small { margin-top: 12px; color: #ffd8ce; font-size: 8px; line-height: 1.45; }
.car-versus-table { margin-top: 55px; border-top: 1px solid var(--press-black); border-bottom: 1px solid var(--press-black); }
.car-versus-table > div { display: grid; grid-template-columns: 1.2fr .9fr .9fr; }
.car-versus-table > div > * { padding: 15px; border-bottom: 1px solid var(--line); }
.car-versus-table > div > b { border-left: 1px solid var(--line); }
.car-versus-table span { color: var(--muted); font-size: 11px; }
.car-versus-table b { font-size: 12px; }
.car-comparison-answer { padding: 80px 0 110px; display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.car-comparison-answer > div { padding-top: 25px; border-top: 5px solid var(--press-red); }
.car-comparison-answer h2 { margin: 12px 0; font-size: 48px; line-height: .95; }
.car-comparison-answer p { color: var(--muted); line-height: 1.7; }
.car-comparison-answer > div > b { color: #5d6d65; font-size: 10px; line-height: 1.5; }

.city-car-hero { padding: 90px 0 70px; }
.city-car-hero h1 { max-width: 1000px; margin: 12px 0 18px; font-size: clamp(54px, 8vw, 100px); line-height: .88; letter-spacing: -.07em; }
.city-car-hero > p:not(.breadcrumbs) { max-width: 750px; color: var(--muted); font-size: 18px; line-height: 1.65; }
.city-car-hero > div { margin-top: 25px; display: flex; flex-wrap: wrap; gap: 10px; }
.city-car-hero > div a { padding: 11px 13px; border: 1px solid var(--press-black); font-size: 10px; font-weight: 800; }
.city-car-ranking { padding-bottom: 100px; }
.city-car-ranking article { min-height: 185px; display: grid; grid-template-columns: 80px 1.3fr .7fr 150px; gap: 25px; align-items: center; border-top: 1px solid var(--press-black); }
.city-car-ranking article > span { color: var(--press-red); font: 700 42px "Newsreader", Georgia, serif; }
.city-car-ranking small { color: var(--muted); font-size: 9px; font-weight: 800; }
.city-car-ranking h2 { margin: 8px 0; font-size: 36px; }
.city-car-ranking p { color: var(--muted); font-size: 11px; line-height: 1.55; }
.city-car-ranking article > div:nth-child(3) strong { display: block; margin-top: 7px; font-size: 21px; }
.city-car-ranking article > a { color: var(--green); font-size: 10px; font-weight: 800; }
.city-car-checks { margin-bottom: 110px; padding: 42px; display: grid; grid-template-columns: .5fr 1.5fr; gap: 55px; background: #eef4fb; }
.city-car-checks h2 { margin: 10px 0 0; font-size: 48px; line-height: .95; }
.city-car-checks ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); list-style: none; counter-reset: citycars; }
.city-car-checks li { padding: 18px; counter-increment: citycars; border-left: 1px solid #c9d0c5; }
.city-car-checks li::before { content: "0" counter(citycars); display: block; margin-bottom: 25px; color: var(--press-red); font: 800 10px "DM Mono", monospace; }
.city-car-checks li b, .city-car-checks li span { display: block; }
.city-car-checks li span { margin-top: 7px; color: var(--muted); font-size: 9px; line-height: 1.5; }

.city-compare-hero { max-width: 1180px; }
.city-compare-picker select { max-width: 330px; }
.city-compare-count { margin-top: -20px; margin-bottom: 80px; padding: 25px 30px; display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr; gap: 18px; align-items: baseline; border-top: 5px solid var(--press-red); background: var(--press-black); color: white; }
.city-compare-count strong { color: var(--lime); font: 700 38px "Newsreader", Georgia, serif; }
.city-compare-count span { color: #b8c7c1; font-size: 10px; text-transform: uppercase; }
.all-city-compare { padding-bottom: 110px; }
.all-city-compare > div:last-child { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--press-black); }
.all-city-compare > div:last-child a { min-height: 115px; padding: 18px; display: grid; grid-template-columns: 42px 1fr auto; gap: 14px; align-items: center; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.all-city-compare a > b { color: var(--press-red); font-size: 12px; }
.all-city-compare a span strong, .all-city-compare a span small { display: block; }
.all-city-compare a span strong { font: 700 20px "Newsreader", Georgia, serif; }
.all-city-compare a span small { margin-top: 4px; color: var(--muted); font-size: 8px; line-height: 1.4; }
.all-city-compare a i { color: var(--green); font-size: 9px; font-style: normal; font-weight: 800; }

.city-versus-board { display: grid; grid-template-columns: 1fr 180px 1fr; border-top: 5px solid var(--press-black); border-bottom: 1px solid var(--press-black); background: white; }
.city-versus-board article { min-height: 410px; padding: 30px; position: relative; overflow: hidden; display: flex; flex-direction: column; }
.city-versus-board article:last-of-type { grid-column: 3; }
.city-versus-board article img { width: 190px; height: 114px; position: absolute; top: 0; right: 0; object-fit: cover; opacity: .18; }
.city-versus-board article > span { color: var(--press-red); font-size: 11px; font-weight: 850; }
.city-versus-board h2 { margin: 80px 0 12px; font-size: clamp(46px, 6vw, 76px); line-height: .9; }
.city-versus-board article p { color: var(--muted); line-height: 1.7; }
.city-versus-board article a { margin-top: auto; color: var(--green); font-size: 10px; font-weight: 800; }
.city-versus-board > div { grid-column: 2; grid-row: 1; padding: 20px; display: flex; flex-direction: column; justify-content: center; text-align: center; background: var(--press-red); color: white; }
.city-versus-board > div b { font: 700 44px "Newsreader", Georgia, serif; }
.city-versus-board > div span { font-size: 9px; font-weight: 800; text-transform: uppercase; }
.city-versus-board > div small { margin-top: 18px; color: #ffd8ce; line-height: 1.5; }
.city-comparison-grid { padding: 80px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 50px; }
.city-comparison-grid > article { padding-top: 25px; border-top: 5px solid var(--press-red); }
.city-comparison-grid h2 { margin: 12px 0; font-size: 46px; line-height: .95; }
.city-comparison-grid > article > p { color: var(--muted); line-height: 1.7; }
.city-comparison-grid > article > div { padding: 15px 0; display: grid; grid-template-columns: 110px 1fr; gap: 15px; border-top: 1px solid var(--line); }
.city-comparison-grid div b { font-size: 10px; text-transform: uppercase; }
.city-comparison-grid div span { color: var(--muted); font-size: 11px; line-height: 1.5; }
.city-comparison-grid article > a { margin-top: 22px; display: inline-block; color: var(--green); font-size: 10px; font-weight: 800; }
.city-transport-compare { margin-bottom: 90px; padding: 44px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 55px; background: var(--press-black); color: white; }
.city-transport-compare h2 { margin: 10px 0; color: white; font-size: 48px; line-height: .95; }
.city-transport-compare > div:first-child p { color: #b6c4be; line-height: 1.65; }
.city-transport-compare > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
.city-transport-compare article { padding: 28px; border-left: 1px solid rgb(255 255 255 / 20%); }
.city-transport-compare article small, .city-transport-compare article b, .city-transport-compare article a { display: block; }
.city-transport-compare article small { color: #aabbb4; font-size: 9px; }
.city-transport-compare article b { margin-top: 32px; font: 700 29px "Newsreader", Georgia, serif; }
.city-transport-compare article a { margin-top: 25px; color: var(--lime); font-size: 10px; font-weight: 800; }

/* Which Car marketplace — U.S. ownership-cost edition */
.car-marketplace { background: #f7f6f1; }
.car-market-nav { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid #d8ddd6; background: rgb(255 255 255 / 94%); backdrop-filter: blur(12px); }
.car-market-nav > div { display: flex; overflow-x: auto; scrollbar-width: none; }
.car-market-nav a { min-width: max-content; padding: 15px 20px; border-right: 1px solid var(--line); color: var(--green); font-size: 9px; font-weight: 850; text-transform: uppercase; }
.car-market-nav a:first-child { background: var(--press-red); color: white; }

.car-market-hero { min-height: 610px; position: relative; overflow: hidden; display: grid; align-items: end; background: var(--press-black); color: white; }
.car-market-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(17 26 23 / 91%) 0%, rgb(17 26 23 / 58%) 50%, rgb(17 26 23 / 12%)), linear-gradient(0deg, rgb(17 26 23 / 66%), transparent 55%); }
.car-market-hero > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.car-market-hero > .shell { padding-top: 100px; padding-bottom: 55px; position: relative; z-index: 1; display: grid; grid-template-columns: 1.12fr .88fr; gap: 70px; align-items: end; }
.car-market-hero-copy h1 { max-width: 820px; margin: 14px 0 18px; color: white; font-size: clamp(62px, 7.4vw, 102px); line-height: .84; letter-spacing: -.07em; }
.car-market-hero-copy p { max-width: 690px; margin: 0; color: #dce7e2; font-size: 16px; line-height: 1.7; }
.car-quick-search { padding: 32px; background: rgb(255 255 255 / 96%); color: var(--ink); box-shadow: 12px 12px 0 var(--lime); }
.car-quick-search > span { color: var(--press-red); font: 850 9px "DM Mono", monospace; letter-spacing: .06em; }
.car-quick-search h2 { margin: 10px 0 23px; font-size: 36px; line-height: .96; letter-spacing: -.04em; }
.car-quick-search > div { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--press-black); border-bottom: 1px solid var(--press-black); }
.car-quick-search > div a { min-height: 115px; padding: 18px; display: flex; flex-direction: column; }
.car-quick-search > div a + a { border-left: 1px solid var(--line); }
.car-quick-search > div b,
.car-quick-search > div span { display: block; }
.car-quick-search > div b { font-size: 11px; }
.car-quick-search > div span { margin-top: auto; color: var(--muted); font-size: 8px; line-height: 1.5; }
.car-quick-search > a { margin-top: 23px; padding: 14px; display: block; background: var(--press-red); color: white; text-align: center; font-size: 10px; font-weight: 850; }

.car-trending-strip { padding-top: 24px; padding-bottom: 30px; border-bottom: 1px solid var(--press-black); }
.car-trending-strip > div:first-child { display: flex; justify-content: space-between; gap: 20px; align-items: center; }
.car-trending-strip > div:first-child span { color: var(--press-red); font: 850 9px "DM Mono", monospace; }
.car-trending-strip > div:first-child a { color: var(--green); font-size: 9px; font-weight: 850; }
.car-trending-strip > div:last-child { margin-top: 18px; display: grid; grid-template-columns: repeat(6, 1fr); }
.car-trending-strip > div:last-child a { min-height: 120px; padding: 14px; display: flex; flex-direction: column; border-left: 1px solid var(--line); background: white; }
.car-trending-strip > div:last-child a:hover { background: #eef4fb; }
.car-trending-strip small { color: var(--press-red); font-size: 8px; }
.car-trending-strip .brand-wordmark { margin-top: 16px; padding: 4px 7px 3px; border-width: 1px; font-size: 10px; }
.car-trending-strip b { margin-top: 8px; font: 700 18px "Newsreader", Georgia, serif; }

.car-discovery { margin: 90px 0 110px; display: grid; grid-template-columns: .62fr 1.38fr; border-top: 6px solid var(--press-black); border-bottom: 1px solid var(--press-black); background: white; }
.car-discovery-form { padding: 34px; background: #eef4fb; }
.car-discovery-form h2 { margin: 10px 0 25px; font-size: 44px; line-height: .94; letter-spacing: -.05em; }
.car-discovery-form > div { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.car-discovery-form label { color: var(--muted); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.car-discovery-form select { width: 100%; margin-top: 7px; padding: 12px; border: 1px solid #c5cdc3; background: white; color: var(--ink); font: 700 10px Arial, sans-serif; }
.car-discovery-form > small { margin-top: 22px; display: block; color: var(--muted); font-size: 8px; line-height: 1.5; }
.car-discovery-results { min-width: 0; display: grid; grid-template-columns: repeat(4, 1fr); }
.car-discovery-results > div:first-child { grid-column: 1 / -1; padding: 15px 20px; display: flex; align-items: baseline; gap: 8px; border-bottom: 1px solid var(--line); }
.car-discovery-results > div:first-child b { color: var(--press-red); font: 700 28px "Newsreader", Georgia, serif; }
.car-discovery-results > div:first-child span { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.car-discovery-results > a { min-height: 310px; padding: 20px; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.car-discovery-results > a:hover { background: #fdf0f3; }
.car-discovery-results > a > small { color: var(--press-red); font-size: 8px; font-weight: 850; }
.car-discovery-results .brand-wordmark { margin-top: 22px; padding: 5px 8px 4px; border-width: 1px; font-size: 11px; }
.car-discovery-results h3 { margin: 10px 0 8px; font-size: 27px; line-height: .95; }
.car-discovery-results > a > p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.car-discovery-results dl { margin: 22px 0; }
.car-discovery-results dl > div { padding: 6px 0; display: grid; grid-template-columns: 1fr auto; border-top: 1px solid var(--line); }
.car-discovery-results dt { color: var(--muted); font-size: 7px; text-transform: uppercase; }
.car-discovery-results dd { margin: 0; font-size: 8px; font-weight: 850; }
.car-discovery-results > a > b { margin-top: auto; color: var(--green); font-size: 8px; }
.car-discovery-empty { grid-column: 1 / -1; padding: 55px; color: var(--muted); }

.car-budget-library { padding-bottom: 110px; }
.car-budget-library > article { margin-top: 34px; display: grid; grid-template-columns: .25fr 1.75fr; border-top: 1px solid var(--press-black); }
.car-budget-library > article > header { padding: 22px 30px 22px 0; }
.car-budget-library > article > header span { color: var(--press-red); font: 850 9px "DM Mono", monospace; }
.car-budget-library > article > header p { color: var(--muted); font-size: 9px; line-height: 1.55; }
.car-budget-library > article > div { min-width: 0; display: grid; grid-template-columns: repeat(3, 1fr); }
.car-budget-library article article { display: block; }
.car-budget-library > article > div > a { min-height: 265px; padding: 22px; display: flex; flex-direction: column; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.car-budget-library > article > div > a:hover { background: #fdf0f3; }
.car-budget-library > article > div > a > div:first-child { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.car-budget-library .brand-wordmark { padding: 5px 8px 4px; border-width: 1px; font-size: 11px; }
.car-budget-library a i { color: var(--muted); font-size: 8px; font-style: normal; }
.car-budget-library h3 { margin: 22px 0 8px; font-size: 28px; line-height: .95; }
.car-budget-library a > p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.5; }
.car-budget-library dl { margin: 18px 0; }
.car-budget-library dl > div { padding: 6px 0; display: grid; grid-template-columns: 1fr auto; border-top: 1px solid var(--line); }
.car-budget-library dt { color: var(--muted); font-size: 7px; text-transform: uppercase; }
.car-budget-library dd { margin: 0; font-size: 8px; font-weight: 850; }
.car-budget-library a > b { margin-top: auto; color: var(--green); font-size: 8px; }

.car-body-browser { padding: 100px 0; background: var(--press-black); color: white; }
.car-body-browser .section-heading h2 { color: white; }
.car-body-browser .section-heading > a { color: var(--lime); font-size: 9px; font-weight: 850; }
.car-body-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgb(255 255 255 / 28%); }
.car-body-grid a { min-height: 235px; padding: 25px; display: flex; flex-direction: column; border-right: 1px solid rgb(255 255 255 / 18%); }
.car-body-grid a:hover { background: #23322c; }
.car-body-grid i { width: 78px; height: 47px; display: grid; place-items: center; border: 2px solid var(--lime); border-radius: 45% 45% 20% 20%; color: var(--lime); font: 850 10px "DM Mono", monospace; font-style: normal; }
.car-body-grid strong { margin-top: 40px; font: 700 29px "Newsreader", Georgia, serif; }
.car-body-grid span { margin-top: 9px; color: #b9c9dc; font-size: 9px; line-height: 1.5; }
.car-power-links { margin-top: 30px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.car-power-links span { margin-right: 10px; color: var(--press-red); font: 850 8px "DM Mono", monospace; }
.car-power-links a { padding: 10px 12px; border: 1px solid rgb(255 255 255 / 24%); color: white; font-size: 8px; font-weight: 800; }

.car-market-brands { padding-top: 110px; }
.car-review-showcase { padding: 105px 0; background: #eef4fb; }
.car-review-showcase .section-heading > a,
.car-popular-compare .section-heading > a,
.car-update-desk .section-heading > a { color: var(--green); font-size: 9px; font-weight: 850; }
.car-review-showcase .shell > div:last-child { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--press-black); }
.car-review-showcase .shell > div:last-child > a { min-height: 485px; padding: 0 22px 24px; display: flex; flex-direction: column; border-right: 1px solid #c5cec3; }
.car-review-showcase .shell > div:last-child > a:first-child { padding-left: 0; }
.car-review-showcase .shell > div:last-child > a:last-child { padding-right: 0; border-right: 0; }
.car-review-showcase a > div { height: 185px; position: relative; overflow: hidden; }
.car-review-showcase img { width: 100%; height: 100%; object-fit: cover; }
.car-review-showcase a > div span { padding: 9px 11px; position: absolute; left: 0; bottom: 0; background: var(--press-red); color: white; font: 850 9px "DM Mono", monospace; }
.car-review-showcase a > small { margin-top: 20px; color: var(--press-red); font-size: 8px; text-transform: uppercase; }
.car-review-showcase h3 { margin: 15px 0 10px; font-size: 27px; line-height: .95; }
.car-review-showcase a > p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.car-review-showcase a > b { margin-top: auto; color: var(--green); font-size: 8px; }

.car-popular-compare { padding: 110px 0; }
.car-popular-compare > div:last-child { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--press-black); }
.car-popular-compare > div:last-child > a { min-height: 260px; padding: 24px; position: relative; display: grid; grid-template-columns: 1fr 55px 1fr; align-items: center; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.car-popular-compare article { display: flex; flex-direction: column; align-items: flex-start; }
.car-popular-compare .brand-wordmark { padding: 5px 8px 4px; border-width: 1px; font-size: 10px; }
.car-popular-compare article strong { margin-top: 13px; font: 700 25px "Newsreader", Georgia, serif; }
.car-popular-compare article small { margin-top: 7px; color: var(--muted); font-size: 8px; }
.car-popular-compare a > i { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 999px; background: var(--press-red); color: white; font: 850 9px "DM Mono", monospace; font-style: normal; }
.car-popular-compare a > b { position: absolute; left: 24px; bottom: 20px; color: var(--green); font-size: 8px; }

.car-update-desk { padding: 105px 0; }
.car-update-desk > div:last-child { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--press-black); }
.car-update-desk > div:last-child > a { min-height: 520px; padding: 0 22px 25px; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.car-update-desk > div:last-child > a:first-child { padding-left: 0; }
.car-update-desk > div:last-child > a:last-child { padding-right: 0; border-right: 0; }
.car-update-desk img { width: 100%; height: 190px; object-fit: cover; }
.car-update-desk small { margin-top: 19px; color: var(--press-red); font: 800 8px "DM Mono", monospace; text-transform: uppercase; }
.car-update-desk h3 { margin: 15px 0 10px; font-size: 27px; line-height: .96; }
.car-update-desk p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.55; }
.car-update-desk b { margin-top: auto; color: var(--green); font-size: 8px; }

/* HomeCostGrid expert car reviews */
.car-reviews-page,
.car-review-detail { background: #fbfaf6; }
.review-desk-header { padding-top: 70px; }
.review-desk-hero { min-height: 650px; position: relative; overflow: hidden; display: flex; align-items: flex-end; border-top: 6px solid var(--press-black); background: var(--press-black); color: white; }
.review-desk-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(13 24 20 / 94%) 0%, rgb(13 24 20 / 79%) 39%, rgb(13 24 20 / 15%) 72%), linear-gradient(0deg, rgb(13 24 20 / 62%), transparent 55%); }
.review-desk-hero > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: center; }
.review-desk-hero > div { width: min(720px, 62%); padding: clamp(38px, 6vw, 82px); position: relative; z-index: 1; }
.review-desk-hero .section-number { color: var(--lime); }
.review-desk-header h1 { margin: 14px 0 24px; color: white; font-size: clamp(58px, 7vw, 96px); line-height: .86; letter-spacing: -.065em; }
.review-desk-hero p { max-width: 650px; margin: 0; color: #d7e1dc; font-size: 16px; line-height: 1.7; }
.review-desk-hero > b { padding: 12px 15px; position: absolute; right: 0; bottom: 0; z-index: 1; background: var(--press-red); color: white; font: 850 9px "DM Mono", monospace; text-transform: uppercase; }
.review-desk-header nav { display: flex; overflow-x: auto; border-top: 1px solid var(--press-black); border-bottom: 1px solid var(--press-black); }
.review-desk-header nav a { min-width: 150px; padding: 15px 18px; border-right: 1px solid var(--line); color: var(--green); font: 850 9px "DM Mono", monospace; text-transform: uppercase; }
.review-desk-header nav a:hover { background: #eef4fb; }

.review-lead { min-height: 620px; display: grid; grid-template-columns: 1.18fr .82fr; border-bottom: 1px solid var(--press-black); }
.review-lead-image { min-height: 620px; position: relative; overflow: hidden; border-right: 1px solid var(--press-black); }
.review-lead-image img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.review-lead-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgb(17 26 23 / 52%), transparent 55%); }
.review-lead-image > span { padding: 12px 15px; position: absolute; left: 0; bottom: 0; z-index: 1; background: var(--press-red); color: white; font: 850 9px "DM Mono", monospace; }
.review-lead > article { padding: 42px; display: flex; flex-direction: column; align-items: flex-start; }
.review-lead > article > small { color: var(--press-red); font: 850 9px "DM Mono", monospace; text-transform: uppercase; }
.review-lead .brand-wordmark { margin-top: 28px; }
.review-lead h2 { margin: 18px 0; font-size: clamp(43px, 5vw, 66px); line-height: .92; letter-spacing: -.055em; }
.review-lead > article > p { margin: 0; color: var(--muted); line-height: 1.7; }
.review-lead-score { margin-top: 28px; display: flex; align-items: end; gap: 8px; }
.review-lead-score strong { color: var(--press-red); font: 700 62px "Newsreader", Georgia, serif; line-height: .8; }
.review-lead-score span { color: var(--muted); font-size: 8px; font-weight: 850; line-height: 1.3; }
.review-lead dl { width: 100%; margin: 28px 0 0; }
.review-lead dl > div { padding: 10px 0; display: grid; grid-template-columns: 115px 1fr; gap: 15px; border-top: 1px solid var(--line); }
.review-lead dt { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.review-lead dd { margin: 0; font-size: 10px; font-weight: 800; }
.review-read-button { margin-top: auto; padding: 13px 15px; background: var(--press-black); color: white; font-size: 10px; font-weight: 850; }

.review-stream { padding: 105px 0; }
.review-card-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--press-black); }
.review-card { min-width: 0; min-height: 360px; display: grid; grid-template-columns: .72fr 1.28fr; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.review-card:nth-child(even) { border-right: 0; }
.review-card:hover .review-card-copy { background: #fdf0f3; }
.review-card-visual { min-height: 360px; padding: 22px; position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; background: #e8eee5; }
.review-card-visual::after { content: ""; position: absolute; inset: 42% 0 0; background: linear-gradient(0deg, rgb(17 26 23 / 82%), transparent); }
.review-card-visual img { width: 100%; height: 52%; position: absolute; inset: auto 0 0; object-fit: cover; opacity: .84; filter: saturate(.85); }
.review-tone-1 { background: #ffddd1; }
.review-tone-2 { background: #eff7bb; }
.review-tone-3 { background: #dbe9f0; }
.review-card-visual .brand-wordmark,
.review-card-visual > b,
.review-card-visual > i { position: relative; z-index: 1; }
.review-card-visual > b { margin-top: 12px; font: 700 31px "Newsreader", Georgia, serif; }
.review-card-visual > i { margin-top: auto; color: white; font: 700 53px "Newsreader", Georgia, serif; font-style: normal; line-height: .8; }
.review-card-copy { padding: 26px; display: flex; flex-direction: column; transition: background .2s ease; }
.review-card-copy > small { color: var(--press-red); font: 800 8px "DM Mono", monospace; text-transform: uppercase; }
.review-card-copy h3 { margin: 18px 0 10px; font-size: 29px; line-height: .96; letter-spacing: -.035em; }
.review-card-copy > p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; }
.review-card-copy dl { margin: 22px 0; }
.review-card-copy dl > div { padding: 7px 0; display: grid; grid-template-columns: 1fr auto; gap: 12px; border-top: 1px solid var(--line); }
.review-card-copy dt { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.review-card-copy dd { margin: 0; font-size: 9px; font-weight: 850; }
.review-card-copy > b { margin-top: auto; color: var(--green); font-size: 9px; }

.review-method { margin-bottom: 110px; padding: 48px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 55px; background: var(--press-black); color: white; }
.review-method h2 { margin: 12px 0; color: white; font-size: clamp(40px, 5vw, 62px); line-height: .93; letter-spacing: -.05em; }
.review-method > div:first-child p { color: #afbeb8; line-height: 1.7; }
.review-method ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); list-style: none; counter-reset: reviewmethod; }
.review-method li { padding: 24px; counter-increment: reviewmethod; border-left: 1px solid rgb(255 255 255 / 18%); border-bottom: 1px solid rgb(255 255 255 / 18%); }
.review-method li::before { content: "0" counter(reviewmethod); display: block; margin-bottom: 28px; color: var(--lime); font: 850 9px "DM Mono", monospace; }
.review-method li b,
.review-method li span { display: block; }
.review-method li span { margin-top: 8px; color: #b9c9dc; font-size: 9px; line-height: 1.5; }
.review-method > div:last-child { grid-column: 1 / -1; display: flex; gap: 10px; }
.review-method > div:last-child a { padding: 12px 14px; border: 1px solid rgb(255 255 255 / 28%); color: white; font-size: 9px; font-weight: 850; }

.review-article-hero { min-height: 700px; position: relative; overflow: hidden; display: grid; align-items: end; background: var(--press-black); color: white; }
.review-article-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(17 26 23 / 94%) 0%, rgb(17 26 23 / 72%) 54%, rgb(17 26 23 / 12%)), linear-gradient(0deg, rgb(17 26 23 / 75%), transparent 60%); }
.review-article-hero > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.review-article-hero > .shell { padding-top: 90px; padding-bottom: 65px; position: relative; z-index: 1; }
.review-article-hero .breadcrumbs { margin-bottom: 55px; color: #cbd7d2; }
.review-article-hero .breadcrumbs a { color: white; }
.review-article-hero .brand-wordmark { margin-top: 24px; color: white; }
.review-article-hero h1 { max-width: 1050px; margin: 16px 0; color: white; font-size: clamp(58px, 7vw, 100px); line-height: .86; letter-spacing: -.065em; }
.review-article-hero > .shell > p:not(.breadcrumbs) { max-width: 760px; color: #d6e0dc; font-size: 17px; line-height: 1.65; }
.review-article-hero > .shell > div { margin-top: 28px; display: flex; flex-wrap: wrap; gap: 16px; color: #b8c7c0; font-size: 9px; font-weight: 800; text-transform: uppercase; }

.review-score-board { margin-top: -1px; display: grid; grid-template-columns: 1.1fr repeat(5, 1fr); border-bottom: 1px solid var(--press-black); background: white; }
.review-score-board > div { padding: 23px; background: var(--press-red); color: white; }
.review-score-board > div span { display: block; font: 850 8px "DM Mono", monospace; }
.review-score-board > div strong { font: 700 52px "Newsreader", Georgia, serif; line-height: 1; }
.review-score-board > div small { color: #ffd7cd; }
.review-score-board article { padding: 22px; border-right: 1px solid var(--line); }
.review-score-board article > span { display: block; color: var(--muted); font-size: 8px; font-weight: 850; text-transform: uppercase; }
.review-score-board article i { height: 7px; margin-top: 30px; display: block; background: #e7e9e2; }
.review-score-board article em { height: 100%; display: block; background: var(--green); }
.review-score-board article b { margin-top: 9px; display: block; font-size: 17px; }

.review-article-layout { padding: 100px 0; display: grid; grid-template-columns: 1.28fr .72fr; gap: 90px; }
.review-pros-cons { display: grid; grid-template-columns: 1fr 1fr; border-top: 5px solid var(--press-black); border-bottom: 1px solid var(--press-black); }
.review-pros-cons > div { padding: 26px; }
.review-pros-cons > div + div { border-left: 1px solid var(--line); }
.review-pros-cons span { color: var(--press-red); font: 850 9px "DM Mono", monospace; }
.review-pros-cons ul { margin: 20px 0 0; padding: 0; list-style: none; }
.review-pros-cons li { padding: 10px 0 10px 23px; position: relative; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.45; }
.review-pros-cons li::before { content: "+"; position: absolute; left: 0; color: var(--green); font-weight: 900; }
.review-pros-cons > div + div li::before { content: "–"; color: var(--press-red); }
.review-verdict { margin: 55px 0 30px; padding: 34px; border-left: 7px solid var(--lime); background: var(--press-black); color: white; }
.review-verdict span { color: var(--lime); font: 850 9px "DM Mono", monospace; }
.review-verdict p { margin: 12px 0 0; font: 700 28px/1.22 "Newsreader", Georgia, serif; }
.review-article-layout > article > section:not(.review-who) { padding: 46px 0; border-top: 1px solid var(--press-black); }
.review-article-layout > article > section > small { color: var(--press-red); font: 850 9px "DM Mono", monospace; }
.review-article-layout > article > section h2 { margin: 11px 0 17px; font-size: clamp(40px, 5vw, 62px); line-height: .94; letter-spacing: -.05em; }
.review-article-layout > article > section p { color: var(--muted); font-size: 16px; line-height: 1.8; }
.review-cost-grid { margin-top: 28px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--press-black); }
.review-cost-grid > div { padding: 20px; border-right: 1px solid var(--line); }
.review-cost-grid span,
.review-cost-grid strong,
.review-cost-grid small { display: block; }
.review-cost-grid span { color: var(--muted); font-size: 9px; text-transform: uppercase; }
.review-cost-grid strong { margin-top: 18px; font: 700 27px "Newsreader", Georgia, serif; }
.review-cost-grid small { margin-top: 5px; color: var(--muted); font-size: 8px; }
.review-who { padding: 38px; background: #eef4be; }
.review-who h2 { font-size: 36px !important; line-height: 1 !important; }
.review-who a { display: inline-block; margin-top: 20px; color: var(--green); font-size: 10px; font-weight: 850; }
.review-article-layout > aside { height: fit-content; padding: 32px; position: sticky; top: 24px; border-top: 6px solid var(--press-red); background: #eef4fb; }
.review-article-layout > aside > span { color: var(--press-red); font: 850 9px "DM Mono", monospace; }
.review-article-layout > aside > strong { margin-top: 15px; display: block; font: 700 62px "Newsreader", Georgia, serif; }
.review-article-layout > aside > p { color: var(--muted); font-size: 11px; line-height: 1.65; }
.review-article-layout aside dl { margin: 30px 0; }
.review-article-layout aside dl > div { padding: 10px 0; display: grid; grid-template-columns: 1fr auto; gap: 12px; border-top: 1px solid #c9d0c5; }
.review-article-layout aside dt { color: var(--muted); font-size: 9px; }
.review-article-layout aside dd { margin: 0; font-size: 9px; font-weight: 850; }
.review-article-layout > aside > a { color: var(--green); font-size: 10px; font-weight: 850; }
.related-reviews { padding: 100px 0; }
.related-reviews h2 { margin: 10px 0 28px; font-size: clamp(42px, 5vw, 64px); }
.related-reviews > div { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--press-black); }
.related-reviews a { min-height: 290px; padding: 26px; display: flex; flex-direction: column; border-right: 1px solid var(--line); }
.related-reviews a > small { color: var(--press-red); font-size: 8px; text-transform: uppercase; }
.related-reviews .brand-wordmark { margin-top: 28px; }
.related-reviews h3 { margin: 16px 0; font-size: 27px; line-height: .98; }
.related-reviews a > b { margin-top: auto; color: var(--green); font-size: 9px; }

@media (max-width: 1220px) and (min-width: 901px) {
  .site-header-inner { gap: 14px; }
  .site-header .site-navigation { gap: 11px; }
  .site-header .site-navigation a { font-size: 9px; }
  .site-header-cta { display: none; }
}

@media (max-width: 900px) {
  .car-situation-row,
  .car-profile-hero,
  .car-detail-grid,
  .brand-scorecard,
  .city-car-checks,
  .city-transport-compare,
  .review-lead,
  .review-method,
  .review-article-layout { grid-template-columns: 1fr; }
  .car-situation-row > div:last-child { grid-template-columns: repeat(2, 1fr); }
  .car-cost-calculator { grid-template-columns: 1fr; }
  .car-calc-inputs { border-right: 0; border-bottom: 1px solid rgb(255 255 255 / 16%); }
  .brand-library > div:last-child { grid-template-columns: repeat(2, 1fr); }
  .car-detail-grid > aside { position: static; }
  .city-car-ranking article { grid-template-columns: 70px 1fr 1fr; }
  .city-car-ranking article > a { grid-column: 2 / -1; padding-bottom: 20px; }
  .city-car-checks ol { grid-template-columns: repeat(5, 1fr); }
  .all-city-compare > div:last-child { grid-template-columns: repeat(2, 1fr); }
  .review-lead-image { min-height: 480px; border-right: 0; border-bottom: 1px solid var(--press-black); }
  .review-desk-hero { min-height: 610px; }
  .review-desk-hero::after { background: linear-gradient(0deg, rgb(13 24 20 / 96%) 0%, rgb(13 24 20 / 68%) 58%, rgb(13 24 20 / 8%) 100%); }
  .review-desk-hero > img { object-position: 62% center; }
  .review-desk-hero > div { width: 100%; padding: 34px 26px 48px; }
  .review-desk-header h1 { font-size: clamp(50px, 14vw, 76px); }
  .review-desk-hero p { font-size: 14px; }
  .review-card { grid-template-columns: 1fr; }
  .review-score-board { grid-template-columns: repeat(3, 1fr); }
  .review-score-board > div { grid-row: span 2; }
  .review-article-layout > aside { position: static; }
  .car-market-hero > .shell,
  .car-discovery { grid-template-columns: 1fr; }
  .car-trending-strip > div:last-child { grid-template-columns: repeat(3, 1fr); }
  .car-discovery-results { grid-template-columns: repeat(2, 1fr); }
  .car-budget-library > article { grid-template-columns: 1fr; }
  .car-budget-library > article > header { padding-right: 0; }
  .car-review-showcase .shell > div:last-child,
  .car-update-desk > div:last-child { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 620px) {
  .cars-hero { min-height: 640px; align-items: end; }
  .cars-hero::after { background: linear-gradient(0deg, rgb(17 26 23 / 96%) 0%, rgb(17 26 23 / 55%) 75%, transparent); }
  .cars-hero > img { object-position: 62% center; }
  .cars-hero > .shell { padding-top: 160px; padding-bottom: 45px; }
  .cars-hero h1 { font-size: 57px; line-height: .88; }
  .cars-hero p { font-size: 15px; }
  .car-review-promo { margin-bottom: 70px; grid-template-columns: 1fr; }
  .car-review-promo > div { padding-right: 0; }
  .car-review-promo > a { min-height: 210px; }
  .car-desk-strip { grid-template-columns: 1fr 1fr; }
  .car-desk-strip article:nth-child(3) { border-left: 0; }
  .car-desk-strip article:nth-child(n+3) { border-top: 1px solid var(--line); }
  .car-situation-library, .brand-library { padding: 72px 0; }
  .car-situation-row { gap: 25px; }
  .car-situation-row > div:last-child { grid-template-columns: 1fr; }
  .car-situation-row a { min-height: 190px; border-left: 0; border-top: 1px solid var(--line); }
  .car-calculator-section { padding: 70px 0; }
  .car-cost-calculator { box-shadow: 8px 9px 0 var(--press-red); }
  .car-calc-inputs, .car-calc-result { padding: 22px; }
  .car-calc-result h3 { font-size: 42px; }
  .car-cost-bars > div { grid-template-columns: 1fr auto; }
  .car-cost-bars i { grid-column: 1 / -1; grid-row: 2; }
  .brand-library > div:last-child,
  .brand-scorecard > div:last-child,
  .car-alternatives > div { grid-template-columns: 1fr; }
  .car-method-band { margin-bottom: 70px; padding: 27px 20px; }
  .car-method-grid { grid-template-columns: 1fr 1fr; }
  .car-profile-hero { padding: 60px 0; gap: 35px; }
  .car-profile-hero h1 { font-size: 68px; }
  .car-fit-score { grid-template-columns: repeat(5, 150px); overflow-x: auto; }
  .car-detail-grid { padding: 70px 0; gap: 45px; }
  .car-alternatives { padding-bottom: 70px; }
  .brand-detail-hero { padding: 60px 0 40px; }
  .brand-detail-hero h1 { font-size: 58px; }
  .brand-scorecard { padding: 40px 0 70px; gap: 35px; }
  .brand-buying-check { margin-bottom: 70px; padding: 25px; }
  .brand-buying-check ol { grid-template-columns: 1fr; }
  .brand-buying-check li { border-left: 0; border-top: 1px solid rgb(255 255 255 / 18%); }
  .car-compare-index article { grid-template-columns: 1fr; gap: 15px; }
  .car-compare-index article > div:last-child { grid-template-columns: 1fr; }
  .car-versus-board, .city-versus-board { grid-template-columns: 1fr; }
  .car-versus-board > article:last-of-type, .city-versus-board article:last-of-type { grid-column: 1; }
  .car-versus-board > div, .city-versus-board > div { min-height: 150px; grid-column: 1; grid-row: 2; }
  .car-versus-table { overflow-x: auto; }
  .car-versus-table > div { min-width: 650px; }
  .car-comparison-answer, .city-comparison-grid { grid-template-columns: 1fr; }
  .city-car-hero { padding: 60px 0 45px; }
  .city-car-hero h1 { font-size: 56px; }
  .city-car-ranking article { padding: 25px 0; grid-template-columns: 55px 1fr; gap: 15px; align-items: start; }
  .city-car-ranking article > div:nth-child(3), .city-car-ranking article > a { grid-column: 2; }
  .city-car-ranking article > a { padding-bottom: 0; }
  .city-car-checks { padding: 25px; gap: 30px; }
  .city-car-checks ol { grid-template-columns: 1fr; }
  .city-car-checks li { border-left: 0; border-top: 1px solid #c9d0c5; }
  .city-compare-picker { grid-template-columns: 1fr; }
  .city-compare-picker > span { display: none; }
  .city-compare-picker select { max-width: none; }
  .city-compare-count { grid-template-columns: auto 1fr; }
  .all-city-compare > div:last-child { grid-template-columns: 1fr; }
  .city-comparison-grid { padding: 60px 0; }
  .city-transport-compare { padding: 26px; gap: 25px; }
  .city-transport-compare > div:last-child { grid-template-columns: 1fr; }
  .city-transport-compare article { border-left: 0; border-top: 1px solid rgb(255 255 255 / 20%); }
  .review-desk-header { padding-top: 45px; }
  .review-desk-header > div { padding: 45px 0 30px; gap: 28px; }
  .review-desk-header h1 { font-size: 58px; }
  .review-desk-header nav a { min-width: 125px; }
  .review-lead-image { min-height: 310px; }
  .review-lead > article { padding: 28px 20px 34px; }
  .review-lead h2 { font-size: 42px; }
  .review-stream { padding: 70px 0; }
  .review-card-grid { grid-template-columns: 1fr; }
  .review-card { border-right: 0; }
  .review-card-visual { min-height: 290px; }
  .review-method { margin-bottom: 70px; padding: 26px; gap: 30px; }
  .review-method ol { grid-template-columns: 1fr; }
  .review-method li { border-left: 0; }
  .review-method > div:last-child { flex-direction: column; }
  .review-article-hero { min-height: 660px; }
  .review-article-hero::after { background: linear-gradient(0deg, rgb(17 26 23 / 96%) 0%, rgb(17 26 23 / 55%) 85%, transparent); }
  .review-article-hero > .shell { padding-top: 130px; padding-bottom: 42px; }
  .review-article-hero h1 { font-size: 54px; }
  .review-score-board { grid-template-columns: repeat(2, 1fr); overflow: hidden; }
  .review-score-board > div { grid-row: auto; grid-column: 1 / -1; }
  .review-pros-cons,
  .review-cost-grid,
  .related-reviews > div { grid-template-columns: 1fr; }
  .review-pros-cons > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .review-article-layout { padding: 70px 0; gap: 45px; }
  .review-article-layout > article > section p { font-size: 15px; }
  .review-cost-grid > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .related-reviews { padding: 70px 0; }
  .related-reviews a { min-height: 245px; border-right: 0; border-bottom: 1px solid var(--line); }
  .car-market-nav a { padding: 13px 15px; }
  .car-market-hero { min-height: 760px; }
  .car-market-hero::after { background: linear-gradient(0deg, rgb(17 26 23 / 97%) 0%, rgb(17 26 23 / 56%) 90%, transparent); }
  .car-market-hero > .shell { padding-top: 130px; padding-bottom: 38px; gap: 32px; }
  .car-market-hero-copy h1 { font-size: 57px; }
  .car-market-hero-copy p { font-size: 14px; }
  .car-quick-search { padding: 22px; box-shadow: 7px 8px 0 var(--lime); }
  .car-quick-search h2 { font-size: 30px; }
  .car-trending-strip > div:last-child { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .car-trending-strip > div:last-child a { min-width: 155px; scroll-snap-align: start; }
  .car-discovery { margin: 65px 0 75px; }
  .car-discovery-form { padding: 25px 20px; }
  .car-discovery-form h2 { font-size: 39px; }
  .car-discovery-form > div { grid-template-columns: 1fr; }
  .car-discovery-results { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .car-discovery-results > div:first-child { min-width: 100%; }
  .car-discovery-results > a { min-width: 75vw; scroll-snap-align: start; }
  .car-discovery-empty { min-width: 100%; }
  .car-budget-library { padding-bottom: 75px; }
  .car-budget-library > article > div { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .car-budget-library > article > div > a { min-width: 76vw; scroll-snap-align: start; }
  .car-body-browser { padding: 70px 0; }
  .car-body-grid { grid-template-columns: repeat(2, 1fr); }
  .car-body-grid a { min-height: 210px; padding: 19px; }
  .car-market-brands { padding-top: 75px; }
  .car-review-showcase { padding: 70px 0; }
  .car-review-showcase .shell > div:last-child,
  .car-update-desk > div:last-child { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .car-review-showcase .shell > div:last-child > a,
  .car-update-desk > div:last-child > a { width: 80vw; min-width: 265px; scroll-snap-align: start; }
  .car-review-showcase .shell > div:last-child > a:first-child,
  .car-update-desk > div:last-child > a:first-child { padding-left: 0; }
  .car-popular-compare { padding: 75px 0; }
  .car-popular-compare > div:last-child { grid-template-columns: 1fr; }
  .car-popular-compare > div:last-child > a { border-right: 0; }
  .car-update-desk { padding: 75px 0; }
}

/* Reviewed local dealership directory */
.city-dealer-directory {
  padding-top: 95px;
  padding-bottom: 105px;
}

.dealer-card-grid {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 5px solid var(--press-black);
}

.dealer-card-grid > article {
  min-height: 380px;
  padding: 26px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: white;
}

.dealer-card-grid article > span {
  color: var(--green);
  font: 850 8px "DM Mono", monospace;
  letter-spacing: .07em;
}

.dealer-card-grid h3 {
  margin: 22px 0 10px;
  font-size: 34px;
  line-height: .96;
}

.dealer-card-grid article > p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.65;
}

.dealer-card-grid dl {
  margin: 24px 0;
  display: grid;
}

.dealer-card-grid dl > div {
  padding: 10px 0;
  display: grid;
  grid-template-columns: 75px 1fr;
  gap: 12px;
  border-top: 1px solid var(--line);
}

.dealer-card-grid dt {
  color: var(--press-red);
  font-size: 8px;
  font-weight: 850;
  text-transform: uppercase;
}

.dealer-card-grid dd {
  margin: 0;
  color: #4f6058;
  font-size: 10px;
  line-height: 1.5;
}

.dealer-card-actions {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.dealer-card-actions a {
  padding: 10px 12px;
  border: 1px solid var(--press-black);
  font-size: 9px;
  font-weight: 850;
}

.dealer-card-actions a:first-child {
  background: var(--press-black);
  color: white;
}

.dealer-empty {
  margin-top: 34px;
  padding: 30px;
  display: grid;
  gap: 7px;
  border-top: 5px solid var(--press-black);
  background: #eef4fb;
}

.dealer-empty strong {
  font: 700 25px "Newsreader", Georgia, serif;
}

.dealer-empty span {
  color: var(--muted);
  font-size: 11px;
}

.dealer-submit-panel {
  margin-top: 40px;
  border: 0;
}

.dealer-submit-panel > summary {
  min-height: 105px;
  padding: 24px 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 25px;
  cursor: pointer;
  list-style: none;
  background: linear-gradient(110deg, var(--press-red), #ee7e4d);
  color: white;
}

.dealer-submit-panel > summary::-webkit-details-marker { display: none; }
.dealer-submit-panel > summary span { display: grid; gap: 7px; }
.dealer-submit-panel > summary small { color: #ffe2d6; font-size: 8px; font-weight: 850; letter-spacing: .08em; }
.dealer-submit-panel > summary strong { font: 700 clamp(28px, 4vw, 45px) "Newsreader", Georgia, serif; }
.dealer-submit-panel > summary > b { font: 300 48px/1 Arial, sans-serif; transition: transform .2s ease; }
.dealer-submit-panel[open] > summary > b { transform: rotate(45deg); }

.dealer-submit-panel > div {
  padding: clamp(25px, 5vw, 52px);
  display: grid;
  grid-template-columns: .58fr 1.42fr;
  gap: 60px;
  background: var(--press-black);
  color: white;
}

.dealer-submit-panel > div > div h3 {
  margin: 13px 0;
  color: white;
  font-size: 45px;
  line-height: .96;
}

.dealer-submit-panel > div > div p {
  color: #b9c9dc;
  line-height: 1.7;
}

.dealer-submit-panel form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.dealer-submit-panel form label {
  display: grid;
  gap: 7px;
  color: #d8e3df;
  font-size: 10px;
  font-weight: 800;
}

.dealer-submit-panel form .wide { grid-column: 1 / -1; }
.dealer-submit-panel input,
.dealer-submit-panel textarea {
  width: 100%;
  padding: 12px 13px;
  border: 1px solid rgb(255 255 255 / 24%);
  border-radius: 0;
  outline: none;
  background: #fff;
  color: var(--ink);
  font: inherit;
  resize: vertical;
}
.dealer-submit-panel input:focus,
.dealer-submit-panel textarea:focus { border-color: var(--lime); box-shadow: 0 0 0 3px rgb(216 255 143 / 16%); }
.dealer-submit-panel label > small { color: #8fa39b; font-size: 8px; font-weight: 500; }
.dealer-authorized { grid-template-columns: auto 1fr; align-items: start; line-height: 1.45; }
.dealer-authorized input { width: auto; margin-top: 2px; accent-color: var(--lime); }
.dealer-honeypot { position: absolute; left: -10000px; opacity: 0; pointer-events: none; }
.dealer-submit-panel button {
  min-height: 48px;
  padding: 12px 17px;
  border: 0;
  cursor: pointer;
  background: var(--lime);
  color: var(--press-black);
  font: inherit;
  font-size: 11px;
  font-weight: 900;
}
.dealer-form-status {
  margin: 0;
  align-self: center;
  color: #c7d4cf;
  font-size: 10px;
  line-height: 1.5;
}

.dealer-admin-panel { max-width: 1450px; margin: 0 auto 1.25rem; }
.dealer-admin-list { display: grid; gap: .85rem; }
.dealer-admin-card { padding: 1.15rem; border: 1px solid #dce5e1; border-left: 5px solid #e2a93b; border-radius: 13px; background: #fbfdfc; }
.dealer-admin-card.status-approved { border-left-color: #35b978; }
.dealer-admin-card.status-rejected { border-left-color: #d4684a; }
.dealer-admin-card.status-archived { border-left-color: #9aaba4; opacity: .76; }
.dealer-admin-head { display: flex; justify-content: space-between; gap: 1rem; }
.dealer-admin-head h3 { margin: .35rem 0 .2rem; font-size: 1.2rem; }
.dealer-admin-head p, .dealer-admin-head time { margin: 0; color: #687b73; font-size: .73rem; }
.dealer-admin-status { padding: .25rem .45rem; display: inline-block; border-radius: 999px; background: #fff2cf; color: #7a5a11; font-size: .6rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.dealer-admin-status.approved { background: #dcf4e5; color: #123f78; }
.dealer-admin-status.rejected { background: #ffe2dc; color: #8d3829; }
.dealer-admin-status.archived { background: #e9eeec; color: #60716a; }
.dealer-admin-details { margin: 1rem 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 1.25rem; }
.dealer-admin-details > p { margin: 0; padding: .65rem 0; display: grid; grid-template-columns: 7rem 1fr; gap: .75rem; border-top: 1px solid #e3eae7; }
.dealer-admin-details b { color: #587067; font-size: .67rem; text-transform: uppercase; }
.dealer-admin-details span { color: #334b42; font-size: .78rem; line-height: 1.45; }
.dealer-admin-details a { color: #123f78; text-decoration: underline; }
.dealer-admin-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.dealer-admin-actions button,
.dealer-admin-actions a { padding: .48rem .65rem; border: 1px solid #cbd8d3; border-radius: 8px; cursor: pointer; background: #fff; color: #0a3161; font: inherit; font-size: .72rem; font-weight: 800; }
.dealer-admin-actions button.active,
.dealer-admin-actions button:first-child { background: #0a3161; border-color: #0a3161; color: white; }
.dealer-admin-actions .danger-button { background: #fff4f1; border-color: #edc5bb; color: #923f2e; }
.dealer-admin-actions a { margin-left: auto; }

@media (max-width: 900px) {
  .dealer-card-grid { grid-template-columns: repeat(2, 1fr); }
  .dealer-submit-panel > div { grid-template-columns: 1fr; gap: 35px; }
  .dealer-admin-details { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .city-dealer-directory { padding: 68px 0; }
  .dealer-card-grid { grid-template-columns: 1fr; }
  .dealer-submit-panel > summary { min-height: 92px; padding: 20px; }
  .dealer-submit-panel > summary strong { font-size: 29px; }
  .dealer-submit-panel > div { padding: 24px 20px; }
  .dealer-submit-panel > div > div h3 { font-size: 37px; }
  .dealer-submit-panel form { grid-template-columns: 1fr; }
  .dealer-submit-panel form .wide { grid-column: auto; }
  .dealer-admin-head { flex-direction: column; }
  .dealer-admin-details > p { grid-template-columns: 1fr; gap: .3rem; }
  .dealer-admin-actions a { margin-left: 0; }
}

@media (max-width: 480px) {
  .page-share-control > span { display: none; }
  .page-share-control button i { display: none; }
  .page-share-control button { width: 35px; padding: 0; justify-content: center; }
  .page-share-control button b { width: 24px; height: 24px; }
}

@media print {
  .reading-share-tools { display: none; }
}

/* Best states and cities */
.best-places-hero{padding:88px 0 58px}.best-places-hero h1{max-width:850px;margin:14px 0 18px;font-size:clamp(44px,7vw,86px);line-height:.94;letter-spacing:-.06em}.best-places-hero>p{max-width:680px;color:var(--muted);font-size:18px;line-height:1.7}.best-places-hero>div{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}.best-places-hero>div a{padding:14px 18px;border-radius:999px;background:var(--green);color:white;font-weight:800}.best-places-hero>div a:last-child{background:var(--lime);color:var(--ink)}
.news-takeaways{padding:24px;border-radius:22px;background:linear-gradient(135deg,#efffe4,#e7f4ff);border:1px solid rgba(18,62,45,.12);margin:28px 0}.news-takeaways h2{margin-top:0}.news-takeaways li{margin:10px 0;line-height:1.55}
.best-guide-grid{padding-bottom:90px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.best-guide-grid>a{min-height:300px;padding:30px;position:relative;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:32px 32px 32px 8px;background:#fff;transition:.2s}.best-guide-grid>a:nth-child(4n+2),.best-guide-grid>a:nth-child(4n+3){background:#fdf0f3}.best-guide-grid>a:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgb(27 77 61/10%)}.best-guide-grid>a>span{position:absolute;right:22px;top:12px;color:rgb(27 77 61/8%);font-size:78px;font-weight:900}.best-guide-grid small,.best-pick-list small,.related-best small{color:var(--orange);font:700 9px "DM Mono",monospace;letter-spacing:.08em}.best-guide-grid h2{max-width:430px;margin:42px 0 14px;font-size:clamp(27px,3vw,40px);line-height:1.02}.best-guide-grid p{max-width:520px;margin:0;color:var(--muted);line-height:1.65}.best-guide-grid b{position:static;margin-top:auto;padding-top:24px;color:var(--green);font-size:12px}
.best-method{margin-bottom:90px;padding:46px;display:grid;grid-template-columns:1fr 1fr auto;gap:40px;align-items:end;border-radius:34px 34px 34px 8px;background:var(--green);color:white}.best-method h2{max-width:480px;margin:12px 0 0;font-size:38px}.best-method p{color:#d6e5df;line-height:1.7}.best-method a{padding:14px 18px;border-radius:999px;background:var(--lime);color:var(--ink);font-weight:800;white-space:nowrap}
.best-detail-hero{padding:70px 0;display:grid;grid-template-columns:1.25fr .75fr;gap:60px;align-items:end}.best-detail-hero>div>a{display:block;margin-bottom:38px;color:var(--muted);font-weight:700}.best-detail-hero h1{max-width:780px;margin:14px 0 20px;font-size:clamp(45px,6vw,76px);line-height:.96;letter-spacing:-.055em}.best-detail-hero>div>p{max-width:700px;color:var(--muted);font-size:18px;line-height:1.7}.best-detail-hero aside{padding:30px;border-radius:28px 28px 28px 7px;background:#fdf0f3;box-shadow:9px 10px 0 var(--orange)}.best-detail-hero aside small{color:var(--orange);font:700 9px "DM Mono",monospace}.best-detail-hero aside p{margin:18px 0 0;font-size:18px;font-weight:750;line-height:1.55}
.best-criteria,.best-picks,.best-faq,.best-sources,.related-best{padding-top:40px;padding-bottom:80px}.best-criteria>div:last-child{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.best-criteria article{padding:24px;border-radius:24px 24px 24px 6px;background:#eef4fb}.best-criteria article:nth-child(even){background:#fdf0f3}.best-criteria article span{color:var(--orange);font:800 10px "DM Mono",monospace}.best-criteria article h3{margin:25px 0 10px;font-size:21px}.best-criteria article p{color:var(--muted);line-height:1.6}
.best-pick-list{border-top:1px solid var(--line)}.best-pick-list>article{padding:24px 0;display:grid;grid-template-columns:80px 1.2fr 1fr 1fr auto;gap:22px;align-items:center;border-bottom:1px solid var(--line)}.best-pick-rank{display:flex;align-items:center;gap:8px}.best-pick-rank span{color:#a2afa9;font:700 10px "DM Mono",monospace}.best-pick-rank b{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:var(--lime)}.best-pick-list h3{margin:5px 0;font-size:26px}.best-pick-list p{margin:5px 0 0;color:var(--muted);line-height:1.55;font-size:13px}.best-city-list{color:var(--green)!important;font-weight:750}.best-pick-list strong{font-size:11px;text-transform:uppercase}.best-pick-list>article>a{padding:10px 13px;border-radius:999px;background:#eef4fb;color:var(--green);font-size:11px;font-weight:800;white-space:nowrap}
.best-decision{margin:20px auto 70px;padding:42px;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;border-radius:32px 32px 32px 8px;background:var(--green);color:white}.best-decision h2{margin:12px 0;font-size:40px}.best-decision ol{margin:0;padding:0;list-style:none}.best-decision li{padding:15px 0;display:grid;grid-template-columns:1fr 1.4fr;gap:20px;border-top:1px solid rgb(255 255 255/17%)}.best-decision li span{color:#bed1c9}
.best-faq{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px}.best-faq h2,.best-sources h2,.related-best h2{margin-top:12px;font-size:38px}.best-faq details{padding:19px 0;border-top:1px solid var(--line)}.best-faq summary{cursor:pointer;font-weight:850}.best-faq details p{color:var(--muted);line-height:1.7}.best-sources{display:grid;grid-template-columns:1fr 1fr;gap:60px}.best-sources>div:first-child p{max-width:560px;color:var(--muted);line-height:1.7}.best-sources>div:last-child{display:grid}.best-sources a{padding:16px 0;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-weight:800}.best-sources a span{color:var(--orange)}
.related-best>div{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.related-best a{min-height:155px;padding:20px;display:flex;flex-direction:column;border-radius:22px 22px 22px 6px;background:#fdf0f3}.related-best a b{margin:18px 0}.related-best a span{margin-top:auto;color:var(--green);font-size:11px;font-weight:800}
.best-pick-list h3 a{color:var(--green)}.best-pick-list h3 a span{display:inline-block;color:var(--orange);font-size:18px;transition:transform .2s}.best-pick-list h3 a:hover span{transform:translateX(4px)}
@media(max-width:900px){.best-method,.best-detail-hero,.best-decision,.best-faq,.best-sources{grid-template-columns:1fr}.best-criteria>div:last-child,.related-best>div{grid-template-columns:repeat(2,1fr)}.best-pick-list>article{grid-template-columns:70px 1fr 1fr}.best-pick-list>article>div:nth-child(4){grid-column:2/3}}
@media(max-width:640px){.best-places-hero{padding-top:55px}.best-guide-grid{grid-template-columns:1fr}.best-guide-grid>a{min-height:280px}.best-method{padding:28px;gap:22px}.best-detail-hero{gap:25px;padding:45px 0}.best-criteria>div:last-child,.related-best>div{grid-template-columns:1fr}.best-pick-list>article{grid-template-columns:54px 1fr;gap:16px}.best-pick-list>article>div:nth-child(3),.best-pick-list>article>div:nth-child(4),.best-pick-list>article>a{grid-column:2}.best-decision{padding:27px}.best-decision li{grid-template-columns:1fr;gap:5px}}

/* Best and challenge Top 5 collections */
.top-five-back{display:inline-block;margin-bottom:34px;color:var(--muted);font-weight:750}.top-five-scoreboard{margin-bottom:42px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.top-five-scoreboard>div{min-height:135px;padding:23px;display:flex;flex-direction:column;justify-content:center;border-radius:25px 25px 25px 7px;background:linear-gradient(145deg,#eef4fb,#fff)}.top-five-scoreboard>div:nth-child(2){background:linear-gradient(145deg,#fdf0f3,#fff)}.top-five-scoreboard strong{color:var(--green);font-size:48px;line-height:1}.top-five-scoreboard span{margin-top:9px;color:var(--muted);font-size:11px;font-weight:750}.top-five-gateway{padding-bottom:90px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.top-five-gateway>a{min-height:380px;padding:36px;position:relative;display:flex;flex-direction:column;overflow:hidden;border-radius:34px 34px 34px 8px;transition:transform .22s,box-shadow .22s}.top-five-gateway>a:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgb(15 81 63/14%)}.top-five-gateway .is-best{background:linear-gradient(145deg,var(--green),#246f59);color:white}.top-five-gateway .is-challenge{background:linear-gradient(145deg,#ffeadc,#fff8ed);color:var(--ink);border:1px solid #f1d3c2}.top-five-gateway small{font:800 9px "DM Mono",monospace;letter-spacing:.1em}.top-five-gateway .is-best small{color:var(--lime)}.top-five-gateway .is-challenge small{color:var(--orange)}.top-five-gateway>a>span{position:absolute;right:28px;top:14px;font-size:112px;font-weight:900;line-height:1;opacity:.1}.top-five-gateway h2{max-width:480px;margin:72px 0 15px;font-size:clamp(37px,4vw,55px);line-height:.95}.top-five-gateway p{max-width:540px;margin:0;line-height:1.7}.top-five-gateway .is-best p{color:#d4e6df}.top-five-gateway .is-challenge p{color:var(--muted)}.top-five-gateway b{margin-top:auto;padding-top:28px;font-size:12px}.top-five-gateway .is-best b{color:var(--lime)}.top-five-gateway .is-challenge b{color:var(--green)}.top-five-matchup-section{padding-bottom:95px}.top-five-matchups{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.top-five-matchups article{padding:23px;border:1px solid var(--line);border-radius:24px 24px 24px 6px;background:#fff}.top-five-matchups article:nth-child(even){background:#f4f9f1}.top-five-matchups h3{margin:0 0 17px;font-size:22px}.top-five-matchups a{padding:12px 0;display:grid;gap:4px;border-top:1px solid var(--line);color:var(--green);font-size:12px;font-weight:850}.top-five-matchups a:last-child{color:var(--orange)}.top-five-matchups a span{color:var(--muted);font:750 7px "DM Mono",monospace;letter-spacing:.09em}.top-five-facts{margin-bottom:90px;padding:42px;display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;border-radius:33px 33px 33px 8px;background:#eef4fb}.top-five-facts h2{margin:12px 0;font-size:38px}.top-five-facts>div:first-child p{color:var(--muted);line-height:1.7}.top-five-facts>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:10px}.top-five-facts a{min-height:175px;padding:21px;display:flex;flex-direction:column;border-radius:22px 22px 22px 6px;background:white}.top-five-facts small{color:var(--orange);font:750 8px "DM Mono",monospace}.top-five-facts b{margin:25px 0;font-size:19px;line-height:1.15}.top-five-facts a span{margin-top:auto;color:var(--green);font-size:10px;font-weight:850}.top-five-context{margin-bottom:42px;padding:25px 29px;display:grid;grid-template-columns:52px 1fr;gap:19px;align-items:center;border-radius:25px 25px 25px 7px;background:#eef4fb}.top-five-context>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:var(--lime);font-size:25px;font-weight:900}.top-five-context small{color:var(--green);font:800 8px "DM Mono",monospace}.top-five-context p{max-width:900px;margin:7px 0 0;color:var(--muted);line-height:1.65}.top-five-collection.is-challenge .top-five-context{background:#fdf0f3}.top-five-collection.is-challenge .top-five-context>span{background:var(--orange);color:white}.top-five-collection.is-challenge .top-five-context small{color:var(--orange)}
@media(max-width:900px){.top-five-matchups{grid-template-columns:repeat(2,1fr)}.top-five-facts{grid-template-columns:1fr}.top-five-facts>div:last-child{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.top-five-scoreboard{grid-template-columns:1fr 1fr}.top-five-scoreboard>div:last-child{grid-column:1/-1}.top-five-gateway,.top-five-matchups{grid-template-columns:1fr}.top-five-gateway>a{min-height:330px;padding:27px}.top-five-gateway h2{margin-top:58px}.top-five-facts{padding:27px;gap:25px}.top-five-facts>div:last-child{grid-template-columns:1fr}.top-five-context{grid-template-columns:42px 1fr;padding:21px}.top-five-context>span{width:40px;height:40px}}

/* Random Top 5 widget */
.top-five-widget{width:330px;position:fixed;right:18px;bottom:18px;z-index:46;overflow:hidden;border:1px solid rgb(15 81 63/18%);border-radius:23px 23px 23px 7px;background:rgb(255 253 247/97%);box-shadow:0 20px 60px rgb(20 33 29/20%);backdrop-filter:blur(14px);transition:width .2s,transform .2s}.top-five-widget-head{height:61px;padding:9px 10px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(110deg,var(--green),#27725d);color:white}.top-five-widget-brand{padding:0;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.top-five-widget-brand>span:first-child{width:42px;height:42px;display:grid;place-items:center;border-radius:14px 14px 14px 4px;background:var(--lime);color:var(--green);font-size:23px;font-weight:900}.top-five-widget-brand>span:last-child{display:grid}.top-five-widget-brand small{color:#c4d2e3;font:700 7px "DM Mono",monospace;letter-spacing:.12em}.top-five-widget-brand b{font-size:13px}.top-five-widget-toggle{width:34px;height:34px;border:1px solid rgb(255 255 255/28%);border-radius:50%;background:transparent;color:white;font-size:20px;cursor:pointer}.top-five-widget-content{padding:14px 15px 13px}.top-five-widget-title{display:grid;padding-bottom:11px;border-bottom:1px solid var(--line)}.top-five-widget-title small{color:var(--orange);font:700 8px "DM Mono",monospace;letter-spacing:.1em}.top-five-widget-title strong{margin-top:4px;font-size:15px;line-height:1.25}.top-five-widget ol{margin:4px 0 0;padding:0;list-style:none}.top-five-widget li{min-height:39px;display:grid;grid-template-columns:23px 1fr 15px;gap:8px;align-items:center;border-bottom:1px solid #e5e4dc}.top-five-widget li>span:first-child{color:#99a49f;font:700 9px "DM Mono",monospace}.top-five-widget li>a,.top-five-widget li>span:nth-child(2){min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.top-five-widget li b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.top-five-widget li small{flex:0 0 auto;color:var(--muted);font-size:8px}.top-five-widget li i{color:var(--orange);font-style:normal}.top-five-widget li a:hover b{color:var(--green)}.top-five-widget-actions{padding-top:11px;display:flex;align-items:center;justify-content:space-between}.top-five-widget-actions button{padding:0;border:0;background:transparent;color:var(--green);font-size:9px;font-weight:850;cursor:pointer}.top-five-widget-actions a{color:var(--orange);font-size:9px;font-weight:850}.top-five-widget.is-collapsed{width:190px}.top-five-widget.is-collapsed .top-five-widget-content{display:none}
.site-discovery-widget{width:355px}.site-discovery-widget .top-five-widget-title{cursor:default}.site-discovery-widget li{min-height:58px;grid-template-columns:23px 1fr 15px}.site-discovery-widget li>a{display:block!important}.site-discovery-widget li>a>span{min-width:0;display:grid!important;justify-content:normal!important;gap:2px}.site-discovery-widget li>a small{color:var(--orange);font:750 7px "DM Mono",monospace;letter-spacing:.06em;text-transform:uppercase}.site-discovery-widget li>a b{font-size:11px}.site-discovery-widget li>a em{overflow:hidden;color:var(--muted);font-size:7px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.site-discovery-widget .top-five-widget-actions button{color:var(--green)}

/* City detail pages */
.city-profile-hero{padding:72px 0;display:grid;grid-template-columns:1.25fr .75fr;gap:64px;align-items:end}.city-profile-hero>div>a{display:block;margin-bottom:38px;color:var(--muted);font-weight:750}.city-profile-hero h1{margin:14px 0 22px;font-size:clamp(52px,7vw,88px);line-height:.93;letter-spacing:-.065em}.city-profile-hero>div>p{max-width:720px;color:var(--muted);font-size:18px;line-height:1.7}.city-profile-tags{margin-top:26px;display:flex;gap:8px;flex-wrap:wrap}.city-profile-tags span{padding:8px 11px;border-radius:999px;background:#e5f5ea;color:var(--green);font:750 9px "DM Mono",monospace}.city-profile-hero aside{padding:30px;border-radius:29px 29px 29px 7px;background:linear-gradient(145deg,#fdf0f3,#ffffff);box-shadow:10px 11px 0 var(--orange)}.city-profile-hero aside small{color:var(--orange);font:800 9px "DM Mono",monospace}.city-profile-hero aside strong{display:block;margin:13px 0;font-size:25px;line-height:1.2}.city-profile-hero aside p{color:var(--muted);font-size:13px;line-height:1.65}.city-profile-hero aside p b{color:var(--ink)}.city-profile-hero aside a{display:inline-block;margin-top:10px;color:var(--green);font-size:11px;font-weight:850}.city-cost-snapshot,.city-ranking-section{padding:40px 0 80px}.city-cost-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.city-cost-grid article{min-height:165px;padding:22px;display:flex;flex-direction:column;border-radius:24px 24px 24px 6px;background:#eef4fb}.city-cost-grid article:nth-child(even){background:#fdf0f3}.city-cost-grid small{color:var(--orange);font:800 8px "DM Mono",monospace;letter-spacing:.08em}.city-cost-grid strong{margin:auto 0 8px;font-size:34px;letter-spacing:-.05em}.city-cost-grid span{color:var(--muted);font-size:10px}.city-ranking-list{border-top:1px solid var(--line)}.city-ranking-list article{padding:24px 0;display:grid;grid-template-columns:145px 1.2fr 1fr auto;gap:24px;align-items:center;border-bottom:1px solid var(--line)}.city-ranking-list article>div:first-child{display:grid;gap:7px}.city-ranking-list article>div:first-child span{color:var(--orange);font-size:28px;font-weight:900}.city-ranking-list small,.city-ranking-list>article>div:nth-child(3)>b{font:750 8px "DM Mono",monospace;letter-spacing:.08em}.city-ranking-list h3{margin:0 0 8px;font-size:23px}.city-ranking-list p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.city-ranking-list article>a{padding:10px 13px;border-radius:999px;background:var(--green);color:white;font-size:10px;font-weight:850;white-space:nowrap}.city-research-grid{padding:25px 0 75px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.city-research-grid>article{padding:34px;border-radius:30px 30px 30px 8px}.city-research-grid h2{margin:12px 0 24px;font-size:36px;line-height:1.05}.city-research-checklist{background:var(--green);color:white}.city-research-checklist .section-number{color:var(--lime)}.city-research-checklist ol{margin:0;padding:0;list-style:none}.city-research-checklist li{padding:14px 0;display:grid;grid-template-columns:120px 1fr;gap:15px;border-top:1px solid rgb(255 255 255/16%)}.city-research-checklist li span{color:#c1d3cc;font-size:12px;line-height:1.55}.city-saving-panel{background:#fdf0f3}.city-saving-panel>div{display:grid;gap:4px}.city-saving-panel p{margin:0;padding:13px 0;display:grid;gap:4px;border-top:1px solid #e8d8cd}.city-saving-panel p b{font-size:13px}.city-saving-panel p span{color:var(--muted);font-size:11px;line-height:1.55}.city-related{padding-bottom:120px}

@media(max-width:900px){.city-profile-hero,.city-research-grid{grid-template-columns:1fr}.city-cost-grid{grid-template-columns:repeat(2,1fr)}.city-ranking-list article{grid-template-columns:100px 1fr}.city-ranking-list article>div:nth-child(3),.city-ranking-list article>a{grid-column:2}.top-five-widget{z-index:44}}
@media(max-width:640px){.top-five-widget{width:calc(100% - 24px);max-width:380px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));border-radius:18px 18px 18px 6px}.top-five-widget.is-collapsed{width:164px}.top-five-widget-head{height:52px;padding:7px 8px}.top-five-widget-brand{gap:8px}.top-five-widget-brand>span:first-child{width:36px;height:36px;border-radius:12px 12px 12px 4px;font-size:20px}.top-five-widget-brand small{display:none}.top-five-widget-brand b{font-size:11px}.top-five-widget-toggle{width:30px;height:30px;font-size:18px}.top-five-widget-content{max-height:52vh;overflow:auto;overscroll-behavior:contain}.city-profile-hero{padding:48px 0;gap:28px}.city-cost-grid{grid-template-columns:1fr 1fr}.city-cost-grid article{min-height:145px;padding:17px}.city-cost-grid strong{font-size:25px}.city-ranking-list article{grid-template-columns:54px 1fr;gap:16px}.city-ranking-list article>div:nth-child(3),.city-ranking-list article>a{grid-column:2}.city-research-grid>article{padding:27px}.city-research-checklist li{grid-template-columns:1fr;gap:4px}.city-related{padding-bottom:110px}}

/* Explore hubs and full-content support */
.explore-hub-hero{padding:86px 0 58px}.explore-hub-hero h1{max-width:920px;margin:16px 0 20px;font-size:clamp(52px,7.3vw,92px);line-height:.93;letter-spacing:-.065em}.explore-hub-hero>p{max-width:720px;color:var(--muted);font-size:19px;line-height:1.7}.explore-hub-stats{margin-top:34px;display:flex;gap:10px;flex-wrap:wrap}.explore-hub-stats>div{min-width:160px;padding:15px 18px;display:grid;border-radius:18px 18px 18px 5px;background:#eef4fb}.explore-hub-stats strong{color:var(--green);font-size:28px}.explore-hub-stats span{color:var(--muted);font-size:10px;font-weight:750}
.category-hub-grid{padding-bottom:90px;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.category-hub-grid>a{min-height:330px;padding:30px;position:relative;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:31px 31px 31px 8px;background:linear-gradient(145deg,#fff,#eef4fb);transition:.22s}.category-hub-grid>a:nth-child(3n+2){background:linear-gradient(145deg,#fff7ec,#fff)}.category-hub-grid>a:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgb(15 81 63/11%)}.category-hub-number{position:absolute;right:24px;top:20px;color:rgb(15 81 63/11%);font-size:62px;font-weight:900}.category-hub-grid>a>i{width:48px;height:48px;display:grid;place-items:center;border-radius:16px 16px 16px 5px;background:var(--green);color:var(--lime);font-size:24px;font-style:normal}.category-hub-grid small{margin-top:28px;color:var(--orange);font:800 9px "DM Mono",monospace;letter-spacing:.08em}.category-hub-grid h2{margin:8px 0 12px;font-size:35px;line-height:1}.category-hub-grid p{max-width:570px;margin:0;color:var(--muted);line-height:1.65}.category-hub-grid b{margin-top:auto;padding-top:24px;color:var(--green);font-size:12px}
.explore-start{margin-bottom:100px;padding:46px;display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;border-radius:34px 34px 34px 8px;background:var(--green);color:white}.explore-start h2{margin:13px 0;font-size:40px;line-height:1.02}.explore-start>div>p{color:#c6d8d1;line-height:1.7}.explore-start ol{margin:0;padding:0;list-style:none}.explore-start li{padding:15px 0;display:grid;grid-template-columns:38px 1fr;gap:14px;border-top:1px solid rgb(255 255 255/15%)}.explore-start li>span{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--lime);color:var(--green);font-weight:900}.explore-start li b{font-size:13px}.explore-start li p{margin:4px 0 0;color:#c6d8d1;font-size:11px;line-height:1.55}.explore-start>a{grid-column:2;justify-self:start;padding:13px 17px;border-radius:999px;background:var(--lime);color:var(--green);font-weight:850}
.category-detail-hero{padding:68px 0;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end}.category-detail-hero h1{max-width:820px;margin:14px 0 20px;font-size:clamp(48px,6.4vw,82px);line-height:.94;letter-spacing:-.06em}.category-detail-hero>div>p:not(.breadcrumbs){max-width:720px;color:var(--muted);font-size:18px;line-height:1.7}.category-detail-hero>div>a{display:inline-block;margin-top:20px;padding:13px 17px;border-radius:999px;background:var(--green);color:white;font-weight:850}.category-detail-hero aside{padding:30px;border-radius:29px 29px 29px 7px;background:#fdf0f3;box-shadow:10px 11px 0 var(--orange)}.category-detail-hero aside i{width:58px;height:58px;display:grid;place-items:center;border-radius:18px 18px 18px 5px;background:var(--green);color:var(--lime);font-size:29px;font-style:normal}.category-detail-hero aside small{display:block;margin-top:25px;color:var(--orange);font:800 9px "DM Mono",monospace}.category-detail-hero aside p{margin:9px 0 0;font-size:17px;font-weight:700;line-height:1.55}
.category-guide-library,.category-priorities{padding:45px 0 90px}.category-guide-library>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.category-guide-library>div:last-child>a{min-height:270px;padding:23px;position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:25px 25px 25px 7px;background:#fff}.category-guide-library>div:last-child>a:nth-child(3n+2){background:#eef4fb}.category-guide-library>div:last-child>a>span{position:absolute;right:18px;top:13px;color:rgb(15 81 63/12%);font-size:38px;font-weight:900}.category-guide-library>div:last-child>a>i{font-size:25px;font-style:normal}.category-guide-library h3{margin:30px 0 9px;font-size:25px}.category-guide-library>div:last-child p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.category-guide-library>div:last-child b{margin-top:auto;padding-top:20px;color:var(--green);font-size:11px}.category-priorities{border-top:1px solid var(--line)}.category-priorities>div:last-child{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.category-priorities article{min-height:220px;padding:23px;border-radius:24px 24px 24px 6px;background:#eef4fb}.category-priorities article:nth-child(even){background:#fdf0f3}.category-priorities article>span{color:var(--orange);font:850 9px "DM Mono",monospace}.category-priorities h3{margin:32px 0 10px;font-size:21px}.category-priorities article p{color:var(--muted);font-size:12px;line-height:1.65}
.category-plan{margin-bottom:80px;padding:42px;display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;border-radius:33px 33px 33px 8px;background:var(--green);color:white}.category-plan h2{margin:13px 0;font-size:39px;line-height:1.02}.category-plan ol{margin:0;padding:0;list-style:none}.category-plan li{padding:14px 0;display:grid;grid-template-columns:36px 1fr;gap:14px;border-top:1px solid rgb(255 255 255/16%)}.category-plan li>span{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:var(--lime);color:var(--green);font-weight:900}.category-plan li b{font-size:13px}.category-plan li p{margin:4px 0 0;color:#c8dad3;font-size:11px;line-height:1.55}.category-faq{padding-top:30px}.category-related{padding-bottom:110px}
.editorial-checklist{margin:16px 0 34px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.editorial-checklist>div{padding:19px;border-radius:19px 19px 19px 5px;background:#eef4fb}.editorial-checklist b{font-size:13px}.editorial-checklist p{margin:7px 0 0!important;color:var(--muted);font-size:11px!important;line-height:1.6!important}.decision-callout{margin:30px 0;padding:27px;border-radius:25px 25px 25px 7px;background:#fdf0f3}.decision-callout>span,.editorial-related>span{color:var(--orange);font:800 9px "DM Mono",monospace;letter-spacing:.08em}.decision-callout h3{margin:12px 0 8px;font-size:25px;line-height:1.1}.decision-callout p{margin:0!important;color:var(--muted);line-height:1.65!important}.editorial-related{margin-top:54px;padding-top:40px;border-top:1px solid var(--line)}.editorial-related h2{margin:10px 0 20px}.editorial-related>div{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.editorial-related>div>a{padding:17px;display:block;border-radius:18px 18px 18px 5px;background:#eef4fb}.editorial-related>div>a:nth-child(even){background:#fdf0f3}.editorial-related>div b{font-size:14px}.editorial-related>div p{margin:7px 0!important;color:var(--muted);font-size:10px!important;line-height:1.55!important}.editorial-related>div span{color:var(--green);font-size:9px;font-weight:850}.editorial-related-all{display:inline-block;margin-top:18px;color:var(--green);font-size:11px;font-weight:850}
.article-starter-library{padding:20px 0 90px}.article-starter-library>div:last-child{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.article-starter-library>div:last-child>a{min-height:260px;padding:24px;position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:25px 25px 25px 7px;background:#fff}.article-starter-library>div:last-child>a:nth-child(even){background:#eef4fb}.article-starter-library>div:last-child>a>span{position:absolute;right:18px;top:12px;color:rgb(15 81 63/11%);font-size:40px;font-weight:900}.article-starter-library small{color:var(--orange);font:800 9px "DM Mono",monospace}.article-starter-library h2{margin:38px 0 10px;font-size:25px;line-height:1.05}.article-starter-library p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}.article-starter-library b{margin-top:auto;padding-top:20px;color:var(--green);font-size:11px}.article-help{margin-top:0}.calculator-action-plan{margin-top:40px}.calculator-faq{padding-top:25px}.calculator-related{padding-bottom:110px}

@media(max-width:900px){.category-hub-grid,.category-detail-hero,.explore-start,.category-plan{grid-template-columns:1fr}.category-guide-library>div:last-child,.article-starter-library>div:last-child{grid-template-columns:repeat(2,1fr)}.category-priorities>div:last-child{grid-template-columns:repeat(2,1fr)}.explore-start>a{grid-column:auto}.editorial-checklist{grid-template-columns:1fr}.category-detail-hero{gap:28px}}
@media(max-width:620px){.explore-hub-hero{padding:52px 0 42px}.category-hub-grid,.category-guide-library>div:last-child,.article-starter-library>div:last-child,.category-priorities>div:last-child,.editorial-related>div{grid-template-columns:1fr}.category-hub-grid>a{min-height:300px;padding:24px}.explore-start,.category-plan{padding:28px;gap:26px}.category-detail-hero{padding:45px 0}.category-guide-library,.category-priorities{padding:35px 0 65px}.category-guide-library>div:last-child>a{min-height:240px}.category-plan{margin-bottom:60px}}
/* Legacy page headers are hidden while individual pages are migrated to the shared header. */
.site-header + main > .nav { display: none; }

.brand {
  display: flex;
  gap: 10px;
  align-items: center;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.brand-mark {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 12px 12px 12px 3px;
  display: grid;
  place-items: center;
  font-size: 14px;
  background: linear-gradient(135deg, var(--lime), #83df8f);
  box-shadow: 0 6px 18px rgb(15 81 63 / 18%);
}

.nav-links {
  display: flex;
  gap: 34px;
  color: #46534e;
  font-size: 14px;
  font-weight: 600;
}

.nav-cta {
  background: var(--ink);
  color: white;
  padding: 12px 18px;
  font-size: 13px;
  font-weight: 700;
}

.hero { padding: 80px 0 84px; position: relative; }
.hero::before { content: ""; width: 170px; height: 170px; position: absolute; right: 2%; top: 8%; z-index: -1; border-radius: 46% 54% 62% 38%; background: linear-gradient(135deg, rgb(228 111 66 / 18%), rgb(217 241 95 / 45%)); animation: float-blob 7s ease-in-out infinite; }
@keyframes float-blob { 50% { transform: translateY(18px) rotate(12deg); } }

.eyebrow,
.section-number,
.signal-top,
.tag,
.result span,
.result small,
.fine-print {
  font-family: "DM Mono", monospace;
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 11px;
  letter-spacing: 0.11em;
  margin-bottom: 28px;
}

.live-dot {
  width: 8px;
  height: 8px;
  background: var(--orange);
  border-radius: 50%;
  box-shadow: 0 0 0 5px rgb(228 111 66 / 13%);
}

.hero-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  gap: 92px;
  align-items: end;
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  max-width: 790px;
  margin-bottom: 25px;
  font-size: clamp(54px, 6.7vw, 92px);
  line-height: 0.96;
  letter-spacing: -0.065em;
  font-weight: 600;
}

.hero-copy {
  max-width: 620px;
  margin-bottom: 32px;
  color: #4f5d57;
  font-size: 19px;
  line-height: 1.65;
}

.how-animation {
  padding: 92px 0;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 50%, rgb(185 220 255 / 55%), transparent 28rem),
    #e7f0ec;
}

.how-animation-grid {
  display: grid;
  grid-template-columns: .68fr 1.32fr;
  gap: 75px;
  align-items: center;
}

.how-animation-copy h2 {
  max-width: 470px;
  margin: 18px 0 20px;
  font-size: clamp(40px, 4.5vw, 64px);
  line-height: 1;
  letter-spacing: -.06em;
}

.how-animation-copy p {
  max-width: 470px;
  margin-bottom: 26px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}

.estimate-animation {
  min-height: 410px;
  padding: 42px 34px;
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  align-items: center;
  border: 1px solid rgb(15 81 63 / 14%);
  border-radius: 34px 34px 34px 9px;
  background: rgb(255 253 247 / 82%);
  box-shadow: 18px 20px 0 rgb(15 81 63 / 10%);
}

.animation-track {
  height: 3px;
  position: absolute;
  top: 50%;
  left: 15%;
  right: 15%;
  overflow: hidden;
  background: #cad7d2;
}

.animation-track i {
  width: 24%;
  height: 100%;
  display: block;
  background: var(--orange);
  box-shadow: 0 0 14px rgb(228 111 66 / 55%);
  animation: signalTravel 5.4s ease-in-out infinite;
}

.animation-step {
  min-width: 0;
  min-height: 265px;
  padding: 18px;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: 22px 22px 22px 6px;
  background: var(--card);
  box-shadow: 0 9px 25px rgb(20 33 29 / 8%);
  animation: stepFocus 5.4s ease-in-out infinite;
}

.animation-step > span {
  color: var(--muted);
  font: 9px "DM Mono", monospace;
}

.animation-step > strong {
  margin-top: auto;
  font-size: 14px;
  letter-spacing: -.02em;
}

.animation-step > small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
}

.step-project { animation-delay: 1.8s; }
.step-result { animation-delay: 3.6s; }

.mini-map,
.mini-project,
.mini-result {
  min-height: 125px;
  margin: 27px 0 20px;
  position: relative;
  display: grid;
  place-items: center;
  border-radius: 17px;
  background: #dcebe6;
}

.mini-map i {
  width: 78px;
  height: 66px;
  display: grid;
  place-items: center;
  border-radius: 45% 36% 48% 30%;
  background: var(--green);
  color: white;
  font-style: normal;
  font-weight: 800;
}

.mini-map b {
  position: absolute;
  top: 39px;
  right: 40px;
  color: var(--orange);
  font-size: 18px;
  animation: mapPing 1.8s ease-out infinite;
}

.mini-project {
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
  padding: 13px;
  background: #f4efbe;
}

.mini-project i {
  width: 100%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: white;
  color: var(--green);
  font-size: 20px;
  font-style: normal;
  animation: projectPick 5.4s ease-in-out infinite;
}

.mini-project i:nth-child(2) { animation-delay: .4s; }
.mini-project i:nth-child(3) { animation-delay: .8s; }

.mini-result {
  padding: 18px;
  place-items: stretch;
  align-content: center;
  background: var(--green);
  color: white;
}

.mini-result > small {
  color: #c4d2e3;
  font: 8px "DM Mono", monospace;
}

.mini-result > b {
  margin: 7px 0 15px;
  font-size: 18px;
  letter-spacing: -.04em;
}

.mini-result > div {
  height: 25px;
  display: flex;
  gap: 4px;
  align-items: end;
}

.mini-result i {
  flex: 1;
  display: block;
  border-radius: 3px 3px 0 0;
  background: var(--lime);
  animation: barGrow 1.8s ease-in-out infinite alternate;
}

.mini-result i:nth-child(1) { height: 35%; }
.mini-result i:nth-child(2) { height: 68%; animation-delay: .2s; }
.mini-result i:nth-child(3) { height: 100%; animation-delay: .4s; }

@keyframes signalTravel {
  0%, 8% { transform: translateX(-5%); }
  42% { transform: translateX(160%); }
  75%, 100% { transform: translateX(330%); }
}

@keyframes stepFocus {
  0%, 24%, 100% { transform: translateY(0); box-shadow: 0 9px 25px rgb(20 33 29 / 8%); }
  9%, 18% { transform: translateY(-10px); box-shadow: 0 15px 0 var(--lime); }
}

@keyframes mapPing {
  0% { transform: scale(.7); opacity: 1; }
  85%, 100% { transform: scale(1.35); opacity: .2; }
}

@keyframes projectPick {
  0%, 35%, 100% { transform: translateY(0); background: white; }
  12%, 24% { transform: translateY(-7px); background: var(--lime); }
}

@keyframes barGrow {
  from { transform: scaleY(.55); transform-origin: bottom; }
  to { transform: scaleY(1); transform-origin: bottom; }
}

@media (prefers-reduced-motion: reduce) {
  .animation-track i,
  .animation-step,
  .mini-map b,
  .mini-project i,
  .mini-result i {
    animation: none;
  }
}

/* Context-aware paths between related pages */
.contextual-related {
  margin-top: 24px;
  padding-top: 66px;
  padding-bottom: 78px;
  border-top: 1px solid var(--press-black);
}

.contextual-related > header {
  margin-bottom: 30px;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 54px;
  align-items: end;
}

.contextual-related > header span {
  color: var(--orange);
  font: 900 10px var(--font-mono), "DM Mono", monospace;
  letter-spacing: .1em;
}

.contextual-related > header h2 {
  max-width: 760px;
  margin: 12px 0 0;
  font-size: clamp(38px, 5vw, 68px);
  line-height: .93;
  letter-spacing: -.045em;
}

.contextual-related > header p {
  max-width: 530px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

.contextual-related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--press-black);
  border-left: 1px solid var(--press-black);
}

.contextual-related-grid > a {
  min-height: 238px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--press-black);
  border-bottom: 1px solid var(--press-black);
  background: #ffffff;
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.contextual-related-grid > a:nth-child(2) {
  background: #eef4fb;
}

.contextual-related-grid > a:nth-child(3) {
  background: #fdf0f3;
}

.contextual-related-grid > a:hover {
  z-index: 1;
  transform: translateY(-5px);
  background: #fff;
  box-shadow: 0 18px 40px rgb(19 45 36 / 13%);
}

.contextual-related-kicker {
  min-height: 64px;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.contextual-related-kicker > span {
  padding-top: 3px;
  color: var(--orange);
  font: 850 8px var(--font-mono), "DM Mono", monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.contextual-related-thumb {
  width: 104px;
  height: 65px;
  flex: 0 0 104px;
  border: 1px solid rgb(4 45 92 / 16%);
  border-radius: 14px 14px 14px 4px;
  background: #fff;
  object-fit: cover;
  transition: transform .2s ease;
}

.contextual-related-thumb.is-contain {
  padding: 7px;
  object-fit: contain;
}

.contextual-related-grid > a:hover .contextual-related-thumb {
  transform: scale(1.04);
}

.contextual-related-grid h3 {
  margin: 23px 0 12px;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.02;
}

.contextual-related-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}

.contextual-related-grid b {
  margin-top: auto;
  padding-top: 22px;
  color: var(--green);
  font-size: 10px;
}

.contextual-related-grid b i {
  margin-left: 5px;
  color: var(--orange);
  font-style: normal;
}

@media (max-width: 920px) {
  .contextual-related > header {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .contextual-related-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 560px) {
  .contextual-related {
    margin-top: 8px;
    padding-top: 48px;
    padding-bottom: 64px;
  }

  .contextual-related > header h2 {
    font-size: 39px;
  }

  .contextual-related-grid {
    grid-template-columns: 1fr;
  }

  .contextual-related-grid > a {
    min-height: 178px;
    padding: 21px;
  }

  .contextual-related-kicker {
    min-height: 70px;
  }

  .contextual-related-thumb {
    width: 108px;
    height: 68px;
    flex-basis: 108px;
  }

  .contextual-related-grid h3 {
    margin-top: 23px;
  }
}

/* Full U.S. vehicle comparison library */
.car-compare-hub {
  background: #f7f6f1;
}

.multi-car-compare {
  margin-bottom: 92px;
  border-top: 6px solid var(--press-black);
  background: #fff;
  box-shadow: 14px 16px 0 rgb(18 48 38 / 8%);
}

.multi-car-compare > header,
.popular-car-comparisons > header,
.car-compare-brand-map > header {
  padding: 32px;
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 50px;
  align-items: end;
  border-bottom: 1px solid var(--press-black);
}

.multi-car-compare > header h2,
.popular-car-comparisons > header h2,
.car-compare-brand-map > header h2 {
  max-width: 760px;
  margin: 10px 0 0;
  font-size: clamp(38px, 5vw, 67px);
  line-height: .92;
  letter-spacing: -.045em;
}

.multi-car-compare > header p,
.popular-car-comparisons > header p,
.car-compare-brand-map > header p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.multi-car-pickers {
  padding: 22px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  background: #eef4fb;
}

.multi-car-pickers label,
.multi-car-add {
  min-height: 132px;
  padding: 17px;
  position: relative;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--press-black);
  background: #ffffff;
}

.multi-car-pickers label > span {
  color: var(--orange);
  font: 850 8px var(--font-mono), "DM Mono", monospace;
}

.multi-car-pickers select {
  width: 100%;
  margin-top: 24px;
  padding: 11px 28px 11px 10px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: white;
  color: var(--ink);
  font-size: 11px;
  font-weight: 800;
}

.multi-car-pickers label button {
  width: fit-content;
  margin-top: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--press-red);
  font-size: 9px;
  font-weight: 800;
  cursor: pointer;
}

.multi-car-add {
  align-items: flex-start;
  cursor: pointer;
}

.multi-car-add b {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green);
  color: white;
  font-size: 22px;
}

.multi-car-add span {
  margin-top: 16px;
  font-size: 12px;
  font-weight: 850;
}

.multi-car-add small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 8px;
}

.multi-car-table {
  overflow-x: auto;
  border-top: 1px solid var(--press-black);
  border-bottom: 1px solid var(--press-black);
}

.multi-car-table > div {
  width: max-content;
  min-width: 100%;
  display: flex;
  border-bottom: 1px solid var(--line);
}

.multi-car-table > div:last-child {
  border-bottom: 0;
}

.multi-car-table > div > span {
  width: 170px;
  min-width: 170px;
  padding: 16px 18px;
  background: #f1f0ea;
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
}

.multi-car-table > div > b {
  width: 205px;
  min-width: 205px;
  padding: 16px 18px;
  display: grid;
  align-content: center;
  border-left: 1px solid var(--line);
  font-size: 12px;
}

.multi-car-table > .is-heading > b {
  min-height: 88px;
  color: var(--green);
  font-size: 11px;
  text-transform: uppercase;
}

.multi-car-table > .is-heading > b small {
  margin-top: 6px;
  color: var(--ink);
  font-size: 17px;
  text-transform: none;
}

.multi-car-compare > footer {
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.multi-car-compare > footer p,
.multi-car-compare > footer span {
  margin: 0;
  color: var(--muted);
  font-size: 9px;
}

.multi-car-compare > footer a {
  padding: 13px 16px;
  background: var(--orange);
  color: white;
  font-size: 10px;
  font-weight: 850;
}

.popular-car-comparisons,
.car-compare-brand-map {
  padding-bottom: 100px;
}

.popular-car-comparisons > header,
.car-compare-brand-map > header {
  padding-right: 0;
  padding-left: 0;
}

.popular-car-comparisons > div {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-left: 1px solid var(--press-black);
}

.popular-car-comparisons > div > a {
  min-height: 260px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--press-black);
  border-bottom: 1px solid var(--press-black);
  background: #fff;
}

.popular-car-comparisons > div > a:nth-child(8n+2),
.popular-car-comparisons > div > a:nth-child(8n+5) {
  background: #eef4fb;
}

.popular-car-comparisons > div > a:nth-child(8n+4),
.popular-car-comparisons > div > a:nth-child(8n+7) {
  background: #fdf0f3;
}

.popular-car-comparisons small {
  color: var(--orange);
  font: 800 8px var(--font-mono), "DM Mono", monospace;
  text-transform: uppercase;
}

.popular-car-comparisons h3 {
  margin: 22px 0 0;
  font-size: 22px;
  line-height: 1.04;
}

.popular-car-comparisons i {
  width: fit-content;
  margin: 12px 0 -8px;
  padding: 4px 7px;
  background: var(--press-black);
  color: white;
  font: 900 8px var(--font-mono), "DM Mono", monospace;
}

.popular-car-comparisons b {
  margin-top: auto;
  padding-top: 22px;
  color: var(--green);
  font-size: 10px;
}

.car-compare-brand-map > div {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  border-left: 1px solid var(--press-black);
  border-top: 1px solid var(--press-black);
}

.car-compare-brand-map > div > a {
  min-height: 160px;
  padding: 17px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--press-black);
  border-bottom: 1px solid var(--press-black);
  background: #fff;
}

.car-compare-brand-map .brand-wordmark {
  padding: 5px 7px 4px;
  border-width: 1px;
  font-size: 10px;
}

.car-compare-brand-map b {
  margin-top: 24px;
  font-size: 10px;
}

.car-compare-brand-map small {
  margin-top: auto;
  color: var(--orange);
  font-size: 8px;
  font-weight: 800;
}

.car-compare-source-note {
  margin-bottom: 100px;
  padding: 38px;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 38px 70px;
  background: var(--press-black);
  color: white;
}

.car-compare-source-note h2 {
  max-width: 520px;
  margin: 11px 0 0;
  color: white;
  font-size: 39px;
  line-height: .96;
}

.car-compare-source-note p {
  margin: 0;
  color: #c9d5d0;
  font-size: 12px;
  line-height: 1.7;
}

.car-compare-source-note nav {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgb(255 255 255 / 22%);
}

.car-compare-source-note nav a {
  padding: 16px;
  border-right: 1px solid rgb(255 255 255 / 22%);
  color: var(--lime);
  font-size: 9px;
  font-weight: 850;
}

@media (max-width: 1000px) {
  .multi-car-pickers {
    grid-template-columns: repeat(3, 1fr);
  }

  .popular-car-comparisons > div {
    grid-template-columns: repeat(3, 1fr);
  }

  .car-compare-brand-map > div {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 700px) {
  .multi-car-compare > header,
  .popular-car-comparisons > header,
  .car-compare-brand-map > header {
    padding: 24px 0;
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .multi-car-compare > header {
    padding-right: 22px;
    padding-left: 22px;
  }

  .multi-car-compare > header h2,
  .popular-car-comparisons > header h2,
  .car-compare-brand-map > header h2 {
    font-size: 40px;
  }

  .multi-car-pickers {
    grid-template-columns: 1fr 1fr;
    padding: 12px;
  }

  .multi-car-pickers label,
  .multi-car-add {
    min-height: 124px;
    padding: 14px;
  }

  .multi-car-compare > footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .popular-car-comparisons > div {
    grid-template-columns: 1fr 1fr;
  }

  .popular-car-comparisons > div > a {
    min-height: 230px;
    padding: 18px;
  }

  .car-compare-brand-map > div {
    grid-template-columns: repeat(2, 1fr);
  }

  .car-compare-source-note {
    padding: 25px;
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .car-compare-source-note nav {
    grid-template-columns: 1fr 1fr;
  }
}

/* Lighter homepage edition: fewer sections, clearer choices, friendlier footer */
.home-newsroom {
  padding-bottom: 54px;
}

.newsroom-all-link {
  margin-top: 18px;
  border-radius: 0 0 18px 5px;
}

.home-quick-paths {
  padding: 26px 0 72px;
  display: grid;
  grid-template-columns: minmax(250px, .62fr) minmax(0, 1.38fr);
  gap: 38px;
  align-items: start;
}

.home-quick-paths > div {
  position: sticky;
  top: 110px;
}

.home-quick-paths h2 {
  max-width: 420px;
  margin: 14px 0 12px;
  font-size: clamp(38px, 4.8vw, 62px);
  line-height: .96;
  letter-spacing: -.045em;
}

.home-quick-paths > div > p {
  max-width: 390px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.65;
}

.home-quick-paths nav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-top: 5px solid var(--press-black);
}

.home-quick-paths nav a {
  min-height: 148px;
  padding: 22px;
  display: grid;
  grid-template-columns: 34px 1fr;
  grid-template-rows: auto auto;
  gap: 8px 14px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgb(255 255 255 / 54%);
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}

.home-quick-paths nav a:nth-child(even) {
  border-right: 0;
}

.home-quick-paths nav a:hover {
  position: relative;
  z-index: 1;
  transform: translateY(-3px);
  background: #f2facb;
  box-shadow: 7px 7px 0 rgb(16 47 39 / 12%);
}

.home-quick-paths nav span {
  width: 34px;
  height: 34px;
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  border-radius: 11px 11px 11px 3px;
  background: var(--press-red);
  color: white;
  font: 800 9px "DM Mono", monospace;
}

.home-quick-paths nav strong {
  align-self: end;
  font: 700 24px/1 "Newsreader", Georgia, serif;
}

.home-quick-paths nav small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.home-which-car {
  padding-top: 6px;
  padding-bottom: 64px;
}

.home-car-widget-lead {
  grid-template-rows: 185px 1fr;
}

.home-car-widget-lead > img {
  height: 185px;
}

.home-car-widget-picks > a {
  min-height: 365px;
}

.home-car-widget-actions {
  grid-template-rows: repeat(2, 1fr);
}

.home-car-widget-actions > a {
  min-height: 165px;
}

.calculator-wrap {
  padding-top: 72px;
  padding-bottom: 72px;
}

.faq-section {
  padding-top: 72px;
  padding-bottom: 82px;
}

.footer-feature {
  padding: 48px 0 42px;
  align-items: center;
}

.footer-feature h2 {
  max-width: 680px;
  margin-top: 12px;
  font-size: clamp(36px, 4.5vw, 58px);
}

.footer-feature p {
  margin: 12px 0 0;
  color: #c4d2e3;
  font-size: 12px;
}

.footer-grid {
  padding: 46px 0 42px;
  grid-template-columns: 1.35fr repeat(4, minmax(120px, .72fr));
  gap: 34px;
}

.footer-column {
  gap: 11px;
}

.footer-column a {
  line-height: 1.45;
}

.footer-coverage-pill {
  width: fit-content;
  margin: 0 0 24px;
  padding: 10px 12px;
  display: grid;
  gap: 2px;
  border: 1px solid rgb(255 255 255 / 16%);
  border-radius: 13px 13px 13px 4px;
  color: white;
}

.footer-coverage-pill strong {
  color: var(--lime);
  font-size: 11px;
}

.footer-coverage-pill span {
  color: #c4d2e3;
  font-size: 9px;
}

.footer-bottom nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 14px;
}

.footer-bottom nav a:hover {
  color: var(--lime);
}

@media (max-width: 1050px) {
  .footer-grid {
    grid-template-columns: 1.25fr repeat(2, 1fr);
  }

  .footer-brand {
    grid-row: 1 / 3;
  }
}

@media (max-width: 780px) {
  .newsroom-lead-grid {
    grid-template-columns: 1fr;
  }

  .newsroom-lead {
    padding-right: 0;
    padding-bottom: 22px;
    border-right: 0;
    border-bottom: 1px solid var(--press-black);
  }

  .cost-board {
    grid-template-columns: repeat(3, 1fr);
  }

  .cost-board > div {
    grid-column: 1 / -1;
  }

  .cost-board > a {
    border-right: 1px solid rgb(255 255 255 / 15%);
  }

  .home-quick-paths {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .home-quick-paths > div {
    position: static;
  }
}

@media (max-width: 620px) {
  .home-newsroom {
    padding-bottom: 42px;
  }

  .newsroom-rule {
    grid-template-columns: 1fr auto;
    gap: 10px;
  }

  .newsroom-rule b {
    display: none;
  }

  .newsroom-lead h2 {
    font-size: 38px;
  }

  .newsroom-side > a {
    grid-template-columns: 92px 1fr;
  }

  .newsroom-side img {
    width: 92px;
    height: 86px;
  }

  .cost-board {
    grid-template-columns: 1fr;
  }

  .cost-board > div,
  .cost-board > a {
    grid-column: auto;
    border-right: 0;
  }

  .newsroom-all-link {
    grid-template-columns: 42px 1fr;
  }

  .newsroom-all-link > b {
    display: none;
  }

  .home-quick-paths {
    padding: 8px 0 54px;
  }

  .home-quick-paths nav {
    grid-template-columns: 1fr;
  }

  .home-quick-paths nav a,
  .home-quick-paths nav a:nth-child(even) {
    min-height: 116px;
    border-right: 0;
  }

  .home-car-widget-actions > a {
    min-height: 118px;
  }

  .calculator-wrap,
  .faq-section {
    padding-top: 54px;
    padding-bottom: 58px;
  }

  .footer-feature {
    padding: 44px 0 38px;
  }

  .footer-feature h2 {
    font-size: 39px;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
    gap: 34px 22px;
  }

  .footer-brand {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .footer-bottom nav {
    justify-content: flex-start;
  }
}

/* Compact grouped site navigation */
.site-header-inner {
  min-height: 76px;
}

.site-navigation {
  gap: 5px;
}

.site-navigation > a,
.site-nav-trigger {
  min-height: 40px;
  padding: 10px 11px;
  display: flex;
  align-items: center;
  border: 0;
  border-radius: 10px 10px 10px 3px;
  background: transparent;
  color: white;
  font-family: inherit;
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
  transition: background .18s ease, color .18s ease;
}

.site-navigation > a:hover,
.site-nav-trigger:hover,
.site-nav-group.is-open > .site-nav-trigger {
  background: rgb(255 255 255 / 14%);
  color: var(--lime);
}

.site-navigation > a:first-child {
  color: var(--lime);
}

.site-nav-group {
  position: relative;
}

.site-nav-trigger {
  gap: 7px;
}

.site-nav-trigger > span {
  color: rgb(255 255 255 / 72%);
  font-size: 13px;
  transition: transform .18s ease;
}

.site-nav-group.is-open > .site-nav-trigger > span {
  transform: rotate(180deg);
}

.site-nav-dropdown {
  width: 255px;
  padding: 10px;
  position: absolute;
  top: calc(100% + 12px);
  left: 50%;
  z-index: 80;
  display: grid;
  gap: 3px;
  transform: translateX(-50%);
  border: 1px solid rgb(24 32 29 / 16%);
  border-top: 5px solid var(--press-black);
  border-radius: 6px 6px 18px 18px;
  background: #ffffff;
  box-shadow: 0 20px 45px rgb(18 36 30 / 24%);
}

.site-nav-group.wide .site-nav-dropdown {
  width: 500px;
  grid-template-columns: 1fr 1fr;
}

.site-header .site-navigation .site-nav-dropdown a {
  min-height: 42px;
  padding: 10px 11px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-radius: 9px;
  color: var(--ink);
  font-size: 10px;
  font-weight: 750;
  white-space: normal;
}

.site-header .site-navigation .site-nav-dropdown a:hover {
  background: #eef4fb;
  color: var(--green);
}

.site-nav-dropdown a > span {
  color: var(--press-red);
  font-size: 13px;
}

.site-navigation > a:focus-visible,
.site-nav-trigger:focus-visible,
.site-nav-dropdown a:focus-visible {
  outline: 3px solid var(--lime);
  outline-offset: 2px;
}

@media (max-width: 900px) {
  .site-header-inner {
    min-height: 70px;
  }

  .site-header .site-navigation {
    padding: 8px 0 18px;
    gap: 0;
    background: transparent;
  }

  .site-navigation > a,
  .site-nav-trigger {
    min-height: 48px;
    padding: 13px 4px;
    border-top: 1px solid rgb(255 255 255 / 16%);
    border-radius: 0;
    font-size: 12px;
  }

  .site-nav-group {
    width: 100%;
  }

  .site-nav-trigger {
    justify-content: space-between;
  }

  .site-nav-dropdown,
  .site-nav-group.wide .site-nav-dropdown {
    width: auto;
    padding: 5px 0 10px 14px;
    position: static;
    grid-template-columns: 1fr 1fr;
    transform: none;
    border: 0;
    border-radius: 0;
    background: rgb(24 32 29 / 28%);
    box-shadow: none;
  }

  .site-header .site-navigation .site-nav-dropdown a {
    min-height: 42px;
    padding: 10px 12px;
    border-top: 0;
    border-left: 2px solid rgb(255 255 255 / 13%);
    border-radius: 0;
    color: white;
    font-size: 11px;
  }

  .site-header .site-navigation .site-nav-dropdown a:hover {
    background: rgb(255 255 255 / 10%);
    color: var(--lime);
  }
}

@media (max-width: 560px) {
  .site-navigation {
    max-height: calc(100vh - 82px);
    overflow-y: auto;
  }

  .site-nav-dropdown,
  .site-nav-group.wide .site-nav-dropdown {
    grid-template-columns: 1fr;
  }
}

/* Home utilities: city-by-city connection desk */
.utilities-hub-hero,
.utility-city-hero {
  padding: 84px 0 74px;
  border-bottom: 1px solid var(--press-black);
}

.utilities-hub-hero h1,
.utility-city-hero h1 {
  max-width: 1050px;
  margin: 16px 0 20px;
  color: var(--press-black);
  font-size: clamp(56px, 8vw, 116px);
  line-height: .82;
  letter-spacing: -.065em;
}

.utilities-hub-hero > p,
.utility-city-hero > p {
  max-width: 820px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
}

.utilities-hub-hero > div,
.utility-city-hero > div {
  margin-top: 32px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.utilities-hub-hero > div a,
.utility-city-hero > div strong,
.utility-city-hero > div span {
  padding: 12px 15px;
  background: var(--press-black);
  color: #fff;
  font: 800 11px var(--font-mono), monospace;
}

.utilities-hub-hero > div a:last-child {
  background: var(--lime);
  color: var(--press-black);
}

.utility-city-hero > div strong {
  background: var(--orange);
}

.utility-city-hero > div span {
  background: #fff;
  color: var(--press-black);
  border: 1px solid var(--press-black);
}

.utility-service-board,
.utility-cost-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid var(--press-black);
}

.utility-service-board article,
.utility-cost-strip article {
  min-height: 260px;
  padding: 28px;
  border-right: 1px solid var(--line);
  background: #fff;
}

.utility-service-board article:nth-child(2) { background: #fff2e7; }
.utility-service-board article:nth-child(3) { background: #eef5ff; }
.utility-service-board article:nth-child(4) { background: #eef9ef; }
.utility-service-board article > span,
.utility-cost-strip article > span {
  color: var(--orange);
  font: 900 10px var(--font-mono), monospace;
  text-transform: uppercase;
}

.utility-service-board h2 {
  margin: 52px 0 14px;
  font-size: 28px;
}

.utility-service-board p,
.utility-cost-strip p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}

.utility-truth-band {
  margin: 90px auto;
  padding: 48px;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 65px;
  background: var(--green);
  color: #fff;
}

.utility-truth-band h2 {
  max-width: 460px;
  margin: 12px 0 0;
  font-size: 48px;
  line-height: .96;
}

.utility-truth-band > div:last-child {
  display: grid;
  gap: 0;
}

.utility-truth-band p {
  margin: 0;
  padding: 17px 0;
  display: grid;
  grid-template-columns: 170px 1fr;
  gap: 20px;
  border-top: 1px solid rgb(255 255 255 / 20%);
}

.utility-truth-band p b { color: var(--lime); }
.utility-truth-band p span { color: #d5e2dd; line-height: 1.55; }

.utility-city-library {
  padding: 40px 0 95px;
}

.utility-city-library > div:last-child {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--press-black);
}

.utility-city-library > div:last-child a {
  min-height: 145px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  color: var(--press-black);
  background: #fff;
}

.utility-city-library a small {
  color: var(--orange);
  font: 850 9px var(--font-mono), monospace;
}

.utility-city-library a strong {
  margin-top: 15px;
  font-size: 18px;
}

.utility-city-library a span {
  margin-top: auto;
  color: var(--green);
  font-size: 10px;
  font-weight: 850;
}

.utility-cost-strip article {
  min-height: 180px;
  display: flex;
  flex-direction: column;
}

.utility-cost-strip article strong {
  margin-top: auto;
  color: var(--green);
  font-size: 29px;
}

.utility-cost-strip article p { margin-bottom: 0; }

.utility-provider-section {
  padding: 90px 0;
}

.utility-provider-groups {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 5px solid var(--press-black);
}

.utility-provider-groups > article {
  padding: 28px;
  border-right: 1px solid var(--line);
  background: #fff;
}

.utility-provider-groups > article:nth-child(2) { background: #fff3e9; }
.utility-provider-groups > article:nth-child(3) { background: #edf7ff; }
.utility-provider-groups > article > span {
  color: var(--orange);
  font: 900 9px var(--font-mono), monospace;
}

.utility-provider-groups > article > h3 {
  margin: 13px 0 8px;
  font-size: 32px;
}

.utility-provider-groups > article > p {
  min-height: 78px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}

.utility-provider-groups > article > div {
  display: grid;
  gap: 8px;
}

.utility-provider-groups a,
.utility-empty {
  min-height: 138px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  color: var(--press-black);
  border: 1px solid rgb(21 35 31 / 15%);
  background: rgb(255 255 255 / 65%);
}

.utility-provider-groups a b,
.utility-empty b { font-size: 15px; }
.utility-provider-groups a small,
.utility-empty small {
  margin-top: 8px;
  color: var(--muted);
  line-height: 1.45;
}
.utility-provider-groups a strong {
  margin-top: auto;
  color: var(--green);
  font-size: 10px;
}

.utility-internet-section {
  margin-bottom: 90px;
  padding: 48px;
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 60px;
  background: var(--press-black);
  color: #fff;
}

.utility-internet-section h2 {
  margin: 12px 0;
  font-size: 48px;
  line-height: .95;
}

.utility-internet-section p {
  color: #b8c7c2;
  line-height: 1.6;
}

.utility-internet-section > div:first-child > a {
  margin: 10px 8px 0 0;
  padding: 10px 12px;
  display: inline-block;
  background: var(--lime);
  color: var(--press-black);
  font-size: 10px;
  font-weight: 900;
}

.utility-internet-section > div:last-child {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.utility-internet-section > div:last-child a {
  min-height: 155px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  color: #fff;
  border-top: 1px solid rgb(255 255 255 / 20%);
  border-right: 1px solid rgb(255 255 255 / 20%);
}

.utility-internet-section a small { color: #9fb1aa; }
.utility-internet-section a strong { margin-top: 18px; font-size: 20px; }
.utility-internet-section a span { margin-top: auto; color: var(--lime); font-size: 10px; font-weight: 900; }

.utility-compare-section {
  padding: 20px 0 90px;
  display: grid;
  grid-template-columns: .5fr 1.5fr;
  gap: 55px;
}

.utility-compare-section h2,
.utility-checklist h2 {
  margin: 12px 0;
  font-size: 45px;
  line-height: .96;
}

.utility-compare-section > div:last-child {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.utility-compare-section article {
  min-height: 210px;
  padding: 22px;
  border-top: 1px solid var(--press-black);
  border-right: 1px solid var(--line);
}

.utility-compare-section article b { color: var(--orange); }
.utility-compare-section article h3 { margin: 28px 0 8px; }
.utility-compare-section article p { color: var(--muted); font-size: 11px; line-height: 1.6; }

.utility-checklist {
  margin-bottom: 90px;
  padding: 45px;
  display: grid;
  grid-template-columns: .65fr 1.35fr;
  gap: 55px;
  color: #fff;
  background: var(--orange);
}

.utility-checklist ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.utility-checklist li {
  padding: 13px 0;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  border-top: 1px solid rgb(255 255 255 / 28%);
}

.utility-checklist li b { color: var(--press-black); }
.utility-checklist li span { line-height: 1.5; }

.utility-source-band {
  margin-bottom: 105px;
  padding: 32px;
  border-top: 5px solid var(--green);
  background: #eef6ef;
}

.utility-source-band h2 { margin: 10px 0; font-size: 38px; }
.utility-source-band > p { max-width: 850px; color: var(--muted); line-height: 1.65; }
.utility-source-band > div { margin-top: 20px; display: flex; gap: 8px; flex-wrap: wrap; }
.utility-source-band a { padding: 10px 12px; color: var(--green); background: #fff; font-size: 10px; font-weight: 900; }

.city-utility-snapshot {
  padding: 75px 0;
}

.utility-snapshot-grid {
  display: grid;
  grid-template-columns: 1.5fr repeat(4, 1fr);
  border-top: 5px solid var(--orange);
}

.utility-snapshot-grid article {
  min-height: 230px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--line);
  background: #fff;
}

.utility-snapshot-grid article:nth-child(3) { background: #edf7ff; }
.utility-snapshot-grid article:nth-child(4) { background: #fff3e9; }
.utility-snapshot-grid article:nth-child(5) { background: #eef8ef; }
.utility-snapshot-grid article > span {
  color: var(--orange);
  font: 900 9px var(--font-mono), monospace;
  text-transform: uppercase;
}
.utility-snapshot-grid article > strong { margin-top: auto; color: var(--green); font-size: 23px; }
.utility-snapshot-grid article p { color: var(--muted); font-size: 11px; line-height: 1.55; }
.utility-snapshot-lead h3 { margin: 24px 0 8px; font-size: 26px; line-height: 1.05; }
.utility-snapshot-lead a { margin-top: auto; color: var(--green); font-size: 11px; font-weight: 900; }

@media (max-width: 1050px) {
  .utility-service-board,
  .utility-cost-strip { grid-template-columns: 1fr 1fr; }
  .utility-city-library > div:last-child { grid-template-columns: repeat(3, 1fr); }
  .utility-provider-groups { grid-template-columns: 1fr; }
  .utility-provider-groups > article > p { min-height: auto; }
  .utility-snapshot-grid { grid-template-columns: 1fr 1fr; }
  .utility-snapshot-lead { grid-column: 1 / -1; }
}

@media (max-width: 720px) {
  .utilities-hub-hero,
  .utility-city-hero { padding: 52px 0; }
  .utilities-hub-hero h1,
  .utility-city-hero h1 { font-size: 53px; }
  .utility-service-board,
  .utility-cost-strip,
  .utility-city-library > div:last-child,
  .utility-snapshot-grid { grid-template-columns: 1fr; }
  .utility-snapshot-lead { grid-column: auto; }
  .utility-service-board article,
  .utility-cost-strip article { min-height: 185px; }
  .utility-service-board h2 { margin-top: 32px; }
  .utility-truth-band,
  .utility-internet-section,
  .utility-compare-section,
  .utility-checklist {
    padding: 28px 22px;
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .utility-truth-band { margin: 55px auto; }
  .utility-truth-band h2,
  .utility-internet-section h2,
  .utility-compare-section h2,
  .utility-checklist h2 { font-size: 38px; }
  .utility-truth-band p { grid-template-columns: 1fr; gap: 6px; }
  .utility-internet-section > div:last-child,
  .utility-compare-section > div:last-child { grid-template-columns: 1fr; }
  .utility-provider-section { padding: 55px 0; }
  .utility-provider-groups > article { padding: 23px 18px; }
  .utility-source-band { padding: 24px 19px; }
}

/* Cable TV, live TV streaming and local-channel city guides */
.city-tv-snapshot { padding: 10px 0 90px; }
.city-tv-grid { display: grid; grid-template-columns: 1.2fr .65fr .85fr; gap: 12px; }
.city-tv-grid > article { min-height: 260px; padding: 28px; display: flex; flex-direction: column; border-radius: 26px 26px 26px 7px; }
.city-tv-grid > article:first-child { background: #fdf0f3; }
.city-tv-grid > article:nth-child(2) { background: #e8f4ee; }
.city-tv-grid > article:last-child { background: var(--press-black); color: #fff; }
.city-tv-grid article > span { color: var(--orange); font: 900 9px var(--font-mono), monospace; letter-spacing: .08em; }
.city-tv-grid article:last-child > span { color: var(--lime); }
.city-tv-grid h3 { margin: 12px 0; font-size: 25px; line-height: 1.1; }
.city-tv-grid article:nth-child(2) > strong { margin-top: auto; color: var(--green); font-size: 42px; }
.city-tv-grid article > p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.city-tv-grid article:last-child > p { color: #bdccc7; }
.city-tv-grid article:last-child > a { margin-top: auto; color: var(--lime); font-size: 11px; font-weight: 900; }
.city-tv-grid article:first-child > div { margin-top: auto; display: grid; }
.city-tv-grid article:first-child > div a { padding: 10px 0; display: grid; grid-template-columns: 115px 1fr auto; gap: 10px; border-top: 1px solid #e4d1c3; color: var(--ink); }
.city-tv-grid article:first-child a b { font-size: 12px; }
.city-tv-grid article:first-child a small { color: var(--muted); font-size: 9px; }
.city-tv-grid article:first-child a span { color: var(--green); font-size: 9px; font-weight: 850; }

.tv-hub-hero,
.tv-city-hero { padding: 82px 0 70px; }
.tv-hub-hero { max-width: 1050px; text-align: center; }
.tv-hub-hero h1,
.tv-city-hero h1 { margin: 16px 0 24px; font-size: clamp(54px, 7.3vw, 98px); line-height: .9; letter-spacing: -.066em; }
.tv-hub-hero p { max-width: 800px; margin: 0 auto; color: var(--muted); font-size: 18px; line-height: 1.7; }
.tv-hub-hero > div { margin-top: 28px; display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.tv-hub-hero > div a { padding: 13px 17px; border-radius: 999px; background: var(--green); color: #fff; font-size: 11px; font-weight: 850; }
.tv-hub-hero > div a:last-child { background: #fdf0f3; color: var(--green); }
.tv-choice-board { padding-bottom: 90px; display: grid; grid-template-columns: repeat(4, 1fr); }
.tv-choice-board article { min-height: 235px; padding: 25px; display: flex; flex-direction: column; border-top: 5px solid var(--press-black); border-right: 1px solid var(--line); background: #fff; }
.tv-choice-board article:nth-child(even) { background: #eef4fb; }
.tv-choice-board span { color: var(--orange); font-size: 24px; font-weight: 900; }
.tv-choice-board h2 { margin: 28px 0 8px; font-size: 24px; }
.tv-choice-board strong { color: var(--green); font-size: 26px; }
.tv-choice-board p { margin-top: auto; color: var(--muted); font-size: 11px; line-height: 1.6; }
.tv-streaming-strip { padding: 38px; display: grid; grid-template-columns: .6fr 1.4fr; gap: 40px; background: var(--press-black); color: #fff; }
.tv-streaming-strip h2 { margin: 12px 0; font-size: 38px; line-height: 1; }
.tv-streaming-strip > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
.tv-streaming-strip a { padding: 15px; display: flex; flex-direction: column; border: 1px solid rgb(255 255 255 / 13%); color: #fff; }
.tv-streaming-strip a small { color: #b9c9c4; font-size: 9px; }
.tv-streaming-strip a strong { margin: 6px 0; font-size: 16px; }
.tv-streaming-strip a b { color: var(--lime); font-size: 21px; }
.tv-streaming-strip a span { margin-top: 8px; color: var(--orange); font-size: 9px; font-weight: 850; }
.tv-city-library { padding-top: 90px; }

.tv-city-hero > a { display: block; margin-bottom: 36px; color: var(--muted); font-weight: 750; }
.tv-city-hero > p { max-width: 820px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.tv-city-hero > div { margin-top: 30px; padding: 19px 22px; display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr; gap: 13px; border-top: 5px solid var(--orange); background: var(--press-black); color: #fff; }
.tv-city-hero > div strong { color: var(--lime); font: 850 9px var(--font-mono), monospace; text-transform: uppercase; }
.tv-city-hero > div span { color: #c4d2ce; font-size: 11px; }
.tv-local-section,
.tv-streaming-section { padding: 55px 0 90px; }
.tv-provider-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.tv-provider-grid article { min-height: 280px; padding: 27px; display: flex; flex-direction: column; border-radius: 27px 27px 27px 7px; background: #fdf0f3; }
.tv-provider-grid article:nth-child(even) { background: #e9f4ed; }
.tv-provider-grid article > span { color: var(--orange); font: 900 9px var(--font-mono), monospace; }
.tv-provider-grid h3,
.tv-streaming-grid h3 { margin: 15px 0 10px; font-size: 29px; }
.tv-provider-grid article > strong { margin-top: auto; font-size: 15px; }
.tv-provider-grid article > p { color: var(--muted); font-size: 11px; }
.tv-provider-grid article > a,
.tv-streaming-grid article > a { margin-top: 17px; color: var(--green); font-size: 10px; font-weight: 900; }
.tv-streaming-section { background: #efede4; }
.tv-streaming-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.tv-streaming-grid article { min-height: 305px; padding: 24px; display: flex; flex-direction: column; border-right: 1px solid var(--line); background: #fff; }
.tv-streaming-grid article > span { min-height: 33px; color: var(--orange); font: 850 9px var(--font-mono), monospace; }
.tv-streaming-grid article > strong { margin-top: auto; color: var(--green); font-size: 27px; }
.tv-streaming-grid article > p { color: var(--muted); font-size: 11px; line-height: 1.55; }
.tv-satellite-section { padding: 75px 0; display: grid; grid-template-columns: .7fr 1.3fr; gap: 55px; }
.tv-satellite-section h2 { margin: 12px 0; font-size: 45px; line-height: 1; }
.tv-satellite-section > div:first-child p { color: var(--muted); line-height: 1.65; }
.tv-satellite-section > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
.tv-satellite-section a { min-height: 190px; padding: 23px; display: flex; flex-direction: column; border-top: 5px solid var(--press-black); border-right: 1px solid var(--line); color: var(--ink); }
.tv-satellite-section a small { color: var(--orange); font: 850 9px var(--font-mono), monospace; }
.tv-satellite-section a strong { margin: 18px 0 7px; font-size: 26px; }
.tv-satellite-section a span { color: var(--muted); font-size: 11px; }
.tv-satellite-section a b { margin-top: auto; color: var(--green); font-size: 10px; }
.tv-price-section { padding: 70px 0; display: grid; grid-template-columns: .5fr 1.5fr; gap: 50px; }
.tv-price-section h2 { margin: 12px 0; font-size: 44px; line-height: 1; }
.tv-price-section > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
.tv-price-section article { min-height: 170px; padding: 23px; border-top: 1px solid var(--press-black); border-right: 1px solid var(--line); }
.tv-price-section article h3 { margin: 0; font-size: 16px; }
.tv-price-section article strong { display: block; margin: 27px 0 6px; color: var(--orange); font-size: 27px; }
.tv-price-section article p { color: var(--muted); font-size: 11px; }
.tv-fee-check { margin-bottom: 90px; padding: 42px; display: grid; grid-template-columns: .65fr 1.35fr; gap: 50px; background: var(--green); color: #fff; }
.tv-fee-check h2 { margin: 12px 0; font-size: 41px; line-height: 1; }
.tv-fee-check ol { margin: 0; padding: 0; list-style: none; }
.tv-fee-check li { padding: 13px 0; display: grid; grid-template-columns: 40px 1fr; gap: 15px; border-top: 1px solid rgb(255 255 255 / 17%); }
.tv-fee-check li b { color: var(--lime); }
.tv-fee-check li span { color: #d4e2dd; font-size: 12px; }
.tv-sources { margin-bottom: 110px; padding: 35px; border-top: 5px solid var(--orange); background: #fdf0f3; }
.tv-sources h2 { margin: 10px 0; font-size: 36px; }
.tv-sources > p { max-width: 850px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.tv-sources > div { margin-top: 20px; display: flex; gap: 8px; flex-wrap: wrap; }
.tv-sources a { padding: 9px 11px; background: #fff; color: var(--green); font-size: 10px; font-weight: 850; }

@media (max-width: 950px) {
  .city-tv-grid { grid-template-columns: 1fr 1fr; }
  .city-tv-grid > article:first-child { grid-column: 1 / -1; }
  .tv-choice-board { grid-template-columns: 1fr 1fr; }
  .tv-streaming-strip,
  .tv-satellite-section,
  .tv-price-section { grid-template-columns: 1fr; }
  .tv-provider-grid { grid-template-columns: 1fr 1fr; }
  .tv-streaming-grid { grid-template-columns: 1fr 1fr; }
  .tv-city-hero > div { grid-template-columns: auto 1fr; }
}

@media (max-width: 650px) {
  .city-tv-grid,
  .tv-choice-board,
  .tv-provider-grid,
  .tv-streaming-grid { grid-template-columns: 1fr; }
  .city-tv-grid > article:first-child { grid-column: auto; }
  .city-tv-grid article:first-child > div a { grid-template-columns: 1fr auto; }
  .city-tv-grid article:first-child a small { grid-column: 1 / -1; grid-row: 2; }
  .tv-hub-hero,
  .tv-city-hero { padding: 55px 0; }
  .tv-hub-hero h1,
  .tv-city-hero h1 { font-size: 50px; }
  .tv-streaming-strip { padding: 28px 21px; }
  .tv-streaming-strip > div:last-child,
  .tv-satellite-section > div:last-child,
  .tv-price-section > div:last-child { grid-template-columns: 1fr; }
  .tv-local-section,
  .tv-streaming-section { padding: 35px 0 65px; }
  .tv-fee-check { padding: 28px 22px; grid-template-columns: 1fr; gap: 25px; }
  .tv-sources { padding: 25px 20px; }
}

/* City internet, fiber and mobile comparison desk */
.city-connectivity-snapshot { padding: 45px 0 90px; }
.connectivity-city-grid { display: grid; grid-template-columns: 1.2fr 1fr .65fr; gap: 12px; }
.connectivity-city-grid > article { min-width: 0; padding: 28px; border-radius: 26px 26px 26px 7px; }
.connectivity-city-grid > article > span,
.connectivity-provider-grid article > span,
.mobile-operator-grid article > span {
  font-family: var(--font-mono), monospace;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}
.connectivity-fixed { background: #e8f4ee; }
.connectivity-fixed > span { color: var(--green); }
.connectivity-fixed h3,
.connectivity-price-card h3 { margin: 10px 0; font-size: 24px; line-height: 1.1; }
.connectivity-fixed > p,
.connectivity-mobile > p,
.connectivity-price-card > p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.connectivity-fixed > div { margin-top: 20px; display: grid; }
.connectivity-fixed > div a { padding: 11px 0; display: grid; grid-template-columns: 120px 1fr auto; gap: 12px; border-top: 1px solid #cbded5; color: var(--ink); }
.connectivity-fixed a b { font-size: 12px; }
.connectivity-fixed a small { color: var(--muted); font-size: 10px; }
.connectivity-fixed a span { color: var(--green); font-size: 10px; font-weight: 850; }
.connectivity-mobile { background: var(--press-black); color: #fff; }
.connectivity-mobile > span { color: var(--lime); }
.connectivity-mobile > div { margin-top: 14px; display: grid; }
.connectivity-mobile > div a { padding: 12px 0; display: grid; grid-template-columns: 28px 85px 1fr auto; gap: 8px; align-items: center; border-top: 1px solid rgb(255 255 255 / 15%); color: #fff; }
.connectivity-mobile a i { color: var(--orange); font-style: normal; font-weight: 900; }
.connectivity-mobile a b { font-size: 13px; }
.connectivity-mobile a small,
.connectivity-mobile > p { color: #aebfba; }
.connectivity-mobile a span { color: var(--lime); font-size: 9px; font-weight: 850; }
.connectivity-price-card { display: flex; flex-direction: column; background: #fdf0f3; }
.connectivity-price-card > span { color: var(--orange); }
.connectivity-price-card > strong { margin-top: auto; padding-top: 30px; color: var(--green); font-size: 38px; line-height: 1; }
.connectivity-price-card > a { margin-top: 18px; color: var(--green); font-size: 11px; font-weight: 900; }

.connectivity-hub-hero,
.connectivity-city-hero { padding: 84px 0 70px; }
.connectivity-hub-hero { max-width: 1040px; text-align: center; }
.connectivity-hub-hero h1,
.connectivity-city-hero h1 { margin: 16px 0 24px; font-size: clamp(52px, 7vw, 94px); line-height: .91; letter-spacing: -.065em; }
.connectivity-hub-hero p { max-width: 780px; margin: 0 auto; color: var(--muted); font-size: 18px; line-height: 1.7; }
.connectivity-hub-hero > div { margin-top: 28px; display: flex; gap: 9px; justify-content: center; flex-wrap: wrap; }
.connectivity-hub-hero > div a { padding: 13px 17px; border-radius: 999px; background: var(--green); color: #fff; font-size: 11px; font-weight: 850; }
.connectivity-hub-hero > div a:last-child { background: #fdf0f3; color: var(--green); }
.connectivity-decision { padding: 0 0 90px; display: grid; grid-template-columns: repeat(4, 1fr); }
.connectivity-decision > div { min-height: 220px; padding: 25px; border-top: 5px solid var(--press-black); border-right: 1px solid var(--line); background: #fff; }
.connectivity-decision > div:nth-child(even) { background: #eef4fb; }
.connectivity-decision span { color: var(--orange); font-size: 24px; font-weight: 900; }
.connectivity-decision h2 { margin: 28px 0 8px; font-size: 28px; }
.connectivity-decision p { color: var(--muted); font-size: 12px; line-height: 1.65; }
.connectivity-city-library { padding-bottom: 110px; }
.connectivity-city-library > div:last-child { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--press-black); }
.connectivity-city-library > div:last-child a { min-height: 105px; padding: 18px; display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.connectivity-city-library a small { color: var(--orange); font: 800 9px var(--font-mono), monospace; text-transform: uppercase; }
.connectivity-city-library a strong { margin: 7px 0; color: var(--ink); font-size: 18px; }
.connectivity-city-library a span { margin-top: auto; color: var(--green); font-size: 10px; font-weight: 850; }

.connectivity-city-hero > a { display: block; margin-bottom: 36px; color: var(--muted); font-weight: 750; }
.connectivity-city-hero > p { max-width: 820px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.connectivity-city-hero > div { margin-top: 30px; padding: 18px 22px; display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr; gap: 13px; align-items: baseline; border-top: 5px solid var(--orange); background: var(--press-black); color: #fff; }
.connectivity-city-hero > div strong { color: var(--lime); font: 850 9px var(--font-mono), monospace; text-transform: uppercase; }
.connectivity-city-hero > div span { color: #c5d4cf; font-size: 12px; }
.connectivity-provider-section,
.mobile-operator-section { padding: 55px 0 90px; }
.connectivity-provider-grid,
.mobile-operator-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.connectivity-provider-grid article { min-height: 305px; padding: 27px; display: flex; flex-direction: column; border-radius: 27px 27px 27px 7px; background: #eef4fb; }
.connectivity-provider-grid article:nth-child(even) { background: #fdf0f3; }
.connectivity-provider-grid article > span { color: var(--orange); }
.connectivity-provider-grid h3,
.mobile-operator-grid h3 { margin: 15px 0 6px; font-size: 30px; }
.connectivity-provider-grid article > b { font-size: 12px; }
.connectivity-provider-grid article > p { color: var(--muted); font-size: 12px; }
.connectivity-provider-grid article > strong { margin-top: auto; font-size: 14px; }
.connectivity-provider-grid article > a { margin-top: 18px; color: var(--green); font-size: 11px; font-weight: 900; }
.fcc-map-cta { margin-top: 14px; padding: 24px; display: grid; grid-template-columns: 190px 1fr auto; gap: 25px; align-items: center; background: var(--green); color: #fff; }
.fcc-map-cta span { color: var(--lime); font: 900 9px var(--font-mono), monospace; }
.fcc-map-cta strong { font-size: 16px; }
.fcc-map-cta b { font-size: 11px; }
.mobile-operator-section { background: #f0eee5; }
.mobile-operator-grid article { min-height: 320px; padding: 28px; display: flex; flex-direction: column; position: relative; overflow: hidden; background: #fff; }
.mobile-operator-grid article > i { position: absolute; right: 15px; top: 4px; color: #f0e4d9; font-style: normal; font-size: 88px; font-weight: 900; line-height: 1; }
.mobile-operator-grid article > span { z-index: 1; color: var(--orange); }
.mobile-operator-grid article > p { z-index: 1; color: var(--muted); font-size: 12px; line-height: 1.6; }
.mobile-operator-grid article > strong { margin-top: auto; z-index: 1; font-size: 13px; }
.mobile-operator-grid article > div { margin-top: 18px; display: flex; gap: 7px; flex-wrap: wrap; }
.mobile-operator-grid article a { padding: 9px 11px; background: var(--green); color: #fff; font-size: 10px; font-weight: 850; }
.connectivity-price-section { padding: 80px 0; display: grid; grid-template-columns: .65fr 1.35fr; gap: 60px; }
.connectivity-price-section > div:first-child h2 { margin: 12px 0; font-size: 48px; line-height: .98; }
.connectivity-price-section > div:first-child p { color: var(--muted); line-height: 1.65; }
.connectivity-price-section > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
.connectivity-price-section article { min-height: 175px; padding: 23px; border-top: 1px solid var(--press-black); border-right: 1px solid var(--line); }
.connectivity-price-section article h3 { margin: 0; font-size: 16px; }
.connectivity-price-section article strong { display: block; margin: 28px 0 6px; color: var(--orange); font-size: 28px; }
.connectivity-price-section article p { color: var(--muted); font-size: 11px; line-height: 1.6; }
.connectivity-switch-checklist { margin-bottom: 90px; padding: 42px; display: grid; grid-template-columns: .6fr 1.4fr; gap: 50px; background: var(--press-black); color: #fff; }
.connectivity-switch-checklist h2 { margin: 13px 0; font-size: 40px; line-height: 1.02; }
.connectivity-switch-checklist ol { margin: 0; padding: 0; list-style: none; counter-reset: internet-check; }
.connectivity-switch-checklist li { padding: 13px 0; display: grid; grid-template-columns: 140px 1fr; gap: 18px; border-top: 1px solid rgb(255 255 255 / 14%); }
.connectivity-switch-checklist li b { color: var(--lime); font-size: 12px; }
.connectivity-switch-checklist li span { color: #bfcec9; font-size: 12px; line-height: 1.55; }
.connectivity-sources { margin-bottom: 110px; padding: 35px; border-top: 5px solid var(--orange); background: #fdf0f3; }
.connectivity-sources h2 { margin: 10px 0; font-size: 36px; }
.connectivity-sources > p { max-width: 850px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.connectivity-sources > div { margin-top: 20px; display: flex; gap: 8px; flex-wrap: wrap; }
.connectivity-sources a { padding: 9px 11px; background: #fff; color: var(--green); font-size: 10px; font-weight: 850; }

@media (max-width: 950px) {
  .connectivity-city-grid { grid-template-columns: 1fr 1fr; }
  .connectivity-price-card { grid-column: 1 / -1; }
  .connectivity-decision { grid-template-columns: 1fr 1fr; }
  .connectivity-provider-grid,
  .mobile-operator-grid { grid-template-columns: 1fr 1fr; }
  .connectivity-price-section { grid-template-columns: 1fr; gap: 30px; }
  .connectivity-city-hero > div { grid-template-columns: auto 1fr; }
}

@media (max-width: 650px) {
  .city-connectivity-snapshot { padding: 35px 0 70px; }
  .connectivity-city-grid,
  .connectivity-provider-grid,
  .mobile-operator-grid,
  .connectivity-decision { grid-template-columns: 1fr; }
  .connectivity-price-card { grid-column: auto; }
  .connectivity-fixed > div a { grid-template-columns: 1fr auto; }
  .connectivity-fixed a small { grid-column: 1 / -1; grid-row: 2; }
  .connectivity-mobile > div a { grid-template-columns: 26px 75px 1fr; }
  .connectivity-mobile a span { grid-column: 3; }
  .connectivity-hub-hero,
  .connectivity-city-hero { padding: 55px 0; }
  .connectivity-hub-hero h1,
  .connectivity-city-hero h1 { font-size: 50px; }
  .connectivity-city-library > div:last-child { grid-template-columns: 1fr; }
  .connectivity-provider-section,
  .mobile-operator-section { padding: 35px 0 65px; }
  .fcc-map-cta { grid-template-columns: 1fr; gap: 10px; }
  .connectivity-price-section > div:last-child { grid-template-columns: 1fr; }
  .connectivity-switch-checklist { padding: 28px 22px; grid-template-columns: 1fr; gap: 25px; }
  .connectivity-switch-checklist li { grid-template-columns: 1fr; gap: 4px; }
  .connectivity-sources { padding: 25px 20px; }
}

/* Homepage smart search and search-driven editorial queue */
.smart-site-search {
  position: relative;
  z-index: 15;
  margin-top: 58px;
  padding: 24px;
  display: grid;
  grid-template-columns: minmax(240px, .72fr) minmax(420px, 1.55fr);
  gap: 18px 28px;
  color: #fff;
  border: 1px solid rgb(255 255 255 / 12%);
  border-radius: 25px 25px 25px 7px;
  background:
    radial-gradient(circle at 90% -30%, rgb(217 241 95 / 30%), transparent 42%),
    linear-gradient(135deg, #102e26 0%, #0a3161 68%, #245646 100%);
  box-shadow: 14px 16px 0 rgb(15 81 63 / 10%);
}

.hero > .smart-site-search {
  margin: 22px 0 54px;
}

.smart-site-search::after {
  content: "";
  width: 88px;
  height: 88px;
  position: absolute;
  right: 18%;
  bottom: -21px;
  z-index: -1;
  border: 2px solid rgb(217 241 95 / 30%);
  border-radius: 50%;
}

.smart-search-heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.smart-search-heading > span,
.smart-search-analysis > div > span,
.smart-search-examples > span {
  color: #ffffff;
  font-family: var(--font-mono), monospace;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .09em;
}

.smart-search-heading strong {
  margin: 5px 0 4px;
  color: #fff;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(25px, 2.2vw, 36px);
  line-height: 1.05;
}

.smart-search-heading small {
  max-width: 34ch;
  color: #c8d7d2;
  font-size: 13px;
  line-height: 1.5;
}

.smart-site-search form {
  position: relative;
  align-self: center;
}

.smart-search-input {
  min-height: 66px;
  padding: 7px 7px 7px 18px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 11px;
  border: 2px solid transparent;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 12px 30px rgb(0 0 0 / 17%);
  transition: border-color .2s ease, transform .2s ease;
}

.smart-search-input:focus-within {
  border-color: #ffffff;
  transform: translateY(-2px);
}

.smart-search-input > span {
  color: #b31942;
  font-size: 33px;
  font-weight: 300;
  line-height: 1;
}

.smart-search-input input {
  min-width: 0;
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #112c24;
  font: inherit;
  font-size: 16px;
  font-weight: 700;
}

.smart-search-input input::placeholder { color: #788a84; font-weight: 550; }

.smart-search-input > i {
  width: 18px;
  height: 18px;
  border: 2px solid #b9c8c2;
  border-top-color: #b31942;
  border-radius: 50%;
  animation: smart-search-spin .7s linear infinite;
}

.smart-search-input > button,
.smart-search-request button {
  border: 0;
  border-radius: 10px;
  background: #b31942;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.smart-search-input > button {
  height: 50px;
  padding: 0 17px;
}

.smart-search-input > button:hover,
.smart-search-request button:hover { background: #cc572f; }

.smart-search-input > button b { margin-left: 7px; }

.smart-search-suggestions {
  width: 100%;
  max-height: 430px;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 60;
  overflow-y: auto;
  border: 1px solid #d5dfdb;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 20px 50px rgb(3 25 18 / 28%);
}

.smart-search-suggestions > button {
  width: 100%;
  padding: 13px 15px;
  display: grid;
  grid-template-columns: 102px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid #edf1ef;
  background: #fff;
  color: #142f27;
  text-align: left;
  cursor: pointer;
}

.smart-search-suggestions > button:last-child { border-bottom: 0; }
.smart-search-suggestions > button:hover,
.smart-search-suggestions > button.active { background: #f2f8e5; }

.smart-search-suggestions > button > span {
  color: #d85832;
  font-family: var(--font-mono), monospace;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.smart-search-suggestions > button > div { min-width: 0; display: flex; flex-direction: column; }
.smart-search-suggestions > button strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.smart-search-suggestions > button small { margin-top: 3px; overflow: hidden; color: #6e817a; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.smart-search-suggestions > button > b { color: #123f78; }

.smart-search-empty {
  padding: 19px;
  display: flex;
  flex-direction: column;
  color: #183b30;
}

.smart-search-empty small { margin-top: 4px; color: #71817b; }

.smart-search-examples {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.smart-search-examples button {
  padding: 7px 10px;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 999px;
  background: rgb(255 255 255 / 8%);
  color: #dbe6e2;
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.smart-search-examples button:hover { border-color: #ffffff; color: #fff; }

.smart-search-analysis {
  grid-column: 1 / -1;
  padding: 18px;
  display: grid;
  grid-template-columns: minmax(230px, .7fr) minmax(320px, 1.3fr);
  gap: 18px;
  border-radius: 16px;
  background: #f5f2e8;
  color: #17352c;
}

.smart-search-analysis.missing { background: #fff2e9; }
.smart-search-analysis h3 { margin: 5px 0; font-family: var(--font-display), Georgia, serif; font-size: 25px; }
.smart-search-analysis p { margin: 0; color: #61736c; font-size: 13px; line-height: 1.55; }
.smart-search-analysis > div > span { color: #d85832; }

.smart-search-answer,
.smart-search-request {
  padding: 15px 17px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: 1px solid #d7dfdb;
  border-radius: 12px;
  background: #fff;
}

.smart-search-answer > small { color: #d85832; font-family: var(--font-mono), monospace; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.smart-search-answer > strong { margin: 3px 0; font-size: 17px; }
.smart-search-answer > a { margin-top: 10px; color: #145844; font-size: 13px; font-weight: 900; }
.smart-search-request > strong { margin-bottom: 4px; }
.smart-search-request button { margin-top: 10px; padding: 11px 14px; align-self: flex-start; }
.smart-search-request > small { margin-top: 8px; color: #123f78; font-weight: 800; }

.maintenance-ai-result {
  grid-column: 1 / -1;
  overflow: hidden;
  border: 1px solid rgb(255 255 255 / 18%);
  border-radius: 18px;
  background: #f6f8fb;
  color: #09264c;
}

.maintenance-ai-result > header {
  padding: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  background: #fff;
  border-bottom: 1px solid #ccd7e6;
}

.maintenance-ai-result > header > div > span,
.maintenance-total-card > div:first-child > span,
.maintenance-project-grid > a > span {
  color: #b31942;
  font-family: var(--font-mono), monospace;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .07em;
}

.maintenance-ai-result > header h3 {
  margin: 6px 0;
  color: #08264d;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(25px, 2.6vw, 38px);
  line-height: 1.02;
}

.maintenance-ai-result > header p {
  max-width: 78ch;
  margin: 0;
  color: #5c6e86;
  font-size: 13px;
  line-height: 1.55;
}

.maintenance-ai-result > header label {
  padding: 12px 15px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #b7c7da;
  border-radius: 999px;
  background: #eef4fb;
  color: #0b315f;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
  white-space: nowrap;
}

.maintenance-ai-result > header input {
  width: 18px;
  height: 18px;
  accent-color: #b31942;
}

.maintenance-project-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-left: 1px solid #d6dfeb;
}

.maintenance-project-grid > a {
  min-height: 218px;
  padding: 19px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid #d6dfeb;
  border-bottom: 1px solid #d6dfeb;
  background: #fff;
  color: #09264c;
  transition: background .2s ease, transform .2s ease;
}

.maintenance-project-grid > a:hover {
  z-index: 2;
  background: #eef4fb;
  transform: translateY(-2px);
}

.maintenance-project-grid > a.optional { background: #fff2f5; }
.maintenance-project-grid > a.excluded { opacity: .55; background: #f4f5f7; }

.maintenance-project-grid > a > div {
  margin: 22px 0 7px;
  display: grid;
  gap: 5px;
}

.maintenance-project-grid > a strong {
  font-family: var(--font-display), Georgia, serif;
  font-size: 25px;
  line-height: 1;
}

.maintenance-project-grid > a b {
  color: #0a3161;
  font-size: 19px;
  letter-spacing: -.03em;
}

.maintenance-project-grid > a small {
  color: #b31942;
  font-size: 11px;
  font-weight: 800;
}

.maintenance-project-grid > a p {
  margin: 9px 0 0;
  color: #61738a;
  font-size: 11px;
  line-height: 1.5;
}

.maintenance-project-grid > a em {
  margin-top: auto;
  padding-top: 14px;
  color: #0a3161;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.maintenance-total-card {
  padding: 26px;
  display: grid;
  grid-template-columns: minmax(220px, .9fr) minmax(300px, 1.1fr) minmax(240px, .85fr);
  gap: 28px;
  align-items: center;
  background: #09264c;
  color: #fff;
}

.maintenance-total-card > div:first-child > span { color: #ff5b74; }

.maintenance-total-card h3 {
  margin: 6px 0;
  color: #fff;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(27px, 3vw, 42px);
  line-height: 1;
}

.maintenance-total-card p {
  margin: 0;
  color: #bdcade;
  font-size: 12px;
  line-height: 1.5;
}

.maintenance-total-number {
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.maintenance-total-number small {
  color: #a9bcd5;
  font: 800 10px var(--font-mono), monospace;
}

.maintenance-total-number strong {
  margin: 4px 0;
  color: #fff;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(30px, 3.4vw, 48px);
  line-height: .98;
  overflow-wrap: anywhere;
}

.maintenance-total-number b { color: #ffcad2; font-size: 13px; }

.maintenance-total-card dl { margin: 0; border-top: 1px solid rgb(255 255 255 / 20%); }
.maintenance-total-card dl > div { padding: 9px 0; display: flex; justify-content: space-between; gap: 16px; border-bottom: 1px solid rgb(255 255 255 / 20%); }
.maintenance-total-card dt { color: #bdcade; font-size: 11px; }
.maintenance-total-card dd { margin: 0; color: #fff; font-size: 13px; font-weight: 900; }

.maintenance-assumptions {
  padding: 16px 24px 20px;
  background: #eaf1fa;
  color: #17395f;
}

.maintenance-assumptions summary { font-size: 12px; font-weight: 900; cursor: pointer; }
.maintenance-assumptions ul { margin: 14px 0 0; padding-left: 18px; color: #58708b; font-size: 11px; line-height: 1.55; }
.maintenance-assumptions li + li { margin-top: 6px; }

.search-demand-list { display: grid; gap: 12px; }

.search-demand-card {
  padding: 18px;
  border: 1px solid #d9e1de;
  border-left: 5px solid #b31942;
  border-radius: 12px;
  background: #fff;
}

.search-demand-card.status-published { border-left-color: #2c8c67; }
.search-demand-card.status-archived { opacity: .65; border-left-color: #9aa9a3; }
.search-demand-head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.search-demand-head span { color: #c14b29; font-size: 10px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.search-demand-head b { padding: 4px 7px; border-radius: 999px; background: #edf6df; color: #235b45; font-size: 11px; }
.search-demand-head time { margin-left: auto; color: #71817b; font-size: 11px; }
.search-demand-card h3 { margin: 10px 0 6px; font-size: 19px; }
.search-demand-card p { margin: 0 0 4px; color: #5f716a; }
.search-demand-card > small { color: #788a84; }
.search-demand-actions { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 7px; }
.search-demand-actions button,
.search-demand-actions a { padding: 8px 10px; border: 1px solid #ccd8d3; border-radius: 8px; background: #f6f8f7; color: #23463a; font: inherit; font-size: 11px; font-weight: 850; cursor: pointer; }
.search-demand-actions button.active { border-color: #123f78; background: #123f78; color: #fff; }

@keyframes smart-search-spin { to { transform: rotate(360deg); } }

@media (max-width: 900px) {
  .smart-site-search { grid-template-columns: 1fr; }
  .smart-search-examples { grid-column: 1; }
  .maintenance-project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .maintenance-total-card { grid-template-columns: 1fr 1fr; }
  .maintenance-total-card dl { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
  .smart-site-search {
    margin-top: 42px;
    padding: 18px;
    border-radius: 20px 20px 20px 6px;
    gap: 15px;
  }

  .hero > .smart-site-search {
    margin: 18px 0 36px;
  }

  .smart-search-heading strong { font-size: 29px; }
  .smart-search-input { min-height: 58px; padding: 5px 5px 5px 12px; grid-template-columns: auto minmax(0, 1fr) auto; gap: 7px; }
  .smart-search-input > span { font-size: 26px; }
  .smart-search-input input { font-size: 14px; }
  .smart-search-input > button { width: 46px; height: 46px; padding: 0; font-size: 0; }
  .smart-search-input > button b { margin: 0; font-size: 18px; }
  .smart-search-suggestions > button { grid-template-columns: 1fr auto; gap: 4px 10px; }
  .smart-search-suggestions > button > span { grid-column: 1 / -1; }
  .smart-search-analysis { padding: 14px; grid-template-columns: 1fr; }
  .smart-search-examples { max-height: 66px; overflow: hidden; }
  .search-demand-head time { width: 100%; margin-left: 0; }
  .maintenance-ai-result > header { padding: 19px; grid-template-columns: 1fr; gap: 14px; }
  .maintenance-ai-result > header label { width: fit-content; white-space: normal; }
  .maintenance-project-grid { grid-template-columns: 1fr; }
  .maintenance-project-grid > a { min-height: 195px; }
  .maintenance-total-card { padding: 21px; grid-template-columns: 1fr; gap: 22px; }
  .maintenance-total-card dl { grid-column: auto; }
  .maintenance-total-number strong { font-size: clamp(29px, 9vw, 38px); }
}

@media (prefers-reduced-motion: reduce) {
  .smart-search-input > i { animation: none; }
  .smart-search-input { transition: none; }
}

/* Editorial edition: newspaper authority with a quick, visual cost read */
:root {
  --press-red: #b31942;
  --press-red-dark: #8f1433;
  --press-black: #071f3f;
  --press-cream: #f7f9fc;
}

main:not(.admin-shell):not(.admin-login) h1,
main:not(.admin-shell):not(.admin-login) h2,
main:not(.admin-shell):not(.admin-login) h3,
.site-footer h2 {
  font-family: "Newsreader", Georgia, serif;
  font-weight: 700;
}

.site-header {
  border-top: 5px solid var(--press-black);
  border-bottom: 0;
  background: linear-gradient(90deg, var(--press-red-dark), var(--press-red) 48%, #e85d3c);
  box-shadow: 0 6px 0 rgb(24 32 29 / 9%);
}

.site-header-inner { min-height: 82px; }
.site-header .brand { color: white; font-size: 17px; letter-spacing: -.055em; }
.site-header .brand-mark {
  background: white;
  color: var(--press-red);
  box-shadow: 5px 5px 0 rgb(24 32 29 / 22%);
}
.site-header .site-navigation a { color: white; font-weight: 800; }
.site-header .site-navigation a:first-child { color: var(--lime); }
.site-header .site-header-cta {
  border: 1px solid rgb(255 255 255 / 32%);
  background: var(--press-black);
  box-shadow: 5px 6px 0 var(--lime);
}
.site-header .site-menu-button { color: white; }
.site-pulse-strip {
  height: 29px;
  border-top: 1px solid rgb(255 255 255 / 20%);
  background: var(--press-black);
  color: white;
}
.site-pulse-strip i { color: var(--lime); }

.reading-share-tools {
  border-bottom: 3px double rgb(24 32 29 / 18%);
  background: #fff;
  box-shadow: none;
}

.section-number,
.eyebrow {
  color: var(--press-red);
}

.home-newsroom {
  padding: 0 0 88px;
}

.newsroom-rule {
  min-height: 44px;
  padding: 9px 0;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 22px;
  align-items: center;
  border-top: 5px solid var(--press-black);
  border-bottom: 1px solid var(--press-black);
}

.newsroom-rule span,
.newsroom-rule a {
  font: 800 9px "DM Mono", monospace;
  letter-spacing: .08em;
}

.newsroom-rule span { color: var(--press-red); }
.newsroom-rule b { font-size: 11px; font-weight: 700; }
.newsroom-rule a { color: var(--green); text-align: right; }

.newsroom-lead-grid {
  padding-top: 16px;
  display: grid;
  grid-template-columns: 1.38fr .86fr .54fr;
  gap: 18px;
}

.newsroom-lead {
  padding-right: 18px;
  border-right: 1px solid var(--press-black);
}

.newsroom-image {
  aspect-ratio: 16 / 9;
  margin-bottom: 15px;
  position: relative;
  overflow: hidden;
  background: #dfe9e3;
}

.newsroom-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .4s ease;
}

.newsroom-lead:hover .newsroom-image img { transform: scale(1.025); }
.newsroom-image span {
  padding: 7px 10px;
  position: absolute;
  left: 0;
  bottom: 0;
  background: var(--press-red);
  color: white;
  font: 800 8px "DM Mono", monospace;
  letter-spacing: .08em;
}

.newsroom-lead > small,
.newsroom-side small {
  color: var(--press-red);
  font: 800 8px "DM Mono", monospace;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.newsroom-lead h2 {
  margin: 8px 0 10px;
  font-size: clamp(34px, 3.8vw, 55px);
  line-height: .96;
  letter-spacing: -.045em;
}

.newsroom-lead > p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}

.newsroom-side {
  display: grid;
  align-content: start;
}

.newsroom-side > a {
  padding: 0 0 18px;
  position: relative;
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 12px;
  border-bottom: 1px solid var(--line);
}

.newsroom-side > a + a { padding-top: 18px; }
.newsroom-side > a > span {
  position: absolute;
  right: 2px;
  top: 0;
  color: rgb(216 73 47 / 16%);
  font-family: "Newsreader", Georgia, serif;
  font-size: 42px;
  font-weight: 800;
  line-height: 1;
}
.newsroom-side img {
  width: 112px;
  height: 96px;
  grid-row: 1;
  object-fit: cover;
}
.newsroom-side h3 {
  margin: 6px 0 10px;
  padding-right: 20px;
  font-size: 19px;
  line-height: 1.02;
}
.newsroom-side b { color: var(--green); font-size: 9px; }

.cost-board {
  padding: 18px;
  display: grid;
  align-content: start;
  background: var(--press-black);
  color: white;
}

.cost-board > div {
  padding-bottom: 16px;
  border-bottom: 4px solid var(--press-red);
}
.cost-board > div span {
  color: var(--lime);
  font: 800 8px "DM Mono", monospace;
  letter-spacing: .08em;
}
.cost-board > div strong { margin: 6px 0 2px; display: block; font-family: "Newsreader", Georgia, serif; font-size: 23px; }
.cost-board > div small { color: #adbbb6; font-size: 9px; }
.cost-board > a {
  min-height: 95px;
  padding: 14px 40px 13px 0;
  position: relative;
  display: grid;
  align-content: start;
  border-bottom: 1px solid rgb(255 255 255 / 15%);
}
.cost-board > a > span { color: #aebdb8; font: 800 8px "DM Mono", monospace; letter-spacing: .08em; }
.cost-board > a > strong { margin-top: 5px; font-size: 23px; line-height: 1; }
.cost-board > a > small { margin-top: 4px; color: #aebdb8; font-size: 8px; }
.cost-board > a > i {
  width: 15px;
  height: 57px;
  position: absolute;
  right: 5px;
  bottom: 14px;
  display: flex;
  align-items: end;
  background: rgb(255 255 255 / 10%);
}
.cost-board > a > i > b { width: 100%; display: block; background: linear-gradient(var(--lime),var(--press-red)); }

.cost-board-watch {
  padding-top: 17px;
  display: grid;
  gap: 0;
}

.cost-board-watch > span {
  padding-bottom: 10px;
  color: var(--lime);
  font: 800 8px "DM Mono", monospace;
  letter-spacing: .08em;
}

.cost-board-watch > a {
  padding: 12px 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 10px;
  border-top: 1px solid rgb(255 255 255 / 15%);
}

.cost-board-watch small {
  grid-column: 1 / -1;
  color: #9fb0a9;
  font: 800 7px "DM Mono", monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.cost-board-watch strong {
  color: white;
  font: 700 14px/1.06 "Newsreader", Georgia, serif;
}

.cost-board-watch b {
  align-self: end;
  color: var(--lime);
  font-size: 8px;
}

.newsroom-more-grid {
  margin-top: 22px;
  padding-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px 18px;
  border-top: 5px solid var(--press-black);
}

.newsroom-more-grid > a {
  min-height: 330px;
  padding-bottom: 18px;
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--press-black);
}

.newsroom-more-grid > a > div {
  aspect-ratio: 16 / 8.8;
  margin-bottom: 13px;
  position: relative;
  overflow: hidden;
  background: #e4ebe7;
}

.newsroom-more-grid img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .35s ease;
}

.newsroom-more-grid > a:hover img { transform: scale(1.035); }
.newsroom-more-grid > a > div > span {
  min-width: 36px;
  min-height: 36px;
  position: absolute;
  right: 0;
  bottom: 0;
  display: grid;
  place-items: center;
  background: var(--press-red);
  color: white;
  font: 800 9px "DM Mono", monospace;
}

.newsroom-more-grid small {
  color: var(--press-red);
  font: 800 8px "DM Mono", monospace;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.newsroom-more-grid h3 {
  margin: 7px 0 8px;
  font-size: 23px;
  line-height: 1.02;
}

.newsroom-more-grid p {
  margin: 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.newsroom-more-grid > a > b {
  margin-top: auto;
  padding-top: 16px;
  color: var(--green);
  font-size: 9px;
}

.newsroom-all-link {
  min-height: 64px;
  padding: 12px 16px;
  display: grid;
  grid-template-columns: 48px 1fr auto;
  gap: 15px;
  align-items: center;
  background: var(--press-red);
  color: white;
}

.newsroom-all-link > span {
  font-family: "Newsreader", Georgia, serif;
  font-size: 34px;
  font-weight: 800;
}

.newsroom-all-link > strong { font-size: 12px; }
.newsroom-all-link > b { color: var(--lime); font-size: 10px; }

.newsroom-data-table {
  margin-top: 20px;
  border-top: 4px solid var(--press-black);
  border-bottom: 1px solid var(--press-black);
  background: white;
}
.newsroom-data-table > div {
  min-height: 59px;
  padding: 11px 14px;
  display: grid;
  grid-template-columns: .72fr .7fr 1.5fr .8fr;
  gap: 15px;
  align-items: center;
  border-bottom: 1px solid var(--line);
}
.newsroom-data-table > div:first-child {
  min-height: 38px;
  background: #ebe8df;
  font: 800 8px "DM Mono", monospace;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.newsroom-data-table span { font-size: 11px; font-weight: 800; }
.newsroom-data-table strong { color: var(--press-red); font-size: 15px; }
.newsroom-data-table p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
.newsroom-data-table a { color: var(--green); font-size: 9px; font-weight: 800; }

.news-grid {
  grid-template-columns: repeat(4,1fr);
  gap: 13px;
}
.news-grid > a {
  min-height: 380px;
  border: 0;
  border-top: 5px solid var(--press-black);
  border-radius: 0;
  background: white;
  box-shadow: none;
}
.news-grid > a:hover { box-shadow: 0 14px 30px rgb(15 34 27 / 11%); }
.news-grid .news-feature-card {
  grid-column: span 2;
  grid-row: span 2;
}
.news-grid .news-feature-card .news-card-image { aspect-ratio: 16 / 8.5; }
.news-grid .news-feature-card h2 { font-size: clamp(31px,3vw,45px); line-height: .98; }
.news-grid .news-priority-card { border-top-color: var(--press-red); }
.news-card-copy h2 { line-height: 1.03; letter-spacing: -.025em; }

.state-data-strip {
  margin-top: -38px;
  margin-bottom: 58px;
  display: grid;
  grid-template-columns: repeat(4,1fr);
  border-top: 5px solid var(--press-black);
  border-bottom: 1px solid var(--press-black);
  background: white;
}
.state-data-strip > div {
  padding: 18px;
  display: grid;
  border-right: 1px solid var(--line);
}
.state-data-strip > div:last-child { border-right: 0; }
.state-data-strip span { color: var(--press-red); font: 800 8px "DM Mono", monospace; letter-spacing: .08em; }
.state-data-strip strong { margin: 8px 0 12px; font-family: "Newsreader", Georgia, serif; font-size: 30px; }
.state-data-strip i { height: 8px; overflow: hidden; border-radius: 999px; background: #e8e7df; }
.state-data-strip i b { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,var(--green),var(--lime)); }
.state-data-strip small { margin-top: 7px; color: var(--muted); font-size: 8px; }

.compare-graphic {
  margin-bottom: 80px;
  padding: 34px;
  display: grid;
  grid-template-columns: .6fr 1.4fr;
  gap: 50px;
  border-top: 5px solid var(--press-black);
  background: white;
}
.compare-graphic h2 { margin: 10px 0 12px; font-size: 39px; line-height: 1; }
.compare-graphic > div:first-child p { color: var(--muted); font-size: 11px; line-height: 1.65; }
.compare-graphic-chart { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; }
.compare-graphic-chart article { padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.compare-graphic-chart article > b { display: block; margin-bottom: 11px; font-size: 10px; }
.compare-graphic-chart article > div {
  margin-top: 7px;
  display: grid;
  grid-template-columns: 28px 1fr 68px;
  gap: 8px;
  align-items: center;
}
.compare-graphic-chart span { color: var(--press-red); font: 800 8px "DM Mono", monospace; }
.compare-graphic-chart i { height: 9px; overflow: hidden; background: #ebe9e1; }
.compare-graphic-chart em { height: 100%; display: block; background: var(--green); }
.compare-graphic-chart article > div:last-child em { background: var(--press-red); }
.compare-graphic-chart strong { font-size: 9px; text-align: right; }

.comparison-table,
.state-cost-table,
.property-tax-table,
.guide-comparison {
  border-top: 5px solid var(--press-black);
  border-radius: 0;
}
.comparison-table > div:first-child,
.guide-comparison thead th {
  background: var(--press-black);
}

@media (max-width: 1000px) {
  .newsroom-lead-grid { grid-template-columns: 1.2fr .8fr; }
  .cost-board { grid-column: 1 / -1; grid-template-columns: 1.2fr repeat(3,1fr); gap: 0 18px; }
  .cost-board > div, .cost-board > a { border-bottom: 0; }
  .cost-board-watch { grid-column: 1 / -1; grid-template-columns: auto 1fr 1fr; gap: 0 18px; align-items: stretch; border-top: 1px solid rgb(255 255 255 / 15%); }
  .cost-board-watch > span { padding: 18px 0; align-self: center; }
  .cost-board-watch > a { border-top: 0; border-left: 1px solid rgb(255 255 255 / 15%); padding: 18px; }
  .newsroom-more-grid { grid-template-columns: 1fr 1fr; }
  .news-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
  .site-header .site-navigation { padding: 8px 16px 18px; background: var(--press-black); }
  .site-header .site-navigation a { border-color: rgb(255 255 255 / 15%); }
  .state-data-strip { grid-template-columns: 1fr 1fr; }
  .state-data-strip > div:nth-child(2) { border-right: 0; }
  .state-data-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .compare-graphic { grid-template-columns: 1fr; gap: 25px; }
}

@media (max-width: 620px) {
  .site-header { border-top-width: 4px; }
  .site-header-inner { min-height: 68px; }
  .site-header .brand { font-size: 13px; }
  .home-newsroom { padding-bottom: 68px; }
  .newsroom-rule { grid-template-columns: 1fr auto; }
  .newsroom-rule b { display: none; }
  .newsroom-lead-grid { grid-template-columns: 1fr; }
  .newsroom-lead { padding-right: 0; padding-bottom: 20px; border-right: 0; border-bottom: 1px solid var(--press-black); }
  .newsroom-lead h2 { font-size: 38px; }
  .newsroom-side > a { grid-template-columns: 92px 1fr; }
  .newsroom-side img { width: 92px; height: 86px; }
  .cost-board { grid-column: auto; grid-template-columns: 1fr 1fr; }
  .cost-board > div { grid-column: 1 / -1; }
  .cost-board > a { min-height: 112px; }
  .cost-board-watch { grid-column: 1 / -1; grid-template-columns: 1fr; gap: 0; }
  .cost-board-watch > span { padding: 18px 0 8px; }
  .cost-board-watch > a { padding: 14px 0; border-left: 0; border-top: 1px solid rgb(255 255 255 / 15%); }
  .newsroom-more-grid { grid-template-columns: 1fr; }
  .newsroom-more-grid > a { min-height: 0; }
  .newsroom-all-link { grid-template-columns: 42px 1fr; }
  .newsroom-all-link > b { grid-column: 2; }
  .newsroom-data-table { overflow-x: auto; }
  .newsroom-data-table > div { min-width: 700px; }
  .news-grid { grid-template-columns: 1fr; }
  .news-grid .news-feature-card { grid-column: auto; grid-row: auto; }
  .news-grid .news-feature-card h2 { font-size: 31px; }
  .state-data-strip { margin-top: -20px; grid-template-columns: 1fr; }
  .state-data-strip > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .state-data-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .compare-graphic { padding: 24px 18px; }
  .compare-graphic-chart { grid-template-columns: 1fr; }
}

/* Visual storytelling and polished page navigation */
@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  animation: hcg-page-out .16s ease both;
}

::view-transition-new(root) {
  animation: hcg-page-in .34s cubic-bezier(.2,.75,.25,1) both;
}

.page-transition-stage {
  transform-origin: 50% 0;
}

@keyframes hcg-page-in {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes hcg-page-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

.site-visual-band {
  margin-top: 36px;
  margin-bottom: 92px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 13px;
}

.site-visual-band > a {
  min-height: 260px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 28px 28px 28px 7px;
  background: #eef4fb;
  color: var(--ink);
  transition: transform .3s ease, box-shadow .3s ease;
}

.site-visual-band > a:nth-child(2) { background: #fdf0f3; }
.site-visual-band > a:nth-child(3) { background: var(--green); color: white; }
.site-visual-band > a:hover { transform: translateY(-5px); box-shadow: 0 18px 38px rgb(17 68 52 / 12%); }
.site-visual-band > a > span { margin-top: auto; color: var(--orange); font: 800 8px "DM Mono", monospace; letter-spacing: .09em; }
.site-visual-band > a:nth-child(3) > span { color: var(--lime); }
.site-visual-band > a > strong { max-width: 285px; margin-top: 9px; font-size: 20px; line-height: 1.18; letter-spacing: -.025em; }

.visual-bars,
.visual-compare,
.visual-pulse {
  height: 126px;
  margin-bottom: 25px;
}

.visual-bars {
  display: flex;
  gap: 8px;
  align-items: end;
}

.visual-bars i {
  width: 16%;
  border-radius: 10px 10px 3px 3px;
  background: var(--green);
  animation: hcg-bars 3.8s ease-in-out infinite;
}

.visual-bars i:nth-child(1) { height: 34%; animation-delay: -.4s; }
.visual-bars i:nth-child(2) { height: 57%; animation-delay: -.8s; }
.visual-bars i:nth-child(3) { height: 43%; animation-delay: -1.2s; }
.visual-bars i:nth-child(4) { height: 79%; animation-delay: -1.6s; }
.visual-bars i:nth-child(5) { height: 100%; animation-delay: -2s; background: var(--orange); }

@keyframes hcg-bars {
  0%, 100% { transform: scaleY(1); transform-origin: bottom; }
  50% { transform: scaleY(.84); transform-origin: bottom; }
}

.visual-compare {
  display: grid;
  grid-template-columns: 84px 1fr 84px;
  gap: 13px;
  align-items: center;
}

.visual-compare b {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--green);
  color: white;
  font-size: 22px;
  box-shadow: 6px 7px 0 rgb(15 81 63 / 13%);
}

.visual-compare b:last-child { background: var(--orange); box-shadow: 6px 7px 0 rgb(234 102 45 / 15%); }
.visual-compare i { height: 2px; position: relative; background: repeating-linear-gradient(90deg,var(--ink) 0 7px,transparent 7px 13px); }
.visual-compare i::after { content: "→"; position: absolute; right: -5px; top: -15px; color: var(--ink); font-size: 24px; }

.visual-pulse {
  display: flex;
  gap: 7px;
  align-items: center;
}

.visual-pulse i {
  width: 13%;
  height: 24px;
  border-radius: 999px;
  background: var(--lime);
  animation: hcg-pulse 2.6s ease-in-out infinite;
}

.visual-pulse i:nth-child(2), .visual-pulse i:nth-child(5) { height: 62px; animation-delay: -.35s; }
.visual-pulse i:nth-child(3) { height: 102px; animation-delay: -.7s; background: var(--orange); }
.visual-pulse i:nth-child(4) { height: 76px; animation-delay: -1.05s; }
.visual-pulse i:nth-child(6) { height: 42px; animation-delay: -1.4s; }

@keyframes hcg-pulse {
  0%, 100% { transform: scaleY(.72); opacity: .75; }
  50% { transform: scaleY(1); opacity: 1; }
}

.state-flag-hero,
.city-state-flag,
.compare-scoreboard article > img {
  width: 100%;
  display: block;
  object-fit: cover;
  border-radius: 18px 18px 18px 5px;
}

.state-flag-hero {
  height: 154px;
  margin-bottom: 22px;
  box-shadow: 7px 8px 0 rgb(15 81 63 / 13%);
}

.city-state-flag {
  height: 135px;
  margin-bottom: 22px;
  box-shadow: 7px 8px 0 rgb(234 102 45 / 15%);
}

.compare-scoreboard article > img {
  height: 130px;
  margin-bottom: 20px;
  box-shadow: 6px 7px 0 rgb(15 81 63 / 11%);
}

.city-related > div > a { overflow: hidden; }
.city-related > div > a > img {
  width: calc(100% + 48px);
  height: 92px;
  margin: -24px -24px 20px;
  display: block;
  object-fit: cover;
  border-radius: 22px 22px 0 0;
  transition: transform .35s ease;
}
.city-related > div > a:hover > img { transform: scale(1.04); }

.news-trend-pulse {
  margin-bottom: 46px;
  padding: 34px;
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 40px;
  align-items: end;
  border-radius: 32px 32px 32px 8px;
  background: linear-gradient(135deg,var(--green),#173e34);
  color: white;
  box-shadow: 12px 14px 0 rgb(15 81 63 / 10%);
}

.news-trend-pulse h2 { margin: 12px 0 0; max-width: 430px; font-size: clamp(28px,3vw,43px); line-height: 1.02; letter-spacing: -.04em; }
.news-trend-pulse .section-number { color: var(--lime); }
.trend-pulse-grid { display: grid; gap: 8px; }
.trend-pulse-grid > a {
  min-height: 78px;
  padding: 12px 14px;
  display: grid;
  grid-template-columns: 36px 1fr 115px;
  gap: 13px;
  align-items: center;
  border-radius: 16px 16px 16px 5px;
  background: rgb(255 255 255 / 8%);
  color: white;
  transition: background .25s ease, transform .25s ease;
}
.trend-pulse-grid > a:hover { background: rgb(255 255 255 / 14%); transform: translateX(4px); }
.trend-pulse-grid > a > span { color: var(--lime); font: 800 11px "DM Mono", monospace; }
.trend-pulse-grid > a div { display: grid; gap: 5px; }
.trend-pulse-grid small { overflow: hidden; color: white; font-size: 11px; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.trend-pulse-grid b { color: #b9d0c8; font: 750 8px "DM Mono", monospace; letter-spacing: .07em; text-transform: uppercase; }
.trend-pulse-grid i { height: 7px; overflow: hidden; border-radius: 999px; background: rgb(255 255 255 / 12%); }
.trend-pulse-grid em { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,var(--lime),var(--orange)); }

@media (max-width: 900px) {
  .site-visual-band { grid-template-columns: 1fr 1fr; }
  .site-visual-band > a:last-child { grid-column: 1 / -1; }
  .news-trend-pulse { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .site-visual-band { margin-top: 20px; margin-bottom: 70px; grid-template-columns: 1fr; }
  .site-visual-band > a,
  .site-visual-band > a:last-child { min-height: 215px; grid-column: auto; }
  .visual-bars, .visual-compare, .visual-pulse { height: 92px; margin-bottom: 18px; }
  .visual-compare { grid-template-columns: 66px 1fr 66px; }
  .news-trend-pulse { width: min(100% - 28px,1180px); padding: 25px 18px; gap: 25px; }
  .trend-pulse-grid > a { grid-template-columns: 30px 1fr; }
  .trend-pulse-grid > a > i { grid-column: 2; width: 100%; }
  .state-flag-hero, .city-state-flag { height: 126px; }
  .compare-scoreboard article > img { height: 112px; }
}

@media (prefers-reduced-motion: reduce) {
  .page-transition-stage,
  ::view-transition-old(root),
  ::view-transition-new(root),
  .visual-bars i,
  .visual-pulse i {
    animation: none;
  }

  .site-visual-band > a,
  .trend-pulse-grid > a {
    transition: none;
  }
}

.full-field { grid-column: 1 / -1; }

.option-field {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .65rem 1rem;
}

.option-field legend { grid-column: 1 / -1; }

.option-field label {
  display: flex;
  align-items: center;
  gap: .55rem;
  font-weight: 650;
}

.option-field input { width: 1.05rem; height: 1.05rem; }

.calculator-errors {
  color: #8f2d18;
  background: #fff2ed;
  border: 1px solid #ffc8b9;
  border-radius: 12px;
  padding: .7rem 1rem;
}

.calculator-errors p { margin: .25rem 0; }

.results-dashboard {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.25rem;
}

.result-card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: clamp(1.25rem, 3vw, 2rem);
  box-shadow: 0 14px 40px rgba(22, 52, 44, .06);
}

.result-card > span {
  color: var(--green);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.result-card h2 { margin: .45rem 0 1rem; }

.breakdown-list > div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .65rem 0;
  border-bottom: 1px solid var(--line);
}

.checklist-card label {
  display: flex;
  gap: .7rem;
  padding: .65rem 0;
  border-bottom: 1px solid var(--line);
}

.product-slots > div {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .6rem;
  margin: 1rem 0;
}

.product-slots i {
  min-height: 5rem;
  display: grid;
  place-items: center;
  text-align: center;
  padding: .7rem;
  border-radius: 12px;
  background: var(--cream);
  font-style: normal;
  font-weight: 700;
}

@media (max-width: 760px) {
  .results-dashboard,
  .option-field,
  .product-slots > div { grid-template-columns: 1fr; }
}

.buying-intro {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-bottom: 2.5rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--line);
}

.buying-intro > div {
  padding: 1.1rem;
  background: #fff;
}

.buying-intro span,
.profile-grid article > span {
  color: var(--green);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .1em;
}

.buying-intro p { margin: .45rem 0 0; }
.comparison-scroll { overflow-x: auto; margin: 1rem 0 2.5rem; }

.guide-comparison {
  width: 100%;
  min-width: 850px;
  border-collapse: collapse;
  background: #fff;
}

.guide-comparison th,
.guide-comparison td {
  padding: .9rem;
  text-align: left;
  vertical-align: top;
  border: 1px solid var(--line);
}

.guide-comparison thead th {
  background: var(--green);
  color: #fff;
  font-size: .75rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.tier {
  display: inline-block;
  padding: .28rem .5rem;
  border-radius: 99px;
  background: var(--cream);
  font-size: .75rem;
  font-weight: 800;
}

.tier-standard { background: #dcefe7; color: var(--green); }
.tier-premium { background: #e9e3ff; color: #4d388d; }

.profile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0 2.5rem;
}

.profile-grid article {
  padding: 1.2rem;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}

.profile-grid h3 { margin: .45rem 0 1rem; }
.profile-grid h4 { margin-bottom: .35rem; }
.profile-grid ul { padding-left: 1.15rem; }

@media (max-width: 760px) {
  .buying-intro,
  .profile-grid { grid-template-columns: 1fr; }
}

/* Articles magazine */
.article-magazine {
  background: #fbfaf6;
}

.article-library-hero {
  padding: 72px 0 86px;
  overflow: hidden;
  background:
    radial-gradient(circle at 9% 14%, rgb(208 255 111 / 16%) 0 8%, transparent 8.3%),
    radial-gradient(circle at 92% 75%, rgb(235 112 60 / 17%) 0 11%, transparent 11.3%),
    var(--ink);
  color: white;
}

.article-library-hero > .shell {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: clamp(38px, 6vw, 92px);
  align-items: center;
}

.article-library-copy h1 {
  max-width: 620px;
  margin: 0;
  font-size: clamp(48px, 6.8vw, 92px);
  line-height: .9;
  letter-spacing: -.065em;
  font-weight: 620;
}

.article-library-copy > p {
  max-width: 570px;
  margin: 26px 0 0;
  color: #c7d5d0;
  font-size: 17px;
  line-height: 1.7;
}

.article-topic-pills {
  margin-top: 36px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.article-topic-pills a {
  padding: 9px 13px 9px 10px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid rgb(255 255 255 / 22%);
  border-radius: 999px;
  color: #eaf2ef;
  font-size: 11px;
  font-weight: 760;
}

.article-topic-pills a:hover {
  border-color: var(--lime);
  color: var(--lime);
}

.article-topic-pills span {
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgb(255 255 255 / 9%);
}

.article-feature-card {
  min-height: 610px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: end;
  border-radius: 44px 44px 44px 10px;
  box-shadow: 0 35px 80px rgb(0 0 0 / 30%);
  color: white;
  isolation: isolate;
}

.article-feature-card > img,
.article-card-image img,
.home-article-hero figure img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.article-feature-card > img {
  position: absolute;
  inset: 0;
  z-index: -2;
  transition: transform .7s ease;
}

.article-feature-card:hover > img {
  transform: scale(1.025);
}

.article-feature-overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(180deg, transparent 28%, rgb(7 25 21 / 90%) 100%);
}

.article-feature-card > div {
  padding: clamp(28px, 5vw, 55px);
}

.article-feature-card small,
.article-card small {
  color: var(--lime);
  font: 780 10px "DM Mono", monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.article-feature-card h2 {
  max-width: 770px;
  margin: 12px 0 10px;
  color: white;
  font-size: clamp(35px, 4vw, 58px);
  line-height: .96;
  letter-spacing: -.05em;
}

.article-feature-card p {
  max-width: 610px;
  margin: 0;
  color: #dde8e4;
  line-height: 1.6;
}

.article-feature-card b {
  margin-top: 23px;
  display: inline-block;
  color: var(--lime);
  font-size: 12px;
}

.article-latest {
  padding-top: 100px;
  padding-bottom: 105px;
}

.article-magazine-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
}

.article-card {
  min-height: 600px;
  overflow: hidden;
  display: grid;
  grid-template-rows: 310px 1fr;
  border: 1px solid #d9ddd4;
  border-radius: 30px 30px 30px 8px;
  background: white;
  box-shadow: 0 14px 45px rgb(15 81 63 / 6%);
  transition: transform .25s ease, box-shadow .25s ease;
}

.article-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgb(15 81 63 / 13%);
}

.article-card-image {
  overflow: hidden;
  background: #dfe8e0;
}

.article-card-image img {
  transition: transform .7s ease;
}

.article-card:hover .article-card-image img {
  transform: scale(1.035);
}

.article-card > div:last-child {
  padding: 27px 30px 30px;
  display: flex;
  flex-direction: column;
}

.article-card small {
  color: var(--orange);
}

.article-card h2 {
  margin: 14px 0 10px;
  font-size: clamp(28px, 3vw, 40px);
  line-height: 1.01;
  letter-spacing: -.045em;
}

.article-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}

.article-card b {
  margin-top: auto;
  padding-top: 22px;
  color: var(--green);
  font-size: 12px;
}

.article-card-wide {
  grid-column: span 2;
  min-height: 430px;
  grid-template-columns: 1.16fr .84fr;
  grid-template-rows: 1fr;
}

.article-quick-wins {
  padding: 96px 0;
  background: var(--orange);
  color: white;
}

.article-quick-wins > .shell {
  display: grid;
  grid-template-columns: .68fr 1.32fr;
  gap: clamp(50px, 9vw, 140px);
}

.article-quick-wins h2 {
  margin: 0;
  font-size: clamp(42px, 5vw, 72px);
  line-height: .95;
  letter-spacing: -.055em;
}

.article-quick-wins ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.article-quick-wins li {
  padding: 26px 0;
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 18px;
  border-top: 1px solid rgb(255 255 255 / 34%);
}

.article-quick-wins li > span {
  color: #411e0f;
  font: 800 12px "DM Mono", monospace;
}

.article-quick-wins li b {
  font-size: 22px;
}

.article-quick-wins li p {
  margin: 6px 0 0;
  color: #ffe8df;
  line-height: 1.6;
}

.article-community {
  padding-top: 100px;
}

.article-community .cms-public-grid {
  padding-bottom: 20px;
}

.article-library-footer {
  margin-top: 90px;
  margin-bottom: 110px;
  padding: clamp(35px, 6vw, 72px);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 50px;
  align-items: end;
  border-radius: 38px 38px 38px 9px;
  background: var(--lime);
}

.article-library-footer h2 {
  margin: 0;
  font-size: clamp(38px, 5vw, 66px);
  line-height: .96;
  letter-spacing: -.055em;
}

.article-library-footer p {
  max-width: 650px;
  margin: 17px 0 0;
  color: #44574f;
  line-height: 1.65;
}

.article-library-footer > a {
  min-width: 260px;
  padding: 20px 22px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  background: var(--ink);
  color: white;
  font-weight: 800;
}

.home-article-page {
  background: #fbfaf6;
}

.home-article-hero {
  padding-top: 64px;
  padding-bottom: 65px;
  display: grid;
  grid-template-columns: .86fr 1.14fr;
  gap: clamp(42px, 7vw, 100px);
  align-items: center;
}

.home-article-heading > a {
  margin-bottom: 48px;
  display: inline-block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 780;
}

.home-article-heading h1 {
  margin: 12px 0 20px;
  font-size: clamp(48px, 6.5vw, 84px);
  line-height: .91;
  letter-spacing: -.065em;
}

.home-article-heading > p {
  max-width: 690px;
  margin: 0;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.7;
}

.home-article-heading > div {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px 20px;
  color: #718079;
  font-size: 10px;
  font-weight: 750;
}

.home-article-heading > div span + span::before {
  content: "•";
  margin-right: 20px;
  color: var(--orange);
}

.home-article-hero figure {
  margin: 0;
}

.home-article-hero figure img {
  min-height: 560px;
  aspect-ratio: 3 / 2;
  border-radius: 42px 42px 42px 9px;
  box-shadow: 18px 18px 0 rgb(15 81 63 / 10%);
}

.home-article-hero figcaption {
  margin-top: 14px;
  color: #75827d;
  font-size: 9px;
}

.home-article-layout {
  padding-top: 35px;
  padding-bottom: 120px;
  display: grid;
  grid-template-columns: 230px minmax(0, 800px);
  gap: clamp(55px, 9vw, 145px);
  justify-content: center;
}

.home-article-aside {
  position: relative;
}

.home-article-aside > span,
.article-quick-answer > span,
.article-kicker,
.article-save-checklist > div > span {
  font: 800 10px "DM Mono", monospace;
  letter-spacing: .08em;
}

.home-article-aside nav {
  position: sticky;
  top: 105px;
  margin-top: 17px;
  display: grid;
}

.home-article-aside nav a {
  padding: 12px 0;
  border-top: 1px solid var(--line);
  color: #68756f;
  font-size: 11px;
  font-weight: 680;
  line-height: 1.35;
}

.home-article-aside nav a:hover {
  color: var(--orange);
}

.home-article-body {
  min-width: 0;
}

.article-quick-answer {
  padding: 31px 35px;
  border-left: 6px solid var(--orange);
  border-radius: 0 24px 24px 0;
  background: #fdf0f3;
}

.article-quick-answer > span {
  color: var(--orange);
}

.article-quick-answer p {
  margin: 10px 0 0;
  color: #3d4a45;
  font-size: 20px;
  font-weight: 650;
  line-height: 1.55;
}

.article-budget-strip {
  padding: 72px 0 65px;
}

.article-kicker {
  color: var(--orange);
}

.article-budget-strip > div {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.article-budget-strip > div > div {
  padding: 24px 20px;
}

.article-budget-strip > div > div + div {
  border-left: 1px solid var(--line);
}

.article-budget-strip small {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
}

.article-budget-strip strong {
  margin-top: 7px;
  display: block;
  color: var(--green);
  font-size: 27px;
  letter-spacing: -.04em;
}

.article-budget-strip > div p {
  margin: 9px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.article-estimate-note {
  margin: 13px 0 0;
  color: #77827e;
  font-size: 9px;
  line-height: 1.55;
}

.article-prose-section {
  padding: 58px 0;
  border-top: 1px solid var(--line);
}

.article-prose-section > span {
  color: var(--orange);
  font: 850 12px "DM Mono", monospace;
}

.article-value-tag {
  margin-left: 16px;
  padding: 7px 10px;
  display: inline-block;
  border-radius: 999px;
  background: #e8f2ea;
  color: var(--green);
  font: 780 9px "DM Mono", monospace;
  letter-spacing: .04em;
}

.article-prose-section h2,
.article-faq h2,
.article-related h2,
.article-save-checklist h2 {
  margin: 13px 0 23px;
  font-size: clamp(35px, 4.8vw, 54px);
  line-height: 1;
  letter-spacing: -.05em;
}

.article-prose-section > p {
  color: #46544e;
  font-size: 17px;
  line-height: 1.85;
}

.article-inline-image {
  margin: 34px 0 6px;
}

.article-inline-image img {
  width: 100%;
  aspect-ratio: 3 / 2;
  display: block;
  object-fit: cover;
  border-radius: 28px 28px 28px 7px;
}

.article-inline-image figcaption {
  margin-top: 10px;
  color: #75827d;
  font-size: 9px;
  line-height: 1.5;
}

.article-tip-box {
  margin-top: 30px;
  padding: 25px 28px;
  border-radius: 22px 22px 22px 6px;
  background: #eaf4ed;
}

.article-tip-box b {
  color: var(--green);
}

.article-tip-box ul {
  margin: 14px 0 0;
  padding-left: 19px;
  color: #4e5c56;
  line-height: 1.8;
}

.article-save-checklist {
  margin: 38px 0 75px;
  padding: clamp(30px, 5vw, 55px);
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 55px;
  border-radius: 34px 34px 34px 8px;
  background: var(--green);
  color: white;
}

.article-save-checklist h2 {
  color: white;
}

.article-save-checklist > div > p {
  color: #c7d7d1;
  line-height: 1.6;
}

.article-save-checklist ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.article-save-checklist li {
  padding: 14px 0;
  display: grid;
  grid-template-columns: 40px 1fr;
  border-top: 1px solid rgb(255 255 255 / 22%);
  color: #eef6f3;
  font-size: 13px;
}

.article-save-checklist li span {
  color: var(--lime);
  font: 750 10px "DM Mono", monospace;
}

.article-faq {
  padding: 5px 0 70px;
}

.article-faq details {
  border-top: 1px solid var(--line);
}

.article-faq details:last-child {
  border-bottom: 1px solid var(--line);
}

.article-faq summary {
  padding: 22px 45px 22px 0;
  position: relative;
  cursor: pointer;
  list-style: none;
  font-size: 18px;
  font-weight: 720;
}

.article-faq summary::-webkit-details-marker {
  display: none;
}

.article-faq summary::after {
  content: "+";
  position: absolute;
  right: 8px;
  top: 17px;
  color: var(--orange);
  font-size: 28px;
}

.article-faq details[open] summary::after {
  content: "–";
}

.article-faq details p {
  margin: -7px 45px 23px 0;
  color: var(--muted);
  line-height: 1.7;
}

.article-related {
  padding: 55px;
  border-radius: 32px 32px 32px 8px;
  background: #eee8dc;
}

.article-related > div {
  display: grid;
}

.article-related a {
  padding: 17px 0;
  display: flex;
  justify-content: space-between;
  gap: 30px;
  border-top: 1px solid #cbc3b6;
  color: var(--green);
  font-weight: 780;
}

.article-sources {
  padding: 70px 0 10px;
}

.article-sources h2 {
  margin: 13px 0 25px;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1;
  letter-spacing: -.05em;
}

.article-sources ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid var(--line);
}

.article-sources li {
  border-top: 1px solid var(--line);
}

.article-sources a {
  padding: 16px 0;
  display: flex;
  justify-content: space-between;
  gap: 25px;
  color: var(--green);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.45;
}

.article-sources a span {
  color: var(--orange);
}

.article-sources > p {
  margin: 15px 0 0;
  color: #77827e;
  font-size: 10px;
  line-height: 1.6;
}

@media (max-width: 980px) {
  .article-library-hero > .shell,
  .home-article-hero,
  .article-quick-wins > .shell {
    grid-template-columns: 1fr;
  }
  .article-library-copy h1 {
    max-width: 800px;
  }
  .article-feature-card {
    min-height: 560px;
  }
  .home-article-layout {
    grid-template-columns: 1fr;
  }
  .home-article-aside {
    display: none;
  }
  .home-article-hero figure img {
    min-height: auto;
  }
}

@media (max-width: 720px) {
  .article-library-hero {
    padding: 52px 0 62px;
  }
  .article-library-copy h1 {
    font-size: clamp(48px, 15vw, 70px);
  }
  .article-topic-pills {
    gap: 6px;
  }
  .article-feature-card {
    min-height: 520px;
    border-radius: 30px 30px 30px 8px;
  }
  .article-latest {
    padding-top: 70px;
  }
  .article-magazine-grid {
    grid-template-columns: 1fr;
  }
  .article-card,
  .article-card-wide {
    grid-column: auto;
    min-height: 0;
    grid-template-columns: 1fr;
    grid-template-rows: 250px 1fr;
  }
  .article-quick-wins {
    padding: 70px 0;
  }
  .article-library-footer {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .article-library-footer > a {
    min-width: 0;
  }
  .home-article-hero {
    padding-top: 42px;
  }
  .home-article-heading > a {
    margin-bottom: 30px;
  }
  .home-article-heading h1 {
    font-size: clamp(48px, 14vw, 68px);
  }
  .home-article-heading > div {
    display: grid;
  }
  .home-article-heading > div span + span::before {
    display: none;
  }
  .home-article-hero figure img {
    box-shadow: 10px 10px 0 rgb(15 81 63 / 10%);
  }
  .home-article-layout {
    padding-top: 0;
  }
  .article-quick-answer {
    padding: 26px;
  }
  .article-value-tag {
    margin: 10px 0 0;
    display: table;
  }
  .article-budget-strip > div {
    grid-template-columns: 1fr;
  }
  .article-budget-strip > div > div + div {
    border-left: 0;
    border-top: 1px solid var(--line);
  }
  .article-save-checklist {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .article-related {
    padding: 30px;
  }
}
.product-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.product-form label { display: grid; gap: .35rem; font-size: .82rem; font-weight: 750; }
.product-form .wide { grid-column: 1 / -1; }
.product-form .form-message { align-self: center; margin: 0; }
.security-grid { margin-top: 1rem; }
.security-form { display: grid; gap: .8rem; }
.security-form label { display: grid; gap: .35rem; font-size: .82rem; font-weight: 750; }
.security-form small { color: #59697d; line-height: 1.5; }
.security-form button { justify-self: start; }
.form-message { margin: 0; color: #1d5f47; font-weight: 750; }
.team-list { display: grid; gap: .55rem; margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid #dce5e1; }
.team-list > div { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .7rem .8rem; border-radius: 12px; background: #f6faf8; }
.team-list b, .team-list span { display: block; }
.team-list span { margin-top: .15rem; color: #59697d; font-size: .78rem; }
.team-list em { color: #59697d; font-size: .8rem; font-style: normal; font-weight: 750; }
.danger-button { border-color: #e5b4a6 !important; color: #9a2e1c !important; background: #fff7f4 !important; }
.editor-note p { color: #59697d; line-height: 1.65; }
.amazon-disclosure { margin: -.25rem 0 1rem; color: #59697d; font-size: .84rem; font-weight: 700; }
.adsense-unit { width: 100%; min-height: 110px; margin: 34px 0; padding: 12px; display: grid; align-content: center; overflow: hidden; border: 1px solid #dce5e1; border-radius: 18px 18px 18px 5px; background: rgb(255 255 255 / 55%); }
.adsense-unit > span { margin-bottom: 8px; color: #87958f; font: 700 8px "DM Mono", monospace; letter-spacing: .12em; text-align: center; }
.adsense-result { min-height: 140px; }
.adsense-content, .adsense-article { min-height: 120px; }

/* State Cost Intelligence */
.state-index-hero { padding: 90px 0 70px; }
.state-index-hero h1 { max-width: 930px; margin: 18px 0 25px; }
.state-index-hero > p { max-width: 760px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.state-compare-picker { margin-top: 38px; padding: 18px; display: grid; grid-template-columns: 1fr auto 1fr auto; gap: 14px; align-items: end; border-radius: 24px 24px 24px 7px; background: var(--green); box-shadow: 11px 12px 0 var(--lime); }
.state-compare-picker label { display: grid; gap: 7px; color: #cce0d8; font-size: 10px; font-weight: 800; }
.state-compare-picker select { width: 100%; padding: 13px; border: 0; border-radius: 10px; background: white; color: var(--ink); font: inherit; }
.state-compare-picker > span { padding-bottom: 13px; color: var(--lime); font-size: 22px; }
.state-compare-picker button { padding: 14px 18px; border: 0; border-radius: 12px 12px 12px 3px; cursor: pointer; background: var(--orange); color: white; font-weight: 800; }
.state-compare-picker button:disabled { cursor: not-allowed; opacity: .45; }
.lowest-state-section, .all-state-costs { padding: 70px 0; }
.lowest-state-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.lowest-state-grid a { min-height: 220px; padding: 22px; position: relative; overflow: hidden; border-radius: 24px 24px 24px 6px; background: white; box-shadow: 8px 9px 0 var(--lime-soft); transition: transform .2s; }
.lowest-state-grid a:hover { transform: translateY(-6px); }
.lowest-state-grid a > span { color: var(--orange); font: 700 10px "DM Mono", monospace; }
.lowest-state-grid a > b { width: 50px; height: 50px; margin: 22px 0; display: grid; place-items: center; border-radius: 16px; background: var(--green); color: var(--lime); }
.lowest-state-grid h3 { margin: 0 0 7px; font-size: 19px; }
.lowest-state-grid strong { font-size: 32px; letter-spacing: -.05em; }
.lowest-state-grid p { color: var(--muted); font-size: 10px; }
.state-question-banner { margin-top: 40px; padding: 40px; display: flex; align-items: end; justify-content: space-between; gap: 40px; border-radius: 32px 32px 32px 8px; background: linear-gradient(130deg, #fdf0f3, var(--lime-soft)); }
.state-question-banner span { color: var(--orange); font: 700 9px "DM Mono", monospace; }
.state-question-banner h2 { max-width: 720px; margin: 16px 0 10px; font-size: clamp(35px, 4vw, 58px); letter-spacing: -.05em; }
.state-question-banner p { max-width: 700px; margin: 0; color: var(--muted); line-height: 1.7; }
.state-question-banner > a { min-width: 230px; padding: 15px; background: var(--green); color: white; font-size: 11px; font-weight: 800; }
.state-cost-table { overflow: hidden; border: 1px solid var(--line); border-radius: 24px 24px 24px 7px; background: white; }
.state-cost-table a { padding: 15px 20px; display: grid; grid-template-columns: 52px 1.4fr .7fr .7fr auto; gap: 15px; align-items: center; border-bottom: 1px solid var(--line); transition: background .2s; }
.state-cost-table a:hover { background: var(--lime-soft); }
.state-cost-table a > b { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; background: #eaf3ef; color: var(--green); }
.state-cost-table span { display: grid; gap: 2px; }
.state-cost-table small { color: var(--muted); font-size: 9px; }
.state-cost-table i { color: var(--orange); font-size: 10px; font-style: normal; font-weight: 800; }
.state-method, .state-sources { margin-bottom: 90px; padding: 35px; border-left: 5px solid var(--orange); background: white; }
.state-method h2, .state-sources h2 { margin-bottom: 12px; }
.state-method p, .state-sources p { color: var(--muted); line-height: 1.75; }
.state-method div, .state-sources div { display: flex; flex-wrap: wrap; gap: 10px; }
.state-method a, .state-sources a { padding: 9px 11px; border-radius: 8px; background: #eef4fb; color: var(--green); font-size: 10px; font-weight: 800; }
.state-detail-hero { padding: 70px 0; display: grid; grid-template-columns: 1fr 280px; gap: 55px; align-items: center; }
.state-detail-hero h1 { margin: 17px 0 20px; font-size: clamp(50px, 6vw, 78px); }
.state-detail-hero > div > p:last-child { max-width: 750px; color: var(--muted); font-size: 18px; line-height: 1.65; }
.state-detail-hero aside { padding: 28px; display: grid; border-radius: 34px 34px 34px 8px; background: var(--green); color: white; box-shadow: 12px 13px 0 var(--lime); }
.state-detail-hero aside > span { color: var(--orange); font: 800 16px "DM Mono", monospace; }
.state-detail-hero aside > b { margin-top: 24px; color: var(--lime); font-size: 66px; letter-spacing: -.07em; }
.state-detail-hero aside p { margin: 0; color: white; font-weight: 800; }
.state-detail-hero aside small { margin-top: 8px; color: #bed5cc; }
.state-snapshot { margin-bottom: 80px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.state-snapshot article { padding: 22px; border-radius: 20px 20px 20px 6px; background: white; box-shadow: 6px 7px 0 rgb(15 81 63 / 7%); }
.state-snapshot article:nth-child(2) { background: #fdf0f3; }
.state-snapshot article:nth-child(3) { background: var(--lime-soft); }
.state-snapshot article:nth-child(4) { background: #e7f4ef; }
.state-snapshot span { color: var(--orange); font: 700 8px "DM Mono", monospace; }
.state-snapshot strong { margin: 24px 0 10px; display: block; font-size: 24px; letter-spacing: -.04em; }
.state-snapshot p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.state-detail-layout, .compare-layout { padding-bottom: 90px; display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 65px; }
.state-detail-layout > article, .compare-layout > article { max-width: 820px; }
.state-detail-layout article > h2, .compare-layout article > h2 { margin: 54px 0 17px; font-size: 36px; letter-spacing: -.045em; }
.state-detail-layout article > h2:first-child, .compare-layout article > h2:first-child { margin-top: 0; }
.state-detail-layout article > p, .compare-layout article > p { color: var(--muted); line-height: 1.8; }
.state-index-visual { margin: 28px 0; padding: 24px; border-radius: 20px; background: white; }
.state-index-visual > span { display: inline-block; width: 49%; color: var(--muted); font: 8px "DM Mono", monospace; }
.state-index-visual > span:nth-of-type(2) { text-align: right; }
.state-index-visual > i { height: 13px; margin: 13px 0 9px; position: relative; display: block; border-radius: 20px; background: linear-gradient(90deg, var(--lime), #fedc88, var(--orange)); }
.state-index-visual > i b { width: 23px; height: 23px; position: absolute; top: 50%; transform: translate(-50%,-50%); border: 4px solid white; border-radius: 50%; background: var(--green); box-shadow: 0 3px 8px rgb(0 0 0 / 20%); }
.state-index-visual p { margin: 0; display: flex; justify-content: space-between; font-size: 9px; }
.cost-driver-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cost-driver-grid div { padding: 22px; border-radius: 18px 18px 18px 5px; background: white; }
.cost-driver-grid b { color: var(--orange); font: 700 9px "DM Mono", monospace; }
.cost-driver-grid h3 { margin: 20px 0 7px; }
.cost-driver-grid p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }
.saving-playbook { display: grid; gap: 10px; }
.saving-playbook > div { padding: 20px; display: grid; grid-template-columns: 42px 1fr; gap: 16px; border-radius: 18px 18px 18px 5px; background: white; }
.saving-playbook > div:nth-child(even) { background: var(--lime-soft); }
.saving-playbook span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: var(--green); color: var(--lime); font: 700 10px "DM Mono", monospace; }
.saving-playbook h3 { margin: 0 0 7px; }
.saving-playbook p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.move-question-list { padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; list-style: none; }
.move-question-list li { padding: 18px; border-left: 4px solid var(--orange); background: white; font-size: 12px; line-height: 1.6; }
.state-detail-layout details, .cross-state-questions details { padding: 18px 0; border-top: 1px solid var(--line); }
.state-detail-layout summary, .cross-state-questions summary { cursor: pointer; font-weight: 800; }
.state-detail-layout details p, .cross-state-questions p { color: var(--muted); line-height: 1.7; }
.state-detail-layout > aside, .compare-layout > aside { height: fit-content; padding: 26px; position: sticky; top: 30px; border-radius: 25px 25px 25px 7px; background: var(--green); color: white; box-shadow: 9px 10px 0 var(--lime); }
.state-detail-layout > aside > span, .compare-layout > aside > span { color: var(--orange); font: 700 8px "DM Mono", monospace; }
.state-detail-layout > aside h3 { margin: 23px 0 16px; font-size: 25px; }
.state-detail-layout > aside > div { display: grid; }
.state-detail-layout > aside > div a, .compare-layout > aside > a { padding: 13px 0; display: grid; border-top: 1px solid rgb(255 255 255 / 16%); color: white; font-size: 12px; font-weight: 800; }
.state-detail-layout > aside small, .compare-layout > aside small { margin-top: 3px; color: #afc9bf; font-size: 9px; font-weight: 500; }
.state-aside-cta, .compare-calc { margin-top: 20px; color: var(--lime) !important; }
.compare-hero { padding: 72px 0 55px; }
.compare-hero h1 { max-width: 960px; margin: 18px 0 22px; }
.compare-hero > p:last-child { max-width: 800px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.compare-scoreboard { margin-bottom: 80px; display: grid; grid-template-columns: 1fr 220px 1fr; gap: 12px; align-items: stretch; }
.compare-scoreboard article { padding: 28px; display: grid; border-radius: 28px 28px 28px 7px; background: white; }
.compare-scoreboard article:last-child { background: var(--lime-soft); }
.compare-scoreboard article > span { color: var(--orange); font: 800 13px "DM Mono", monospace; }
.compare-scoreboard h2 { margin: 22px 0 8px; }
.compare-scoreboard article strong { font-size: 50px; letter-spacing: -.06em; }
.compare-scoreboard article p { margin: 0; color: var(--muted); font-size: 10px; }
.compare-scoreboard > div { padding: 24px; display: grid; place-items: center; align-content: center; border-radius: 28px 28px 28px 7px; background: var(--orange); color: white; text-align: center; }
.compare-scoreboard > div span { color: white; font-size: 38px; font-weight: 800; }
.compare-scoreboard > div b { margin-top: 5px; font-size: 11px; }
.compare-scoreboard > div p { margin: 4px 0; font-size: 10px; }
.compare-scoreboard > div i { color: var(--lime); font-size: 25px; font-style: normal; }
.ny-de-answer { margin: 28px 0; padding: 28px; border-radius: 24px 24px 24px 7px; background: linear-gradient(135deg, var(--green), #25745b); color: white; box-shadow: 9px 10px 0 var(--lime); }
.ny-de-answer span { color: var(--orange); font: 700 8px "DM Mono", monospace; }
.ny-de-answer h3 { margin: 20px 0 10px; font-size: 24px; }
.ny-de-answer p { margin: 0; color: #c8dcd4; line-height: 1.7; }
.comparison-table { overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: white; }
.comparison-table > div { padding: 14px 18px; display: grid; grid-template-columns: 1.4fr .8fr .8fr; gap: 12px; border-bottom: 1px solid var(--line); }
.comparison-table > div:first-child { background: var(--green); color: white; }
.comparison-table > div:nth-child(odd):not(:first-child) { background: #f5f8f4; }
.comparison-table b { text-align: right; }
.comparison-savings { padding: 0; display: grid; gap: 10px; list-style: none; counter-reset: savings; }
.comparison-savings li { padding: 18px; display: grid; gap: 5px; border-radius: 15px; background: white; counter-increment: savings; }
.comparison-savings li::before { content: "0" counter(savings); color: var(--orange); font: 700 9px "DM Mono", monospace; }
.comparison-savings span { color: var(--muted); font-size: 11px; }
.compare-layout > aside h3 { margin: 20px 0; }
.compare-disclaimer { margin-bottom: 90px; padding: 24px; border-left: 4px solid var(--orange); background: white; }
.compare-disclaimer p { margin: 7px 0 0; color: var(--muted); line-height: 1.7; }
.best-pick-list article.mortgage-option { grid-template-columns: 74px 1.05fr 1fr 1fr; }
.tax-extremes { margin-bottom: 70px; display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.tax-extremes article { padding: 28px; border-radius: 28px 28px 28px 7px; background: var(--green); box-shadow: 10px 11px 0 var(--lime-soft); }
.tax-extremes article:last-child { background: linear-gradient(135deg, var(--orange), #d5753d); }
.tax-extremes article > span { display: block; margin-bottom: 16px; color: var(--lime); font: 800 9px "DM Mono", monospace; letter-spacing: .08em; }
.tax-extremes a { padding: 12px 0; display: grid; grid-template-columns: 42px 1fr auto; gap: 12px; border-top: 1px solid rgb(255 255 255 / 16%); color: white; align-items: center; }
.tax-extremes a b { color: var(--lime); font: 800 11px "DM Mono", monospace; }
.tax-extremes a em { font-style: normal; font-weight: 850; }
.property-tax-table { overflow: hidden; border: 1px solid var(--line); border-radius: 24px 24px 24px 7px; background: white; }
.property-tax-row { padding: 14px 18px; display: grid; grid-template-columns: 55px 1.4fr .8fr 1fr .8fr 65px; gap: 14px; align-items: center; border-bottom: 1px solid var(--line); }
.property-tax-row:not(.property-tax-head):hover { background: var(--lime-soft); }
.property-tax-head { background: var(--green); color: white; font-size: 10px; }
.property-tax-row > b { display: flex; align-items: center; gap: 12px; }
.property-tax-row i { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px; background: #eef4fb; color: var(--green); font-style: normal; font-size: 10px; }
.property-tax-row strong { color: var(--orange); font-size: 18px; }
.property-tax-row em { color: var(--muted); font-size: 10px; font-style: normal; font-weight: 800; }
.tax-table-note { color: var(--muted); font-size: 11px; line-height: 1.7; }
.tax-snapshot { margin-bottom: 70px; display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.tax-snapshot article { padding: 24px; border-radius: 22px 22px 22px 6px; background: white; box-shadow: 7px 8px 0 var(--lime-soft); }
.tax-snapshot article:nth-child(even) { background: #fff1e7; }
.tax-snapshot span { color: var(--orange); font: 800 8px "DM Mono", monospace; }
.tax-snapshot strong { margin: 20px 0 7px; display: block; font-size: 34px; letter-spacing: -.05em; }
.tax-snapshot p { margin: 0; color: var(--muted); font-size: 10px; }

@media (max-width: 980px) {
  .lowest-state-grid { grid-template-columns: repeat(2, 1fr); }
  .state-detail-hero, .state-detail-layout, .compare-layout { grid-template-columns: 1fr; }
  .best-pick-list article.mortgage-option { grid-template-columns: 70px 1fr; }
  .tax-snapshot { grid-template-columns: 1fr 1fr; }
  .state-detail-layout > aside, .compare-layout > aside { position: static; }
  .state-snapshot { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 650px) {
  .state-compare-picker { grid-template-columns: 1fr; }
  .state-compare-picker > span { padding: 0; transform: rotate(90deg); justify-self: center; }
  .lowest-state-grid, .state-snapshot, .cost-driver-grid, .move-question-list { grid-template-columns: 1fr; }
  .state-question-banner { padding: 27px; align-items: stretch; flex-direction: column; }
  .state-question-banner > a { min-width: 0; }
  .state-cost-table a { grid-template-columns: 48px 1fr auto; }
  .state-cost-table a > span:nth-of-type(2), .state-cost-table a > span:nth-of-type(3), .state-cost-table a > i { display: none; }
  .compare-scoreboard { grid-template-columns: 1fr; }
  .compare-scoreboard > div i { transform: rotate(90deg); }
  .comparison-table > div { grid-template-columns: 1.2fr .8fr .8fr; font-size: 10px; }
  .best-pick-list article.mortgage-option { grid-template-columns: 1fr; }
  .tax-extremes, .tax-snapshot { grid-template-columns: 1fr; }
  .property-tax-row { grid-template-columns: 38px 1fr .7fr; }
  .property-tax-row > span:nth-of-type(2), .property-tax-row > em, .property-tax-row > span:last-child, .property-tax-head > b:nth-child(4), .property-tax-head > b:nth-child(5), .property-tax-head > span { display: none; }
}
.affiliate-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0 2.5rem; }
.affiliate-product-grid article { display: flex; flex-direction: column; gap: .65rem; padding: .65rem 1.25rem 1.25rem; overflow: hidden; border: 1px solid #dce5e1; border-radius: 18px; background: linear-gradient(145deg, #fff 35%, #f0f8f4); box-shadow: 0 12px 30px rgba(20, 58, 45, .06); }
.affiliate-product-image { width: calc(100% + 2.5rem); aspect-ratio: 16 / 10; margin: -.65rem -1.25rem .45rem; display: block; border-radius: 0 !important; background-size: 400% 300% !important; background-repeat: no-repeat; background-color: #f1eee5 !important; transition: transform .25s ease, filter .25s ease; }
.affiliate-product-image.affiliate-product-image-exact { background-position: center !important; background-size: cover !important; }
.affiliate-product-image:hover { transform: scale(1.02); filter: saturate(1.06); }
.affiliate-product-grid article > span { color: #b05d23; font-size: .68rem; font-weight: 900; letter-spacing: .09em; }
.affiliate-product-grid h3 { margin: 0; font-size: 1.2rem; }
.affiliate-product-grid article > b { color: #59697d; font-size: .82rem; }
.affiliate-product-grid p { margin: 0; line-height: 1.55; }
.affiliate-product-grid small { color: #59697d; line-height: 1.5; }
.affiliate-product-grid article > a:not(.affiliate-product-image) { align-self: flex-start; margin-top: auto; padding: .65rem .9rem; border-radius: 999px; background: #173f32; color: #fff; font-size: .82rem; font-weight: 850; text-decoration: none; }
.affiliate-product-grid article > a:not(.affiliate-product-image):hover { background: #b05d23; }
.affiliate-recommendations { margin: 2.5rem 0; }
.affiliate-recommendations > h2 { margin-bottom: .65rem; }
.sitewide-monetization { padding-top: 26px; padding-bottom: 18px; border-top: 1px solid rgb(24 32 29 / 14%); }
.sitewide-monetization .affiliate-recommendations { margin: 0 0 18px; }
.sitewide-monetization .affiliate-product-grid { margin-bottom: 18px; }
.ai-calculator > .affiliate-recommendations { grid-column: 1 / -1; margin: 1rem 0 0; }
.result-card.product-slots .affiliate-recommendations { margin: 0; }
.result-card.product-slots .affiliate-product-grid { grid-template-columns: 1fr; margin-bottom: 0; }
.retailer-urls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; padding: 1rem; border: 1px solid #d6e1dc; border-radius: 12px; }
.retailer-urls legend { padding: 0 .35rem; font-weight: 800; }
.retailer-urls > small { grid-column: 1 / -1; color: #59697d; }
.retailer-link-list { display: flex; flex-wrap: wrap; gap: .35rem; }
.retailer-link-list a { display: inline-block; padding: .25rem .4rem; border-radius: 6px; background: #eef4fb; font-size: .72rem; font-weight: 750; white-space: nowrap; }

.product-table { max-width: 1450px; margin: 0 auto; }
.product-table table { width: 100%; min-width: 800px; border-collapse: collapse; }
.product-table th,
.product-table td { padding: .8rem; border-bottom: 1px solid #e5ece9; text-align: left; }
.product-table td small { display: block; color: #6d7e77; margin-top: .2rem; }

@media (max-width: 900px) {
  .admin-metrics { grid-template-columns: repeat(2, 1fr); }
  .admin-grid { grid-template-columns: 1fr; }
  .traffic-detail-grid { grid-template-columns: 1fr; }
  .traffic-summary-grid { grid-template-columns: repeat(3, 1fr); }
  .category-performance-list { grid-template-columns: 1fr 1fr; }
  .content-studio-grid,.category-studio { grid-template-columns: 1fr; }
  .cms-public-grid { grid-template-columns: 1fr 1fr; }
  .affiliate-product-grid { grid-template-columns: 1fr; }
  .admin-overview-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 600px) {
  .content-winners,.category-performance-list { grid-template-columns: 1fr; }
  .cms-form,.cms-seo { grid-template-columns: 1fr; }
  .cms-public-grid { grid-template-columns: 1fr; }
  .news-grid > a { min-height: 0; }
  .news-article-image { margin-top: 30px; border-radius: 22px 22px 22px 6px; box-shadow: 8px 9px 0 var(--lime); }
  .cms-library section { align-items: flex-start; flex-direction: column; }
  .cms-library section > div:last-child { justify-content: start; }
}

@media (max-width: 600px) {
  .admin-header { align-items: flex-start; }
  .admin-header > div:last-child { flex-direction: column; }
  .admin-metrics,
  .product-form { grid-template-columns: 1fr; }
  .product-form .wide { grid-column: auto; }
  .retailer-urls { grid-template-columns: 1fr; }
  .retailer-urls > small { grid-column: auto; }
  .inquiry-head { flex-direction: column; }
  .inquiry-head > div:last-child { justify-items: start; }
  .inquiry-actions a { width: 100%; margin-left: 0; text-align: center; }
  .admin-shell { padding:.8rem .75rem 3rem; }
  .admin-header { margin-bottom:1rem; }
  .admin-header h1 { font-size:1.55rem; }
  .admin-tabs { margin-left:-.2rem; margin-right:-.2rem; border-radius:12px; }
  .admin-tabs button { padding:.65rem .7rem; }
  .admin-tab-heading { align-items:center; }
  .admin-overview-grid { grid-template-columns:1fr; }
  .content-studio,.traffic-command { padding:1rem; }
  .traffic-summary-grid { grid-template-columns:repeat(2,1fr); }
  .first-party-traffic > .admin-panel-title,
  .live-session-panel > .admin-panel-title { align-items:flex-start; }
}

/* HomeCostGrid platform expansion */
.platform-intro {
  padding: 96px 0 54px;
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 80px;
  align-items: end;
}

.platform-intro h2,
.home-calculator-library h2,
.content-universe h2 {
  margin: 16px 0 20px;
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1;
  letter-spacing: -.055em;
}

.platform-intro-copy p { max-width: 680px; color: var(--muted); font-size: 17px; line-height: 1.7; }
.platform-metrics { display: grid; grid-template-columns: repeat(3, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: 24px 24px 24px 6px; background: var(--card); box-shadow: 10px 11px 0 var(--lime-soft); }
.platform-metrics div { padding: 24px 16px; display: grid; gap: 5px; border-right: 1px solid var(--line); }
.platform-metrics div:last-child { border: 0; }
.platform-metrics div:nth-child(2) { background: #fdf0f3; }
.platform-metrics div:nth-child(3) { background: #eff9d0; }
.platform-metrics strong { color: var(--green); font-size: 36px; letter-spacing: -.06em; }
.platform-metrics span { color: var(--muted); font: 9px "DM Mono", monospace; text-transform: uppercase; }

.home-calculator-library { padding: 70px 0 110px; }
.home-calculator-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.home-calculator-grid a { min-height: 250px; padding: 22px; position: relative; display: flex; flex-direction: column; overflow: hidden; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgb(255 253 247 / 85%); transition: transform .2s, background .2s, box-shadow .2s; }
.home-calculator-grid a::after { content: ""; width: 54px; height: 54px; position: absolute; right: -18px; top: -18px; border-radius: 50%; background: var(--lime); opacity: .65; transition: transform .25s; }
.home-calculator-grid a:nth-child(3n+2)::after { background: var(--orange); }
.home-calculator-grid a:nth-child(3n)::after { background: #70d2ad; }
.home-calculator-grid a:hover { z-index: 2; transform: translateY(-7px) rotate(-.4deg); background: white; box-shadow: 0 18px 35px rgb(15 81 63 / 13%); }
.home-calculator-grid a:hover::after { transform: scale(1.5); }
.home-calculator-grid span { color: var(--orange); font: 10px "DM Mono", monospace; }
.home-calculator-grid h3 { margin: 38px 0 12px; font-size: 21px; line-height: 1.15; letter-spacing: -.035em; }
.home-calculator-grid p { color: var(--muted); font-size: 12px; line-height: 1.55; }
.home-calculator-grid b { margin-top: auto; color: var(--green); font-size: 11px; }
.library-wide-link { padding: 20px 24px; display: flex; justify-content: space-between; background: var(--green); color: white; font-weight: 700; }
.library-wide-link span { color: var(--lime); }

.content-universe { padding: 104px 0 120px; background: #143d33; color: white; }
.content-universe .section-heading p { color: #c4d2e3; }
.content-section-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.content-section-grid article { padding: 26px; border: 1px solid rgb(255 255 255 / 14%); border-radius: 24px 24px 24px 7px; background: #19493c; transition: transform .25s, background .25s, box-shadow .25s; }
.content-section-grid article:nth-child(3n+2) { background: #245e4d; }
.content-section-grid article:nth-child(3n) { background: #3b5145; }
.content-section-grid article:hover { transform: translateY(-7px); background: #286b56; box-shadow: 10px 12px 0 rgb(217 241 95 / 25%); }
.content-section-title { min-height: 70px; display: flex; align-items: flex-start; gap: 14px; border-bottom: 1px solid rgb(255 255 255 / 14%); }
.content-section-title > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px 12px 12px 3px; background: var(--lime); color: var(--green); }
.content-section-title h3 { font-size: 22px; letter-spacing: -.04em; }
.content-section-grid .content-section-title + div { padding-top: 12px; display: grid; }
.content-section-grid a { padding: 11px 0; display: flex; justify-content: space-between; border-bottom: 1px solid rgb(255 255 255 / 9%); color: #d8e6e1; font-size: 12px; }
.content-section-grid a:hover { color: var(--lime); }
.content-section-grid .content-section-more { margin-top: 12px; border-bottom: 0; color: var(--lime); font-weight: 850; }

.platform-hero { padding: 88px 0 70px; }
.platform-hero h1 { max-width: 900px; margin: 18px 0 24px; }
.platform-hero p { max-width: 740px; color: var(--muted); font-size: 19px; line-height: 1.65; }
.calculator-library { padding-bottom: 110px; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.calculator-library-card { min-height: 190px; padding: 28px; display: grid; grid-template-columns: 44px 1fr 30px; gap: 20px; align-items: start; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); transition: background .2s; }
.calculator-library-card:hover { background: var(--lime-soft); }
.calculator-library-card > span { color: var(--orange); font: 10px "DM Mono", monospace; }
.calculator-library-card h2 { margin-bottom: 9px; font-size: 25px; letter-spacing: -.04em; }
.calculator-library-card p { color: var(--muted); font-size: 13px; line-height: 1.6; }
.calculator-library-card > b { color: var(--green); font-size: 20px; }

.calculator-detail-hero { padding: 68px 0 52px; display: grid; grid-template-columns: 1fr auto; gap: 50px; align-items: end; }
.calculator-detail-hero h1 { margin: 15px 0 20px; font-size: clamp(48px, 6vw, 78px); }
.calculator-detail-hero p { max-width: 700px; color: var(--muted); font-size: 18px; line-height: 1.65; }
.trust-chip { padding: 22px; border: 1px solid var(--line); background: var(--card); color: var(--muted); font: 10px/1.8 "DM Mono", monospace; }
.trust-chip strong { color: var(--green); font-size: 18px; }
.ai-calculator { display: grid; grid-template-columns: 1.1fr .9fr; border: 1px solid var(--line); background: var(--card); box-shadow: 16px 18px 0 rgb(15 81 63 / 10%); }
.ai-fields { padding: 38px; display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.ai-fields label, .ai-fields fieldset { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; color: var(--muted); font-size: 11px; font-weight: 700; }
.ai-fields input, .ai-fields select { width: 100%; padding: 14px; border: 1px solid var(--line); background: white; color: var(--ink); font: inherit; }
.ai-fields small { color: #8a958f; }
.ai-fields fieldset { grid-column: 1 / -1; }
.ai-fields legend { margin-bottom: 8px; }
.budget-tabs { display: grid; grid-template-columns: repeat(3, 1fr); }
.budget-tabs button { padding: 14px; border: 1px solid var(--line); background: white; cursor: pointer; }
.budget-tabs button.active { background: var(--green); color: white; }
.ai-result { padding: 42px; background: var(--green); color: white; }
.ai-result > span { color: var(--lime); font: 10px "DM Mono", monospace; }
.ai-result > strong { display: block; margin: 15px 0 8px; font-size: clamp(35px, 4vw, 56px); letter-spacing: -.06em; }
.ai-result > p { color: #c4d8d0; font-size: 12px; line-height: 1.6; }
.ai-result > div { padding: 16px 0; display: flex; justify-content: space-between; border-top: 1px solid rgb(255 255 255 / 15%); }
.ai-result h3 { margin: 26px 0 8px; color: var(--lime); font-size: 15px; }
.ai-result .recommendation { font-size: 13px; }
.calculator-copy { padding: 100px 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.calculator-copy article { padding: 28px; border: 1px solid var(--line); background: rgb(255 253 247 / 70%); }
.calculator-copy article > span, .editorial-layout aside > span { color: var(--orange); font: 9px "DM Mono", monospace; }
.calculator-copy h2 { margin: 28px 0 14px; font-size: 27px; letter-spacing: -.045em; }
.calculator-copy p { color: var(--muted); font-size: 13px; line-height: 1.7; }

.editorial-hero { padding: 66px 0; position: relative; display: grid; grid-template-columns: 110px minmax(0, 1fr) 290px; gap: 34px; align-items: center; }
.editorial-hero::before { content: ""; position: absolute; width: 100vw; height: 100%; left: 50%; top: 0; z-index: -2; transform: translateX(-50%); background: linear-gradient(115deg, rgb(239 249 184 / 45%), transparent 42%, rgb(255 222 203 / 45%)); }
.editorial-hero::after { content: "✦"; position: absolute; right: 28%; top: 10%; z-index: -1; color: var(--orange); font-size: 42px; animation: sparkle-spin 9s linear infinite; }
@keyframes sparkle-spin { to { transform: rotate(360deg); } }
.editorial-icon { width: 110px; height: 110px; display: grid; place-items: center; border-radius: 34px 34px 34px 8px; background: var(--lime); color: var(--green); font-size: 42px; }
.editorial-hero h1 { margin: 14px 0 18px; font-size: clamp(50px, 6vw, 76px); }
.editorial-hero > div > p:last-child { max-width: 750px; color: var(--muted); font-size: 18px; line-height: 1.65; }
.editorial-hero-visual { min-height: 250px; position: relative; overflow: hidden; border-radius: 40px 40px 40px 9px; background: var(--green); box-shadow: 13px 15px 0 var(--lime); }
.editorial-hero-visual span { position: absolute; display: block; border: 4px solid white; background-image: image-set(url('/affiliate/home-product-sprite-v2.avif') type('image/avif'), url('/affiliate/home-product-sprite-v2.jpg') type('image/jpeg')); background-size: 400% 300%; box-shadow: 0 12px 25px rgba(0,0,0,.18); }
.editorial-hero-visual span:nth-child(1) { width: 70%; height: 58%; top: 13px; left: 13px; border-radius: 24px 24px 8px 24px; background-position: 100% 100%; }
.editorial-hero-visual span:nth-child(2) { width: 52%; height: 48%; right: 12px; bottom: 15px; border-radius: 24px 8px 24px 24px; background-position: 33.333% 50%; }
.editorial-hero-visual span:nth-child(3) { width: 30%; height: 30%; right: 17px; top: 18px; border-radius: 50%; background-position: 0 0; }
.editorial-hero-visual b { position: absolute; left: 18px; bottom: 18px; max-width: 52%; padding: 8px 10px; border-radius: 9px; background: var(--orange); color: white; font: 700 8px "DM Mono", monospace; text-transform: uppercase; }
.visual-rooms span:nth-child(1) { background-position: 33.333% 0; }
.visual-rooms span:nth-child(2) { background-position: 0 0; }
.visual-smart-home span:nth-child(1) { background-position: 100% 100%; }
.visual-smart-home span:nth-child(2) { background-position: 66.666% 100%; }
.visual-energy-saving span:nth-child(1), .visual-garden-outdoor span:nth-child(1) { background-position: 66.666% 100%; }
.visual-cleaning span:nth-child(1) { background-position: 100% 100%; }
.visual-checklists span:nth-child(1) { background-position: 33.333% 0; }
.visual-buying-guides span:nth-child(1) { background-position: 100% 0; }
.editorial-layout { padding-bottom: 110px; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 70px; }
.editorial-layout article { max-width: 780px; }
.editorial-layout article > h2 { margin: 55px 0 18px; font-size: 35px; letter-spacing: -.045em; }
.editorial-layout article > p, .editorial-layout details p { color: var(--muted); line-height: 1.75; }
.criteria-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.criteria-grid div { padding: 22px; border: 1px solid var(--line); border-radius: 18px 18px 18px 5px; background: var(--card); box-shadow: 6px 7px 0 rgb(15 81 63 / 5%); transition: transform .2s, box-shadow .2s; }
.criteria-grid div:nth-child(2), .criteria-grid div:nth-child(3) { background: #fff5eb; }
.criteria-grid div:hover { transform: translateY(-4px); box-shadow: 7px 8px 0 var(--lime-soft); }
.criteria-grid b { color: var(--orange); font: 10px "DM Mono", monospace; }
.criteria-grid h3 { margin: 24px 0 8px; font-size: 19px; }
.criteria-grid p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.guide-visual-panel { margin: 0 0 45px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 28px; padding: 30px; overflow: hidden; border-radius: 30px 30px 30px 8px; background: linear-gradient(135deg, var(--green), #236f59); color: white; box-shadow: 12px 13px 0 #e9f3b0; }
.guide-visual-copy > span { color: var(--lime); font: 700 9px "DM Mono", monospace; letter-spacing: .08em; }
.guide-visual-copy h2 { margin: 18px 0 10px !important; color: white; font-size: 29px !important; }
.guide-visual-copy > p { margin: 0; color: #c9ddd5 !important; font-size: 12px; line-height: 1.65; }
.guide-flow { margin-top: 24px; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.guide-flow i { padding: 6px 8px; border-radius: 7px; background: rgba(255,255,255,.1); color: white; font-size: 9px; font-style: normal; font-weight: 800; }
.guide-flow b { color: var(--orange); }
.guide-bars { display: grid; align-content: center; gap: 17px; }
.guide-bars p { margin: 0 0 7px; display: flex; justify-content: space-between; color: #dcebe6 !important; font-size: 10px; }
.guide-bars p b { color: var(--lime); font: 700 10px "DM Mono", monospace; }
.guide-bars > div > i { height: 8px; display: block; overflow: hidden; border-radius: 20px; background: rgba(255,255,255,.13); }
.guide-bars > div > i span { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, var(--orange), var(--lime)); animation: guide-bar-in .8s ease both; }
@keyframes guide-bar-in { from { width: 0; } }
.room-steps { display: grid; gap: 12px; }
.room-steps > div { display: grid; grid-template-columns: 44px 1fr; gap: 16px; padding: 20px; border: 1px solid var(--line); border-radius: 18px 18px 18px 5px; background: var(--card); }
.room-steps > div:nth-child(even) { background: var(--lime-soft); }
.room-steps span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--green); color: var(--lime); font: 700 12px "DM Mono", monospace; }
.room-steps h3 { margin: 0 0 6px; font-size: 18px; }
.room-steps p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.room-budget-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.room-budget-grid > div { padding: 20px; border: 1px solid var(--line); border-radius: 18px 18px 18px 5px; background: var(--card); }
.room-budget-grid > div:nth-child(1) { background: #eef8d0; }
.room-budget-grid > div:nth-child(2) { background: #fff4e9; transform: translateY(-8px); box-shadow: 0 12px 25px rgb(228 111 66 / 10%); }
.room-budget-grid > div:nth-child(3) { background: #e8f4ef; }
.room-budget-grid span { color: var(--orange); font: 700 9px "DM Mono", monospace; letter-spacing: .08em; }
.room-budget-grid p { margin: 14px 0 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.room-cost-calculator { margin: 0 0 52px; padding: 28px; overflow: hidden; border: 1px solid var(--line); border-radius: 30px 30px 30px 8px; background: linear-gradient(145deg, #f0f9d4, #fff 45%, #fdf0f3); box-shadow: 12px 14px 0 rgb(15 81 63 / 8%); }
.room-cost-heading { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: end; margin-bottom: 24px; }
.room-cost-heading span, .room-cost-result > span { color: var(--orange); font: 700 9px "DM Mono", monospace; letter-spacing: .08em; }
.room-cost-heading h2 { margin: 9px 0 0; font-size: 28px; letter-spacing: -.04em; }
.room-cost-heading > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.room-cost-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(280px, 1.2fr); gap: 18px; }
.room-cost-inputs { display: grid; gap: 12px; align-content: start; }
.room-cost-inputs label, .room-cost-inputs legend { color: var(--green); font-size: 11px; font-weight: 800; }
.room-cost-inputs input, .room-cost-inputs select { width: 100%; margin-top: 6px; padding: 11px; border: 1px solid var(--line); background: white; color: var(--ink); font: inherit; }
.room-cost-inputs fieldset { margin: 0; padding: 0; border: 0; }
.room-cost-inputs .budget-tabs { margin-top: 7px; }
.room-cost-result { padding: 24px; background: var(--green); color: white; }
.room-cost-result > p { margin: 9px 0 18px; color: #c4d8d0; font-size: 11px; }
.room-cost-result > strong { display: block; color: var(--lime); font-size: clamp(25px, 4vw, 38px); letter-spacing: -.05em; }
.room-cost-result > small { display: block; margin: 6px 0 20px; color: #dceae5; }
.room-cost-result > h3 { margin: 0 0 8px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.18); color: white; font-size: 13px; }
.room-cost-result > div { max-height: 330px; overflow: auto; }
.room-cost-result > div p { display: flex; justify-content: space-between; gap: 12px; margin: 0; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.12); color: #dceae5; font-size: 11px; }
.room-cost-result > div b { color: white; white-space: nowrap; }
.room-cost-note { margin: 16px 0 0 !important; font-size: 10px !important; line-height: 1.6 !important; }
.affiliate-note { margin-top: 40px; padding: 24px; border-left: 4px solid var(--orange); background: #fff2e9; }
.affiliate-note p { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.editorial-layout details { padding: 18px 0; border-top: 1px solid var(--line); }
.editorial-layout summary { cursor: pointer; font-weight: 700; }
.editorial-layout aside { height: fit-content; padding: 28px; position: sticky; top: 24px; overflow: hidden; border-radius: 26px 26px 26px 7px; background: linear-gradient(145deg, var(--green), #24725a); color: white; box-shadow: 10px 11px 0 var(--lime); }
.editorial-layout aside::after { content: "↗"; position: absolute; right: -8px; bottom: -22px; color: rgb(255 255 255 / 9%); font-size: 110px; font-weight: 900; }
.editorial-layout aside h3 { margin: 28px 0 14px; font-size: 25px; letter-spacing: -.04em; }
.editorial-layout aside p { color: #c4d8d0; font-size: 12px; line-height: 1.7; }
.editorial-layout aside a { color: var(--lime); font-weight: 800; font-size: 12px; }

@media (max-width: 980px) {
  .home-calculator-grid { grid-template-columns: repeat(2, 1fr); }
  .content-section-grid, .calculator-copy { grid-template-columns: 1fr 1fr; }
  .platform-intro, .ai-calculator, .editorial-layout { grid-template-columns: 1fr; }
  .editorial-layout aside { position: static; }
}

@media (max-width: 650px) {
  .platform-intro { padding-top: 65px; gap: 30px; }
  .platform-metrics, .content-section-grid, .calculator-copy, .calculator-library, .criteria-grid, .room-budget-grid, .room-cost-heading, .room-cost-layout { grid-template-columns: 1fr; }
  .room-cost-calculator { padding: 18px; }
  .platform-metrics div { border-right: 0; border-bottom: 1px solid var(--line); }
  .home-calculator-grid { grid-template-columns: 1fr; }
  .home-calculator-grid a { min-height: 210px; }
  .calculator-detail-hero { grid-template-columns: 1fr; }
  .ai-fields { padding: 24px; grid-template-columns: 1fr; }
  .ai-fields fieldset { grid-column: auto; }
  .ai-result { padding: 28px 24px; }
  .editorial-hero { grid-template-columns: 1fr; }
  .editorial-hero-visual { min-height: 300px; }
  .guide-visual-panel { grid-template-columns: 1fr; }
  .editorial-icon { width: 78px; height: 78px; font-size: 30px; }
}

.hero-actions {
  display: flex;
  gap: 26px;
  align-items: center;
}

.button {
  padding: 16px 20px;
  font-weight: 700;
}

.button.primary {
  background: var(--green);
  color: white;
}

.button span {
  margin-left: 18px;
  color: var(--lime);
}

.text-link {
  border-bottom: 1px solid var(--ink);
  padding-bottom: 3px;
  font-size: 14px;
  font-weight: 700;
}

.trust-row {
  display: flex;
  gap: 22px;
  margin-top: 28px;
  color: #65736c;
  font-size: 12px;
}

.signal-card {
  background: var(--ink);
  color: white;
  padding: 25px;
  box-shadow: 16px 16px 0 var(--lime);
}

.signal-top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 27px;
  color: #b8c0bd;
  font-size: 10px;
  letter-spacing: 0.08em;
}

.status {
  color: var(--lime);
}

.market-line {
  display: flex;
  justify-content: space-between;
  align-items: end;
  border-top: 1px solid #42504b;
  padding: 18px 0;
}

.market-line div {
  display: grid;
  gap: 4px;
}

.market-label {
  color: #9daba5;
  font-size: 12px;
}

.market-line strong {
  font-size: 21px;
}

.trend {
  color: var(--lime);
  font-family: "DM Mono", monospace;
  font-size: 11px;
}

.mini-chart {
  height: 74px;
  display: flex;
  align-items: end;
  gap: 7px;
  margin: 10px 0 16px;
}

.mini-chart i {
  flex: 1;
  background: var(--lime);
  opacity: 0.82;
}

.signal-card p {
  margin: 0;
  color: #9daba5;
  font-size: 10px;
}

.calculator-wrap {
  background: #dedfd5;
  border-block: 1px solid #c9cbc0;
  padding: 84px 0;
}

.calculator-grid {
  display: grid;
  grid-template-columns: 0.65fr 1.35fr;
  gap: 80px;
}

.section-number {
  display: block;
  margin-bottom: 24px;
  font-size: 11px;
  letter-spacing: 0.1em;
  color: var(--green);
}

.calculator-intro h2,
.section-heading h2,
.method h2 {
  font-size: clamp(38px, 4.5vw, 62px);
  line-height: 1.04;
  letter-spacing: -0.055em;
  font-weight: 600;
}

.calculator-intro > p {
  color: var(--muted);
  line-height: 1.7;
}

.data-note {
  margin-top: 45px;
  padding-top: 18px;
  border-top: 1px solid #b8bcb1;
  display: grid;
  gap: 7px;
  font-size: 12px;
  line-height: 1.55;
  color: var(--muted);
}

.data-note strong {
  color: var(--ink);
}

.calculator {
  background: var(--card);
  border: 1px solid #bec2b8;
  padding: 34px;
  box-shadow: 10px 10px 0 rgb(20 33 29 / 8%);
}

.field {
  margin-bottom: 28px;
}

.field label {
  display: block;
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 800;
}

.segmented,
.project-grid {
  display: grid;
  gap: 8px;
}

.segmented {
  grid-template-columns: 1fr 1fr;
}

.segmented button,
.project {
  border: 1px solid var(--line);
  background: transparent;
  cursor: pointer;
  color: var(--ink);
  text-align: left;
}

.segmented button {
  padding: 13px 16px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
}

.segmented button.active,
.project.active {
  border-color: var(--green);
  background: var(--lime-soft);
  box-shadow: inset 0 0 0 1px var(--green);
}

.state-select {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid var(--green);
  border-radius: 0;
  background: var(--lime-soft);
  color: var(--ink);
  font-weight: 700;
  cursor: pointer;
}

.zip-row {
  display: grid;
  grid-template-columns: 1fr auto;
  margin-bottom: 8px;
}
.zip-row input {
  min-width: 0;
  min-height: 46px;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-right: 0;
  background: white;
}
.zip-row button {
  min-height: 46px;
  padding: 0 18px;
  border: 0;
  background: var(--ink);
  color: white;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.zip-status {
  min-height: 16px;
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 9px;
}

.zip-place-card {
  margin-top: 10px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid rgb(15 81 63 / 24%);
  border-radius: 12px;
  background: #f2f8de;
}
.zip-place-card div { display: grid; gap: 3px; }
.zip-place-card span,
.zip-offers-heading > span { color: var(--orange); font: 800 9px "DM Mono", monospace; letter-spacing: .08em; }
.zip-place-card strong { font-size: 17px; }
.zip-place-card small { color: var(--muted); font-size: 10px; }
.zip-place-card a { color: var(--green); font-size: 11px; font-weight: 850; white-space: nowrap; }
.zip-offers {
  margin-top: 24px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fffdf7;
}
.zip-offers-heading h3 { margin: 8px 0; font-size: 23px; line-height: 1.08; }
.zip-offers-heading p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.zip-offer-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.zip-offer-grid > a { min-height: 155px; padding: 16px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 14px; background: white; transition: transform .18s, box-shadow .18s; }
.zip-offer-grid > a:hover { transform: translateY(-3px); box-shadow: 0 12px 22px rgb(15 81 63 / 10%); }
.zip-offer-grid small { color: var(--orange); font: 800 8px "DM Mono", monospace; text-transform: uppercase; }
.zip-offer-grid strong { margin-top: 8px; color: var(--ink); font-size: 15px; line-height: 1.2; }
.zip-offer-grid p { color: var(--muted); font-size: 11px; line-height: 1.45; }
.zip-offer-grid span { margin-top: auto; color: var(--green); font-size: 10px; font-weight: 800; }
.zip-local-links { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 8px; }
.zip-local-links a { padding: 8px 11px; border-radius: 99px; background: var(--press-black); color: white; font-size: 9px; font-weight: 800; }
.zip-disclaimer { margin-top: 14px; display: block; color: var(--muted); font-size: 9px; line-height: 1.5; }

.city-comparison-evidence { padding: 0 0 80px; }
.city-comparison-evidence > h2 { margin-bottom: 28px; font-size: clamp(30px, 4vw, 50px); }
.city-comparison-evidence > div { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.city-comparison-evidence article { padding: 24px; border-top: 5px solid var(--green); background: white; }
.city-comparison-evidence article:nth-child(even) { border-top-color: var(--press-red); }
.city-comparison-evidence article > span { color: var(--orange); font: 800 9px "DM Mono", monospace; }
.city-comparison-evidence article h2 { margin: 9px 0 18px; font-size: 25px; }
.city-comparison-evidence article a { padding: 11px 0; display: grid; gap: 4px; border-top: 1px solid var(--line); }
.city-comparison-evidence article a b { color: var(--ink); font-size: 12px; }
.city-comparison-evidence article a p,
.city-comparison-evidence article a small { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.45; }

/* Editorial quality layer for state and city comparisons */
.comparison-byline { margin-top: 28px; padding-top: 17px; display: flex; flex-wrap: wrap; gap: 8px 22px; align-items: center; border-top: 1px solid var(--line); color: var(--muted); font-size: 10px; }
.comparison-byline b { color: var(--ink); }
.comparison-byline a { margin-left: auto; color: var(--green); font-weight: 800; }
.comparison-editorial-answer { margin: 28px 0 42px; padding: 30px; border-top: 6px solid var(--press-red); background: #fff9e7; box-shadow: 10px 11px 0 #e5e0ce; }
.comparison-editorial-answer > span { color: var(--press-red); font: 800 9px "DM Mono", monospace; }
.comparison-editorial-answer h3 { margin: 12px 0 16px; font: 700 clamp(26px, 4vw, 39px)/1.05 "Newsreader", Georgia, serif; letter-spacing: -.035em; }
.comparison-editorial-answer p { color: var(--muted); line-height: 1.75; }
.comparison-editorial-answer strong { margin-top: 22px; display: block; color: var(--green); font-size: 11px; text-transform: uppercase; }
.city-editorial-verdict { margin-top: 30px; margin-bottom: 80px; padding: 36px; display: grid; grid-template-columns: 1.45fr .55fr; gap: 44px; border-top: 7px solid var(--press-red); background: white; }
.city-editorial-verdict h2 { margin: 12px 0 17px; font-size: clamp(32px, 5vw, 55px); line-height: .98; }
.city-editorial-verdict p { color: var(--muted); line-height: 1.75; }
.city-editorial-verdict aside { padding: 25px; align-self: stretch; background: var(--green); color: white; }
.city-editorial-verdict aside b { color: var(--lime); font-size: 11px; text-transform: uppercase; }
.city-editorial-verdict aside p { color: #d8e7e1; }
.comparison-faq-section { padding-top: 75px; padding-bottom: 75px; display: grid; grid-template-columns: .72fr 1.28fr; gap: 60px; }
.comparison-faq-section h2 { margin-top: 10px; font-size: clamp(34px, 5vw, 58px); line-height: .96; }
.comparison-faq details { padding: 20px 0; border-top: 1px solid var(--line); }
.comparison-faq summary { cursor: pointer; color: var(--ink); font: 700 19px/1.3 "Newsreader", Georgia, serif; }
.comparison-faq p { margin: 13px 0 0; color: var(--muted); line-height: 1.7; }
.comparison-sources { margin-top: 50px; margin-bottom: 80px; padding: 36px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; border-top: 6px solid var(--green); background: #edf4f0; }
.comparison-sources h2 { margin: 12px 0; font-size: clamp(31px, 4vw, 49px); line-height: .98; }
.comparison-sources p { color: var(--muted); line-height: 1.7; }
.comparison-sources > div:last-child { display: grid; grid-template-columns: 1fr 1fr; }
.comparison-sources a { min-height: 105px; padding: 18px; display: grid; align-content: center; border-top: 1px solid #c5d4cd; border-left: 1px solid #c5d4cd; }
.comparison-sources a b,
.comparison-sources a span { display: block; }
.comparison-sources a b { color: var(--ink); font-size: 12px; }
.comparison-sources a span { margin-top: 6px; color: var(--green); font-size: 9px; font-weight: 800; }

.search-console-list { display: grid; gap: 10px; }
.search-console-list article { padding: 16px; display: grid; grid-template-columns: minmax(230px, 1fr) repeat(3, 95px) 110px; gap: 14px; align-items: center; border: 1px solid var(--line); background: white; }
.search-console-list article > div { display: grid; gap: 4px; }
.search-console-list article > div b { overflow-wrap: anywhere; font-size: 12px; }
.search-console-list article small { color: var(--muted); font-size: 9px; }
.search-console-list article > span { display: grid; }
.search-console-list article > span strong { font-size: 20px; }
.search-console-list time { color: var(--muted); font-size: 9px; text-align: right; }

@media (max-width: 760px) {
  .zip-place-card { align-items: flex-start; flex-direction: column; }
  .zip-offer-grid,
  .city-comparison-evidence > div { grid-template-columns: 1fr; }
  .city-editorial-verdict,
  .comparison-faq-section,
  .comparison-sources { grid-template-columns: 1fr; }
  .city-editorial-verdict { padding: 25px; gap: 22px; }
  .comparison-faq-section { gap: 24px; }
  .comparison-sources { padding: 24px; gap: 20px; }
  .comparison-sources > div:last-child { grid-template-columns: 1fr; }
  .comparison-byline { align-items: flex-start; flex-direction: column; }
  .comparison-byline a { margin-left: 0; }
  .search-console-list article { grid-template-columns: repeat(3, 1fr); }
  .search-console-list article > div,
  .search-console-list time { grid-column: 1 / -1; text-align: left; }
}

.project-grid {
  grid-template-columns: repeat(4, 1fr);
}

.project {
  min-height: 87px;
  padding: 15px;
  display: grid;
  align-content: space-between;
}

.project span {
  font-size: 13px;
  font-weight: 800;
}

.project small {
  color: var(--muted);
  font-size: 10px;
}

.range-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.range-value {
  font-size: 23px;
  font-weight: 600;
  letter-spacing: -0.04em;
  margin-bottom: 10px;
}

input[type="range"] {
  width: 100%;
  accent-color: var(--green);
}

.result {
  background: var(--green);
  color: white;
  padding: 25px;
  display: grid;
  grid-template-columns: 1fr 0.7fr;
  gap: 25px;
}

.result > div {
  display: grid;
  gap: 8px;
}

.result span {
  color: #b7c6c0;
  font-size: 9px;
  letter-spacing: 0.09em;
}

.result strong {
  font-size: clamp(28px, 3vw, 42px);
  letter-spacing: -0.055em;
}

.result small {
  color: #b7c6c0;
  font-size: 9px;
}

.savings {
  border-left: 1px solid #537366;
  padding-left: 25px;
}

.fine-print {
  margin: 13px 0 0;
  color: #7c847f;
  font-size: 9px;
  line-height: 1.5;
}

.guides {
  padding: 90px 0 100px;
}

.section-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-bottom: 40px;
}

.section-heading h2 {
  margin-bottom: 0;
}

.section-heading > p {
  max-width: 390px;
  color: var(--muted);
  line-height: 1.65;
}

.guide-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.guide-card {
  min-height: 330px;
  border: 1px solid var(--line);
  padding: 32px;
  display: grid;
  grid-template-columns: 0.34fr 0.66fr;
  gap: 28px;
  overflow: hidden;
}

.guide-card.ny {
  background: var(--lime);
}

.guide-card.nj {
  background: #e4ded1;
}

.state-code {
  font-size: 90px;
  font-weight: 800;
  letter-spacing: -0.09em;
  writing-mode: vertical-rl;
  opacity: 0.12;
}

.tag {
  font-size: 10px;
  letter-spacing: 0.1em;
}

.guide-card h3 {
  margin: 65px 0 16px;
  font-size: 28px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.guide-card p {
  color: #52605a;
  font-size: 13px;
  line-height: 1.6;
}

.guide-card a {
  display: inline-block;
  margin-top: 16px;
  border-bottom: 1px solid var(--ink);
  padding-bottom: 3px;
  font-size: 12px;
  font-weight: 800;
}

.method {
  background: var(--ink);
  color: white;
  padding: 90px 0;
}

.section-number.light {
  color: var(--lime);
}

.method-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 100px;
}

.method-list > div {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 18px;
  padding: 22px 0;
  border-top: 1px solid #45534e;
}

.method-list span {
  color: var(--lime);
  font-family: "DM Mono", monospace;
  font-size: 11px;
}

.method-list p {
  margin: 0;
  color: #acb7b2;
  font-size: 13px;
  line-height: 1.65;
}

.method-list strong {
  color: white;
}

footer {
  min-height: 125px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  color: var(--muted);
  font-size: 11px;
}

footer .brand {
  color: var(--ink);
}

.content-hero {
  padding: 86px 0 70px;
  border-bottom: 1px solid var(--line);
}

.content-hero h1 {
  max-width: 900px;
}

.content-hero > p {
  max-width: 720px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.7;
}

.prose-page {
  max-width: 900px;
  padding: 72px 0 100px;
}

.prose-page h2 {
  margin: 48px 0 15px;
  font-size: 30px;
  letter-spacing: -.04em;
}

.prose-page h2:first-child { margin-top: 0; }
.prose-page p, .prose-page li { color: #53605b; line-height: 1.8; }
.prose-page a { color: var(--green); border-bottom: 1px solid var(--green); }
.formula { margin: 28px 0; padding: 24px; background: var(--ink); color: var(--lime); font-family: "DM Mono", monospace; font-size: 12px; }
.source-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.source-grid a { min-height: 100px; padding: 18px; border: 1px solid var(--line); display: grid; align-content: space-between; background: var(--card); }
.source-grid span { font-size: 11px; color: var(--muted); }
.legal-note, .contact-warning { margin-top: 50px; padding: 18px; border-left: 3px solid var(--orange); background: #ebe9df; font-size: 11px; }

.contact-grid {
  padding: 70px 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.contact-grid a { min-height: 240px; padding: 24px; border: 1px solid var(--line); background: var(--card); }
.contact-grid span { color: var(--green); font-family: "DM Mono", monospace; font-size: 10px; }
.contact-grid h2 { margin: 60px 0 12px; font-size: 25px; letter-spacing: -.04em; }
.contact-grid p { color: var(--muted); font-size: 12px; line-height: 1.6; }
.contact-warning { margin-top: 0; margin-bottom: 80px; }

.tools-controls {
  padding: 35px 0;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 18px;
  border-bottom: 1px solid var(--line);
}
.tools-controls label { display: grid; gap: 9px; font-size: 10px; font-weight: 800; }
.tools-controls select, .mini-inputs input { min-height: 42px; padding: 0 11px; border: 1px solid var(--line); background: var(--card); color: var(--ink); }
.tools-controls strong { font-size: 20px; letter-spacing: -.03em; }
.tools-grid { padding: 50px 0 90px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.tools-grid article { min-height: 320px; padding: 28px; border: 1px solid var(--line); background: var(--card); }
.tools-grid article > span { color: var(--green); font-family: "DM Mono", monospace; font-size: 9px; letter-spacing: .08em; }
.tools-grid h2 { margin: 55px 0 5px; font-size: 45px; letter-spacing: -.055em; }
.tools-grid article > p { color: var(--muted); font-size: 12px; }
.tools-grid dl { margin-top: 35px; }
.tools-grid dl div { display: flex; justify-content: space-between; padding: 12px 0; border-top: 1px solid var(--line); font-size: 11px; }
.tools-grid dd { margin: 0; font-weight: 800; }
.mini-inputs { margin-top: 25px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.mini-inputs label { display: grid; gap: 5px; color: var(--muted); font-size: 9px; }
.tool-disclaimer { margin-top: -50px; margin-bottom: 70px; color: var(--muted); font-size: 10px; }
.not-found { min-height: 100vh; padding: 10vw; display: grid; place-content: center; background: var(--paper); }
.not-found p { margin-top: 25px; font-family: "DM Mono", monospace; font-size: 10px; }
.not-found h1 { max-width: 700px; font-size: clamp(45px, 7vw, 80px); }
.not-found > div { display: flex; gap: 25px; align-items: center; }
.consent { position: fixed; z-index: 50; left: 20px; right: 20px; bottom: 20px; max-width: 760px; margin: auto; padding: 18px; display: flex; justify-content: space-between; gap: 24px; align-items: center; background: var(--ink); color: white; box-shadow: 0 10px 40px rgb(0 0 0 / 25%); }
.consent p { margin: 0; display: grid; gap: 4px; }
.consent p span { color: #b8c2be; font-size: 10px; line-height: 1.5; }
.consent div { display: flex; gap: 8px; flex: 0 0 auto; }
.consent button { padding: 10px 12px; border: 1px solid #64736d; background: transparent; color: white; font-size: 10px; cursor: pointer; }
.consent button.accept { border-color: var(--lime); background: var(--lime); color: var(--ink); }
.footer-privacy-choices { appearance: none; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.footer-privacy-choices:hover { color: var(--orange); }

/* Friendlier consumer-facing refresh */
.hero { padding-top: 62px; }
.hero-grid { grid-template-columns: .92fr 1.08fr; gap: 54px; align-items: center; }
.hero h1 { font-size: clamp(52px, 6.3vw, 88px); }
.hero-visual { position: relative; min-width: 0; }
.hero-visual img { width: 100%; min-height: 480px; display: block; object-fit: cover; border: 2px solid rgb(10 49 97 / 14%); border-radius: 34px 34px 34px 8px; box-shadow: 18px 20px 0 var(--usa-red); }
.visual-badge { position: absolute; display: flex; align-items: center; gap: 11px; padding: 14px 17px; border-radius: 16px; background: rgb(255 253 247 / 94%); box-shadow: 0 12px 32px rgb(20 33 29 / 18%); backdrop-filter: blur(10px); }
.visual-badge.top { top: 18px; right: 18px; display: grid; }
.visual-badge.bottom { left: 18px; bottom: 18px; }
.visual-badge small { color: var(--muted); font: 9px "DM Mono", monospace; letter-spacing: .08em; }
.visual-badge strong { font-size: 17px; }
.visual-badge.bottom > span { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: var(--usa-red); color: var(--usa-white); font-weight: 900; }
.visual-badge.bottom div { display: grid; gap: 2px; }

.upgrade-path { padding: 105px 0; }
.benefit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.benefit-grid article { min-height: 300px; padding: 23px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 22px 22px 22px 5px; background: var(--card); transition: transform .2s ease, box-shadow .2s ease; }
.benefit-grid article:hover { transform: translateY(-5px); box-shadow: 10px 12px 0 var(--lime); }
.benefit-grid article > span { color: var(--muted); font: 9px "DM Mono", monospace; }
.benefit-icon { width: 52px; height: 52px; margin: 40px 0 25px; display: grid; place-items: center; border-radius: 16px; background: var(--lime-soft); color: var(--green); font-size: 26px; font-weight: 800; }
.benefit-grid h3 { margin-bottom: 11px; font-size: 21px; letter-spacing: -.04em; }
.benefit-grid p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }

.popular-projects { padding: 105px 0; background: #dcebe6; }
.project-story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.project-story-grid article { min-height: 285px; padding: 30px; display: flex; flex-direction: column; border-radius: 28px 28px 28px 7px; overflow: hidden; background: var(--card); }
.project-story-grid article.heat { background: #0a3161; color: white; }
.project-story-grid article.air { background: #ffffff; }
.project-story-grid article.shell-card { background: #ffcfb7; }
.project-story-grid article.charge { background: #b9dcff; }
.project-story-grid b { color: currentColor; font: 10px "DM Mono", monospace; letter-spacing: .08em; text-transform: uppercase; opacity: .7; }
.project-story-grid h3 { max-width: 420px; margin: 55px 0 13px; font-size: 34px; letter-spacing: -.05em; }
.project-story-grid p { max-width: 540px; color: inherit; opacity: .78; line-height: 1.65; }
.project-story-grid a { margin-top: auto; font-size: 13px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }

.faq-section { padding: 110px 0; display: grid; grid-template-columns: .72fr 1.28fr; gap: 90px; align-items: start; }
.faq-intro { position: sticky; top: 30px; }
.faq-intro h2 { margin: 20px 0; font-size: clamp(42px, 5vw, 67px); line-height: 1; letter-spacing: -.06em; }
.faq-intro p { margin-bottom: 28px; color: var(--muted); line-height: 1.7; }
.faq-list { border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { padding: 24px 44px 24px 0; position: relative; cursor: pointer; list-style: none; font-size: 18px; font-weight: 750; }
.faq-list summary::after { content: "+"; position: absolute; right: 8px; color: var(--green); font-size: 25px; }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 690px; padding: 0 45px 24px 0; color: var(--muted); font-size: 13px; line-height: 1.8; }

.contact-hero { padding-bottom: 50px; }
.contact-hero p { max-width: 720px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.contact-layout { margin-bottom: 110px; display: grid; grid-template-columns: .72fr 1.28fr; gap: 60px; align-items: start; }
.contact-layout > aside { padding: 32px; border-radius: 26px 26px 26px 7px; background: var(--green); color: white; }
.contact-layout > aside h2 { margin: 24px 0 15px; font-size: 36px; letter-spacing: -.05em; }
.contact-layout > aside > p { color: #d4e4de; line-height: 1.7; }
.contact-layout ul { margin: 28px 0 0; padding: 0; list-style: none; }
.contact-layout li { padding: 17px 0; display: grid; gap: 4px; border-top: 1px solid rgb(255 255 255 / 18%); }
.contact-layout li span { color: #bdd1ca; font-size: 11px; line-height: 1.5; }
.contact-form { padding: 34px; display: grid; gap: 19px; border: 1px solid var(--line); border-radius: 28px 28px 28px 7px; background: var(--card); box-shadow: 12px 14px 0 var(--lime); }
.contact-form label { display: grid; gap: 8px; color: #40514a; font-size: 12px; font-weight: 750; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; padding: 13px 14px; border: 1px solid #cfd3ca; border-radius: 10px; outline: none; background: white; color: var(--ink); font: inherit; }
.contact-form input:focus, .contact-form select:focus, .contact-form textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgb(15 81 63 / 10%); }
.contact-form textarea { resize: vertical; }
.website-field { position: absolute; left: -9999px; opacity: 0; pointer-events: none; }
.form-submit { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.form-submit button { border: 0; cursor: pointer; }
.form-submit small { max-width: 240px; color: var(--muted); line-height: 1.5; }
.form-status { min-height: 20px; margin: 0; font-size: 12px; font-weight: 700; }
.form-status.sent { color: var(--green); }
.form-status.error { color: #a43b20; }

@media (max-width: 900px) {
  .site-header-inner { min-height: 70px; flex-wrap: wrap; }
  .site-menu-button { margin-left: auto; display: inline-flex; align-items: center; gap: 7px; cursor: pointer; }
  .site-header-cta { display: none; }
  .site-navigation { display: none; order: 3; flex: 0 0 100%; padding: 5px 0 18px; align-items: stretch; flex-direction: column; gap: 0; }
  .site-navigation.open { display: flex; }
  .site-navigation a { padding: 12px 4px; border-top: 1px solid var(--line); font-size: 12px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-visual { margin-top: 16px; }
  .hero-visual img { min-height: 390px; }
  .benefit-grid { grid-template-columns: 1fr 1fr; }
  .faq-section, .contact-layout { grid-template-columns: 1fr; gap: 46px; }
  .faq-intro { position: static; }
}

@media (max-width: 620px) {
  .shell { width: min(100% - 30px, 1180px); }
  .nav { height: 70px; }
  .brand { font-size: 14px; }
  .brand-mark { width: 32px; height: 32px; }
  .nav-cta { padding: 10px 12px; font-size: 10px; }
  .hero { padding: 42px 0 58px; }
  .hero h1 { font-size: clamp(46px, 14vw, 66px); }
  .hero-copy { font-size: 16px; }
  .hero-actions { align-items: flex-start; flex-direction: column; }
  .trust-row { flex-wrap: wrap; gap: 9px 16px; }
  .hero-visual img { min-height: 330px; border-radius: 24px 24px 24px 7px; box-shadow: 10px 12px 0 var(--usa-red); }
  .visual-badge.top { top: 10px; right: 10px; }
  .visual-badge.bottom { left: 10px; bottom: 10px; }
  .benefit-grid, .project-story-grid, .form-row { grid-template-columns: 1fr; }
  .upgrade-path, .popular-projects, .faq-section { padding-block: 72px; }
  .benefit-grid article { min-height: 255px; }
  .project-story-grid article { min-height: 260px; padding: 24px; }
  .project-story-grid h3 { margin-top: 38px; font-size: 29px; }
  .faq-intro h2 { font-size: 46px; }
  .faq-list summary { font-size: 16px; }
  .contact-form { padding: 22px; box-shadow: 8px 9px 0 var(--lime); }
  .form-submit { align-items: flex-start; flex-direction: column; }
}

.guide-index-hero {
  padding: 92px 0 70px;
  border-bottom: 1px solid var(--line);
}

.guide-index-hero h1,
.article-hero h1 {
  max-width: 900px;
  font-size: clamp(54px, 7vw, 90px);
}

.guide-index-hero > p,
.article-hero-grid > div > p {
  max-width: 670px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.65;
}

.guide-library {
  padding: 52px 0 100px;
}

.library-filter {
  display: flex;
  justify-content: space-between;
  padding-bottom: 18px;
  color: var(--muted);
  font-family: "DM Mono", monospace;
  font-size: 10px;
  letter-spacing: .08em;
}

.library-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.coverage-stats {
  max-width: 800px;
  margin-top: 52px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-block: 1px solid var(--line);
}

.coverage-stats > div {
  padding: 20px 18px;
  display: grid;
  gap: 3px;
  border-right: 1px solid var(--line);
}

.coverage-stats > div:last-child {
  border-right: 0;
}

.coverage-stats strong {
  font-size: 23px;
}

.coverage-stats span {
  color: var(--muted);
  font-family: "DM Mono", monospace;
  font-size: 9px;
  text-transform: uppercase;
}

.state-library-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.state-library-card {
  min-height: 118px;
  padding: 18px;
  display: grid;
  grid-template-columns: 42px 1fr 20px;
  gap: 14px;
  align-items: center;
  border: 1px solid var(--line);
  background: var(--card);
  transition: border-color .2s ease, background .2s ease;
}

.state-library-card:hover {
  border-color: var(--green);
  background: var(--lime-soft);
}

.state-card-code {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  background: var(--ink);
  color: var(--lime);
  font-family: "DM Mono", monospace;
  font-size: 11px;
}

.state-library-card small {
  color: var(--muted);
  font-family: "DM Mono", monospace;
  font-size: 8px;
  text-transform: uppercase;
}

.state-library-card h2 {
  margin: 4px 0;
  font-size: 18px;
  letter-spacing: -.035em;
}

.state-library-card div > span {
  color: var(--green);
  font-size: 11px;
  font-weight: 700;
}

.state-library-card > b {
  font-size: 17px;
}

.local-coverage {
  padding: 90px 0;
  background: #dedfd5;
  border-block: 1px solid #c9cbc0;
}

.library-card.compact {
  min-height: 250px;
}

.library-card {
  min-height: 280px;
  border: 1px solid var(--line);
  padding: 26px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: var(--card);
  transition: transform .2s ease, box-shadow .2s ease;
}

.library-card:hover {
  transform: translateY(-4px);
  box-shadow: 8px 8px 0 var(--lime);
}

.library-top,
.library-bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.library-top > span:first-child,
.library-card small,
.library-bottom small {
  color: var(--muted);
  font-family: "DM Mono", monospace;
  font-size: 10px;
  letter-spacing: .08em;
}

.state-pill {
  padding: 6px 10px;
  background: var(--lime);
  color: var(--green);
  font-family: "DM Mono", monospace;
  font-size: 10px;
  font-style: normal;
}

.state-pill.nj {
  background: #e4ded1;
}

.library-card h2 {
  margin: 8px 0 0;
  font-size: 30px;
  letter-spacing: -.045em;
}

.library-bottom {
  padding-top: 18px;
  border-top: 1px solid var(--line);
  align-items: end;
}

.library-bottom > div {
  display: grid;
  gap: 4px;
}

.library-bottom strong {
  font-size: 17px;
}

.library-bottom > span {
  font-size: 24px;
}

.index-cta,
.article-final {
  padding: 76px 0;
  background: var(--green);
  color: white;
}

.index-cta .shell,
.article-final .shell {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 40px;
}

.index-cta h2,
.article-final h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(38px, 5vw, 62px);
  line-height: 1.04;
  letter-spacing: -.055em;
  font-weight: 600;
}

.lime-button {
  flex: 0 0 auto;
  background: var(--lime);
  color: var(--ink);
}

.article-hero {
  padding: 32px 0 78px;
}

.breadcrumbs {
  display: flex;
  gap: 9px;
  margin-bottom: 62px;
  color: var(--muted);
  font-size: 11px;
}

.breadcrumbs a {
  border-bottom: 1px solid var(--line);
}

.article-hero-grid {
  display: grid;
  grid-template-columns: 1.3fr .7fr;
  gap: 80px;
  align-items: end;
}

.article-hero h1 {
  margin-bottom: 28px;
}

.cost-card {
  padding: 28px;
  background: var(--ink);
  color: white;
  box-shadow: 12px 12px 0 var(--lime);
}

.cost-card > span,
.cost-card div span,
.sidebar-box > span,
.sidebar-cta > span {
  color: #aeb9b5;
  font-family: "DM Mono", monospace;
  font-size: 9px;
  letter-spacing: .1em;
}

.cost-card > strong {
  display: block;
  margin: 12px 0;
  font-size: clamp(34px, 4vw, 52px);
  letter-spacing: -.055em;
}

.cost-card > p {
  color: #aeb9b5;
  font-size: 10px;
  line-height: 1.5;
}

.cost-card > div {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid #47554f;
}

.cost-card div b {
  color: var(--lime);
  font-size: 20px;
}

.article-body {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 90px;
  padding: 80px 0 100px;
}

.article-body article {
  min-width: 0;
}

.article-body article h2 {
  margin: 55px 0 20px;
  font-size: 38px;
  line-height: 1.1;
  letter-spacing: -.045em;
}

.article-body article h2:first-child {
  margin-top: 0;
}

.article-body article > p {
  max-width: 720px;
  color: #53605b;
  font-size: 16px;
  line-height: 1.8;
}

.model-note {
  padding: 18px 20px;
  border-left: 3px solid var(--lime);
  background: #ebe9df;
  font-size: 12px !important;
}

.model-note strong {
  color: var(--ink);
}

.factor-list {
  margin-top: 30px;
  border-top: 1px solid var(--line);
}

.factor-list > div {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}

.factor-list span {
  color: var(--green);
  font-family: "DM Mono", monospace;
  font-size: 10px;
}

.factor-list p {
  margin: 0;
  color: var(--muted);
  display: grid;
  gap: 3px;
  font-size: 13px;
}

.factor-list strong {
  color: var(--ink);
}

.official-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 24px 0;
}

.official-links a {
  padding: 11px 14px;
  border: 1px solid var(--green);
  color: var(--green);
  font-size: 11px;
  font-weight: 700;
}

.quote-checklist {
  margin: 25px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: quote;
}

.quote-checklist li {
  counter-increment: quote;
  padding: 16px 12px 16px 46px;
  border-bottom: 1px solid var(--line);
  position: relative;
  font-size: 14px;
}

.quote-checklist li::before {
  content: counter(quote);
  position: absolute;
  left: 8px;
  color: var(--green);
  font-family: "DM Mono", monospace;
  font-size: 10px;
}

.article-sidebar {
  display: grid;
  align-content: start;
  gap: 16px;
}

.sidebar-box {
  padding: 24px;
  border: 1px solid var(--line);
  background: var(--card);
}

.sidebar-box > span {
  color: var(--green);
}

.sidebar-box dl {
  margin: 20px 0 0;
}

.sidebar-box dl > div {
  padding: 14px 0;
  border-top: 1px solid var(--line);
}

.sidebar-box dt {
  margin-bottom: 5px;
  font-size: 11px;
  font-weight: 800;
}

.sidebar-box dd {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.5;
}

.area-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 20px;
}

.area-tags i {
  padding: 7px 9px;
  background: #eeece4;
  color: #59645f;
  font-size: 10px;
  font-style: normal;
}

.sidebar-cta {
  padding: 24px;
  display: grid;
  gap: 9px;
  background: var(--lime);
}

.sidebar-cta > span {
  color: var(--green);
}

.sidebar-cta strong {
  font-size: 19px;
}

.sidebar-cta b {
  margin-top: 14px;
  font-size: 22px;
}

@media (max-width: 900px) {
  .nav-links {
    display: none;
  }

  .hero-grid,
  .calculator-grid,
  .method-grid {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .signal-card {
    max-width: 520px;
  }

  .calculator-grid {
    gap: 35px;
  }

  .section-heading {
    align-items: start;
    flex-direction: column;
  }

  .guide-grid {
    grid-template-columns: 1fr;
  }

  .article-hero-grid,
  .article-body {
    grid-template-columns: 1fr;
    gap: 50px;
  }

  .article-sidebar {
    grid-template-columns: 1fr 1fr;
  }

  .state-library-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .contact-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .shell {
    width: min(100% - 28px, 1180px);
  }

  .nav {
    height: 70px;
  }

  .nav-cta {
    display: none;
  }

  .hero {
    padding: 55px 0 64px;
  }

  h1 {
    font-size: 50px;
  }

  .hero-actions,
  .trust-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .trust-row {
    gap: 8px;
  }

  .calculator-wrap,
  .guides,
  .method {
    padding: 62px 0;
  }

  .calculator {
    padding: 20px;
  }

  .project-grid,
  .range-row,
  .result {
    grid-template-columns: 1fr 1fr;
  }

  .project-grid {
    gap: 6px;
  }

  .result {
    grid-template-columns: 1fr;
  }

  .savings {
    border-left: 0;
    border-top: 1px solid #537366;
    padding: 18px 0 0;
  }

  .guide-card {
    grid-template-columns: 0.25fr 0.75fr;
    padding: 22px;
  }

  .state-code {
    font-size: 64px;
  }

  footer {
    padding: 35px 0;
    align-items: flex-start;
    flex-direction: column;
  }

  .library-grid,
  .article-sidebar {
    grid-template-columns: 1fr;
  }

  .coverage-stats,
  .state-library-grid {
    grid-template-columns: 1fr 1fr;
  }

  .source-grid,
  .tools-controls,
  .tools-grid {
    grid-template-columns: 1fr;
  }

  .consent { align-items: stretch; flex-direction: column; }

  .coverage-stats > div:nth-child(2) {
    border-right: 0;
  }

  .index-cta .shell,
  .article-final .shell {
    align-items: flex-start;
    flex-direction: column;
  }

  .article-hero {
    padding-top: 20px;
  }

  .breadcrumbs {
    margin-bottom: 42px;
    flex-wrap: wrap;
  }

  .article-body {
    padding: 58px 0 72px;
  }

  .hero {
    padding: 42px 0 58px;
  }

  .hero h1 {
    font-size: clamp(46px, 14vw, 66px);
  }

  .hero-visual img {
    min-height: 330px;
  }

  .footer-feature {
    padding: 58px 0;
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 620px) {
  .site-footer {
    padding: 0;
    display: block;
  }

  .footer-feature h2 {
    font-size: 43px;
  }

  .footer-estimate {
    width: 100%;
  }

  .footer-grid {
    padding: 48px 0 40px;
    grid-template-columns: 1fr 1fr;
    gap: 42px 24px;
  }

  .footer-brand,
  .footer-coverage {
    grid-column: 1 / -1;
  }

  .footer-bottom {
    padding: 24px 0;
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 900px) {
  .how-animation-grid {
    grid-template-columns: 1fr;
    gap: 45px;
  }
}

@media (max-width: 620px) {
  .how-animation {
    padding: 70px 0;
  }

  .how-animation-copy h2 {
    font-size: 43px;
  }

  .estimate-animation {
    min-height: auto;
    padding: 22px;
    grid-template-columns: 1fr;
    gap: 12px;
    box-shadow: 10px 12px 0 rgb(15 81 63 / 10%);
  }

  .animation-track {
    width: 3px;
    height: auto;
    top: 12%;
    bottom: 12%;
    left: 50%;
    right: auto;
  }

  .animation-track i {
    width: 100%;
    height: 24%;
    animation-name: signalTravelVertical;
  }

  .animation-step {
    min-height: 178px;
    display: grid;
    grid-template-columns: 96px 1fr;
    grid-template-rows: auto 1fr auto;
    column-gap: 18px;
    align-items: center;
  }

  .animation-step > span {
    grid-column: 2;
  }

  .animation-step > strong {
    margin-top: 0;
    align-self: end;
  }

  .animation-step > small {
    align-self: start;
  }

  .mini-map,
  .mini-project,
  .mini-result {
    min-height: 112px;
    margin: 0;
    grid-column: 1;
    grid-row: 1 / 4;
  }

  .mini-map b {
    right: 18px;
  }
}

@keyframes signalTravelVertical {
  0%, 8% { transform: translateY(-5%); }
  42% { transform: translateY(160%); }
  75%, 100% { transform: translateY(330%); }
}

@media (prefers-reduced-motion: reduce) {
  .animation-track i,
  .animation-step,
  .mini-map b,
  .mini-project i,
  .mini-result i {
    animation: none;
  }
}

/* Desktop navigation readability */
@media (min-width: 901px) {
  .site-header .site-navigation {
    gap: 6px;
  }

  .site-header .site-navigation > a,
  .site-header .site-nav-trigger {
    min-height: 46px;
    padding: 12px 13px;
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: -.015em;
  }

  .site-header .site-navigation .site-nav-dropdown a {
    min-height: 48px;
    padding: 12px 13px;
    font-size: 13px;
    line-height: 1.35;
  }

  .site-header .site-header-cta {
    padding: 13px 17px;
    font-size: 12px;
    line-height: 1.2;
  }
}

@media (min-width: 901px) and (max-width: 1120px) {
  .site-header .site-navigation {
    gap: 2px;
  }

  .site-header .site-navigation > a,
  .site-header .site-nav-trigger {
    padding-inline: 9px;
    font-size: 12.5px;
  }
}

/* Sponsored content partner desk */
.sponsored-hub {
  background: #fbf7ec;
}

.sponsored-hero {
  padding: clamp(72px, 9vw, 130px) 0;
  overflow: hidden;
  border-bottom: 8px solid var(--orange);
  background:
    radial-gradient(circle at 84% 22%, rgba(217, 241, 95, .22), transparent 28%),
    linear-gradient(135deg, #071f3f, #0a3161);
  color: white;
}

.sponsored-hero .shell {
  position: relative;
}

.sponsored-hero .shell::after {
  content: "PAID";
  position: absolute;
  right: 0;
  bottom: -42px;
  color: rgba(255, 255, 255, .055);
  font: 900 clamp(120px, 20vw, 290px)/.7 "Manrope", sans-serif;
  letter-spacing: -.1em;
  pointer-events: none;
}

.sponsored-hero span,
.sponsored-process header span,
.sponsored-standards > div > span,
.sponsored-published header > span,
.sponsored-submit-section > aside > span,
.sponsored-form-heading > span {
  color: var(--lime);
  font: 850 11px/1.2 "DM Mono", monospace;
  letter-spacing: .12em;
}

.sponsored-hero h1 {
  max-width: 980px;
  margin: 22px 0;
  font-size: clamp(54px, 8.8vw, 126px);
  line-height: .84;
  letter-spacing: -.07em;
}

.sponsored-hero p {
  max-width: 780px;
  color: #dbe9e2;
  font-size: clamp(17px, 2vw, 22px);
  line-height: 1.55;
}

.sponsored-hero a {
  width: fit-content;
  margin-top: 32px;
  padding: 15px 18px;
  display: flex;
  gap: 30px;
  background: var(--lime);
  color: var(--ink);
  font-weight: 850;
  box-shadow: 8px 9px 0 var(--orange);
}

.sponsored-process,
.sponsored-published {
  padding-block: 86px;
}

.sponsored-process > header,
.sponsored-published > header {
  max-width: 760px;
  margin-bottom: 34px;
}

.sponsored-process header span,
.sponsored-standards > div > span,
.sponsored-published header > span,
.sponsored-submit-section > aside > span,
.sponsored-form-heading > span {
  color: var(--orange);
}

.sponsored-process h2,
.sponsored-standards h2,
.sponsored-published h2,
.sponsored-submit-section h2,
.sponsored-form-heading h2 {
  margin: 12px 0;
  font-size: clamp(38px, 5vw, 68px);
  line-height: .95;
  letter-spacing: -.045em;
}

.sponsored-process > div {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--ink);
}

.sponsored-process article {
  min-height: 260px;
  padding: 25px;
  border-right: 1px solid var(--ink);
}

.sponsored-process article:last-child {
  border-right: 0;
  background: var(--ink);
  color: white;
}

.sponsored-process article > b {
  color: var(--orange);
  font: 900 36px/1 "DM Mono", monospace;
}

.sponsored-process h3 {
  margin: 54px 0 12px;
  font-size: 25px;
}

.sponsored-process p,
.sponsored-published header p {
  color: var(--muted);
  line-height: 1.65;
}

.sponsored-process article:last-child p {
  color: #c6d5cf;
}

.sponsored-standards {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 70px;
  padding: 64px;
  background: #fff;
  border: 1px solid var(--ink);
  box-shadow: 14px 16px 0 #e8e3d4;
}

.sponsored-standards > div > p {
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7;
}

.sponsored-standards ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.sponsored-standards li {
  padding: 22px 0;
  display: grid;
  gap: 7px;
  border-top: 1px solid var(--line);
}

.sponsored-standards li b {
  font: 750 24px/1.1 "Newsreader", Georgia, serif;
}

.sponsored-standards li span {
  color: var(--muted);
  line-height: 1.55;
}

.sponsored-story-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.sponsored-story-grid > a,
.sponsored-empty {
  min-height: 410px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--ink);
  background: white;
}

.sponsored-story-grid img,
.sponsored-story-art {
  width: 100%;
  height: 190px;
  margin-bottom: 20px;
  object-fit: cover;
  background: linear-gradient(135deg, var(--green), var(--ink));
}

.sponsored-story-art {
  display: grid;
  place-items: center;
  color: var(--lime);
  font: 900 48px/1 "DM Mono", monospace;
}

.sponsored-story-grid small {
  color: var(--orange);
  font: 850 9px/1.3 "DM Mono", monospace;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.sponsored-story-grid h3 {
  margin: 12px 0;
  font-size: 29px;
  line-height: 1;
}

.sponsored-story-grid p {
  color: var(--muted);
  line-height: 1.55;
}

.sponsored-story-grid > a > b {
  margin-top: auto;
  color: var(--green);
}

.sponsored-empty {
  grid-column: 1 / -1;
  min-height: 260px;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: #eef5d2;
}

.sponsored-empty span {
  color: var(--orange);
  font: 850 10px/1 "DM Mono", monospace;
}

.sponsored-empty h3 {
  max-width: 620px;
  font-size: 40px;
}

.sponsored-submit-section {
  padding: 72px;
  display: grid;
  grid-template-columns: .68fr 1.32fr;
  gap: 64px;
  background: var(--ink);
  color: white;
}

.sponsored-submit-section > aside {
  position: sticky;
  top: 24px;
  height: fit-content;
}

.sponsored-submit-section > aside ul {
  padding-left: 20px;
  color: #cbd9d3;
  line-height: 1.75;
}

.sponsored-submit-form {
  padding: 34px;
  background: #ffffff;
  color: var(--ink);
}

.sponsored-form-heading p {
  color: var(--muted);
  line-height: 1.6;
}

.sponsored-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
}

.sponsored-form-grid label {
  display: grid;
  gap: 7px;
  font-size: 12px;
  font-weight: 800;
}

.sponsored-form-grid label > small {
  color: var(--muted);
  font-weight: 500;
}

.sponsored-form-grid .wide {
  grid-column: 1 / -1;
}

.sponsored-form-grid input,
.sponsored-form-grid select,
.sponsored-form-grid textarea {
  width: 100%;
  padding: 12px 13px;
  border: 1px solid #c8ccc4;
  background: white;
  color: var(--ink);
  font: 500 14px/1.5 "Manrope", sans-serif;
}

.sponsored-form-grid textarea {
  resize: vertical;
}

.sponsored-agreement {
  padding: 14px;
  grid-template-columns: auto 1fr !important;
  align-items: start;
  background: #f0f4dc;
}

.sponsored-agreement input {
  width: 18px;
  height: 18px;
}

.sponsored-submit-form > button {
  width: 100%;
  margin-top: 18px;
  padding: 15px;
  border: 0;
  background: var(--orange);
  color: white;
  font-weight: 850;
  cursor: pointer;
}

.sponsored-submit-form > button:disabled {
  opacity: .65;
  cursor: wait;
}

.sponsored-form-status {
  min-height: 24px;
  margin-bottom: 0;
  font-size: 13px;
  font-weight: 750;
}

.sponsored-form-status.sent { color: var(--green); }
.sponsored-form-status.error { color: #a52f1c; }

.sponsored-article {
  padding-bottom: 110px;
  background: #fbf7ec;
}

.sponsored-article-hero {
  padding-block: 80px 50px;
}

.sponsored-article-hero > a {
  color: var(--green);
  font-weight: 800;
}

.sponsored-article-hero > span {
  width: fit-content;
  margin-top: 36px;
  padding: 8px 10px;
  display: block;
  background: var(--orange);
  color: white;
  font: 850 10px/1 "DM Mono", monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.sponsored-article-hero h1 {
  max-width: 1050px;
  margin: 22px 0;
  font-size: clamp(54px, 8vw, 108px);
  line-height: .88;
  letter-spacing: -.065em;
}

.sponsored-article-hero > p {
  max-width: 860px;
  color: var(--muted);
  font-size: 21px;
  line-height: 1.55;
}

.sponsored-article-hero > div {
  margin-top: 30px;
  padding-top: 18px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid var(--ink);
}

.sponsored-article-image img {
  width: 100%;
  max-height: 620px;
  object-fit: cover;
}

.sponsored-article-body {
  padding-top: 48px;
  display: grid;
  grid-template-columns: 280px minmax(0, 720px);
  gap: 70px;
  justify-content: center;
  align-items: start;
}

.sponsored-article-body > aside {
  padding: 22px;
  position: sticky;
  top: 24px;
  border-top: 6px solid var(--orange);
  background: #e8edd3;
}

.sponsored-article-body > aside p {
  color: #53615b;
  font-size: 13px;
  line-height: 1.6;
}

.sponsored-article-body > div > p {
  font: 500 19px/1.8 "Manrope", sans-serif;
}

.sponsored-article-cta {
  margin-top: 32px;
  padding: 17px 20px;
  display: flex;
  justify-content: space-between;
  background: var(--green);
  color: white;
  font-weight: 850;
}

/* PayPal sponsored-content confirmation */
.paypal-payment-page {
  min-height: 72vh;
  padding: clamp(70px, 10vw, 140px) 20px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 15% 20%, rgba(218, 255, 79, .28), transparent 28%),
    radial-gradient(circle at 85% 80%, rgba(235, 74, 46, .16), transparent 34%),
    #f5f7fb;
}

.paypal-confirmation {
  width: min(700px, 100%);
  padding: clamp(34px, 7vw, 72px);
  border: 1px solid var(--ink);
  border-top: 8px solid #0070ba;
  background: #ffffff;
  box-shadow: 16px 16px 0 rgba(20, 35, 30, .12);
}

.paypal-confirmation.success { border-top-color: #0e906b; }
.paypal-confirmation.error { border-top-color: var(--orange); }
.paypal-confirmation > span {
  color: #0070ba;
  font: 850 11px/1.2 "DM Mono", monospace;
  letter-spacing: .12em;
}
.paypal-confirmation.success > span { color: #0e906b; }
.paypal-confirmation.error > span { color: var(--orange); }
.paypal-confirmation h1 {
  margin: 14px 0;
  font: 700 clamp(42px, 7vw, 72px)/.98 "DM Serif Display", serif;
}
.paypal-confirmation p { max-width: 580px; color: var(--muted); font-size: 18px; line-height: 1.65; }
.paypal-confirmation > a {
  margin-top: 22px;
  padding: 14px 16px;
  display: flex;
  justify-content: space-between;
  background: var(--green);
  color: white;
  font-weight: 850;
}
.paypal-checking-bar { height: 7px; margin-top: 28px; overflow: hidden; background: #e2dfd5; }
.paypal-checking-bar i { width: 45%; height: 100%; display: block; background: #0070ba; animation: paypal-check 1.2s ease-in-out infinite alternate; }
@keyframes paypal-check { to { transform: translateX(122%); } }

/* PageSpeed and Core Web Vitals guardrails.
   Responsive media keeps the home page light on narrow connections; below-fold
   containment avoids spending the first paint on sections outside the viewport. */
.hero-visual picture,
.newsroom-image picture,
.newsroom-image picture img {
  width: 100%;
  height: 100%;
  display: block;
}

.newsroom-side picture,
.newsroom-side picture img {
  width: 112px;
  height: 96px;
  display: block;
}

.newsroom-side picture {
  grid-row: 1;
}

.home-car-widget-lead > picture,
.home-car-widget-lead > picture img {
  width: 100%;
  height: 185px;
  display: block;
  object-fit: cover;
}

.calculator-wrap .calculator-intro > p,
.calculator-wrap .data-note,
.calculator-wrap .data-note > span,
.calculator-wrap .fine-print {
  color: #33445c;
}

.home-newsroom,
.home-quick-paths,
.home-which-car,
.calculator-wrap,
.faq-section,
.site-visual-band,
.sitewide-monetization,
.contextual-related,
.site-footer {
  content-visibility: auto;
  contain-intrinsic-size: auto 800px;
}

.consent {
  max-width: 620px;
  padding: 14px 16px;
}

.consent p span {
  color: #d5dde8;
  font-size: 11px;
}

.consent button {
  min-width: 112px;
  min-height: 44px;
  font-size: 11px;
}

@media (max-width: 900px) {
  .home-car-widget-lead > picture,
  .home-car-widget-lead > picture img {
    height: 100%;
    min-height: 220px;
  }
}

@media (max-width: 620px) {
  .newsroom-side picture,
  .newsroom-side picture img {
    width: 92px;
    height: 86px;
  }

  .footer-bottom nav {
    gap: 8px 14px;
  }

  .footer-bottom nav a,
  .footer-bottom .footer-privacy-choices {
    min-height: 44px;
    padding: 10px 2px;
    display: inline-flex;
    align-items: center;
  }

  .consent {
    left: 12px;
    right: 12px;
    bottom: 12px;
    padding: 13px;
    gap: 12px;
  }

  .consent p span {
    line-height: 1.45;
  }

  .consent div {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

/* United States editorial header palette */
:root {
  --usa-navy: #0a3161;
  --usa-navy-deep: #071f3f;
  --usa-red: #b31942;
  --usa-red-bright: #d2264f;
  --usa-white: #ffffff;
  --usa-blue-wash: #eef4fb;
}

.site-header {
  border-top: 0;
  border-bottom: 3px solid var(--usa-white);
  background:
    linear-gradient(to bottom, var(--usa-red) 0 5px, transparent 5px),
    linear-gradient(112deg, var(--usa-navy-deep), var(--usa-navy) 58%, #123f78);
  box-shadow:
    0 4px 0 var(--usa-red),
    0 12px 28px rgb(7 31 63 / 20%);
}

.site-header-inner {
  min-height: 84px;
  padding-top: 5px;
}

.site-header .brand {
  color: var(--usa-white);
  font-size: 18px;
  letter-spacing: -.045em;
}

.site-header .brand-mark {
  border: 2px solid rgb(255 255 255 / 82%);
  background: var(--usa-white);
  color: var(--usa-red);
  box-shadow: 5px 5px 0 var(--usa-red);
}

.site-navigation {
  gap: 7px;
}

.site-navigation > a,
.site-nav-trigger {
  min-height: 43px;
  padding: 11px 13px;
  color: var(--usa-white);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: -.015em;
}

.site-header .site-navigation > a {
  color: var(--usa-white);
}

.site-navigation > a:hover,
.site-nav-trigger:hover,
.site-nav-group.is-open > .site-nav-trigger,
.site-nav-trigger.is-current,
.site-navigation > a[aria-current="page"] {
  background: var(--usa-white);
  color: var(--usa-navy);
}

.site-navigation > a:first-child,
.site-header .site-navigation > a:first-child {
  background: var(--usa-red);
  color: var(--usa-white);
}

.site-navigation > a:first-child:hover,
.site-navigation > a:first-child[aria-current="page"] {
  background: var(--usa-white);
  color: var(--usa-red);
  box-shadow: inset 0 -3px 0 var(--usa-red);
}

.site-nav-trigger > span {
  color: #b9d4f1;
}

.site-nav-trigger:hover > span,
.site-nav-group.is-open > .site-nav-trigger > span,
.site-nav-trigger.is-current > span {
  color: var(--usa-red);
}

.site-nav-dropdown {
  border-color: rgb(10 49 97 / 20%);
  border-top-color: var(--usa-red);
  background: var(--usa-white);
  box-shadow: 0 22px 48px rgb(7 31 63 / 25%);
}

.site-header .site-navigation .site-nav-dropdown a {
  color: var(--usa-navy);
  font-size: 12px;
  font-weight: 760;
}

.site-header .site-navigation .site-nav-dropdown a:hover,
.site-header .site-navigation .site-nav-dropdown a.is-current {
  background: var(--usa-blue-wash);
  color: var(--usa-red);
  box-shadow: inset 4px 0 0 var(--usa-red);
}

.site-nav-dropdown a > span {
  color: var(--usa-red);
}

.site-navigation > a:focus-visible,
.site-nav-trigger:focus-visible,
.site-nav-dropdown a:focus-visible {
  outline-color: var(--usa-white);
}

.site-header .site-header-cta {
  border: 2px solid var(--usa-white);
  background: var(--usa-white);
  color: var(--usa-navy);
  box-shadow: 5px 6px 0 var(--usa-red);
  font-size: 11px;
}

.site-header .site-header-cta:hover {
  background: var(--usa-red);
  color: var(--usa-white);
}

.site-header .site-menu-button {
  color: var(--usa-white);
}

@media (max-width: 1100px) and (min-width: 901px) {
  .site-header-inner {
    gap: 14px;
  }

  .site-navigation {
    gap: 3px;
  }

  .site-navigation > a,
  .site-nav-trigger {
    padding-inline: 9px;
    font-size: 12px;
  }

  .site-header .brand {
    font-size: 15px;
  }
}

@media (max-width: 900px) {
  .site-header {
    position: sticky;
    top: 0;
  }

  .site-header-inner {
    min-height: 72px;
    flex-wrap: nowrap;
  }

  .site-header .site-navigation {
    width: 100%;
    max-height: none;
    padding: 12px 20px calc(24px + env(safe-area-inset-bottom));
    position: fixed;
    inset: 72px 0 0;
    z-index: 90;
    justify-content: flex-start;
    background: var(--usa-navy-deep);
    box-shadow: 0 24px 50px rgb(7 31 63 / 34%);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .site-navigation > a,
  .site-nav-trigger {
    width: 100%;
    flex: 0 0 auto;
    color: var(--usa-white);
    font-size: 13px;
  }

  .site-navigation > a:hover,
  .site-nav-trigger:hover,
  .site-nav-group.is-open > .site-nav-trigger,
  .site-nav-trigger.is-current,
  .site-navigation > a[aria-current="page"] {
    background: rgb(255 255 255 / 10%);
    color: var(--usa-white);
    box-shadow: inset 4px 0 0 var(--usa-red);
  }

  .site-navigation > a:first-child,
  .site-header .site-navigation > a:first-child {
    background: var(--usa-red);
    color: var(--usa-white);
  }

  .site-nav-dropdown,
  .site-nav-group.wide .site-nav-dropdown {
    grid-template-columns: 1fr;
    padding: 4px 0 10px 12px;
    background: rgb(255 255 255 / 6%);
  }

  .site-header .site-navigation .site-nav-dropdown a {
    color: var(--usa-white);
    font-size: 12px;
  }

  .site-header .site-navigation .site-nav-dropdown a:hover,
  .site-header .site-navigation .site-nav-dropdown a.is-current {
    background: rgb(255 255 255 / 9%);
    color: var(--usa-white);
  }
}

@media (max-width: 620px) {
  .site-header {
    border-top-width: 0;
  }

  .site-header-inner {
    min-height: 70px;
  }

  .site-header .site-navigation {
    inset: 70px 0 0;
    padding-inline: 15px;
  }

  .site-header .brand {
    font-size: 14px;
  }
}

/* Global discovery widget · United States editorial palette */
.site-discovery-widget {
  border: 1px solid rgb(10 49 97 / 22%);
  border-top: 4px solid var(--usa-red);
  background: rgb(255 255 255 / 97%);
  box-shadow:
    0 6px 0 rgb(179 25 66 / 12%),
    0 24px 64px rgb(7 31 63 / 24%);
}

.site-discovery-widget .top-five-widget-head {
  background:
    linear-gradient(90deg, rgb(255 255 255 / 8%) 0 1px, transparent 1px 12px),
    linear-gradient(112deg, var(--usa-navy-deep), var(--usa-navy) 68%, #174d89);
  background-size: 12px 100%, auto;
}

.site-discovery-widget .top-five-widget-brand > span:first-child {
  border: 2px solid var(--usa-white);
  background: var(--usa-red);
  color: var(--usa-white);
  box-shadow: 4px 4px 0 rgb(255 255 255 / 18%);
}

.site-discovery-widget .top-five-widget-brand small {
  color: #c7ddf4;
}

.site-discovery-widget .top-five-widget-toggle {
  border-color: rgb(255 255 255 / 42%);
  background: rgb(255 255 255 / 8%);
}

.site-discovery-widget .top-five-widget-toggle:hover,
.site-discovery-widget .top-five-widget-toggle:focus-visible {
  border-color: var(--usa-white);
  background: var(--usa-red);
}

.site-discovery-widget .top-five-widget-content {
  background:
    radial-gradient(circle at 100% 0, rgb(179 25 66 / 7%), transparent 35%),
    linear-gradient(180deg, var(--usa-white), var(--usa-blue-wash));
}

.site-discovery-widget .top-five-widget-title {
  border-bottom-color: rgb(10 49 97 / 16%);
}

.site-discovery-widget .top-five-widget-title small,
.site-discovery-widget li > a small {
  color: var(--usa-red);
}

.site-discovery-widget .top-five-widget-title strong,
.site-discovery-widget li > a b {
  color: var(--usa-navy-deep);
}

.site-discovery-widget li {
  border-bottom-color: rgb(10 49 97 / 12%);
}

.site-discovery-widget li > span:first-child {
  color: var(--usa-navy);
  font-weight: 850;
}

.site-discovery-widget li i {
  color: var(--usa-red);
}

.site-discovery-widget li a:hover b {
  color: var(--usa-red);
}

.site-discovery-widget .top-five-widget-actions button {
  color: var(--usa-navy);
}

.site-discovery-widget .top-five-widget-actions button:hover,
.site-discovery-widget .top-five-widget-actions a,
.site-discovery-widget .top-five-widget-actions a:hover {
  color: var(--usa-red);
}

/* Which Car visual refresh · real vehicles, real marks, current U.S. palette */
.cars-page,
.car-detail-page,
.brand-detail-page,
.car-comparison-page,
.car-compare-hub,
.car-reviews-page,
.car-review-detail,
.city-cars-page,
.car-media-credits-page {
  --car-navy: #0a3161;
  --car-navy-deep: #071f3f;
  --car-red: #b31942;
  --car-red-bright: #d2264f;
  --car-blue: #e8f0fa;
  --car-sky: #f4f8fd;
  --car-white: #ffffff;
  --car-line: #b8c8dc;
  background: var(--car-sky);
  color: var(--car-navy-deep);
  font-family: "Manrope", Arial, sans-serif;
}

.cars-page h1,
.cars-page h2,
.cars-page h3,
.car-detail-page h1,
.car-detail-page h2,
.brand-detail-page h1,
.brand-detail-page h2,
.car-comparison-page h1,
.car-comparison-page h2,
.car-compare-hub h1,
.car-compare-hub h2,
.car-reviews-page h1,
.car-reviews-page h2,
.car-review-detail h1,
.car-review-detail h2,
.city-cars-page h1,
.city-cars-page h2,
.car-media-credits-page h1,
.car-media-credits-page h2 {
  color: var(--car-navy-deep);
  font-family: "Newsreader", Georgia, serif;
}

.brand-logo {
  width: 112px;
  height: 56px;
  padding: 0;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid rgb(10 49 97 / 18%);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 5px 16px rgb(7 31 63 / 8%);
  line-height: 0;
  vertical-align: middle;
}

.brand-logo img {
  width: calc(100% - 20px);
  height: calc(100% - 14px);
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  object-fit: contain;
  object-position: 50% 50%;
  transform: translate(-50%, -50%);
}

.brand-logo-fallback {
  color: var(--car-navy);
  font: 900 13px/1 "Manrope", Arial, sans-serif;
  letter-spacing: -.04em;
  text-transform: uppercase;
}

.vehicle-photo {
  margin: 0;
  position: relative;
  overflow: hidden;
  background: #dce7f4;
}

.vehicle-photo > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .45s ease, filter .45s ease;
}

a:hover .vehicle-photo > img {
  transform: scale(1.035);
  filter: saturate(1.08) contrast(1.03);
}

.vehicle-photo figcaption {
  padding: 7px 9px;
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 3;
  border: 1px solid rgb(255 255 255 / 38%);
  border-radius: 999px;
  background: rgb(7 31 63 / 82%);
  backdrop-filter: blur(8px);
}

.vehicle-photo figcaption a {
  color: white !important;
  font: 750 8px/1 "DM Mono", monospace !important;
  letter-spacing: .03em;
}

.cars-page .section-number,
.car-detail-page .section-number,
.brand-detail-page .section-number,
.car-comparison-page .section-number,
.car-compare-hub .section-number,
.car-reviews-page .section-number,
.car-review-detail .section-number,
.city-cars-page .section-number,
.car-media-credits-page .section-number {
  color: var(--car-red);
}

.car-marketplace {
  background: var(--car-sky);
}

.car-market-nav {
  border-bottom-color: rgb(10 49 97 / 18%);
  background: rgb(255 255 255 / 96%);
}

.car-market-nav a {
  border-right-color: rgb(10 49 97 / 13%);
  color: var(--car-navy);
  font-size: 10px;
  letter-spacing: .035em;
}

.car-market-nav a:first-child {
  background: var(--car-red);
}

.car-market-hero {
  min-height: 650px;
  background: var(--car-navy-deep);
}

.car-market-hero::after {
  background:
    linear-gradient(90deg, rgb(7 31 63 / 96%) 0%, rgb(7 31 63 / 83%) 42%, rgb(7 31 63 / 17%) 76%),
    linear-gradient(0deg, rgb(7 31 63 / 72%), transparent 58%);
}

.car-market-hero > .car-market-hero-photo {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.car-market-hero-copy h1 {
  color: white;
}

.car-market-hero-copy p {
  color: #d8e5f4;
  font-size: 17px;
}

.car-quick-search {
  border-top: 6px solid var(--car-red);
  border-radius: 3px;
  background: rgb(255 255 255 / 97%);
  box-shadow: 13px 14px 0 rgb(179 25 66 / 65%);
}

.car-quick-search > div {
  border-color: var(--car-navy);
}

.car-quick-search > a {
  background: var(--car-red);
}

.car-trending-strip {
  border-bottom-color: var(--car-navy);
}

.car-trending-strip > div:last-child {
  gap: 9px;
}

.car-trending-strip > div:last-child a {
  min-height: 146px;
  border: 1px solid rgb(10 49 97 / 14%);
  border-radius: 10px;
  background: white;
  box-shadow: 0 8px 24px rgb(7 31 63 / 6%);
}

.car-trending-strip .brand-logo {
  width: 86px;
  height: 45px;
  margin-top: 12px;
}

.car-discovery {
  overflow: hidden;
  border-top-color: var(--car-navy);
  border-bottom-color: var(--car-navy);
  border-radius: 4px;
  box-shadow: 0 22px 60px rgb(7 31 63 / 10%);
}

.car-discovery-form {
  background: var(--car-blue);
}

.car-discovery-form select {
  border-color: var(--car-line);
  border-radius: 5px;
  font-family: "Manrope", Arial, sans-serif;
}

.car-discovery-results > a {
  min-height: 460px;
  padding: 14px 18px 20px;
  border-color: rgb(10 49 97 / 13%);
}

.car-discovery-results > a > .vehicle-photo {
  height: 145px;
  margin: -14px -18px 17px;
}

.car-discovery-results .brand-logo {
  width: 88px;
  height: 44px;
  margin-top: 12px;
}

.car-discovery-results > a:hover,
.car-budget-library > article > div > a:hover,
.review-card:hover .review-card-copy {
  background: #f7eaf0;
}

.car-budget-library > article {
  border-top-color: var(--car-navy);
}

.car-budget-library > article > div {
  gap: 10px;
}

.car-budget-library > article > div > a {
  min-height: 455px;
  padding: 14px 18px 20px;
  overflow: hidden;
  border: 1px solid rgb(10 49 97 / 14%);
  border-radius: 10px;
  background: white;
  box-shadow: 0 7px 20px rgb(7 31 63 / 5%);
}

.car-budget-library > article > div > a > .vehicle-photo {
  height: 165px;
  margin: -14px -18px 16px;
}

.car-budget-library .brand-logo {
  width: 88px;
  height: 44px;
}

.car-body-browser,
.review-method,
.car-compare-source-note {
  background: var(--car-navy-deep);
}

.car-body-grid i {
  border-color: #9fc3eb;
  color: white;
}

.car-body-grid a:hover {
  background: var(--car-navy);
}

.car-market-brands > div:last-child,
.car-compare-brand-map > div {
  gap: 10px;
  border: 0;
}

.car-market-brands > div:last-child > a,
.car-compare-brand-map > div > a {
  min-height: 196px;
  border: 1px solid rgb(10 49 97 / 16%);
  border-radius: 10px;
  background: white;
  box-shadow: 0 8px 24px rgb(7 31 63 / 7%);
}

.car-market-brands .brand-logo,
.car-compare-brand-map .brand-logo {
  width: 108px;
  height: 58px;
}

.car-review-showcase {
  background: var(--car-blue);
}

.car-review-showcase .shell > div:last-child {
  gap: 12px;
  border-top-color: var(--car-navy);
}

.car-review-showcase .shell > div:last-child > a {
  min-height: 520px;
  padding: 0 0 24px;
  overflow: hidden;
  border: 1px solid rgb(10 49 97 / 16%);
  border-radius: 10px;
  background: white;
}

.car-review-showcase .shell > div:last-child > a:first-child,
.car-review-showcase .shell > div:last-child > a:last-child {
  padding-right: 0;
  padding-left: 0;
}

.car-review-showcase a > div {
  height: 210px;
}

.car-review-showcase a > div .vehicle-photo {
  width: 100%;
  height: 100%;
}

.car-review-showcase a > small,
.car-review-showcase h3,
.car-review-showcase a > p,
.car-review-showcase a > b {
  margin-right: 20px;
  margin-left: 20px;
}

.car-review-showcase a > div span,
.review-lead-image > span,
.review-desk-hero > b {
  background: var(--car-red);
}

.car-popular-compare > div:last-child {
  gap: 10px;
  border-top-color: var(--car-navy);
}

.car-popular-compare > div:last-child > a {
  min-height: 330px;
  overflow: hidden;
  border: 1px solid rgb(10 49 97 / 15%);
  border-radius: 10px;
  background: white;
}

.car-popular-compare article .vehicle-photo {
  width: 100%;
  height: 105px;
  margin-bottom: 12px;
  border-radius: 7px;
}

.car-popular-compare article .brand-logo {
  width: 76px;
  height: 39px;
}

.car-popular-compare a > i,
.popular-car-comparisons i {
  background: var(--car-red);
}

.car-situation-row > div:last-child a {
  overflow: hidden;
}

.car-situation-row .vehicle-photo {
  height: 118px;
  margin: -18px -18px 14px;
}

.car-situation-row .brand-logo {
  width: 78px;
  height: 40px;
  margin: 8px 0;
}

.car-profile-hero {
  padding: 76px 0 84px;
  grid-template-columns: minmax(0, 1.05fr) minmax(310px, .85fr) minmax(290px, .58fr);
  gap: 34px;
  align-items: end;
}

.car-profile-hero .brand-logo {
  width: 126px;
  height: 64px;
  margin-top: 22px;
}

.car-profile-hero h1 {
  font-size: clamp(55px, 6.2vw, 94px);
}

.car-profile-hero > .vehicle-photo {
  min-height: 390px;
  border-radius: 13px 13px 3px 13px;
  box-shadow: 14px 15px 0 rgb(10 49 97 / 16%);
}

.car-profile-hero aside {
  border-top: 7px solid var(--car-red);
  border-radius: 3px;
  background: var(--car-navy-deep);
  box-shadow: 11px 12px 0 rgb(179 25 66 / 58%);
}

.car-profile-hero aside > span,
.review-method li::before,
.review-verdict span {
  color: #b9d7f8;
}

.car-profile-hero aside > div b {
  color: #ff5b7d;
}

.car-fit-score article i em,
.review-score-board article em {
  background: var(--car-red);
}

.car-detail-grid > aside,
.review-article-layout > aside {
  border-top: 6px solid var(--car-red);
  background: var(--car-blue);
}

.car-watch-box,
.review-who {
  border-color: var(--car-red);
  background: #f8e9ef;
}

.car-alternatives > div {
  gap: 10px;
}

.car-alternatives > div > a {
  min-height: 380px;
  padding: 0 18px 20px;
  overflow: hidden;
  border: 1px solid rgb(10 49 97 / 15%);
  border-radius: 10px;
  background: white;
}

.car-alternatives .vehicle-photo {
  height: 170px;
  margin: 0 -18px 15px;
}

.car-alternatives .brand-logo {
  width: 84px;
  height: 42px;
  margin-bottom: 12px;
}

.brand-detail-hero {
  padding: 70px 0;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 55px;
  align-items: end;
}

.brand-detail-hero .brand-logo {
  width: 150px;
  height: 78px;
  margin-top: 25px;
}

.brand-detail-hero > .vehicle-photo {
  min-height: 440px;
  border-radius: 14px 14px 4px 14px;
  box-shadow: 16px 17px 0 rgb(179 25 66 / 55%);
}

.brand-scorecard > div:last-child {
  gap: 11px;
}

.brand-scorecard > div:last-child > a {
  min-height: 455px;
  padding: 0 22px 22px;
  overflow: hidden;
  border: 1px solid rgb(10 49 97 / 15%);
  border-radius: 10px;
  background: white;
}

.brand-scorecard .vehicle-photo {
  height: 205px;
  margin: 0 -22px 20px;
}

.car-versus-board {
  gap: 0;
  overflow: hidden;
  border-top-color: var(--car-navy);
  border-bottom-color: var(--car-navy);
  border-radius: 5px;
  box-shadow: 0 20px 55px rgb(7 31 63 / 11%);
}

.car-versus-board > article {
  min-height: 535px;
  padding: 0 30px 30px;
  background: white;
}

.car-versus-board article > .vehicle-photo {
  width: calc(100% + 60px);
  height: 245px;
  margin: 0 -30px 22px;
}

.car-versus-board article .brand-logo {
  width: 105px;
  height: 53px;
  margin-top: 18px;
}

.car-versus-board > div {
  background: var(--car-red);
}

.multi-car-compare {
  border-top-color: var(--car-navy);
  box-shadow: 14px 16px 0 rgb(10 49 97 / 9%);
}

.multi-car-pickers {
  background: var(--car-blue);
}

.multi-car-pickers label {
  min-height: 245px;
  border-color: rgb(10 49 97 / 38%);
  border-radius: 8px;
}

.multi-car-pickers label > .vehicle-photo {
  height: 98px;
  margin: 12px 0 0;
  border-radius: 5px;
}

.multi-car-pickers select {
  margin-top: 10px;
  border-color: var(--car-line);
  border-radius: 5px;
}

.multi-car-add b {
  background: var(--car-red);
}

.multi-car-table .brand-logo {
  width: 78px;
  height: 39px;
  margin-bottom: 7px;
}

.popular-car-comparisons > div {
  gap: 10px;
  border: 0;
}

.popular-car-comparisons > div > a {
  min-height: 350px;
  overflow: hidden;
  border: 1px solid rgb(10 49 97 / 15%);
  border-radius: 10px;
  background: white !important;
  box-shadow: 0 7px 20px rgb(7 31 63 / 5%);
}

.compare-card-photos {
  height: 110px;
  margin: -22px -22px 18px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.compare-card-photos .vehicle-photo:first-child {
  border-right: 2px solid white;
}

.review-desk-hero,
.review-article-hero {
  border-top-color: var(--car-navy);
  background: var(--car-navy-deep);
}

.car-reviews-page .review-desk-hero h1,
.car-review-detail .review-article-hero h1 {
  color: #fff;
  text-shadow: 0 3px 24px rgb(0 0 0 / 42%);
}

.car-reviews-page .review-desk-hero p,
.car-review-detail .review-article-hero > .shell > p:not(.breadcrumbs) {
  color: #e2ebf6;
  text-shadow: 0 2px 12px rgb(0 0 0 / 34%);
}

.review-desk-hero::after,
.review-article-hero::after {
  background:
    linear-gradient(90deg, rgb(7 31 63 / 96%) 0%, rgb(7 31 63 / 78%) 47%, rgb(7 31 63 / 12%) 78%),
    linear-gradient(0deg, rgb(7 31 63 / 70%), transparent 62%);
}

.review-article-hero > .vehicle-photo {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.review-article-hero > .vehicle-photo figcaption {
  z-index: 4;
}

.review-article-hero .brand-logo {
  width: 126px;
  height: 64px;
  margin-top: 24px;
}

.review-lead {
  overflow: hidden;
  border-top-color: var(--car-navy);
  border-radius: 5px;
  box-shadow: 0 20px 55px rgb(7 31 63 / 10%);
}

.review-lead-image > .vehicle-photo {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.review-lead .brand-logo {
  width: 112px;
  height: 56px;
  margin-top: 25px;
}

.review-card-grid {
  gap: 12px;
  border-top-color: var(--car-navy);
}

.review-card {
  overflow: hidden;
  border: 1px solid rgb(10 49 97 / 15%);
  border-radius: 10px;
  background: white;
}

.review-card-visual {
  background: var(--car-blue);
}

.review-card-visual .vehicle-photo {
  width: 100%;
  height: 58%;
  position: absolute;
  inset: auto 0 0;
}

.review-card-visual .vehicle-photo img {
  height: 100%;
  opacity: .92;
  filter: saturate(1.04);
}

.review-card-visual .brand-logo {
  width: 96px;
  height: 49px;
  position: relative;
  z-index: 2;
}

.review-score-board > div {
  background: var(--car-red);
}

.review-verdict {
  border-left-color: var(--car-red);
  background: var(--car-navy-deep);
}

.related-reviews > div {
  gap: 12px;
  border-top-color: var(--car-navy);
}

.related-reviews a {
  min-height: 445px;
  padding: 0 24px 24px;
  overflow: hidden;
  border: 1px solid rgb(10 49 97 / 15%);
  border-radius: 10px;
  background: white;
}

.related-reviews .vehicle-photo {
  height: 190px;
  margin: 0 -24px 20px;
}

.related-reviews .brand-logo {
  width: 92px;
  height: 46px;
  margin-top: 18px;
}

.city-car-ranking > article {
  grid-template-columns: 54px minmax(190px, .48fr) minmax(0, 1.1fr) minmax(180px, .55fr) auto;
  gap: 24px;
  align-items: center;
  overflow: hidden;
  border-color: rgb(10 49 97 / 20%);
  background: white;
}

.city-car-ranking .vehicle-photo {
  height: 145px;
  border-radius: 7px;
}

.city-car-ranking .brand-logo {
  width: 84px;
  height: 42px;
  margin-bottom: 9px;
}

.car-credit-grid {
  padding: 20px 0 110px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}

.car-credit-grid article {
  overflow: hidden;
  border: 1px solid rgb(10 49 97 / 16%);
  border-radius: 11px;
  background: white;
  box-shadow: 0 8px 24px rgb(7 31 63 / 6%);
}

.car-credit-grid .vehicle-photo {
  height: 210px;
}

.car-credit-grid article > div {
  padding: 22px;
}

.car-credit-grid .brand-logo {
  width: 92px;
  height: 46px;
}

.car-credit-grid h2 {
  margin: 15px 0 8px;
  font-size: 28px;
  line-height: .98;
}

.car-credit-grid p,
.car-credit-grid small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.55;
}

.car-credit-grid small {
  display: block;
}

.car-credit-grid nav {
  margin-top: 18px;
  display: flex;
  gap: 8px;
}

.car-credit-grid nav a {
  padding: 8px 10px;
  border: 1px solid var(--car-line);
  border-radius: 5px;
  color: var(--car-navy);
  font-size: 9px;
  font-weight: 800;
}

@media (max-width: 1100px) {
  .car-profile-hero {
    grid-template-columns: 1fr 1fr;
  }

  .car-profile-hero > div:first-child {
    grid-column: 1 / -1;
  }

  .city-car-ranking > article {
    grid-template-columns: 48px minmax(180px, .5fr) minmax(0, 1fr);
  }

  .city-car-ranking > article > div:last-of-type,
  .city-car-ranking > article > a {
    grid-column: 3;
  }

  .car-credit-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 760px) {
  .brand-logo {
    width: 96px;
    height: 49px;
  }

  .car-market-hero {
    min-height: 780px;
  }

  .car-market-hero::after,
  .review-article-hero::after {
    background: linear-gradient(0deg, rgb(7 31 63 / 98%) 0%, rgb(7 31 63 / 72%) 76%, rgb(7 31 63 / 28%));
  }

  .car-trending-strip > div:last-child {
    grid-template-columns: repeat(2, 1fr);
  }

  .car-discovery-results {
    grid-template-columns: 1fr;
  }

  .car-discovery-results > a,
  .car-budget-library > article > div > a {
    min-height: 440px;
  }

  .car-profile-hero,
  .brand-detail-hero {
    grid-template-columns: 1fr;
  }

  .car-profile-hero > div:first-child {
    grid-column: auto;
  }

  .car-profile-hero > .vehicle-photo,
  .brand-detail-hero > .vehicle-photo {
    min-height: 300px;
  }

  .car-popular-compare > div:last-child {
    grid-template-columns: 1fr;
  }

  .car-versus-board > article {
    min-height: 500px;
  }

  .multi-car-pickers label {
    min-height: 220px;
  }

  .review-card {
    grid-template-columns: 1fr;
  }

  .review-card-visual {
    min-height: 285px;
  }

  .city-car-ranking > article {
    grid-template-columns: 44px 1fr;
  }

  .city-car-ranking .vehicle-photo {
    grid-column: 1 / -1;
    height: 210px;
  }

  .city-car-ranking > article > div,
  .city-car-ranking > article > div:last-of-type,
  .city-car-ranking > article > a {
    grid-column: 2;
  }

  .car-credit-grid {
    grid-template-columns: 1fr;
  }
}

/* Responsive widget hardening
   Keep large figures and compact card content inside their own column at every
   site breakpoint, including browser zoom and the 721–1100px tablet range. */
.car-profile-hero > *,
.home-car-widget > *,
.home-car-widget-picks > *,
.portal-pillar-grid > *,
.portal-pillar-grid nav > *,
.ai-calculator > *,
.project-calculator > *,
.room-cost-calculator > *,
.comparison-table > * {
  min-width: 0;
}

.car-profile-hero aside,
.ai-result,
.project-result,
.room-cost-result,
.car-calc-result {
  max-width: 100%;
  overflow: hidden;
  container-type: inline-size;
}

.money-range {
  max-width: 100%;
  display: flex !important;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: .04em;
  line-height: .9;
}

.money-range > span {
  max-width: 100%;
  white-space: nowrap;
}

.money-range > span + span::before {
  content: "–";
}

.car-profile-hero aside > strong.money-range {
  font-size: clamp(32px, 15cqi, 56px);
  letter-spacing: -.045em;
}

.ai-result > strong,
.project-result h2,
.room-cost-result > strong,
.car-calc-result h3 {
  max-width: 100%;
  overflow-wrap: anywhere;
  line-height: .95;
}

.ai-result > strong {
  font-size: clamp(30px, 11cqi, 52px);
}

.project-result h2 {
  font-size: clamp(31px, 11cqi, 62px);
}

.room-cost-result > strong {
  font-size: clamp(25px, 11cqi, 38px);
}

.car-calc-result h3 {
  font-size: clamp(34px, 10cqi, 68px);
}

.portal-pillar-grid nav a {
  min-width: 0;
  gap: .55rem;
}

.portal-pillar-grid nav a > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

@media (max-width: 900px) and (min-width: 721px) {
  .home-car-widget {
    grid-template-columns: 1fr;
  }

  .home-car-widget-lead {
    padding: 0 0 26px;
    grid-template-columns: minmax(250px, .8fr) minmax(0, 1.2fr);
    grid-template-rows: auto;
    border-right: 0;
    border-bottom: 1px solid var(--press-black);
  }

  .home-car-widget-lead > img {
    height: 100%;
    min-height: 220px;
  }

  .home-car-widget-lead > div {
    padding: 25px;
  }

  .home-car-widget-picks {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-car-widget-picks h3 {
    font-size: clamp(23px, 3.5vw, 29px);
    overflow-wrap: anywhere;
  }

  .home-car-widget-picks dl > div {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
  }

  .portal-pillar-grid nav {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .portal-hero > aside {
    width: 100%;
    overflow: hidden;
  }

  .portal-orbit:nth-child(1) { left: .25rem; }
  .portal-orbit:nth-child(2) { right: .25rem; }
  .portal-orbit:nth-child(3) { left: .25rem; }
  .portal-orbit:nth-child(4) { right: .25rem; }
}

/* Desktop readability
   The editorial layout previously used print-sized 8–11px copy in too many
   places. Keep tiny type for decorative labels only and give actual reading,
   data and action text a comfortable floor on larger screens. */
@media (min-width: 721px) {
  body {
    font-size: 17px;
  }

  .site-header .site-navigation a {
    font-size: 13px;
  }

  .site-header-cta {
    font-size: 12px;
  }

  main p:not(.reading-share-status) {
    font-size: clamp(16px, 1.15vw, 18px) !important;
    line-height: 1.72;
  }

  main article p,
  main aside p {
    font-size: 15px !important;
    line-height: 1.68;
  }

  main li {
    font-size: 15px !important;
    line-height: 1.62;
  }

  main :is(dt, dd) {
    font-size: 13px !important;
    line-height: 1.45;
  }

  main small {
    font-size: 11px !important;
    line-height: 1.45;
  }

  main :is(label, input, select, textarea, button) {
    font-size: 13px;
  }

  main .section-number {
    font-size: 11px;
    line-height: 1.4;
  }

  .review-article-layout > aside {
    padding: 38px;
  }

  .review-article-layout > aside > span {
    font-size: 11px;
  }

  .review-article-layout > aside > p {
    font-size: 16px !important;
    line-height: 1.72;
  }

  .review-article-layout aside dl > div {
    padding: 14px 0;
  }

  .review-article-layout aside dt,
  .review-article-layout aside dd {
    font-size: 14px !important;
  }

  .review-article-layout > aside > a {
    font-size: 14px;
    line-height: 1.45;
  }

  .review-pros-cons li {
    font-size: 14px !important;
  }

  .review-article-hero > .shell > div,
  .review-score-board > div span,
  .review-score-board article > span,
  .review-pros-cons span,
  .review-verdict span {
    font-size: 11px;
    line-height: 1.4;
  }

  .review-cost-grid span,
  .review-cost-grid small {
    font-size: 11px !important;
  }

  .related-reviews a > small,
  .related-reviews a > b {
    font-size: 11px;
    line-height: 1.4;
  }

  .site-footer :is(p, a) {
    font-size: 13px;
    line-height: 1.6;
  }

  .footer-feature p,
  .footer-brand p,
  .footer-coverage p {
    font-size: 14px;
  }
}

/* Car marketplace readability
   Car cards were still inheriting the original 7–9px editorial labels.
   These sizes remain compact, but are now readable at both narrow and wide
   desktop widths without weakening the model name or cost hierarchy. */
.car-market-nav a {
  font-size: 12px;
}

.car-quick-search > span,
.car-trending-strip > div:first-child span,
.car-budget-library > article > header span {
  font-size: 12px;
}

.car-quick-search > div b {
  font-size: 14px;
}

.car-quick-search > div span,
.car-trending-strip > div:first-child a,
.car-quick-search > a {
  font-size: 13px;
}

.car-trending-strip small {
  font-size: 11px !important;
}

.car-discovery-form label,
.car-discovery-form > small {
  font-size: 15px !important;
  line-height: 1.6;
}

.car-discovery-form select {
  min-height: 48px;
  font-size: 17px;
}

.car-discovery-form > .section-number {
  font-size: 14px;
  line-height: 1.45;
}

.car-discovery-form > small {
  max-width: 42rem;
  margin-top: 28px;
  color: #405675;
  text-transform: none;
}

.car-discovery-results > div:first-child span,
.car-discovery-results > a > small {
  font-size: 12px !important;
}

.car-discovery-results > a > p,
.car-budget-library > article > header p,
.car-budget-library a > p {
  font-size: 15px !important;
  line-height: 1.58;
}

.car-discovery-results dt,
.car-budget-library dt {
  font-size: 12px !important;
  line-height: 1.45;
}

.car-discovery-results dd,
.car-budget-library dd {
  font-size: 17px !important;
  line-height: 1.3;
}

.car-discovery-results > a > b,
.car-budget-library a > b {
  font-size: 14px;
  line-height: 1.45;
}

.car-budget-library a i {
  font-size: 13px;
}

.car-budget-library dl > div,
.car-discovery-results dl > div {
  padding: 10px 0;
  align-items: baseline;
  gap: 14px;
}

.car-body-browser .section-heading > a,
.car-review-showcase .section-heading > a,
.car-popular-compare .section-heading > a,
.car-update-desk .section-heading > a {
  font-size: 13px;
}

.car-body-grid span {
  font-size: 14px;
  line-height: 1.6;
}

.car-power-links span {
  font-size: 11px;
}

.car-power-links a {
  font-size: 13px;
}

.car-review-showcase a > div span,
.car-review-showcase a > small {
  font-size: 11px !important;
}

.car-review-showcase a > p {
  font-size: 15px !important;
  line-height: 1.58;
}

.car-review-showcase a > b {
  font-size: 14px;
}

/* Car ownership calculator readability and contrast */
.car-calculator-section .section-number {
  font-size: 13px;
  line-height: 1.45;
}

.car-calculator-section .section-heading p {
  color: #d8e5e0;
  font-size: 18px !important;
  line-height: 1.7;
}

.car-calc-inputs label {
  font-size: 14px;
  line-height: 1.45;
}

.car-calc-inputs label strong {
  color: #ffffff;
  font-size: 14px;
}

.car-calc-inputs select {
  min-height: 52px;
  font-size: 16px;
}

.car-calc-result > span {
  color: #b9d7f8;
  font-size: 13px;
  line-height: 1.45;
}

.cars-page .car-calc-result h3 {
  color: #ffffff;
  font-size: clamp(44px, 9cqi, 76px);
  line-height: .95;
  text-shadow: 0 2px 18px rgb(0 0 0 / 28%);
}

.car-calc-result > p {
  color: #dce7e3;
  font-size: 17px !important;
  line-height: 1.6;
}

.car-cost-bars b {
  color: #f4f8f6;
  font-size: 14px;
  line-height: 1.4;
}

.car-cost-bars strong {
  color: #ffffff;
  font-size: 16px;
  line-height: 1.35;
}

.car-calc-result > small {
  color: #c2d0ca;
  font-size: 13px !important;
  line-height: 1.65;
}

.car-cost-bars > div {
  grid-template-columns: minmax(155px, .48fr) minmax(120px, 1fr) minmax(125px, auto);
  gap: 16px;
}

@media (max-width: 720px) {
  .car-cost-bars > div {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .cars-page .car-calc-result h3 {
    font-size: clamp(38px, 12.5cqi, 56px);
  }
}

/* Sitewide responsive tuning
   Keep the editorial scale expressive without letting fixed display sizes,
   form controls, media, or data rows push beyond a phone or small tablet. */
html {
  max-width: 100%;
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  max-width: 100%;
  overflow-x: clip;
}

main :is(section, article, aside, header, footer, nav, div, form, figure) {
  min-width: 0;
}

main :is(img, video, canvas) {
  max-width: 100%;
}

main :is(input, select, textarea, button) {
  max-width: 100%;
}

main :is(h1, h2, h3, p, li, dt, dd, a, b, strong, span) {
  overflow-wrap: break-word;
}

main pre,
main .table-scroll,
main .comparison-table,
main .car-versus-table {
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
}

@media (max-width: 820px) {
  .shell {
    width: min(100% - 32px, 1180px);
  }

  main h1 {
    max-width: 100%;
    font-size: clamp(42px, 7.4vw, 56px) !important;
    line-height: .92 !important;
    letter-spacing: -.045em !important;
  }

  .car-discovery {
    margin: 48px 0 68px;
    scroll-margin-top: 96px;
  }

  .car-discovery-form {
    padding: 22px 20px;
  }

  .car-discovery-form h2 {
    margin: 8px 0 18px;
    font-size: clamp(31px, 4.7vw, 35px);
    line-height: .98;
  }

  .car-discovery-form label,
  .car-discovery-form > small {
    font-size: 12px !important;
  }

  .car-discovery-form select {
    min-height: 42px;
    padding: 8px 10px;
    font-size: 15px;
  }

  .car-discovery-form > .section-number {
    font-size: 11px;
  }

  .car-discovery-form > small {
    margin-top: 18px;
    line-height: 1.5;
  }
}

@media (max-width: 620px) {
  .shell {
    width: min(100% - 24px, 1180px);
  }

  body {
    font-size: 16px;
  }

  main h1 {
    font-size: clamp(38px, 11.5vw, 46px) !important;
    line-height: .94 !important;
  }

  .section-heading h2,
  .contextual-related > header h2,
  .faq-intro h2,
  .related-reviews h2 {
    font-size: clamp(32px, 9.5vw, 40px);
    line-height: .98;
  }

  .car-discovery-form {
    padding: 20px 17px;
  }

  .car-discovery-form h2 {
    font-size: clamp(29px, 8.4vw, 32px);
  }

  .car-discovery-form label,
  .car-discovery-form > small {
    font-size: 11px !important;
  }

  .car-discovery-form select {
    min-height: 41px;
    font-size: 14px;
  }

  .car-discovery-form > .section-number {
    font-size: 10px;
  }

  .car-discovery-results > a,
  .car-budget-library > article > div > a {
    min-width: min(82vw, 310px);
  }

  .contextual-related-grid h3 {
    font-size: clamp(21px, 7vw, 27px);
  }

  .contextual-related-thumb {
    width: 96px;
    height: 60px;
    flex-basis: 96px;
  }
}

@media (max-width: 380px) {
  .shell {
    width: min(100% - 20px, 1180px);
  }

  main h1 {
    font-size: clamp(36px, 11.5vw, 42px) !important;
  }

  .car-discovery-form h2 {
    font-size: 28px;
  }

  .car-discovery-form {
    padding-inline: 16px;
  }
}

/* Natural-language 10-year home maintenance planner */
.maintenance-planner-page {
  min-height: 100vh;
  background:
    linear-gradient(180deg, #edf4fc 0 520px, var(--cream) 520px 100%);
}

.maintenance-planner-hero {
  padding: 76px 0 46px;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 28px 70px;
  align-items: end;
}

.maintenance-planner-hero > span { grid-column: 1 / -1; color: var(--press-red); }

.maintenance-planner-hero h1 {
  margin: 0;
  max-width: 850px;
  color: #08264d;
  font-size: clamp(52px, 6.2vw, 88px);
  line-height: .9;
  letter-spacing: -.055em;
}

.maintenance-planner-hero p {
  margin: 0;
  color: #536b87;
  font-size: 17px;
  line-height: 1.65;
}

.maintenance-planner-tool { padding-bottom: 85px; }
.maintenance-planner-tool .smart-site-search { margin-top: 0; }

.maintenance-planner-copy {
  padding: 78px 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #183f70;
}

.maintenance-planner-copy article {
  min-height: 260px;
  padding: 28px;
  border-right: 1px solid var(--line);
  background: #fff;
}

.maintenance-planner-copy article:first-child { border-left: 1px solid var(--line); }
.maintenance-planner-copy article > span { color: var(--press-red); font: 900 10px var(--font-mono), monospace; }
.maintenance-planner-copy h2 { margin: 42px 0 12px; color: #08264d; font-size: 30px; line-height: 1; }
.maintenance-planner-copy p { margin: 0; color: #62738a; font-size: 13px; line-height: 1.7; }

.maintenance-planner-note {
  margin-bottom: 100px;
  padding: 38px;
  display: grid;
  grid-template-columns: .9fr 1.1fr auto;
  gap: 42px;
  align-items: center;
  background: #08264d;
  color: #fff;
  box-shadow: 14px 16px 0 #b31942;
}

.maintenance-planner-note span { color: #ff5b74; font: 900 10px var(--font-mono), monospace; }
.maintenance-planner-note h2 { margin: 8px 0 0; color: #fff; font-size: 32px; line-height: 1.02; }
.maintenance-planner-note p { margin: 0; color: #c2cee0; font-size: 13px; line-height: 1.65; }
.maintenance-planner-note a { padding: 13px 16px; border: 1px solid rgb(255 255 255 / 30%); color: #fff; font-size: 12px; font-weight: 900; white-space: nowrap; }

@media (max-width: 900px) {
  .maintenance-planner-hero { grid-template-columns: 1fr; }
  .maintenance-planner-copy { grid-template-columns: 1fr; }
  .maintenance-planner-copy article,
  .maintenance-planner-copy article:first-child { min-height: auto; border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .maintenance-planner-copy h2 { margin-top: 25px; }
  .maintenance-planner-note { grid-template-columns: 1fr; gap: 22px; }
  .maintenance-planner-note a { width: fit-content; }
}

@media (max-width: 620px) {
  .maintenance-planner-page { background: linear-gradient(180deg, #edf4fc 0 440px, var(--cream) 440px 100%); }
  .maintenance-planner-hero { padding: 54px 0 34px; gap: 22px; }
  .maintenance-planner-hero h1 { font-size: clamp(40px, 12vw, 50px) !important; }
  .maintenance-planner-hero p { font-size: 15px; }
  .maintenance-planner-tool { padding-bottom: 58px; }
  .maintenance-planner-copy { padding: 55px 0; }
  .maintenance-planner-copy article { padding: 22px; }
  .maintenance-planner-note { margin-bottom: 72px; padding: 27px 21px; box-shadow: 8px 9px 0 #b31942; }
}

/* Roof Cost topic cluster */
.roof-cost-hub,
.roof-topic-page {
  min-height: 100vh;
  background: #f7f4ea;
  color: #08264d;
}

.roof-cost-hero,
.roof-topic-hero {
  padding: 78px 0 72px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(310px, .8fr);
  gap: 42px 76px;
  align-items: end;
}

.roof-cost-hero h1,
.roof-topic-hero h1 {
  margin: 16px 0 24px;
  max-width: 900px;
  color: #08264d;
  font-size: clamp(58px, 6.3vw, 96px);
  line-height: .88;
  letter-spacing: -.06em;
}

.roof-cost-hero > div > p,
.roof-topic-hero > div > p {
  max-width: 760px;
  margin: 0;
  color: #536b87;
  font-size: 18px;
  line-height: 1.65;
}

.roof-cost-hero-actions {
  margin-top: 32px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.roof-cost-hero-actions a {
  padding: 14px 18px;
  border: 1px solid #0b3e75;
  color: #0b3e75;
  font-size: 13px;
  font-weight: 900;
}

.roof-cost-hero-actions a:first-child {
  background: #b31942;
  border-color: #b31942;
  color: #fff;
}

.roof-cost-hero aside,
.roof-topic-hero aside {
  padding: 32px;
  background: #08264d;
  border-top: 8px solid #b31942;
  color: #fff;
  box-shadow: 12px 14px 0 #d9e5f3;
}

.roof-cost-hero aside small,
.roof-topic-hero aside small {
  color: #ff7d91;
  font: 900 11px var(--font-mono), monospace;
  letter-spacing: .08em;
}

.roof-cost-hero aside > strong {
  display: block;
  margin: 22px 0 8px;
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(42px, 4.6vw, 66px);
  line-height: .92;
  letter-spacing: -.045em;
}

.roof-cost-hero aside > span {
  display: block;
  color: #c3d2e6;
  font-size: 14px;
  line-height: 1.55;
}

.roof-cost-hero aside dl { margin: 30px 0 0; }
.roof-cost-hero aside dl div { padding: 11px 0; display: flex; justify-content: space-between; gap: 15px; border-top: 1px solid rgb(255 255 255 / 18%); }
.roof-cost-hero aside dt { color: #b9c9dc; font-size: 12px; }
.roof-cost-hero aside dd { margin: 0; font-size: 12px; font-weight: 900; }

.roof-section-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr);
  gap: 18px 60px;
  align-items: end;
}

.roof-section-intro > span { grid-column: 1 / -1; }
.roof-section-intro h2 { margin: 0; color: #08264d; font-size: clamp(42px, 5vw, 70px); line-height: .92; letter-spacing: -.045em; }
.roof-section-intro p { margin: 0; color: #5d7088; font-size: 15px; line-height: 1.65; }

.roof-cost-path { padding: 82px 0 95px; border-top: 2px solid #0b3e75; }
.roof-topic-grid { margin-top: 48px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 1px solid #0b3e75; }
.roof-topic-grid > a { min-height: 310px; padding: 30px; display: grid; grid-template-columns: 48px 1fr; align-content: start; border-right: 1px solid #0b3e75; border-bottom: 1px solid #0b3e75; background: #fff; }
.roof-topic-grid > a:nth-child(2n) { border-right: 0; }
.roof-topic-grid > a:nth-last-child(-n + 2) { border-bottom: 0; }
.roof-topic-grid > a > span { grid-row: 1 / 5; color: #b31942; font: 900 12px var(--font-mono), monospace; }
.roof-topic-grid small { color: #b31942; font: 900 10px var(--font-mono), monospace; text-transform: uppercase; }
.roof-topic-grid h2 { margin: 35px 0 12px; color: #08264d; font-size: clamp(30px, 3vw, 45px); line-height: .95; }
.roof-topic-grid p { margin: 0; max-width: 620px; color: #63758c; font-size: 14px; line-height: 1.65; }
.roof-topic-grid b { margin-top: 30px; align-self: end; color: #0b3e75; font-size: 13px; }
.roof-topic-grid > a:hover { background: #e9f1fb; }

.roof-cost-workflow { padding: 90px 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.roof-cost-workflow article { min-height: 310px; padding: 28px; border-left: 1px solid #0b3e75; background: #e9f1fb; }
.roof-cost-workflow article:last-child { border-right: 1px solid #0b3e75; }
.roof-cost-workflow article > span { color: #b31942; font: 900 11px var(--font-mono), monospace; }
.roof-cost-workflow h2 { margin: 55px 0 15px; color: #08264d; font-size: 27px; line-height: 1; }
.roof-cost-workflow p { margin: 0; color: #5e7189; font-size: 13px; line-height: 1.65; }
.roof-cost-workflow a { margin-top: 32px; display: inline-block; color: #0b3e75; font-size: 12px; font-weight: 900; }

.roof-cost-note { margin-bottom: 100px; padding: 44px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 55px; align-items: end; background: #08264d; color: #fff; box-shadow: 14px 16px 0 #b31942; }
.roof-cost-note h2 { margin: 12px 0 0; color: #fff; font-size: clamp(35px, 4vw, 55px); line-height: .94; }
.roof-cost-note p { margin: 0; color: #c4d1e3; font-size: 16px; line-height: 1.7; }

.roof-topic-hero { padding-top: 48px; }
.roof-topic-hero .breadcrumbs { grid-column: 1 / -1; margin: 0; color: #60748c; font-size: 12px; }
.roof-topic-hero aside p { margin: 20px 0 28px; color: #d7e1ee; font-size: 16px; line-height: 1.65; }
.roof-topic-hero aside a { display: inline-block; padding: 12px 15px; border: 1px solid rgb(255 255 255 / 38%); color: #fff; font-size: 12px; font-weight: 900; }

.roof-signal-section { padding: 75px 0 90px; border-top: 2px solid #0b3e75; }
.roof-signal-grid { margin-top: 42px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid #0b3e75; }
.roof-signal-grid article { min-height: 235px; padding: 25px; background: #fff; border-right: 1px solid #0b3e75; }
.roof-signal-grid article:last-child { border-right: 0; }
.roof-signal-grid article > span { color: #b31942; font: 900 11px var(--font-mono), monospace; }
.roof-signal-grid h2 { margin: 48px 0 12px; color: #08264d; font-size: 24px; }
.roof-signal-grid p { margin: 0; color: #61748b; font-size: 13px; line-height: 1.65; }

.roof-decision-sections { padding: 12px 0 90px; }
.roof-decision-sections article { padding: 40px 0; display: grid; grid-template-columns: 55px minmax(0, 1fr) minmax(270px, .65fr); gap: 35px; border-top: 1px solid #7e92aa; }
.roof-decision-sections article:last-child { border-bottom: 1px solid #7e92aa; }
.roof-decision-sections article > span { color: #b31942; font: 900 12px var(--font-mono), monospace; }
.roof-decision-sections h2 { margin: 0 0 13px; color: #08264d; font-size: clamp(30px, 3.2vw, 44px); line-height: .98; }
.roof-decision-sections p { margin: 0; color: #60748c; font-size: 15px; line-height: 1.7; }
.roof-decision-sections ul { margin: 0; padding: 0; list-style: none; }
.roof-decision-sections li { padding: 10px 0 10px 20px; position: relative; border-bottom: 1px solid #c3cedb; color: #304e70; font-size: 13px; line-height: 1.45; }
.roof-decision-sections li::before { content: "→"; position: absolute; left: 0; color: #b31942; font-weight: 900; }

.roof-local-library { padding: 80px 0; border-top: 2px solid #0b3e75; }
.roof-state-grid,
.roof-city-grid { margin-top: 45px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid #0b3e75; border-left: 1px solid #0b3e75; }
.roof-state-grid a,
.roof-city-grid a { min-height: 145px; padding: 22px; display: flex; flex-direction: column; border-right: 1px solid #0b3e75; border-bottom: 1px solid #0b3e75; background: #fff; }
.roof-state-grid small,
.roof-city-grid small { color: #b31942; font: 900 10px var(--font-mono), monospace; }
.roof-state-grid b,
.roof-city-grid b { margin: 24px 0; color: #08264d; font-size: 20px; line-height: 1.05; }
.roof-state-grid span,
.roof-city-grid span { margin-top: auto; color: #0b3e75; font-size: 11px; font-weight: 900; }
.roof-state-grid a:hover,
.roof-city-grid a:hover { background: #e9f1fb; }

.roof-topic-faq,
.roof-topic-sources { padding: 85px 0; display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: 70px; border-top: 2px solid #0b3e75; }
.roof-topic-faq h2,
.roof-topic-sources h2 { margin: 14px 0; color: #08264d; font-size: clamp(38px, 4.5vw, 60px); line-height: .93; }
.roof-topic-faq > div:first-child p,
.roof-topic-sources > div:first-child p { color: #60748c; font-size: 14px; line-height: 1.7; }
.roof-topic-faq details { border-top: 1px solid #8396ac; }
.roof-topic-faq details:last-child { border-bottom: 1px solid #8396ac; }
.roof-topic-faq summary { padding: 22px 42px 22px 0; position: relative; color: #08264d; font-size: 17px; font-weight: 900; cursor: pointer; }
.roof-topic-faq summary::after { content: "+"; position: absolute; right: 10px; color: #b31942; font-size: 22px; }
.roof-topic-faq details[open] summary::after { content: "−"; }
.roof-topic-faq details p { margin: 0 0 22px; max-width: 720px; color: #5e7289; font-size: 14px; line-height: 1.7; }
.roof-topic-sources ul { margin: 0; padding: 0; list-style: none; }
.roof-topic-sources li { padding: 18px 0; border-top: 1px solid #8396ac; }
.roof-topic-sources li:last-child { border-bottom: 1px solid #8396ac; }
.roof-topic-sources a { color: #0b3e75; font-size: 14px; font-weight: 900; }
.roof-topic-sources small { margin-top: 7px; display: block; color: #64768b; font-size: 12px; line-height: 1.5; }

.roof-related-guides { padding: 85px 0 110px; }
.roof-related-guides > div:last-child { margin-top: 42px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid #0b3e75; }
.roof-related-guides a { min-height: 195px; padding: 24px; display: flex; flex-direction: column; border-right: 1px solid #0b3e75; background: #fff; }
.roof-related-guides a:last-child { border-right: 0; }
.roof-related-guides small { color: #b31942; font: 900 10px var(--font-mono), monospace; text-transform: uppercase; }
.roof-related-guides b { margin: 34px 0; color: #08264d; font-size: 23px; line-height: 1.05; }
.roof-related-guides a span { margin-top: auto; color: #0b3e75; font-size: 11px; font-weight: 900; }

.roof-local-cluster,
.roof-calculator-cluster { margin-top: 70px; margin-bottom: 70px; padding: 34px; display: grid; grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr); gap: 45px; background: #e9f1fb; border-top: 6px solid #b31942; }
.roof-local-cluster h2,
.roof-calculator-cluster h2 { margin: 12px 0; color: #08264d; font-size: 34px; line-height: .98; }
.roof-local-cluster p,
.roof-calculator-cluster p { margin: 0; color: #60748c; font-size: 13px; line-height: 1.6; }
.roof-local-cluster nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.roof-local-cluster nav a { padding: 13px 0; display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px solid #a9b8c9; color: #0b3e75; font-size: 12px; font-weight: 900; }
.roof-local-cluster nav a:nth-child(odd) { margin-right: 22px; }
.roof-calculator-cluster { align-items: center; }
.roof-calculator-cluster > a { justify-self: end; padding: 14px 18px; background: #08264d; color: #fff; font-size: 13px; font-weight: 900; }

@media (max-width: 920px) {
  .roof-cost-hero,
  .roof-topic-hero,
  .roof-section-intro,
  .roof-cost-note,
  .roof-topic-faq,
  .roof-topic-sources,
  .roof-local-cluster,
  .roof-calculator-cluster { grid-template-columns: 1fr; }
  .roof-cost-workflow,
  .roof-signal-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .roof-cost-workflow article:nth-child(3),
  .roof-signal-grid article:nth-child(3) { border-left: 1px solid #0b3e75; }
  .roof-signal-grid article:nth-child(2) { border-right: 0; }
  .roof-signal-grid article:nth-child(-n + 2) { border-bottom: 1px solid #0b3e75; }
  .roof-decision-sections article { grid-template-columns: 45px 1fr; }
  .roof-decision-sections ul { grid-column: 2; }
  .roof-state-grid,
  .roof-city-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .roof-related-guides > div:last-child { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .roof-related-guides a:nth-child(2) { border-right: 0; }
  .roof-related-guides a:nth-child(-n + 2) { border-bottom: 1px solid #0b3e75; }
  .roof-calculator-cluster > a { justify-self: start; }
}

@media (max-width: 620px) {
  .roof-cost-hero,
  .roof-topic-hero { padding: 48px 0 55px; gap: 30px; }
  .roof-cost-hero h1,
  .roof-topic-hero h1 { font-size: clamp(42px, 12vw, 52px) !important; }
  .roof-cost-hero > div > p,
  .roof-topic-hero > div > p { font-size: 15px; }
  .roof-cost-hero aside,
  .roof-topic-hero aside { padding: 25px 20px; box-shadow: 7px 8px 0 #d9e5f3; }
  .roof-cost-path,
  .roof-signal-section,
  .roof-local-library,
  .roof-topic-faq,
  .roof-topic-sources,
  .roof-related-guides { padding: 58px 0; }
  .roof-topic-grid,
  .roof-cost-workflow,
  .roof-signal-grid,
  .roof-state-grid,
  .roof-city-grid,
  .roof-related-guides > div:last-child { grid-template-columns: 1fr; }
  .roof-topic-grid > a,
  .roof-topic-grid > a:nth-child(2n),
  .roof-topic-grid > a:nth-last-child(-n + 2),
  .roof-cost-workflow article,
  .roof-signal-grid article,
  .roof-signal-grid article:nth-child(2),
  .roof-signal-grid article:nth-child(3),
  .roof-related-guides a,
  .roof-related-guides a:nth-child(2),
  .roof-related-guides a:nth-child(-n + 2) { min-height: auto; border-right: 0; border-bottom: 1px solid #0b3e75; }
  .roof-topic-grid > a { padding: 24px 20px; grid-template-columns: 36px 1fr; }
  .roof-topic-grid h2 { margin-top: 24px; }
  .roof-cost-workflow article { padding: 24px 20px; border-right: 1px solid #0b3e75; }
  .roof-cost-workflow h2 { margin-top: 30px; }
  .roof-cost-note { margin-bottom: 70px; padding: 28px 21px; gap: 25px; box-shadow: 8px 9px 0 #b31942; }
  .roof-decision-sections { padding-bottom: 58px; }
  .roof-decision-sections article { padding: 30px 0; grid-template-columns: 30px 1fr; gap: 18px; }
  .roof-decision-sections ul { grid-column: 1 / -1; padding-left: 48px; }
  .roof-state-grid b,
  .roof-city-grid b { font-size: 18px; }
  .roof-related-guides a { min-height: 160px; }
  .roof-local-cluster,
  .roof-calculator-cluster { margin-block: 55px; padding: 25px 20px; gap: 25px; }
  .roof-local-cluster nav { grid-template-columns: 1fr; }
  .roof-local-cluster nav a:nth-child(odd) { margin-right: 0; }
}

/* Standard authority sections for every calculator */
.calculator-average-cost {
  margin-top: 82px;
  padding: 38px 0 78px;
  display: grid;
  grid-template-columns: minmax(320px, 1.25fr) repeat(3, minmax(150px, .55fr));
  border-top: 2px solid #0b3e75;
}

.calculator-average-cost > div {
  padding: 10px 50px 0 0;
}

.calculator-average-cost > div h2 {
  margin: 16px 0 18px;
  max-width: 590px;
  color: #08264d;
  font-size: clamp(38px, 4.1vw, 58px);
  line-height: .92;
  letter-spacing: -.045em;
}

.calculator-average-cost > div p {
  margin: 0;
  max-width: 640px;
  color: #60738a;
  font-size: 15px;
  line-height: 1.65;
}

.calculator-average-cost > div > small {
  margin-top: 25px;
  display: block;
  color: #7a899a;
  font: 900 10px var(--font-mono), monospace;
  text-transform: uppercase;
}

.calculator-average-cost > article {
  min-width: 0;
  padding: 27px 19px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  border-left: 1px solid #0b3e75;
  background: #fff;
}

.calculator-average-cost > article:last-child { border-right: 1px solid #0b3e75; }
.calculator-average-cost > article.featured { background: #e8f1fb; box-shadow: inset 0 7px #b31942; }
.calculator-average-cost article small { margin-bottom: auto; color: #b31942; font: 900 10px var(--font-mono), monospace; }
.calculator-average-cost article strong { margin: 50px 0 10px; display: block; overflow-wrap: anywhere; color: #08264d; font-family: var(--font-display), Georgia, serif; font-size: clamp(30px, 3.3vw, 49px); line-height: .9; letter-spacing: -.045em; }
.calculator-average-cost article span { color: #65788f; font-size: 11px; line-height: 1.45; }

.calculator-cost-anatomy,
.calculator-local-costs {
  padding: 85px 0;
  border-top: 1px solid #8da0b5;
}

.calculator-cost-anatomy .section-heading,
.calculator-local-costs .section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .55fr);
  gap: 55px;
  align-items: end;
}

.calculator-cost-anatomy .section-heading h2,
.calculator-local-costs .section-heading h2 {
  margin: 14px 0 0;
  max-width: 790px;
  color: #08264d;
  font-size: clamp(40px, 4.6vw, 64px);
  line-height: .92;
}

.calculator-cost-anatomy .section-heading > p,
.calculator-local-costs .section-heading > p {
  margin: 0;
  color: #60738a;
  font-size: 14px;
  line-height: 1.65;
}

.calculator-cost-cards {
  margin-top: 46px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid #0b3e75;
}

.calculator-cost-cards article {
  min-height: 300px;
  padding: 28px;
  border-right: 1px solid #0b3e75;
  background: #fff;
}

.calculator-cost-cards article:last-child { border-right: 0; }
.calculator-cost-cards article > span { color: #b31942; font: 900 11px var(--font-mono), monospace; }
.calculator-cost-cards article > strong { margin: 58px 0 18px; display: block; color: #08264d; font-family: var(--font-display), Georgia, serif; font-size: clamp(48px, 5vw, 70px); line-height: .9; }
.calculator-cost-cards article > div { height: 8px; overflow: hidden; background: #dfe7f0; }
.calculator-cost-cards article > div i { height: 100%; display: block; background: linear-gradient(90deg, #b31942, #0b3e75); }
.calculator-cost-cards article p { margin: 22px 0 0; color: #62758c; font-size: 13px; line-height: 1.65; }

.calculator-time-roi {
  padding: 85px 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #8da0b5;
}

.calculator-time-roi article {
  min-height: 390px;
  padding: 36px;
  border: 1px solid #0b3e75;
  background: #e8f1fb;
}

.calculator-time-roi article + article {
  border-left: 0;
  background: #08264d;
  color: #fff;
}

.calculator-time-roi article + article .section-number { color: #ff7188; }
.calculator-time-roi h2 { margin: 60px 0 18px; max-width: 620px; color: #08264d; font-size: clamp(36px, 4vw, 56px); line-height: .93; }
.calculator-time-roi article + article h2 { color: #fff; }
.calculator-time-roi p { margin: 0; max-width: 650px; color: #60738a; font-size: 15px; line-height: 1.7; }
.calculator-time-roi article + article p { color: #c0cee0; }
.calculator-time-roi ol,
.calculator-time-roi ul { margin: 30px 0 0; padding: 0; list-style: none; }
.calculator-time-roi li { padding: 11px 0 11px 22px; position: relative; border-top: 1px solid rgb(11 62 117 / 25%); color: #304e70; font-size: 13px; }
.calculator-time-roi article + article li { border-color: rgb(255 255 255 / 18%); color: #fff; }
.calculator-time-roi li::before { content: "→"; position: absolute; left: 0; color: #b31942; font-weight: 900; }
.calculator-time-roi article + article li::before { color: #ff7188; }

.calculator-state-cost-grid,
.calculator-city-cost-grid {
  margin-top: 44px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid #0b3e75;
  border-left: 1px solid #0b3e75;
}

.calculator-city-cost-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.calculator-state-cost-grid a,
.calculator-city-cost-grid a {
  min-width: 0;
  min-height: 225px;
  padding: 22px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid #0b3e75;
  border-bottom: 1px solid #0b3e75;
  background: #fff;
}

.calculator-state-cost-grid small,
.calculator-city-cost-grid small { color: #b31942; font: 900 10px var(--font-mono), monospace; }
.calculator-state-cost-grid b,
.calculator-city-cost-grid b { margin: 27px 0 13px; color: #08264d; font-size: 18px; line-height: 1.08; overflow-wrap: anywhere; }
.calculator-state-cost-grid strong,
.calculator-city-cost-grid strong { color: #0b3e75; font-family: var(--font-display), Georgia, serif; font-size: 29px; line-height: 1; }
.calculator-state-cost-grid span,
.calculator-city-cost-grid span { margin-top: auto; padding-top: 28px; color: #0b3e75; font-size: 10px; font-weight: 900; }
.calculator-state-cost-grid a:hover,
.calculator-city-cost-grid a:hover { background: #e8f1fb; }
.calculator-city-heading { margin-top: 90px; }

.calculator-saving-tips {
  padding: 85px 0;
  display: grid;
  grid-template-columns: minmax(280px, .75fr) minmax(0, 1.25fr);
  gap: 70px;
  border-top: 1px solid #8da0b5;
}

.calculator-saving-tips h2 {
  margin: 15px 0 18px;
  color: #08264d;
  font-size: clamp(40px, 4.7vw, 64px);
  line-height: .92;
}

.calculator-saving-tips > div > p { margin: 0; color: #60738a; font-size: 14px; line-height: 1.7; }
.calculator-saving-tips ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid #8194aa; }
.calculator-saving-tips li { padding: 24px 0; display: grid; grid-template-columns: 48px 1fr; gap: 16px; border-bottom: 1px solid #8194aa; }
.calculator-saving-tips li span { color: #b31942; font: 900 11px var(--font-mono), monospace; }
.calculator-saving-tips li p { margin: 0; color: #304e70; font-size: 15px; line-height: 1.55; }

.calculator-method-sources {
  padding: 78px 0;
  display: grid;
  grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
  gap: 70px;
  border-top: 1px solid #8da0b5;
}

.calculator-method-sources h2 {
  margin: 14px 0;
  color: #08264d;
  font-size: clamp(38px, 4.3vw, 58px);
  line-height: .93;
}

.calculator-method-sources > div p { color: #60738a; font-size: 14px; line-height: 1.65; }
.calculator-method-sources ul { margin: 0; padding: 0; list-style: none; }
.calculator-method-sources li { padding: 17px 0; border-top: 1px solid #8295aa; }
.calculator-method-sources li:last-child { border-bottom: 1px solid #8295aa; }
.calculator-method-sources a { color: #0b3e75; font-size: 13px; font-weight: 900; }
.calculator-method-sources small { margin-top: 6px; display: block; color: #65778d; font-size: 11px; line-height: 1.55; }

.calculator-authority-sections + .sitewide-ad-slot {
  margin-top: 0;
}

/* Trust center and accountable authorship */
.trust-page {
  background:
    linear-gradient(180deg, rgb(232 241 251 / 72%) 0, rgb(251 250 246 / 0%) 420px),
    #fbfaf6;
}

.trust-page .content-hero {
  padding-top: clamp(64px, 8vw, 112px);
  padding-bottom: clamp(55px, 7vw, 92px);
}

.trust-page .content-hero h1 {
  max-width: 1050px;
  margin: 14px 0 22px;
  color: #08264d;
  font-size: clamp(52px, 8vw, 108px);
  line-height: .88;
  letter-spacing: -.06em;
}

.trust-page .content-hero > p {
  max-width: 860px;
  margin: 0;
  color: #526a85;
  font-size: clamp(18px, 2vw, 25px);
  line-height: 1.55;
}

.trust-directory {
  margin-bottom: 70px;
  padding-top: 20px;
  padding-bottom: 20px;
  display: grid;
  grid-template-columns: minmax(240px, .65fr) minmax(0, 1.35fr);
  gap: 38px;
  border-top: 5px solid #b31942;
  border-bottom: 1px solid #0b3e75;
  background: #fff;
}

.trust-directory > div:first-child {
  padding: 10px 22px 10px 0;
}

.trust-directory > div:first-child b {
  margin-top: 12px;
  display: block;
  max-width: 360px;
  color: #08264d;
  font-family: var(--font-display), Georgia, serif;
  font-size: 25px;
  line-height: 1.04;
}

.trust-directory > div:last-child {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #b8c6d5;
  border-left: 1px solid #b8c6d5;
}

.trust-directory a {
  min-width: 0;
  padding: 15px 16px;
  display: grid;
  gap: 5px;
  border-right: 1px solid #b8c6d5;
  border-bottom: 1px solid #b8c6d5;
  background: #f7faff;
}

.trust-directory a:hover {
  background: #e8f1fb;
  box-shadow: inset 0 4px #b31942;
}

.trust-directory a span {
  color: #08264d;
  font-size: 13px;
  font-weight: 900;
}

.trust-directory a small {
  color: #687b91;
  font-size: 10px;
  line-height: 1.35;
}

.trust-directory.compact {
  margin-top: 0;
}

.editorial-principles,
.method-steps,
.review-policy-grid,
.author-responsibilities {
  margin-bottom: 80px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #0b3e75;
  border-left: 1px solid #0b3e75;
}

.method-steps {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.review-policy-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.editorial-principles article,
.method-steps article,
.review-policy-grid article,
.author-responsibilities article {
  min-width: 0;
  min-height: 320px;
  padding: 28px;
  border-right: 1px solid #0b3e75;
  border-bottom: 1px solid #0b3e75;
  background: #fff;
}

.editorial-principles article:nth-child(even),
.method-steps article:nth-child(even),
.review-policy-grid article:nth-child(even),
.author-responsibilities article:nth-child(even) {
  background: #e8f1fb;
}

.editorial-principles article > span,
.method-steps article > span,
.review-policy-grid article > span,
.author-responsibilities article > span,
.data-source-registry article > span {
  color: #b31942;
  font: 900 11px var(--font-mono), monospace;
}

.editorial-principles h2,
.method-steps h2,
.review-policy-grid h2,
.author-responsibilities h2 {
  margin: 65px 0 16px;
  color: #08264d;
  font-size: clamp(27px, 2.6vw, 39px);
  line-height: .97;
}

.editorial-principles p,
.method-steps p,
.review-policy-grid p,
.author-responsibilities li {
  color: #536b85;
  font-size: 14px;
  line-height: 1.68;
}

.author-responsibilities ul {
  margin: 0;
  padding-left: 18px;
}

.author-responsibilities li + li {
  margin-top: 9px;
}

.author-index {
  padding-bottom: 90px;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
  gap: 28px;
}

.author-index > a,
.author-index > aside {
  min-width: 0;
  padding: 38px;
  border: 1px solid #0b3e75;
}

.author-index > a {
  display: grid;
  grid-template-columns: 118px 1fr;
  gap: 30px;
  align-items: start;
  background: #fff;
}

.author-index > aside {
  background: #08264d;
  color: #fff;
}

.author-index h2 {
  margin: 16px 0;
  color: inherit;
  font-size: clamp(34px, 4vw, 56px);
  line-height: .95;
}

.author-index > a h2 { color: #08264d; }
.author-index p { color: #66798e; font-size: 15px; line-height: 1.7; }
.author-index > aside p { color: #c6d2e1; }
.author-index b { color: #0b3e75; font-size: 13px; }

.author-monogram {
  width: 118px;
  height: 118px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #0b3e75 0 68%, #b31942 68%);
  color: #fff;
  font-family: var(--font-display), Georgia, serif;
  font-size: 72px;
  line-height: 1;
}

.author-profile-hero {
  padding-top: clamp(64px, 8vw, 110px);
  padding-bottom: clamp(52px, 7vw, 90px);
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) minmax(220px, .35fr);
  gap: 42px;
  align-items: center;
}

.author-profile-hero > .author-monogram {
  width: 150px;
  height: 150px;
  font-size: 90px;
}

.author-profile-hero h1 {
  margin: 14px 0 18px;
  color: #08264d;
  font-size: clamp(48px, 7vw, 95px);
  line-height: .88;
}

.author-profile-hero p {
  max-width: 760px;
  color: #566e89;
  font-size: 19px;
  line-height: 1.55;
}

.author-profile-hero aside {
  padding: 26px;
  display: grid;
  gap: 12px;
  border-left: 5px solid #b31942;
  background: #fff;
}

.author-profile-hero aside small,
.author-profile-hero aside span {
  color: #60738a;
  font-size: 10px;
  line-height: 1.5;
}

.author-profile-hero aside strong {
  color: #08264d;
  font-size: 24px;
}

.author-profile-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
}

.author-profile-links a {
  color: #0b3e75;
  font-size: 13px;
  font-weight: 900;
}

.author-disclosure,
.source-limitations,
.about-mission,
.review-triggers {
  margin-bottom: 80px;
  padding: 46px;
  display: grid;
  grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr);
  gap: 65px;
  border-top: 7px solid #b31942;
  background: #08264d;
  color: #fff;
}

.author-disclosure h2,
.source-limitations h2,
.review-triggers h2 {
  margin: 14px 0 0;
  color: #fff;
  font-size: clamp(38px, 4.3vw, 61px);
  line-height: .92;
}

.author-disclosure p,
.source-limitations p {
  margin: 0;
  color: #c4d1e1;
  font-size: 17px;
  line-height: 1.75;
}

.review-triggers {
  background: #fff;
  color: #08264d;
}

.review-triggers h2 { color: #08264d; }
.review-triggers ul { margin: 0; padding: 0; list-style: none; }
.review-triggers li { padding: 15px 0; display: grid; grid-template-columns: 130px 1fr; gap: 20px; border-top: 1px solid #9baabc; }
.review-triggers li:last-child { border-bottom: 1px solid #9baabc; }
.review-triggers li b { color: #b31942; font-size: 13px; text-transform: uppercase; }
.review-triggers li span { color: #526a85; font-size: 14px; line-height: 1.55; }

.source-priority {
  margin-bottom: 60px;
  display: grid;
  grid-template-columns: minmax(280px, .65fr) minmax(0, 1.35fr);
  gap: 60px;
  align-items: start;
}

.source-priority h2 {
  margin: 15px 0 0;
  color: #08264d;
  font-size: clamp(39px, 4.5vw, 63px);
  line-height: .92;
}

.source-priority ol {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid #0b3e75;
}

.source-priority li {
  padding: 18px 0;
  display: grid;
  grid-template-columns: 42px 210px 1fr;
  gap: 16px;
  border-bottom: 1px solid #9aabbd;
}

.source-priority li > span { color: #b31942; font: 900 11px var(--font-mono), monospace; }
.source-priority li b { color: #08264d; font-size: 14px; }
.source-priority li p { margin: 0; color: #60738a; font-size: 13px; line-height: 1.5; }

.data-source-registry {
  margin-bottom: 80px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #0b3e75;
  border-left: 1px solid #0b3e75;
}

.data-source-registry article {
  min-width: 0;
  padding: 32px;
  border-right: 1px solid #0b3e75;
  border-bottom: 1px solid #0b3e75;
  background: #fff;
}

.data-source-registry article:nth-child(2),
.data-source-registry article:nth-child(3) {
  background: #e8f1fb;
}

.data-source-registry h2 {
  margin: 32px 0 25px;
  color: #08264d;
  font-size: clamp(31px, 3.3vw, 49px);
  line-height: .94;
}

.data-source-registry ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.data-source-registry li {
  padding: 15px 0;
  border-top: 1px solid #a5b4c4;
}

.data-source-registry a {
  color: #0b3e75;
  font-size: 13px;
  font-weight: 900;
}

.data-source-registry small {
  margin-top: 6px;
  display: block;
  color: #64768b;
  font-size: 11px;
  line-height: 1.45;
}

.source-limitations {
  background: #0b3e75;
}

.source-limitations .formula {
  margin-top: 28px;
  background: #fff;
  color: #08264d;
}

.about-mission {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  background: #fff;
  color: #08264d;
}

.about-mission article {
  min-width: 0;
  min-height: 360px;
  padding: 33px;
  border-right: 1px solid #0b3e75;
}

.about-mission article:last-child { border-right: 0; }
.about-mission article:nth-child(2) { background: #e8f1fb; }
.about-mission article > span { color: #b31942; font: 900 11px var(--font-mono), monospace; }
.about-mission h2 { margin: 60px 0 18px; color: #08264d; font-size: clamp(31px, 3vw, 45px); line-height: .95; }
.about-mission p { color: #5a7088; font-size: 14px; line-height: 1.7; }

.contact-policy-note {
  padding: 18px;
  border-left: 4px solid #b31942;
  background: #e8f1fb;
}

.trust-byline,
.calculator-trust-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 22px;
  align-items: center;
  color: #61758c;
  font-size: 11px;
  font-weight: 800;
}

.trust-byline {
  margin-top: 25px;
  padding-top: 18px;
  border-top: 1px solid #a1b1c3;
}

.trust-byline a,
.calculator-trust-byline a {
  color: #0b3e75;
  font-weight: 900;
}

.calculator-trust-byline {
  padding-top: 20px;
  padding-bottom: 20px;
  border-top: 5px solid #b31942;
  border-bottom: 1px solid #8da0b5;
}

.calculator-trust-byline a:last-child {
  margin-left: auto;
}

.home-article-heading > div > a,
.cms-article header > small a,
.review-article-hero > .shell > div a {
  color: inherit;
  font-weight: 900;
  text-decoration: underline;
  text-decoration-color: rgb(179 25 66 / 45%);
  text-underline-offset: 3px;
}

.footer-grid {
  grid-template-columns: 1.3fr repeat(5, minmax(105px, .7fr));
  gap: 28px;
}

@media (max-width: 980px) {
  .calculator-average-cost { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .calculator-average-cost > div { grid-column: 1 / -1; padding: 0 0 38px; }
  .calculator-average-cost > article:first-of-type { border-left: 1px solid #0b3e75; }
  .calculator-cost-anatomy .section-heading,
  .calculator-local-costs .section-heading,
  .calculator-saving-tips,
  .calculator-method-sources { grid-template-columns: 1fr; }
  .calculator-state-cost-grid,
  .calculator-city-cost-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .trust-directory { grid-template-columns: 1fr; gap: 20px; }
  .method-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .author-profile-hero { grid-template-columns: 120px minmax(0, 1fr); }
  .author-profile-hero > .author-monogram { width: 120px; height: 120px; font-size: 72px; }
  .author-profile-hero aside { grid-column: 2; }
  .source-priority,
  .author-disclosure,
  .source-limitations,
  .review-triggers { grid-template-columns: 1fr; gap: 35px; }
  .footer-grid { grid-template-columns: 1.2fr repeat(2, minmax(0, 1fr)); }
  .footer-brand { grid-row: 1 / 3; }
}

@media (max-width: 760px) {
  .calculator-cost-cards { grid-template-columns: 1fr; }
  .calculator-cost-cards article { min-height: auto; border-right: 0; border-bottom: 1px solid #0b3e75; }
  .calculator-cost-cards article:last-child { border-bottom: 0; }
  .calculator-cost-cards article > strong { margin-top: 35px; }
  .calculator-time-roi { grid-template-columns: 1fr; }
  .calculator-time-roi article { min-height: auto; }
  .calculator-time-roi article + article { border-left: 1px solid #0b3e75; border-top: 0; }
  .calculator-state-cost-grid,
  .calculator-city-cost-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trust-directory > div:last-child,
  .editorial-principles,
  .review-policy-grid,
  .author-responsibilities,
  .about-mission { grid-template-columns: 1fr; }
  .author-index { grid-template-columns: 1fr; }
  .about-mission article { min-height: auto; border-right: 0; border-bottom: 1px solid #0b3e75; }
  .about-mission article:last-child { border-bottom: 0; }
  .data-source-registry { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-brand { grid-row: auto; grid-column: 1 / -1; }
}

@media (max-width: 520px) {
  .calculator-average-cost {
    margin-top: 58px;
    padding-bottom: 58px;
    grid-template-columns: 1fr;
  }
  .calculator-average-cost > article,
  .calculator-average-cost > article:last-child { min-height: 170px; border-right: 1px solid #0b3e75; border-bottom: 1px solid #0b3e75; }
  .calculator-average-cost article strong { margin-top: 34px; font-size: 38px; }
  .calculator-cost-anatomy,
  .calculator-local-costs,
  .calculator-time-roi,
  .calculator-saving-tips,
  .calculator-method-sources { padding: 58px 0; }
  .calculator-cost-anatomy .section-heading,
  .calculator-local-costs .section-heading { gap: 25px; }
  .calculator-cost-cards { margin-top: 32px; }
  .calculator-cost-cards article,
  .calculator-time-roi article { padding: 24px 20px; }
  .calculator-time-roi h2 { margin-top: 38px; }
  .calculator-state-cost-grid,
  .calculator-city-cost-grid { grid-template-columns: 1fr; }
  .calculator-state-cost-grid a,
  .calculator-city-cost-grid a { min-height: 185px; }
  .calculator-city-heading { margin-top: 62px; }
  .calculator-saving-tips { gap: 38px; }
  .calculator-saving-tips li { grid-template-columns: 34px 1fr; }
  .calculator-method-sources { gap: 38px; }
  .trust-page .content-hero h1 { font-size: clamp(48px, 15vw, 68px); }
  .trust-directory { padding-top: 14px; padding-bottom: 14px; }
  .trust-directory > div:last-child,
  .method-steps { grid-template-columns: 1fr; }
  .editorial-principles article,
  .method-steps article,
  .review-policy-grid article,
  .author-responsibilities article { min-height: auto; padding: 24px 20px; }
  .editorial-principles h2,
  .method-steps h2,
  .review-policy-grid h2,
  .author-responsibilities h2 { margin-top: 38px; }
  .author-index > a { padding: 26px 20px; grid-template-columns: 76px 1fr; gap: 18px; }
  .author-index > aside { padding: 26px 20px; }
  .author-monogram { width: 76px; height: 76px; font-size: 47px; }
  .author-profile-hero { grid-template-columns: 1fr; gap: 25px; }
  .author-profile-hero aside { grid-column: auto; }
  .author-profile-hero > .author-monogram { width: 100px; height: 100px; font-size: 60px; }
  .author-disclosure,
  .source-limitations,
  .review-triggers { padding: 30px 22px; }
  .source-priority li { grid-template-columns: 28px 1fr; }
  .source-priority li p { grid-column: 2; }
  .data-source-registry article { padding: 26px 20px; }
  .calculator-trust-byline { align-items: flex-start; flex-direction: column; }
  .calculator-trust-byline a:last-child { margin-left: 0; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 20px; }
}
