/* Presentation only. No content removed, hidden, shortened or reordered.
   Original appearance: ?design=baseline. Production files untouched. */
@font-face { font-family: 'AP Review'; src: url('/assets/ap-design-20261016/InterVariable.woff2') format('woff2'); font-style: normal; font-weight: 100 900; font-display: swap; }
@font-face { font-family: 'AP Review'; src: url('/assets/ap-design-20261016/InterVariable-Italic.woff2') format('woff2'); font-style: italic; font-weight: 100 900; font-display: swap; }
html:not([data-design-baseline]) {
  --review-revision: 3;
  --review-font: 'AP Review',system-ui,sans-serif;
  --review-sticky-h: 0px;
  --review-cookie-h: 0px;
  --review-panel: color-mix(in srgb,var(--c-navy-deep) 60%,var(--c-navy-elevated));
  --review-panel-hover: color-mix(in srgb,var(--c-navy-deep) 35%,var(--c-navy-elevated));
  --review-line: color-mix(in srgb,var(--c-white) 13%,transparent);
  --review-copper-line: color-mix(in srgb,var(--c-bronze-light) 42%,transparent);
  --review-call-top: color-mix(in srgb,var(--c-primary) 70%,var(--c-primary-deep));
  --review-call-bottom: color-mix(in srgb,var(--c-primary) 30%,var(--c-primary-deep));
  --review-secondary-top: color-mix(in srgb,var(--c-copper) 65%,var(--c-copper-lo));
  --review-secondary-bottom: var(--c-copper-lo);
  --review-shadow: 0 4px 12px color-mix(in srgb,var(--c-navy-blackest) 35%,transparent);
  --review-edge: inset 0 1px 0 color-mix(in srgb,var(--c-white) 15%,transparent);
  --review-thick: inset 0 -2px 0 color-mix(in srgb,var(--c-navy-blackest) 25%,transparent);
  --bg-card: var(--review-panel);
  --bg-card-hover: var(--review-panel-hover);
  --btn-edge: var(--review-edge);
  --btn-thick: var(--review-thick);
  --btn-lift: var(--review-shadow);
  --btn-lift-hi: var(--review-shadow);
  --btn-radius: var(--radius);

  & body { font-family: var(--review-font); line-height: 1.7; padding-bottom: calc(var(--review-sticky-h) + var(--review-cookie-h)); }
  & :is(button,input,select,textarea) { font-family: var(--review-font); }
  & main :is(h1,h2,h3,h4,h5,h6) { font-family: var(--review-font) !important; color: var(--c-white); text-wrap: pretty; }
  & main h1 { font-weight: 800; letter-spacing: -0.04em; line-height: 1.1; }
  & main h2 { font-weight: 720; letter-spacing: -0.03em; line-height: 1.24; }
  & main h3 { font-weight: 650; letter-spacing: -0.018em; line-height: 1.35; }
  & main p :is(b,strong) { font-weight: 700; }
  & main a:not([class]):hover { color: var(--c-white); }
  & :is(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid var(--c-cyan); outline-offset: 4px; }
  & :is(input,select,textarea) { border-color: var(--review-line); }
  & :is(input,select,textarea):focus { border-color: var(--c-cyan); }

  /* Consistent, tactile controls without neon halos or excessive bevels. */
  & :is(.btn,.hero__zip-submit,.cost-calc__btn,.tighten-btn,.cookie-banner__btn) { border-radius: var(--radius); font-weight: 700; letter-spacing: 0; min-height: 46px; box-shadow: var(--review-edge),var(--review-thick),var(--review-shadow); text-shadow: none; }
  & :is(.btn-primary,.hero__megacta--call,.sticky-cta__call) { color: var(--c-white); background: linear-gradient(180deg,var(--review-call-top),var(--review-call-bottom)); box-shadow: var(--review-edge),var(--review-thick),var(--review-shadow); }
  & :is(.btn-primary,.hero__megacta--call):hover { color: var(--c-white); filter: none; box-shadow: var(--review-edge),var(--review-thick),var(--review-shadow); }
  & :is(.btn-ghost,.btn-ghost-on-dark,.btn-secondary,.btn-ghost-cyan,.btn-tool,.btn-bronze,.hero__zip-submit,.cost-calc__btn,.tighten-btn,.cookie-banner__btn,.svc-hero__secondary a,.sticky-cta__form) { color: var(--c-white); background: linear-gradient(180deg,var(--review-secondary-top),var(--review-secondary-bottom)); border-color: var(--review-copper-line); box-shadow: var(--review-edge),var(--review-thick),var(--review-shadow); font-weight: 700; text-shadow: none; }
  & :is(.btn-ghost,.btn-ghost-on-dark,.btn-secondary,.btn-ghost-cyan,.btn-tool,.hero__zip-submit,.cost-calc__btn,.tighten-btn,.cookie-banner__btn,.svc-hero__secondary a):hover { color: var(--c-white); background: linear-gradient(180deg,var(--review-secondary-top),var(--review-secondary-bottom)); filter: none; box-shadow: var(--review-edge),var(--review-thick),var(--review-shadow); }
  /* The legacy cyan declaration is !important, so match it explicitly. */
  & .svc-hero__secondary a.svc-hero__secondary-cyan { color: var(--c-white) !important; }

  /* Preserve the intentional copper-top / red-scrolled header behavior. */
  & body:has(.hero__megacta--call) .site-header:not(.site-header--alert) :is(.btn-primary,.site-header__mobile-call) { background: linear-gradient(180deg,var(--review-secondary-top),var(--review-secondary-bottom)); color: var(--c-white); box-shadow: var(--review-edge),var(--review-thick),var(--review-shadow); }
  & .site-header.site-header--alert :is(.btn-primary,.site-header__mobile-call),
  & body:not(:has(.hero__megacta--call)) .site-header :is(.btn-primary,.site-header__mobile-call) { background: linear-gradient(180deg,var(--review-call-top),var(--review-call-bottom)); color: var(--c-white); box-shadow: var(--review-edge),var(--review-thick),var(--review-shadow); }
  & .site-header { background: var(--c-navy-deep); border-bottom-color: var(--review-copper-line); }
  & .site-header__row { padding-block: var(--sp-3); }
  & .site-header__brand-mark, & .site-header__brand-mark img { width: 56px; height: 56px; }
  & .site-header__brand-name b { font-weight: 800; letter-spacing: -0.025em; }
  & .site-header__brand-name small { letter-spacing: 0.12em; }
  & .site-header__nav a { font-size: 0.9rem; font-weight: 650; }
  & .site-header__nav::before { opacity: 0.6; box-shadow: none; }
  & .site-header__nav a::after { opacity: 0.6; box-shadow: none; }
  & .site-header .btn { font-size: 0.9rem; padding-inline: var(--sp-5); box-shadow: var(--review-edge),var(--review-shadow); }
  & .site-header__hamburger { box-shadow: none; border-color: var(--review-copper-line); }

  /* Complete homepage content, better text measure and tighter grouping. */
  & .hero { background: var(--c-navy-deep); padding-block: var(--sp-8); border-bottom-width: 1px; border-bottom-color: var(--review-copper-line); }
  & .hero::after { background: linear-gradient(90deg,color-mix(in srgb,var(--c-navy-blackest) 87%,transparent) 0%,color-mix(in srgb,var(--c-navy-blackest) 78%,transparent) 36%,color-mix(in srgb,var(--c-navy-blackest) 30%,transparent) 72%,color-mix(in srgb,var(--c-navy-deep) 48%,transparent) 100%); }
  & .hero::before { height: 1px; background: var(--review-copper-line); }
  & .hero__inner { align-items: center; gap: var(--sp-7); }
  & .hero h1 { font-size: clamp(2.125rem,3.55vw,3.5rem); margin-bottom: var(--sp-5); text-wrap: pretty; }
  & .hero p.lead { font-size: 1.125rem; line-height: 1.7; margin-bottom: 0; max-width: 51ch; }
  & .hero__eyebrow { font-size: 0.72rem; letter-spacing: 0.075em; padding: var(--sp-2) var(--sp-3); margin-bottom: var(--sp-5); background: color-mix(in srgb,var(--c-primary-deep) 22%,transparent); border-color: color-mix(in srgb,var(--c-primary) 30%,transparent); }
  & .hero__eyebrow .dot { box-shadow: none; animation: none; }
  & .hero__megacta { padding: var(--sp-5); border-radius: var(--radius-md); border-color: color-mix(in srgb,var(--c-white) 12%,transparent); box-shadow: var(--review-edge),var(--review-thick),var(--review-shadow); margin-bottom: var(--sp-4); }
  & .hero__phone--pulse { animation: none; }
  & .hero__megacta-eyebrow { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.065em; line-height: 1.5; color: var(--c-white); }
  & .hero__megacta-dot { box-shadow: none; animation: none; }
  & .hero__megacta-headline { font-size: clamp(1.65rem,2.5vw,2.15rem); letter-spacing: -0.02em; line-height: 1.25; gap: var(--sp-3); }
  & .hero__megacta-sub { font-size: 0.875rem; line-height: 1.5; font-weight: 500; color: var(--c-white); }
  & .hero__zip { padding: var(--sp-5); background: var(--c-navy-deep); border: 1px solid var(--review-line); border-left: 2px solid var(--c-cyan); border-radius: var(--radius-md); box-shadow: none; }
  & .hero__zip-label { font-size: 0.72rem; line-height: 1.5; letter-spacing: 0.07em; margin-bottom: var(--sp-3); text-shadow: none; }
  & .hero__zip-label::before { box-shadow: none; }
  & .hero__zip-input { min-height: 48px; border-radius: var(--radius); padding-inline: var(--sp-4); }
  & .hero__zip-submit { padding-inline: var(--sp-5); font-size: 0.9rem; }
  & .hero__zip-foot { font-size: 0.8125rem; line-height: 1.65; margin-top: var(--sp-3); }
  & .hero__geo { margin-top: var(--sp-4); font-size: 0.875rem; }
  & .trust-strip { background: var(--c-navy-deep); border-bottom-color: var(--review-line); }
  & .trust-strip__row { gap: var(--sp-4); }
  & .trust-strip__row :is(b,strong) { font-weight: 650; }
  & .stat-band { background: var(--c-navy-blackest); padding-block: var(--sp-5); border-color: var(--review-line); }
  & .stat-band__num { font-size: 1.8rem; font-weight: 700; letter-spacing: -0.025em; }
  & .stat-band__label { font-size: 0.72rem; line-height: 1.6; color: var(--text-muted); letter-spacing: 0.09em; }

  /* Reduce empty padding only; do not hide, truncate, collapse or reorder. */
  & main > :is(.section-alert,.section-dark,.section-darkest,.section-mid,.blueprint,.photo-band) { padding-block: var(--sp-9) !important; }
  & .section-alert { background: var(--c-navy-deep); }
  & .section-eyebrow { font-size: 0.72rem; letter-spacing: 0.09em; line-height: 1.5; }
  & .section-eyebrow.is-alert { color: var(--c-white); background: var(--c-primary-deep); box-shadow: none; }
  & .pipe-divider { height: 32px; opacity: 0.72; }
  & .pipe-divider.is-bleed { margin-block: -16px; }
  & .pipe-divider svg { filter: none; }
  & :is(.card,.triage__panel,.process-card) { background: var(--review-panel); border-color: var(--review-line); border-radius: var(--radius-md); box-shadow: none; }
  & .card { padding: var(--sp-5); transition: background 140ms ease,border-color 140ms ease; }
  & .card:hover { background: var(--review-panel-hover); border-color: var(--review-copper-line); transform: none; box-shadow: none; }
  & .card.card-alert { border-left-color: var(--review-copper-line); }
  & .card__icon { background: color-mix(in srgb,var(--c-bronze-light) 9%,transparent); border-color: var(--review-copper-line); box-shadow: none; }
  & .card h3 { font-size: 1.125rem; margin-bottom: var(--sp-3); }
  & .card > p { font-size: 0.9375rem; line-height: 1.65; color: var(--text-on-dark); }
  & .card .card__cost-factors { font-size: 0.875rem; line-height: 1.7; margin-top: var(--sp-4); padding-top: var(--sp-3); border-left: 0; border-top: 1px solid var(--review-line); padding-left: 0; color: var(--text-muted); }
  & .card__chip { color: var(--text-on-dark); border-color: var(--review-copper-line); background: color-mix(in srgb,var(--c-bronze) 15%,transparent); font-size: 0.6875rem; letter-spacing: 0.04em; }
  & .has-corner-joints::before, & .has-corner-joints::after { opacity: 0.45; box-shadow: none; }
  & .triage__panel { padding: var(--sp-5); }
  & .triage__kicker { font-size: 0.75rem; line-height: 1.5; }
  & .triage__note { font-size: 0.8125rem; line-height: 1.65; }

  /* Reveal the existing service image while protecting the copy. */
  & .svc-hero__overlay { background: linear-gradient(90deg,color-mix(in srgb,var(--c-navy-blackest) 93%,transparent) 0%,color-mix(in srgb,var(--c-navy-blackest) 84%,transparent) 35%,color-mix(in srgb,var(--c-navy-blackest) 38%,transparent) 68%,color-mix(in srgb,var(--c-navy-blackest) 22%,transparent) 100%); }
  & .svc-hero__bg { opacity: 1; }
  & .svc-hero__h1 { font-size: clamp(2rem,3.4vw,3rem); max-width: 24ch; }
  & .svc-hero__hook { font-size: 1.0625rem; line-height: 1.7; max-width: 54ch; }
  & .svc-hero__secondary a { border-radius: var(--radius); padding: var(--sp-3) var(--sp-4); min-height: 44px; font-size: 0.875rem; }
  & .svc-hero__secondary { gap: var(--sp-3); }
  & .index-hero::after { background: color-mix(in srgb,var(--c-navy-blackest) 70%,transparent); }

  /* Editorial readability, including the broken dark glossary headings. */
  & .glossary-def { font-size: 1.0625rem; line-height: 1.8; }
  & .glossary-def :is(h2,h3,h4) { color: var(--c-white); clear: both; margin-top: var(--sp-7); margin-bottom: var(--sp-4); }
  & .glossary-def h2 { font-size: clamp(1.375rem,2vw,1.75rem); }
  & .glossary-def :is(p,ul,ol) { margin-bottom: var(--sp-4); }
  & .gloss-hero { background: var(--c-navy-deep); border-color: var(--review-line); border-left-color: var(--c-cyan); box-shadow: none; padding: var(--sp-6); }
  & .gloss-hero__title { font-weight: 780; }
  & .gloss-hero__answer { font-weight: 500; line-height: 1.7; }
  & .gloss-hero__chip { font-size: 0.72rem; line-height: 1.5; }
  & .gloss-sources { background: var(--c-navy-deep); border-color: var(--review-line); box-shadow: none; }
  & .glossary-figure img { box-shadow: var(--review-shadow); border-color: var(--review-line); }
  & main :is(th,td) { line-height: 1.65; }
  & main th { color: var(--c-white); }
  & .glossary-def table { width: 100%; border-collapse: collapse; margin-block: var(--sp-5); }
  & .glossary-def :is(th,td) { padding: var(--sp-3); }
  & .glossary-def td { color: var(--text-on-dark); }

  /* Tools, lead forms and disclosures stay complete. */
  & .cost-calc { border-color: var(--review-line); border-left-color: var(--c-cyan); background: var(--review-panel); box-shadow: none; }
  & .cost-calc__pipe { opacity: 0.65; box-shadow: none; }
  & :is(.cost-calc__label,.callback__field > span,.callback__urgency legend) { font-size: 0.75rem; line-height: 1.5; letter-spacing: 0.065em; }
  & :is(.callback__field input,.callback__field select,.callback__field textarea) { min-height: 46px; border-color: var(--review-line); }
  & .cookie-banner { border-top-color: var(--review-copper-line); box-shadow: 0 -4px 20px color-mix(in srgb,var(--c-navy-blackest) 25%,transparent); max-height: 100dvh; overflow-y: auto; overscroll-behavior: contain; }
  & .cookie-banner__inner { padding-block: var(--sp-4); gap: var(--sp-5); }
  & .cookie-banner__btn { padding-inline: var(--sp-4); font-size: 0.8125rem; min-height: 44px; }
  & .cookie-banner__btn--customize { color: var(--c-white); }
  & :is(.ftr3__col a,.ftr3__links a) { font-size: 0.8125rem; line-height: 1.7; }
  & .ftr3__byline { font-size: 0.8125rem !important; line-height: 1.75; }

  /* Legacy tools use inline cyan fills; override paint only, not their logic. */
  & :is(#pipe-btn,#roi-btn,#hard-btn,#permit-btn,#frost-btn) { background: linear-gradient(180deg,var(--review-secondary-top),var(--review-secondary-bottom)) !important; color: var(--c-white) !important; border-radius: var(--radius) !important; min-height: 46px; box-shadow: var(--review-edge),var(--review-thick),var(--review-shadow); }
  & :is(.btn,.hero__megacta--call,.sticky-cta a,.site-header__mobile-call,#pipe-btn,#roi-btn,#hard-btn,#permit-btn,#frost-btn):hover { filter: none; }
  & .calc-field :is(input:not([type=checkbox]),select) { min-height: 46px; border-radius: var(--radius); }
  & .calc-field > span { font-size: 0.875rem; line-height: 1.5; }
  /* These result nodes are inserted with innerHTML, without Astro's scoped
     attributes. Explicit global result styles restore their intended layout. */
  & :is(.roi-card,.permit-card,.pipe-card,.hard-card,.frost-card) { background: var(--review-panel); border: 1px solid var(--review-line); border-radius: var(--radius-md); padding: var(--sp-5); }
  & :is(.roi-stat,.permit-row,.pipe-row,.frost-stat) { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: var(--sp-3); align-items: start; padding-block: var(--sp-3); border-bottom: 1px solid var(--review-line); font-size: 0.9375rem; line-height: 1.6; }
  & :is(.roi-stat,.permit-row,.pipe-row,.frost-stat) > :last-child { text-align: right; }
  & .frost-check { display: flex; align-items: flex-start; gap: var(--sp-3); margin-block: var(--sp-3); font-size: 0.9375rem; line-height: 1.6; }
  & .roi-sources { margin-top: var(--sp-4); font-size: 0.8125rem; line-height: 1.7; color: var(--text-muted); }
  & .hard-meter { height: 12px; border-radius: var(--radius); margin-block: var(--sp-4); background: linear-gradient(90deg,var(--c-cyan),var(--c-bronze-light),var(--c-primary)); position: relative; }
  & .hard-needle { position: absolute; top: -4px; width: 6px; height: 20px; background: var(--c-white); border-radius: var(--radius-sm); transform: translateX(-50%); border: 1px solid var(--review-line); }
  /* Intrinsic-width inline grids were clipping fields and widening mobile's
     visual viewport while overflow-x:clip hid the document overflow. */
  & :is(#pipe-calc,#roi-calc,#hard-calc,#permit-calc,#frost-calc) { min-width: 0; max-width: 100%; padding: var(--sp-5) !important; }
  & :is(#pipe-calc,#roi-calc,#hard-calc,#permit-calc,#frost-calc) > div[style*="display:grid"] { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
  & .calc-field { min-width: 0; }
  & .calc-field :is(input,select) { min-width: 0; max-width: 100%; }
  @media (max-width: 600px) {
    & :is(#pipe-calc,#roi-calc,#hard-calc,#permit-calc,#frost-calc) > div[style*="display:grid"] { grid-template-columns: minmax(0,1fr) !important; }
    & .profile-scene__stats { grid-template-columns: repeat(2,minmax(0,1fr)); min-width: 0; }
    & .city-profile-stat { min-width: 0; }
  }

  @media (min-width: 900px) { & .hero__inner { grid-template-columns: minmax(0,1.05fr) minmax(0,0.95fr); gap: var(--sp-8); } }
  @media (min-width: 1100px) {
    & .services-grid:has(> :nth-child(7):last-child) { grid-template-columns: repeat(12,minmax(0,1fr)); }
    & .services-grid:has(> :nth-child(7):last-child) > .card { grid-column: span 4; }
    & .services-grid:has(> :nth-child(7):last-child) > .card:nth-child(n+4) { grid-column: span 6; }
  }
  @media (max-width: 1023px) {
    & .site-header__row { padding-block: var(--sp-3); }
    & .site-header__brand-mark, & .site-header__brand-mark img { width: 46px; height: 46px; }
    & .site-header__brand-name b { font-size: 1.1rem; }
    & .site-header__mobile-call { width: 44px; height: 44px; border-radius: var(--radius); }
    & .site-header__hamburger { min-width: 44px; min-height: 44px; }
  }
  @media (max-width: 767px) {
    & .hero { padding-block: var(--sp-4) var(--sp-6); }
    & .hero__inner { gap: var(--sp-5); }
    & .hero h1 { font-size: clamp(1.875rem,7.8vw,2.6rem); margin-bottom: var(--sp-4); }
    & .hero p.lead { font-size: 1.0625rem; line-height: 1.6; }
    & .hero__eyebrow { margin-bottom: var(--sp-4); font-size: 0.6875rem; letter-spacing: 0.05em; }
    & .hero__megacta { padding: var(--sp-4); margin-bottom: var(--sp-4); }
    & .hero__megacta-headline { font-size: clamp(1.45rem,5.9vw,1.9rem); }
    & .hero__megacta-eyebrow { font-size: 0.6875rem; letter-spacing: 0.045em; }
    & .hero__megacta-sub { font-size: 0.8125rem; }
    & .hero__zip { padding: var(--sp-4); }
    & .hero__zip-row { grid-template-columns: minmax(0,1fr); gap: var(--sp-3); }
    & .hero__zip-submit { width: 100%; min-height: 46px; }
    & .hero__zip-label { font-size: 0.6875rem; }
    & .hero__zip-foot { font-size: 0.8125rem; }
    & .hero__geo { font-size: 0.8125rem; }
    & main > :is(.section-alert,.section-dark,.section-darkest,.section-mid,.blueprint,.photo-band) { padding-block: var(--sp-7) !important; }
    & .pipe-divider { height: 26px; }
    & .pipe-divider.is-bleed { margin-block: 0; }
    & .card { padding: var(--sp-5); }
    & .card > p { font-size: 0.9375rem; }
    & .svc-hero__overlay { background: color-mix(in srgb,var(--c-navy-blackest) 83%,transparent); }
    & .svc-hero__h1 { font-size: clamp(1.875rem,7.6vw,2.5rem); }
    & .svc-hero__hook { font-size: 1rem; }
    & .gloss-hero { padding: var(--sp-5); }
    & .glossary-def { font-size: 1rem; line-height: 1.8; }
    & .glossary-def h2 { font-size: 1.375rem; }
    & .sticky-cta { border-top-color: var(--review-copper-line); box-shadow: 0 -2px 12px color-mix(in srgb,var(--c-navy-blackest) 25%,transparent); }
    & .sticky-cta a { font-size: 0.875rem; font-weight: 700; line-height: 1.3; padding: var(--sp-4) var(--sp-2); min-height: 56px; }
    & .sticky-cta a.sticky-cta__call { flex: 1 1 56%; }
    & .sticky-cta a.sticky-cta__form { flex: 1 1 44%; }
    & .sticky-cta__call, & .sticky-cta__form { box-shadow: var(--review-edge),var(--review-thick); }
    & .cookie-banner__inner { padding: var(--sp-4); gap: var(--sp-3); }
    & .cookie-banner__actions { gap: var(--sp-2); }
    & .cookie-banner { max-height: calc(100dvh - var(--sticky-h)); }
  }
  @media (max-width: 380px) {
    & .sticky-cta a { font-size: 0.8125rem; gap: var(--sp-1); }
    & .city-profile-stat__value { font-size: 1.125rem; }
  }
  /* Premium shared components: purposeful depth, full content and clear roles. */
  & :is(a,button,input,select,textarea,summary,[tabindex]) { scroll-margin-block: 110px calc(var(--review-sticky-h) + var(--review-cookie-h) + 24px); }
  & .site-header, & .site-header__brand-name b { font-family: var(--review-font); }
  & .site-header__brand-name b { letter-spacing: -0.035em; }
  & .site-header__nav a { font-weight: 550; }
  & :is(.section-eyebrow,.hero__eyebrow,.blueprint__eyebrow) { font-family: var(--review-font); font-size: 0.75rem; font-weight: 650; letter-spacing: 0.065em; line-height: 1.5; border-color: transparent; border-radius: 0; background: transparent; box-shadow: none; text-shadow: none; padding-inline: 0; }
  & .section-eyebrow.is-alert { background: transparent; color: var(--c-white); }
  & :is(.card__chip,.gloss-hero__chip,.callback__badge) { font-size: 0.75rem; line-height: 1.55; letter-spacing: 0.02em; background: color-mix(in srgb,var(--c-bronze-light) 7%,transparent); border-color: var(--review-line); box-shadow: none; }
  & :is(.city-profile-stat__label,.hero-context-chip__label,.hero-context-strip__label) { font-size: 0.75rem !important; line-height: 1.55; letter-spacing: 0.04em; }
  & .stat-band__label { font-size: 0.75rem; letter-spacing: 0.045em; }
  & .hero__megacta-headline { font-weight: 750; }
  & .hero__megacta-eyebrow { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.035em; }
  & .hero__zip { border-left: 1px solid var(--review-line); }
  & .hero__zip-label { font-size: 0.75rem; letter-spacing: 0.045em; }
  & .hero__zip-input, & .hero__zip-submit { min-width: 0; }
  & .hero__zip-input { padding-inline: var(--sp-3); }
  & .pipe-divider { height: 24px; opacity: 0.55; }
  & .pipe-divider.is-bleed { margin-block: -12px; }
  & .has-corner-joints::before, & .has-corner-joints::after { opacity: 0.25; }
  & .card__icon { border-color: transparent; background: color-mix(in srgb,var(--c-bronze-light) 7%,transparent); }
  & .triage__note { font-size: 0.875rem; line-height: 1.7; }
  & .house-section { gap: var(--sp-8); align-items: center; }
  & .house-diagram { box-shadow: none; border-color: var(--review-line); }
  & .house-diagram svg { max-width: 100%; height: auto; }
  & .house-diagram svg text { font-family: var(--review-font); font-size: 0.75rem; fill: var(--c-white); stroke: none; font-weight: 600; }
  & .blueprint__sources { line-height: 1.8; }
  & .blueprint__sources li { margin-bottom: var(--sp-4); }
  & .blueprint__diagram { border-color: var(--review-line); box-shadow: none; }
  & .blueprint__diagram svg text { font-family: var(--review-font); font-size: 0.75rem; fill: var(--c-white); stroke: none; letter-spacing: 0.02em; font-weight: 550; }
  & .gas-strip__inner { padding-block: var(--sp-4); }
  & .gas-strip__quotes { gap: var(--sp-3); }
  & .gas-strip blockquote { padding-inline-start: var(--sp-3); border-left-width: 2px; line-height: 1.65; }
  & .gas-strip__advice { font-size: 0.9375rem; line-height: 1.65; }
  & :is(.cornerstone__main,.glossary-def) { min-width: 0; }
  & :is(.cornerstone__section,.method__section) { line-height: 1.8; }
  & :is(.cornerstone__sources,.gloss-sources) { font-size: 0.875rem; line-height: 1.8; }

  /* Non-text scroll cues; JS only adds semantic wrappers around existing tables. */
  & .review-table-shell { position: relative; margin-block: var(--sp-5); min-width: 0; max-width: 100%; border: 1px solid var(--review-line); border-radius: var(--radius-md); background: var(--review-panel); }
  & .review-table-shell[data-overflow='true']::after { content: ''; position: absolute; top: 0; right: 0; bottom: 12px; width: 24px; border-radius: 0 var(--radius-md) var(--radius-md) 0; background: linear-gradient(90deg,transparent,var(--c-navy-deep)); pointer-events: none; }
  & .review-table-scroll { overflow-x: auto; max-width: 100%; overscroll-behavior-x: contain; border-radius: inherit; scrollbar-width: auto; scrollbar-color: var(--c-bronze-light) var(--c-navy-deep); }
  & .review-table-scroll table { display: table !important; width: 100% !important; min-width: var(--review-table-min,640px); margin: 0 !important; border-collapse: collapse !important; border-spacing: 0; table-layout: auto !important; overflow: visible !important; }
  & .review-table-scroll thead { display: table-header-group !important; }
  & .review-table-scroll tbody { display: table-row-group !important; }
  & .review-table-scroll tr { display: table-row !important; width: auto !important; }
  & .review-table-scroll :is(th,td) { display: table-cell !important; width: auto !important; white-space: normal !important; overflow-wrap: normal !important; word-break: normal !important; padding: var(--sp-4) !important; border: 0; border-bottom: 1px solid var(--review-line); text-align: left; vertical-align: top; font-size: 0.9375rem; line-height: 1.65; }
  & .review-table-scroll th { color: var(--c-white); background: color-mix(in srgb,var(--c-navy-elevated) 60%,var(--c-navy-deep)); font-weight: 650; }
  & .review-table-scroll td { color: var(--text-on-dark); }
  & .review-table-scroll tr:last-child td { border-bottom: 0; }
  & .review-table-scroll .review-numeric { white-space: nowrap !important; font-variant-numeric: tabular-nums; }

  & :is(.cost-calc__pipe,.cost-pipe) { opacity: 0.35; box-shadow: none; }
  & :is(.cost-calc__label,.callback__field > span,.callback__urgency legend) { font-size: 0.8125rem; line-height: 1.5; letter-spacing: 0.035em; }
  & .callback { gap: var(--sp-7); align-items: stretch; }
  & :is(.callback__card,.callback__copy) { border: 1px solid var(--review-line); border-radius: var(--radius-md); box-shadow: none; }
  & .callback__card { background: var(--review-panel); padding: var(--sp-6); }
  & .callback__copy-inner { padding: var(--sp-6); }
  & .callback__card-head { border-bottom-color: var(--review-line); padding-bottom: var(--sp-4); margin-bottom: var(--sp-5); }
  & :is(.callback__card-eyebrow,.callback__card-slots) { font-size: 0.75rem; line-height: 1.6; letter-spacing: 0.035em; }
  & .callback__card-slots { background: transparent; color: var(--text-on-dark); border-color: var(--review-line); box-shadow: none; }
  & .callback__row { gap: var(--sp-4); }
  & .callback__field { gap: var(--sp-2); }
  & .callback__field :is(input,select,textarea) { min-width: 0; min-height: 48px; font-size: 1rem; border-color: var(--review-line); border-radius: var(--radius); }
  & .callback__field textarea { min-height: 110px; line-height: 1.65; }
  & .callback__consent { font-size: 0.875rem; line-height: 1.75; background: transparent; border-color: var(--review-line); padding: var(--sp-4); }
  & .callback__badges { gap: var(--sp-3); }
  & .callback__badge { padding: var(--sp-2) 0; border-color: transparent; background: transparent; }
  & .callback__seg-opt { border-color: var(--review-line); box-shadow: none; font-size: 0.875rem; line-height: 1.5; }
  & .callback__seg-opt:has(input:checked) { border-color: var(--c-bronze-light); background: color-mix(in srgb,var(--c-copper) 16%,var(--c-navy-deep)); }
  & .roi-sources { font-size: 0.875rem; line-height: 1.75; }
  & .frost-check { margin-block: var(--sp-4); line-height: 1.7; }

  & .ftr3 { font-family: var(--review-font); background: var(--c-navy-blackest); border-top-color: var(--review-copper-line); }
  & :is(.ftr3__panel,.ftr3__brand-band) { background: var(--review-panel); border-color: var(--review-line); border-radius: var(--radius-md); box-shadow: none; }
  & .ftr3__panel { padding: var(--sp-5); }
  & .ftr3__panel-head { border-bottom-color: var(--review-line); margin-bottom: var(--sp-4); padding-bottom: var(--sp-3); }
  & .ftr3__panel-title { font-size: 0.8125rem; letter-spacing: 0.055em; font-weight: 650; }
  & .ftr3__panel-count { font-size: 0.75rem; letter-spacing: 0.035em; }
  & .ftr3__diamond, & .ftr3__panel-dots { opacity: 0.55; }
  & .ftr3__links { column-gap: var(--sp-5); row-gap: var(--sp-3); }
  & .ftr3__links a { font-size: 0.875rem; line-height: 1.7; }
  & .ftr3__call-card { color: var(--c-white); background: linear-gradient(180deg,var(--review-call-top),var(--review-call-bottom)); border-color: color-mix(in srgb,var(--c-white) 12%,transparent); border-radius: var(--radius); text-shadow: none; box-shadow: var(--review-edge),var(--review-thick),var(--review-shadow); }
  & .ftr3__call-card:hover { filter: none; }
  & .ftr3__call-number { font-size: clamp(1.4rem,2vw,1.8rem); letter-spacing: -0.025em; white-space: nowrap; }
  & :is(.ftr3__call-kicker,.ftr3__call-cta) { font-size: 0.75rem; letter-spacing: 0.045em; }
  & .ftr3__trust > * { border-color: var(--review-line); box-shadow: none; background: var(--review-panel); }
  & :is(.ftr3__legal,.ftr3__byline,.ftr3__partner-disclaimer) { font-size: 0.875rem !important; line-height: 1.8; color: var(--text-muted); }
  & .ftr3__legal-links a { font-size: 0.8125rem; line-height: 1.75; }

  & .cookie-banner { max-height: calc(100dvh - var(--review-sticky-h) - 12px); }
  & .cookie-banner__copy { font-size: 0.875rem; line-height: 1.6; }
  /* Shared hero redesign: editorial/action split, not copy stranded beside a
     vertical button stack. Existing imagery, copy, controls and destinations stay. */
  & .hero { padding-block: clamp(2.5rem,5vw,4.5rem); }
  & .hero__inner { grid-template-columns: minmax(0,1.1fr) minmax(20rem,.9fr); align-items: stretch; gap: clamp(1.5rem,3vw,3rem); }
  & .hero__copy { align-self: center; max-width: 62ch; }
  & .hero__actions { align-self: center; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--sp-4); }
  & .hero__megacta { grid-column: 1 / -1; margin: 0; }
  & .hero__zip { grid-column: 1 / -1; }
  & .svc-hero-section { overflow: clip; }
  & .svc-hero { min-height: clamp(27rem,42vw,36rem); display: flex; align-items: center; padding-block: clamp(3rem,6vw,5.5rem); }
  & .svc-hero > div { width: min(100%,68rem); margin-inline: auto; padding: clamp(1.5rem,4vw,3rem); border: 1px solid var(--review-line); border-left: 3px solid var(--copper); border-radius: var(--radius-md); background: color-mix(in srgb,var(--c-navy-blackest) 87%,transparent); box-shadow: var(--review-shadow); }
  & .svc-hero__h1 { max-width: 19ch; font-size: clamp(2.5rem,5vw,4.4rem); }
  & .svc-hero__hook { max-width: 58ch; }
  & .svc-hero__secondary { display: flex; flex-wrap: wrap; gap: var(--sp-3); }
  & .gas-strip { margin-block: var(--sp-6); border: 1px solid var(--review-copper-line); border-left: 3px solid var(--c-primary); border-radius: var(--radius-md); background: var(--c-navy-blackest); }
  & .gas-strip__inner { max-width: 1180px; margin-inline: auto; padding-inline: var(--sp-5); }
  @media (max-width: 767px) {
    & .hero__inner { grid-template-columns: minmax(0,1fr); }
    & .hero__actions { grid-template-columns: minmax(0,1fr); }
    & .hero__megacta, & .hero__zip { grid-column: auto; }
    & .svc-hero { min-height: 0; padding-block: var(--sp-5); }
    & .svc-hero > div { padding: var(--sp-5); }
    & .svc-hero__h1 { font-size: clamp(2rem,8vw,2.8rem); }
    & .hero { padding-block: var(--sp-5) var(--sp-6); }
    & .hero__inner { gap: var(--sp-5); }
    & .gas-strip { margin-block: var(--sp-4); }
    & .gas-strip__inner { padding-inline: var(--sp-4); }
  }
  @media (max-width: 767px) {
    & .hero p.lead { font-size: 1rem; line-height: 1.7; }
    & .hero__eyebrow { font-size: 0.75rem; margin-bottom: var(--sp-3); }
    & .hero__zip-label { font-size: 0.75rem; }
    & .hero__zip-submit { min-height: 48px; }
    & .pipe-divider { height: 18px; }
    & .pipe-divider.is-bleed { margin-block: 0; }
    & .callback { gap: var(--sp-5); }
    & .callback__card, & .callback__copy-inner { padding: var(--sp-5); }
    & .callback__consent { padding: var(--sp-3); }
    & .house-diagram svg text { font-size: 1.125rem; }
    & .blueprint__diagram svg text { font-size: 1rem; }
    & .cookie-banner { bottom: var(--review-sticky-h) !important; }
    & .cookie-banner__actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--sp-2); }
    & .cookie-banner__btn { min-width: 0; padding-inline: var(--sp-2); }
    & .sticky-cta a { font-family: var(--review-font); font-size: 0.8125rem; font-weight: 650; line-height: 1.4; padding-block: var(--sp-3); }
  }
  @media (min-width: 360px) and (max-width: 767px) { & .hero__zip-row { display: grid; grid-template-columns: minmax(0,0.8fr) minmax(0,1.2fr); align-items: stretch; } & .hero__zip-input { width: 100%; } }
  & .hero__actions > .hero__geo { grid-column: 1 / -1; display: block; text-align: center; margin: .25rem 0 0; }
  & .hero__geo a { display: inline; white-space: nowrap; }
  /* Balanced shared service and location composition. */
  & :is(.svc-hero-content,.state-hub-hero__inner,.city-hub-hero__inner) { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(320px,.85fr); gap: 2rem 3.5rem; align-items: center; padding-block: 2rem 2.5rem; }
  & :is(.svc-hero-content,.state-hub-hero__inner,.city-hub-hero__inner) > .crumbs { grid-column: 1 / -1; margin: 0 0 .5rem; }
  & .svc-hero { display: block; min-height: 0; padding: 0; margin: 0; }
  & .svc-hero > div { width: auto; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; }
  & .svc-hero__h1 { font-size: clamp(2.35rem,3.6vw,3.6rem); max-width: 22ch; margin-block: .75rem 1.25rem; }
  & .svc-hero__hook { font-size: 1.0625rem; line-height: 1.75; margin-bottom: 0; }
  & .review-hero-actions { padding: 1.25rem; background: #0d1923ed; border: 1px solid var(--review-copper-line); border-radius: 16px; box-shadow: 0 16px 40px #0003; }
  & .review-hero-actions .hero__megacta { width: 100%; max-width: none; min-width: 0; padding: 1.25rem; }
  & .review-hero-actions .hero__megacta-headline { font-size: clamp(1.65rem,2.5vw,2.35rem); }
  & .review-hero-actions .hero__megacta-eyebrow { font-size: .6875rem; letter-spacing: .045em; line-height: 1.65; }
  & .review-hero-actions .hero__megacta-sub { font-size: .8125rem; line-height: 1.6; }
  & .review-hero-actions .svc-hero__secondary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; margin: 1rem 0 0; }
  & .review-hero-actions .svc-hero__secondary > span { display: none; }
  & .review-hero-actions .svc-hero__secondary a { display: flex; align-items: center; justify-content: center; text-align: center; font-size: .8125rem; padding: .75rem .5rem; min-width: 0; }
  & :is(.svc-hero-content,.state-hub-hero__inner,.city-hub-hero__inner) > :is(.state-hero__trust,.city-hero__trust) { grid-column: 1 / -1; width: 100%; margin: .5rem 0 0; padding-top: 1.5rem; border-top: 1px solid var(--review-line); }
  & :is(.state-hub-hero,.city-hub-hero,.svc-hero-section) { padding-block: 0; }
  & .gas-strip { max-width: 1152px; margin: 2.5rem auto; padding: 1.5rem; border-color: var(--review-line); }
  & .gas-strip__inner { padding: 0; }
  & .gas-strip__h { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: baseline; }
  & .gas-strip__quotes { display: grid; gap: 1rem; font-size: .9375rem; line-height: 1.75; }
  & .gas-strip__quotes blockquote { margin: 0 0 .25rem; }
  & .gas-strip__quotes cite { font-size: .8125rem; }
  & .svc-hero-content > .local-cost { grid-column: 1 / -1; width: 100%; max-width: none; margin: 0; box-sizing: border-box; }
  & .svc-hero-content > .hero-chips { margin: 0; }
  & .svc-hero-content > .svc-trust-strip { margin: 0; }
  @media(max-width: 1000px) {
    & :is(.svc-hero-content,.state-hub-hero__inner,.city-hub-hero__inner) { grid-template-columns: minmax(0,1fr); gap: 1.5rem; }
    & .review-hero-actions { max-width: 620px; width: 100%; box-sizing: border-box; }
    & .svc-hero__h1 { max-width: 26ch; }
  }
  @media(max-width: 767px) {
    & :is(.svc-hero-content,.state-hub-hero__inner,.city-hub-hero__inner) { padding-block: 1.25rem 1.75rem; }
    & .review-hero-actions { padding: .875rem; }
    & .svc-hero__h1 { font-size: clamp(2rem,7.7vw,2.8rem); }
    & .gas-strip { margin: 1.5rem 1rem; padding: 1rem; }
  }
  @media (prefers-reduced-motion: reduce) {
    & *, & *::before, & *::after { scroll-behavior: auto !important; transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; }
  }
}
