/* Recovered from browser CSSOM after accidental truncate (Pass 1307 restore). Comments flattened; rules preserved. */
:root { --ink: #0c0d10; --charcoal: #14161a; --charcoal-soft: #1c2026; --gold: #c9a227; --gold-bright: #d9b84a; --gold-soft: #a6872e; --steel: #b8bec6; --steel-bright: #d5dae0; --slate: #4f5863; --snow: #f2f1ee; --mist: #d8d4cb; --white: #faf9f7; --focus: var(--gold-bright); --focus-ring: light-dark(#d9b84a, #e8c86a); --surface: var(--white); --border: var(--mist); --muted: var(--slate); --accent: var(--gold); --cedar: var(--gold); --cedar-bright: var(--gold-bright); --radius: 2px; --max: 1120px; --header-h: 4.6rem; --convert-bar-h: 4.75rem; --keyboard-inset: 0px; --ease: cubic-bezier(0.22, 1, 0.36, 1); --font-ui: "Outfit", system-ui, sans-serif; --font-serif: "Source Serif 4", Georgia, serif; --space-section-y: 5rem; --space-section-y-tight: 3.25rem; --space-lead-mb: 1.45rem; --space-hero-y: 4.75rem 0 3.25rem; --space-hero-home-y: 4.5rem 0 3rem; --space-page-hero-y: 3.75rem 0 2.5rem; --space-band-y: 3.5rem; --space-stack: 1.5rem; --space-stack-lg: 2.25rem; --space-stack-sm: 0.95rem; --link-on-light: color-mix(in srgb, var(--ink) 58%, var(--gold)); --link-on-light-hover: color-mix(in srgb, var(--ink) 42%, var(--gold-bright)); }
*, ::before, ::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-padding-bottom: 1rem; scroll-padding-block-end: 1rem; scroll-padding-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); color-scheme: light; scrollbar-gutter: stable both-edges; text-size-adjust: 100%; interpolate-size: allow-keywords; overscroll-behavior: none contain; overscroll-behavior-block: contain; overscroll-behavior-inline: none; scroll-padding-inline-start: max(0.5rem, env(safe-area-inset-left, 0px)); scroll-padding-inline-end: max(0.5rem, env(safe-area-inset-right, 0px)); }
html:has(body.has-convert-bar) { scroll-padding-bottom: calc(var(--convert-bar-h, 5.5rem) + 0.75rem + env(safe-area-inset-bottom, 0px)); scroll-padding-block-end: calc(var(--convert-bar-h, 5.5rem) + 0.75rem + env(safe-area-inset-bottom, 0px)); }
body { margin: 0px; font-family: var(--font-ui); font-size: 1.0625rem; line-height: 1.65; color: var(--charcoal); background: var(--snow); -webkit-font-smoothing: antialiased; overflow-wrap: break-word; overflow-x: clip; font-kerning: normal; font-variant-ligatures: common-ligatures contextual; font-variant-numeric: lining-nums proportional-nums; font-feature-settings: "kern", "liga", "calt"; font-synthesis: none; font-optical-sizing: auto; text-autospace: normal; -webkit-tap-highlight-color: color-mix(in srgb, var(--gold) 28%, transparent); padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px); touch-action: pan-y pinch-zoom; }
img { max-width: 100%; height: auto; display: block; image-orientation: from-image; }
.brand__logo, .footer-logo, .hero__media-slot img, .media-slot img, .gallery-pair img { -webkit-user-drag: none; user-select: none; }
.brand__logo, .footer-logo { image-rendering: -webkit-optimize-contrast; }
a[href^="tel:"] { }
.btn, .nav-toggle, .nav-fly__btn, .gallery-filters button, .convert-bar__est, .convert-bar__call { }
a { color: var(--gold); text-decoration-thickness: 1px; text-underline-offset: 0.18em; text-decoration-skip-ink: auto; text-underline-position: under; text-decoration-color: color-mix(in srgb, var(--gold) 55%, transparent); transition: color 0.18s var(--ease), text-decoration-color 0.18s var(--ease); }
a:hover, a:focus-visible { color: var(--gold-bright); text-decoration-color: var(--gold-bright); }
.prose a:visited, .form-note a:visited, .faq-item a:visited, .blog-section a:visited, .blog-aside a:visited { color: color-mix(in srgb, var(--gold-soft) 70%, var(--slate)); text-decoration-color: color-mix(in srgb, var(--gold-soft) 45%, var(--mist)); }
.prose a:visited:hover, .prose a:visited:focus-visible, .form-note a:visited:hover, .form-note a:visited:focus-visible, .faq-item a:visited:hover, .faq-item a:visited:focus-visible, .blog-section a:visited:hover, .blog-section a:visited:focus-visible, .blog-aside a:visited:hover, .blog-aside a:visited:focus-visible { color: var(--gold-bright); text-decoration-color: var(--gold-bright); }
::selection { background: color-mix(in srgb, var(--gold) 55%, var(--charcoal)); color: var(--white); }
::spelling-error { text-decoration-line: spelling-error; text-decoration-color: color-mix(in srgb, #a33a2f 75%, var(--gold)); }
::grammar-error { text-decoration-line: grammar-error; text-decoration-color: color-mix(in srgb, var(--gold) 70%, #a33a2f); }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
:focus:not(:focus-visible) { outline: none; }
@media (prefers-contrast: more) {
  :root { --gold: #8a6a18; --gold-bright: #6e5512; --gold-soft: #6e5512; --cedar: var(--gold); --cedar-bright: var(--gold-bright); --slate: #3d4550; --steel: #dce1e6; --steel-bright: #f0f2f4; --focus: var(--gold-bright); --mist: #b8b3a8; --border: var(--mist); --muted: var(--slate); --accent: var(--gold); }
  :focus-visible, .faq-item:target, #hours:target, #hours.is-current, #estimate:target, #apply:target, #aplicar:target, #hire-form:target, .steps li:target { outline-width: 3px; outline-offset: 4px; }
  a { text-decoration-thickness: 0.12em; text-underline-offset: 0.2em; }
  .site-header { background: var(--ink); backdrop-filter: none; }
  .convert-bar { background: var(--ink); border-top: 2px solid var(--gold-bright); }
  .convert-bar__call span { color: var(--gold-bright); }
  .convert-bar__est { border: 2px solid var(--white); }
  .btn--ghost { border-color: var(--white); color: var(--white); }
  .btn--primary, .btn--dark { border: 2px solid var(--charcoal); }
  .hero__support { color: var(--white); }
  .section__lead, .form-note, .gallery-empty { color: var(--charcoal); }
  .service-tile, .hire-card, .faq-item, .gbb-table th, .gbb-table td { border-color: var(--charcoal); }
  .gbb-table th { background: var(--mist); }
  .placeholder, .placeholder--soft { color: var(--charcoal); background: var(--mist); outline: 1px dashed var(--charcoal); }
  .skip-link { background: rgb(0, 0, 0); color: rgb(255, 255, 255); border: 2px solid rgb(255, 255, 255); }
  .form-grid input:invalid:not(:placeholder-shown), .form-grid select:invalid, .form-grid textarea:invalid:not(:placeholder-shown), .form-grid .is-invalid, #hire-form .is-invalid { outline: rgb(139, 26, 26) solid 2px; outline-offset: 1px; }
  .form-success { border-left-width: 4px; border-left-color: var(--charcoal); background: var(--mist); color: var(--charcoal); }
  .form-error { border-left-width: 4px; background: rgb(245, 232, 230); color: rgb(61, 21, 16); }
  #form-success:target, #hire-success:target { outline: 3px solid var(--focus); outline-offset: 4px; }
  .breadcrumbs [aria-current="page"] span { font-weight: 700; text-decoration: underline; }
  code { font-size: 0.92em; padding: 0.05em 0.3em; background: var(--mist); border: 1px solid var(--charcoal); }
}
@media (forced-colors: active) {
  :focus-visible, .skip-link:focus, .skip-link:focus-visible, [tabindex="-1"]:focus { outline-offset: 3px; outline: highlight solid 3px !important; }
  .brand__logo, .footer-logo, .hero__logo, .media-slot img, .gallery-pair img { forced-color-adjust: none; }
  .site-header, .convert-bar, .site-footer { border-color: canvastext; forced-color-adjust: auto; }
  .btn, .nav-cta, .nav-fly__btn, .gallery-filters button, .hire-card, .big-ticket-card, .blog-card, .service-tile, .gbb-table-wrap, .media-slot, .form-grid, .hire-form, .convert-expect, .contact-facts, .contact-callout, .area-map, .convert-steps li, .areas-counties > div, a.tile { border: 1px solid buttontext; }
  .btn--primary, .btn--dark, .convert-bar__est, .gallery-filters button[aria-pressed="true"], .nav-lang__active, .lang-strip__active { border: 2px solid highlight; }
  .placeholder, .placeholder--soft { outline: graytext dashed 1px; }
  .form-error { border-left: 4px solid mark; }
  .form-success { border-left: 4px solid highlight; }
  .faq-item summary, .form-check, .net-banner, .footer-top, .placeholder--soft, .faq-jump, .gallery-filters, .gallery-empty { border: 1px solid buttontext; }
  .breadcrumbs, .nav-lang, .lang-strip, .brand__tag, .faq-jump, .convert-bar__call, .wrap--toc { border: 1px solid buttontext; }
  .breadcrumbs [aria-current="page"] span { font-weight: 700; text-decoration: underline; }
  .net-banner { background: canvas; color: canvastext; }
  .skip-link:focus, .skip-link:focus-visible { background: canvas; color: canvastext; border: 2px solid highlight; }
}
.skip-link { position: absolute; left: -999px; top: 0px; background: var(--gold); color: var(--ink); font-weight: 650; padding: 0.55rem 1rem; min-height: 2.75rem; box-sizing: border-box; z-index: 100; border: 1px solid color-mix(in srgb, var(--gold-bright) 50%, var(--ink)); border-radius: 0.2rem; box-shadow: 0 8px 24px color-mix(in srgb, var(--ink) 40%, transparent); text-decoration: none; scroll-margin-top: max(0.5rem, env(safe-area-inset-top, 0px)); scroll-margin-block-start: max(0.5rem, env(safe-area-inset-top, 0px)); }
.skip-link--convert, .skip-link--footer { scroll-margin-top: max(0.5rem, env(safe-area-inset-top, 0px)); scroll-margin-block-start: max(0.5rem, env(safe-area-inset-top, 0px)); }
.skip-link--convert:focus, .skip-link--convert:focus-visible, .skip-link--footer:focus, .skip-link--footer:focus-visible { background: var(--gold-bright); border-color: var(--ink); }
.skip-link:focus, .skip-link:focus-visible { left: max(0.5rem, env(safe-area-inset-left, 0px)); top: max(0.5rem, env(safe-area-inset-top, 0px)); outline: 2px solid var(--ink); outline-offset: 3px; color: var(--ink); }
html.is-offline .skip-link:focus, html.is-offline .skip-link:focus-visible, html.has-net-banner .skip-link:focus, html.has-net-banner .skip-link:focus-visible { top: calc(var(--net-banner-h, 2.75rem) + max(0.5rem, env(safe-area-inset-top, 0px))); }
body > a.skip-link:nth-of-type(2):not(.skip-link--convert):focus, body > a.skip-link:nth-of-type(2):not(.skip-link--convert):focus-visible { top: 3.35rem; }
html.is-offline body > a.skip-link:nth-of-type(2):not(.skip-link--convert):focus, html.is-offline body > a.skip-link:nth-of-type(2):not(.skip-link--convert):focus-visible, html.has-net-banner body > a.skip-link:nth-of-type(2):not(.skip-link--convert):focus, html.has-net-banner body > a.skip-link:nth-of-type(2):not(.skip-link--convert):focus-visible { top: calc(var(--net-banner-h, 2.75rem) + 3.35rem); }
.skip-link--convert:focus, .skip-link--convert:focus-visible { top: 3.35rem; }
html.is-offline .skip-link--convert:focus, html.is-offline .skip-link--convert:focus-visible, html.has-net-banner .skip-link--convert:focus, html.has-net-banner .skip-link--convert:focus-visible { top: calc(var(--net-banner-h, 2.75rem) + 3.35rem); }
body > a.skip-link--convert:nth-of-type(3):focus, body > a.skip-link--convert:nth-of-type(3):focus-visible { top: 6.2rem; }
html.is-offline body > a.skip-link--convert:nth-of-type(3):focus, html.is-offline body > a.skip-link--convert:nth-of-type(3):focus-visible, html.is-offline body > a.skip-link--footer:focus, html.is-offline body > a.skip-link--footer:focus-visible, html.has-net-banner body > a.skip-link--convert:nth-of-type(3):focus, html.has-net-banner body > a.skip-link--convert:nth-of-type(3):focus-visible, html.has-net-banner body > a.skip-link--footer:focus, html.has-net-banner body > a.skip-link--footer:focus-visible { top: calc(var(--net-banner-h, 2.75rem) + 6.2rem); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; interpolate-size: numeric-only; }
  *, ::before, ::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
  .site-header { opacity: 1; animation: auto ease 0s 1 normal none running none; transition: none; }
  .hero__content { opacity: 1; transform: none; animation: auto ease 0s 1 normal none running none; }
  .btn:hover, .btn:focus-visible, .nav-cta:hover, .nav-cta:focus-visible, .service-tile:hover, .hire-card:hover, .blog-card:hover, .big-ticket-card:hover, .tile:hover, .tile:focus-visible { transform: none; }
  .convert-bar, .nav-fly, .site-nav, .hire-card, .blog-card, .big-ticket-card, .service-tile, .convert-steps li, .gallery-pair { transition: none !important; }
}
html.reduce-motion, html[data-motion="reduce"] { scroll-behavior: auto; interpolate-size: numeric-only; }
html.reduce-motion *, html.reduce-motion ::before, html.reduce-motion ::after, html[data-motion="reduce"] *, html[data-motion="reduce"] ::before, html[data-motion="reduce"] ::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
html.reduce-motion .site-header, html.reduce-motion .hero__content, html[data-motion="reduce"] .site-header, html[data-motion="reduce"] .hero__content { opacity: 1; animation: auto ease 0s 1 normal none running none; transform: none; transition: none; }
html.reduce-motion .btn:hover, html.reduce-motion .btn:focus-visible, html.reduce-motion .nav-cta:hover, html.reduce-motion .nav-cta:focus-visible, html.reduce-motion .service-tile:hover, html.reduce-motion .hire-card:hover, html.reduce-motion .blog-card:hover, html.reduce-motion .big-ticket-card:hover, html.reduce-motion .tile:hover, html.reduce-motion .tile:focus-visible, html[data-motion="reduce"] .btn:hover, html[data-motion="reduce"] .btn:focus-visible, html[data-motion="reduce"] .nav-cta:hover, html[data-motion="reduce"] .nav-cta:focus-visible, html[data-motion="reduce"] .service-tile:hover, html[data-motion="reduce"] .hire-card:hover, html[data-motion="reduce"] .blog-card:hover, html[data-motion="reduce"] .big-ticket-card:hover, html[data-motion="reduce"] .tile:hover, html[data-motion="reduce"] .tile:focus-visible { transform: none; }
html.reduce-motion .convert-bar, html.reduce-motion .nav-fly, html.reduce-motion .site-nav, html.reduce-motion .hire-card, html.reduce-motion .blog-card, html.reduce-motion .big-ticket-card, html.reduce-motion .service-tile, html.reduce-motion .convert-steps li, html.reduce-motion .gallery-pair, html[data-motion="reduce"] .convert-bar, html[data-motion="reduce"] .nav-fly, html[data-motion="reduce"] .site-nav, html[data-motion="reduce"] .hire-card, html[data-motion="reduce"] .blog-card, html[data-motion="reduce"] .big-ticket-card, html[data-motion="reduce"] .service-tile, html[data-motion="reduce"] .convert-steps li, html[data-motion="reduce"] .gallery-pair { transition: none !important; }
html.fonts-ready:not(.fonts-system):not(.save-data) { font-optical-sizing: auto; }
html.contrast-more, html[data-contrast="more"] { --focus: #6e5512; --gold: #8a6a18; --gold-bright: #6e5512; --gold-soft: #6e5512; --cedar: var(--gold); --cedar-bright: var(--gold-bright); --slate: #3d4550; --steel: #dce1e6; --steel-bright: #f0f2f4; --mist: #b8b3a8; --border: var(--mist); --muted: var(--slate); --accent: var(--gold); }
html.contrast-more :focus-visible, html[data-contrast="more"] :focus-visible, html.contrast-more .faq-item:target, html[data-contrast="more"] .faq-item:target, html.contrast-more .faq-item.is-current, html[data-contrast="more"] .faq-item.is-current, html.contrast-more #hours:target, html[data-contrast="more"] #hours:target, html.contrast-more #hours.is-current, html[data-contrast="more"] #hours.is-current, html.contrast-more #estimate:target, html[data-contrast="more"] #estimate:target, html.contrast-more #apply:target, html[data-contrast="more"] #apply:target, html.contrast-more #aplicar:target, html[data-contrast="more"] #aplicar:target, html.contrast-more #hire-form:target, html[data-contrast="more"] #hire-form:target, html.contrast-more .steps li:target, html[data-contrast="more"] .steps li:target { outline-width: 3px; outline-offset: 4px; }
html.contrast-more a, html[data-contrast="more"] a { text-decoration-thickness: 0.12em; text-underline-offset: 0.2em; }
@media (prefers-contrast: less) {
  :root { --focus: #d9b84a; --gold: #c4a84a; --gold-bright: #d9b84a; --gold-soft: #b89a3e; --cedar: var(--gold); --cedar-bright: var(--gold-bright); --slate: #6a7380; --mist: #e4e0d8; --border: var(--mist); --muted: var(--slate); --accent: var(--gold); }
  :focus-visible { outline-width: 2px; outline-offset: 2px; }
}
html.contrast-less, html[data-contrast="less"] { --focus: #d9b84a; --gold: #c4a84a; --gold-bright: #d9b84a; --gold-soft: #b89a3e; --cedar: var(--gold); --cedar-bright: var(--gold-bright); --slate: #6a7380; --mist: #e4e0d8; --border: var(--mist); --muted: var(--slate); --accent: var(--gold); }
html.contrast-less :focus-visible, html[data-contrast="less"] :focus-visible { outline-width: 2px; outline-offset: 2px; }
@media (update: slow) {
  html { scroll-behavior: auto; }
  *, ::before, ::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
  .site-header, .hero__content { opacity: 1; transform: none; animation: auto ease 0s 1 normal none running none; }
}
html.update-slow, html[data-update="slow"] { scroll-behavior: auto; }
html.update-slow *, html.update-slow ::before, html.update-slow ::after, html[data-update="slow"] *, html[data-update="slow"] ::before, html[data-update="slow"] ::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
html.update-slow .site-header, html.update-slow .hero__content, html[data-update="slow"] .site-header, html[data-update="slow"] .hero__content { opacity: 1; transform: none; animation: auto ease 0s 1 normal none running none; }
@media (inverted-colors: inverted) {
  img, picture, video, .hero__atmosphere, .media-slot, .placeholder { filter: invert(1); }
  :focus-visible { outline-width: 3px; outline-offset: 3px; outline-color: var(--gold-bright); }
}
html.inverted-colors img, html.inverted-colors picture, html.inverted-colors video, html.inverted-colors .hero__atmosphere, html.inverted-colors .media-slot, html.inverted-colors .placeholder, html[data-inverted="inverted"] img, html[data-inverted="inverted"] picture, html[data-inverted="inverted"] video, html[data-inverted="inverted"] .hero__atmosphere, html[data-inverted="inverted"] .media-slot, html[data-inverted="inverted"] .placeholder { filter: invert(1); }
html.inverted-colors :focus-visible, html[data-inverted="inverted"] :focus-visible { outline-width: 3px; outline-offset: 3px; outline-color: var(--gold-bright); }
@media (prefers-reduced-data: reduce) and (prefers-reduced-motion: reduce) {
  .site-header, .hero__content, .convert-bar { opacity: 1; transform: none; box-shadow: none; animation: auto ease 0s 1 normal none running none !important; transition: none !important; }
}
@media (prefers-reduced-data: reduce) {
  :root { --font-ui: system-ui, -apple-system, "Segoe UI", sans-serif; --font-serif: Georgia, "Times New Roman", serif; }
  .site-header { backdrop-filter: none; opacity: 1; animation: auto ease 0s 1 normal none running none; background: var(--ink); }
  .hero__content { opacity: 1; transform: none; animation: auto ease 0s 1 normal none running none; }
  .convert-bar { box-shadow: none; }
  .hero__atmosphere, .hero__atmosphere::after, .page-hero::before, .page-hero::after, .band-cta::before, .ad-hero::before, .proof-strip::before, .proof-strip--home::before { display: none !important; }
  .hire-card, .blog-card, .form-grid, .hire-form, .big-ticket-card, .convert-steps li, .contact-facts, .convert-expect, .contact-callout, .areas-counties > div, .ad-form-wrap, .section--alt, .trust-strip, .wrap--toc, .wrap--toc-home { background: var(--white) !important; box-shadow: none !important; }
  .ad-form-wrap, .section--alt, .trust-strip, .wrap--toc, .wrap--toc-home { background: var(--snow) !important; }
  .hire-card:hover, .blog-card:hover, .blog-card:focus-within, .big-ticket-card:hover, .service-tile:hover, .convert-steps li:hover { box-shadow: none !important; }
}
html.reduce-data, html[data-data="reduce"] { --font-ui: system-ui, -apple-system, "Segoe UI", sans-serif; --font-serif: Georgia, "Times New Roman", serif; }
html.reduce-data .site-header, html[data-data="reduce"] .site-header { backdrop-filter: none; opacity: 1; animation: auto ease 0s 1 normal none running none; background: var(--ink); }
html.reduce-data .hero__content, html[data-data="reduce"] .hero__content { opacity: 1; transform: none; animation: auto ease 0s 1 normal none running none; }
html.reduce-data .convert-bar, html[data-data="reduce"] .convert-bar { box-shadow: none; transition: none !important; }
html.reduce-data .hero__atmosphere, html.reduce-data .hero__atmosphere::after, html.reduce-data .page-hero::before, html.reduce-data .page-hero::after, html.reduce-data .band-cta::before, html.reduce-data .ad-hero::before, html.reduce-data .proof-strip::before, html[data-data="reduce"] .hero__atmosphere, html[data-data="reduce"] .hero__atmosphere::after, html[data-data="reduce"] .page-hero::before, html[data-data="reduce"] .page-hero::after, html[data-data="reduce"] .band-cta::before, html[data-data="reduce"] .ad-hero::before, html[data-data="reduce"] .proof-strip::before { display: none !important; }
html.fonts-system, html.save-data { --font-ui: system-ui, -apple-system, "Segoe UI", sans-serif; --font-serif: Georgia, "Times New Roman", serif; }
html.save-data .hero__atmosphere, html.save-data .hero__atmosphere::after, html.save-data .page-hero::before, html.save-data .band-cta::before, html.save-data .ad-hero::before { display: none !important; }
.req-mark { color: color-mix(in srgb, #a33a2f 75%, var(--gold)); font-weight: 700; margin-right: 0.18rem; text-decoration: none; cursor: help; forced-color-adjust: none; }
.net-banner { position: sticky; top: 0px; z-index: 60; padding-top: 0.65rem; padding-bottom: 0.65rem; padding-left: max(1rem, env(safe-area-inset-left, 0px)); padding-right: max(1rem, env(safe-area-inset-right, 0px)); background: linear-gradient(
      180deg,
      color-mix(in srgb, var(--gold) 14%, var(--charcoal)) 0%,
      var(--ink) 100%
    ); color: var(--snow); font-size: 0.92rem; font-weight: 600; text-align: center; border-bottom: 1px solid color-mix(in srgb, var(--gold) 42%, transparent); box-shadow: inset 0 2px 0 color-mix(in srgb, var(--gold) 55%, transparent); scroll-margin-top: env(safe-area-inset-top, 0px); scroll-margin-block-start: env(safe-area-inset-top, 0px); }
.net-banner--ok { background: linear-gradient(
      180deg,
      color-mix(in srgb, var(--gold) 12%, var(--charcoal-soft)) 0%,
      var(--charcoal) 100%
    ); color: color-mix(in srgb, var(--gold-soft) 35%, var(--white)); border-bottom-color: color-mix(in srgb, var(--gold) 36%, transparent); box-shadow: inset 0 2px 0 color-mix(in srgb, var(--gold) 42%, transparent); }
.net-banner[hidden] { display: none !important; }
html.is-offline .site-header, html.has-net-banner .site-header, html[data-net="offline"] .site-header { top: var(--net-banner-h, 2.75rem); }
html.is-offline, html.has-net-banner, html[data-net="offline"] { scroll-padding-top: calc(
    var(--header-h) + var(--net-banner-h, 2.75rem) + 0.75rem + env(safe-area-inset-top, 0px)
  ); scroll-padding-block-start: calc(
    var(--header-h) + var(--net-banner-h, 2.75rem) + 0.75rem + env(safe-area-inset-top, 0px)
  ); }
@media print {
  .net-banner, .noscript-banner { display: none !important; }
}
label:has(> input[required], > select[required], > textarea[required]):not(:has(.req-mark))::before { content: "* "; color: color-mix(in srgb, #a33a2f 75%, var(--gold)); font-weight: 700; }
@media (prefers-reduced-transparency: reduce) {
  .site-header { backdrop-filter: none; background: var(--ink); }
  .convert-bar { background: var(--charcoal); box-shadow: none; }
}
html.reduce-transparency .site-header, html[data-transparency="reduce"] .site-header { backdrop-filter: none; background: var(--ink); }
html.reduce-transparency .convert-bar, html[data-transparency="reduce"] .convert-bar { background: var(--charcoal); box-shadow: none; }
::target-text { background: color-mix(in srgb, var(--gold) 40%, transparent); color: inherit; }
@media (hover: none), (pointer: coarse), (any-hover: none) {
  .btn:hover, .nav-cta:hover, .site-nav .nav-cta:hover, .service-tile:hover, .hire-card:hover, .tile:hover { transform: none; }
}
html[data-js]:not(.can-hover) .btn:hover, html[data-js][data-hover="none"] .btn:hover, html[data-js]:not(.can-hover) .nav-cta:hover, html[data-js][data-hover="none"] .nav-cta:hover, html[data-js]:not(.can-hover) .site-nav .nav-cta:hover, html[data-js][data-hover="none"] .site-nav .nav-cta:hover, html[data-js]:not(.can-hover) .service-tile:hover, html[data-js][data-hover="none"] .service-tile:hover, html[data-js]:not(.can-hover) .hire-card:hover, html[data-js][data-hover="none"] .hire-card:hover, html[data-js]:not(.can-hover) .tile:hover, html[data-js][data-hover="none"] .tile:hover, html[data-js].coarse-pointer .btn:hover, html[data-js][data-pointer="coarse"] .btn:hover, html[data-js].coarse-pointer .nav-cta:hover, html[data-js][data-pointer="coarse"] .nav-cta:hover, html[data-js].coarse-pointer .site-nav .nav-cta:hover, html[data-js][data-pointer="coarse"] .site-nav .nav-cta:hover, html[data-js].coarse-pointer .service-tile:hover, html[data-js][data-pointer="coarse"] .service-tile:hover, html[data-js].coarse-pointer .hire-card:hover, html[data-js][data-pointer="coarse"] .hire-card:hover, html[data-js].coarse-pointer .tile:hover, html[data-js][data-pointer="coarse"] .tile:hover { transform: none; }
@media (any-pointer: coarse), (pointer: coarse) {
  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), select, textarea, .btn, .nav-toggle, .nav-fly__btn, .gallery-filters button, .convert-bar__est, .convert-bar__call { min-height: 2.75rem; }
  .form-check { min-height: 2.75rem; align-items: center; }
}
html.coarse-pointer input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]), html.coarse-pointer select, html.coarse-pointer textarea, html.coarse-pointer .btn, html.coarse-pointer .nav-toggle, html.coarse-pointer .nav-fly__btn, html.coarse-pointer .gallery-filters button, html.coarse-pointer .convert-bar__est, html.coarse-pointer .convert-bar__call { min-height: 2.75rem; }
html.coarse-pointer .form-check { min-height: 2.75rem; align-items: center; }
@media (orientation: landscape) and (max-height: 480px) {
  .hero__content { padding-block: 2rem 1.5rem; }
  .page-hero { padding-block: 1.5rem 1.1rem; }
  .convert-bar { padding-top: 0.4rem; padding-bottom: calc(0.35rem + env(safe-area-inset-bottom, 0px)); gap: 0.45rem; }
  .convert-bar__call span { display: none; }
  .convert-bar__call, .convert-bar__est { min-height: 2.5rem; }
  html:has(body.has-convert-bar) { scroll-padding-bottom: calc(3.75rem + env(safe-area-inset-bottom, 0px)); }
  body.has-convert-bar { padding-bottom: calc(3.75rem + env(safe-area-inset-bottom, 0px)); }
}
html[data-js].short-landscape .hero__content, html[data-js][data-orient="short-landscape"] .hero__content { padding-block: 2rem 1.5rem; }
html[data-js].short-landscape .page-hero, html[data-js][data-orient="short-landscape"] .page-hero { padding-block: 1.5rem 1.1rem; }
html[data-js].short-landscape .convert-bar, html[data-js][data-orient="short-landscape"] .convert-bar { padding-top: 0.4rem; padding-bottom: calc(0.35rem + env(safe-area-inset-bottom, 0px)); gap: 0.45rem; border-top-color: color-mix(in srgb, var(--gold) 58%, transparent); box-shadow: 0 -8px 24px color-mix(in srgb, var(--ink) 50%, transparent),
    inset 0 1px 0 color-mix(in srgb, var(--gold) 22%, transparent); }
html[data-js].short-landscape .convert-bar__call span, html[data-js][data-orient="short-landscape"] .convert-bar__call span { display: none; }
html[data-js].short-landscape .convert-bar__call, html[data-js][data-orient="short-landscape"] .convert-bar__call, html[data-js].short-landscape .convert-bar__est, html[data-js][data-orient="short-landscape"] .convert-bar__est { min-height: 2.5rem; }
html[data-js].short-landscape:has(body.has-convert-bar), html[data-js][data-orient="short-landscape"]:has(body.has-convert-bar) { scroll-padding-bottom: calc(3.75rem + env(safe-area-inset-bottom, 0px)); }
html[data-js].short-landscape body.has-convert-bar, html[data-js][data-orient="short-landscape"] body.has-convert-bar { padding-bottom: calc(3.75rem + env(safe-area-inset-bottom, 0px)); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px; }
.wrap { width: min(100% - 2.75rem, var(--max)); margin-inline: auto; container: aoe-wrap / inline-size; }
html:not([data-js]) .site-header[aria-busy="true"], html:not([data-js]) .site-header:not(:has(*)), html:not([data-js]) .site-footer:not(:has(*)), .site-header[aria-busy="true"]:not(:has(.brand)), .site-footer[aria-busy="true"]:not(:has(.footer-grid, .footer-bottom, a)) { display: none; }
.noscript-banner { margin: 0; padding: 0.85rem max(1rem, env(safe-area-inset-right, 0px)) 0.85rem max(1rem, env(safe-area-inset-left, 0px)); background: linear-gradient(
      180deg,
      color-mix(in srgb, var(--gold) 8%, var(--charcoal)) 0%,
      var(--ink) 100%
    ); color: color-mix(in srgb, var(--gold-soft) 38%, var(--white)); font-size: 0.95rem; line-height: 1.45; border-bottom: 1px solid color-mix(in srgb, var(--gold) 38%, transparent); box-shadow: inset 0 2px 0 color-mix(in srgb, var(--gold) 40%, transparent); scroll-margin-top: env(safe-area-inset-top, 0px); scroll-margin-block-start: env(safe-area-inset-top, 0px); }
.noscript-banner p { margin: 0px 0px 0.65rem; max-width: 52rem; }
.noscript-banner p:last-child { margin-bottom: 0px; }
.noscript-banner a { color: var(--gold-bright); text-decoration-thickness: 1px; text-underline-offset: 0.18em; scroll-margin-top: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); }
.noscript-banner a:hover, .noscript-banner a:focus-visible { color: var(--gold); }
.noscript-banner a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 0.15rem; }
.noscript-banner__nav { font-weight: 550; scroll-margin-top: calc(var(--header-h) + 0.5rem); scroll-margin-block-start: calc(var(--header-h) + 0.5rem); }
.noscript-banner__nav a { scroll-margin-top: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); }
.noscript-banner__nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 0.15em; }
.site-header { position: sticky; top: 0px; z-index: 50; min-height: var(--header-h); padding-top: env(safe-area-inset-top, 0px); padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px); background: color-mix(in srgb, var(--ink) 92%, transparent); backdrop-filter: blur(12px); border-bottom: 1px solid color-mix(in srgb, var(--gold) 28%, transparent); opacity: 0; animation: header-in 0.7s var(--ease) 0.15s forwards; transition: box-shadow 0.2s var(--ease), background 0.2s var(--ease); overflow-anchor: none; scroll-margin-top: env(safe-area-inset-top, 0px); scroll-margin-block-start: env(safe-area-inset-top, 0px); }
.site-header[aria-busy="true"] { min-height: var(--header-h); }
.site-header.is-scrolled, html.is-scrolled .site-header, html[data-scrolled="1"] .site-header { background: color-mix(in srgb, var(--ink) 96%, transparent); box-shadow: 0 8px 28px color-mix(in srgb, #000 35%, transparent),
    inset 0 -1px 0 color-mix(in srgb, var(--gold) 32%, transparent); border-bottom-color: color-mix(in srgb, var(--gold) 38%, transparent); }
@keyframes header-in { 
  100% { opacity: 1; }
}
.site-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-block: 0.6rem; scroll-margin-top: env(safe-area-inset-top, 0px); scroll-margin-block-start: env(safe-area-inset-top, 0px); }
.brand { display: flex; align-items: center; gap: 0.75rem; text-decoration: none; color: var(--white); border-radius: 2px; scroll-margin-top: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); }
.brand:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.brand__logo { height: 2.55rem; width: auto; max-width: min(52vw, 200px); object-fit: contain; object-position: left center; flex-shrink: 0; border-radius: 2px; scroll-margin-top: calc(0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(0.5rem + env(safe-area-inset-top, 0px)); }
@media (min-width: 960px) {
  .brand__logo { height: 2.85rem; }
}
.brand__tag { font-size: 0.82rem; color: color-mix(in srgb, var(--gold-soft) 55%, var(--white)); font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; font-variant-caps: all-small-caps; display: none; scroll-margin-top: calc(0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(0.5rem + env(safe-area-inset-top, 0px)); }
@media (min-width: 720px) {
  .brand__tag { display: block; max-width: 10.5rem; line-height: 1.35; text-wrap: balance; overflow: visible; text-overflow: unset; white-space-collapse: preserve-breaks; border-left: 1px solid color-mix(in srgb, var(--gold) 48%, transparent); padding-left: 0.75rem; }
}
@media (min-width: 960px) {
  .brand__tag { max-width: 12.5rem; }
}
.nav-toggle { display: none; background: transparent; border: 1px solid color-mix(in srgb, var(--gold) 32%, transparent); color: color-mix(in srgb, var(--gold-soft) 45%, var(--white)); padding: 0.45rem 0.75rem; min-height: 2.75rem; min-width: 2.75rem; box-sizing: border-box; font-style: inherit; font-variant: inherit; font-weight: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.85rem; cursor: pointer; border-radius: 0.2rem; touch-action: manipulation; transition: border-color 0.18s, color 0.18s, background 0.18s; scroll-margin-top: calc(0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(0.5rem + env(safe-area-inset-top, 0px)); }
.nav-toggle:hover { border-color: color-mix(in srgb, var(--gold) 55%, transparent); color: var(--white); background: color-mix(in srgb, var(--gold) 10%, transparent); }
.nav-toggle[aria-expanded="true"] { border-color: color-mix(in srgb, var(--gold) 60%, transparent); color: var(--gold-bright); background: color-mix(in srgb, var(--gold) 12%, transparent); }
.nav-toggle:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; color: var(--white); }
.site-nav ul { display: flex; flex-wrap: wrap; gap: 0.15rem 0.35rem; list-style: none; margin: 0px; padding: 0px; align-items: center; }
.site-nav a { display: inline-flex; align-items: center; text-decoration: none; color: var(--steel-bright); font-size: 1rem; font-weight: 550; min-height: 2.75rem; padding: 0.4rem 0.65rem; box-sizing: border-box; text-wrap: stable; scroll-margin-top: calc(0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(0.5rem + env(safe-area-inset-top, 0px)); }
.site-nav li { scroll-margin-top: calc(0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(0.5rem + env(safe-area-inset-top, 0px)); }
.site-nav a:hover, .site-nav a:focus-visible, .site-nav a[aria-current="page"] { color: var(--white); }
.site-nav a[aria-current="page"] { color: var(--gold-bright); box-shadow: inset 0 -2px 0 color-mix(in srgb, var(--gold) 70%, transparent); }
.site-nav a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 2px; }
.site-nav .nav-cta { background: var(--gold); padding: 0.45rem 1.15rem; min-height: 2.75rem; box-sizing: border-box; border-radius: var(--radius); font-weight: 650; flex-shrink: 0; white-space: nowrap; touch-action: manipulation; transition: background 0.25s var(--ease), transform 0.25s var(--ease); scroll-margin-top: calc(0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(0.5rem + env(safe-area-inset-top, 0px)); box-shadow: 0 0 0 1px color-mix(in srgb, var(--gold-bright) 35%, transparent),
    0 4px 14px color-mix(in srgb, #000 28%, transparent); color: var(--ink) !important; }
.site-nav .nav-cta:focus-visible { background: var(--gold-bright); transform: translateY(-1px); }
@media (hover: hover) and (pointer: fine) {
  .site-nav .nav-cta:hover { background: var(--gold-bright); transform: translateY(-1px); }
}
.site-nav .nav-cta:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
@media (max-width: 860px) {
  .nav-toggle { display: inline-flex; }
  .site-nav { position: absolute; left: 0px; right: 0px; top: 100%; background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--gold) 7%, var(--ink)) 0%,
        var(--ink) 28%
      ); border-bottom: 1px solid color-mix(in srgb, var(--gold) 36%, transparent); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--gold) 22%, transparent),
      0 16px 32px color-mix(in srgb, var(--ink) 55%, transparent); padding: 0.85rem 1rem 1.15rem; display: none; max-height: calc(100dvh - var(--header-h) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); overflow: hidden auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--gold) 45%, transparent) var(--ink); scroll-padding-block: 0.5rem; }
  .site-nav.is-open { display: block; }
  .site-nav ul { flex-direction: column; align-items: flex-start; gap: 0.45rem; }
  .nav-item--fly { width: 100%; }
  .nav-fly { position: static; min-width: 0px; width: 100%; max-height: none; overflow: visible; box-shadow: none; border-top: 0px; border-right: 0px; border-bottom: 0px; border-image: initial; border-left: 2px solid color-mix(in srgb, var(--gold) 55%, transparent); margin: 0.45rem 0px 0.35rem 0.35rem; padding: 0.35rem 0px 0.35rem 0.85rem; background: color-mix(in srgb, var(--gold) 4%, transparent); border-radius: 0px 0.15rem 0.15rem 0px; }
  .nav-fly.is-open { display: flex !important; }
}
body.nav-open { overflow: hidden; overscroll-behavior: none; }
body.nav-open .skip-link { visibility: hidden; pointer-events: none; }
body.nav-open .convert-bar { visibility: hidden; pointer-events: none; }
@media (min-width: 861px) {
  body.nav-open { overflow: auto; }
  body.nav-open .convert-bar { visibility: visible; pointer-events: auto; }
}
.nav-item--fly { position: relative; scroll-margin-top: calc(0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(0.5rem + env(safe-area-inset-top, 0px)); }
.nav-fly__btn { appearance: none; background: transparent; border: 0px; padding: 0.4rem 0.65rem; margin: 0px; min-height: 2.75rem; box-sizing: border-box; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 1rem; font-weight: 550; color: var(--steel-bright); cursor: pointer; display: inline-flex; align-items: center; gap: 0.4rem; touch-action: manipulation; scroll-margin-top: calc(0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(0.5rem + env(safe-area-inset-top, 0px)); }
.nav-fly__btn:hover, .nav-fly__btn:focus-visible, .nav-fly__btn[aria-expanded="true"], .nav-fly__btn[aria-current="true"] { color: var(--white); }
.nav-fly__btn:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; color: var(--white); border-radius: 2px; }
.nav-fly__caret { width: 0px; height: 0px; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 5px solid currentcolor; opacity: 0.75; }
.nav-fly { position: absolute; top: calc(100% + 0.22rem); left: 0px; min-width: 13.5rem; max-height: min(70vh, 28rem); overflow: hidden auto; overscroll-behavior: contain; touch-action: pan-y pinch-zoom; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--gold) 50%, transparent) var(--charcoal); scroll-padding-block: 0.18rem; scroll-margin-top: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); margin: 0px; padding: 0.45rem 0px; list-style: none; background: linear-gradient(
      165deg,
      color-mix(in srgb, var(--gold) 8%, var(--charcoal-soft)) 0%,
      var(--charcoal-soft) 40%
    ); border: 1px solid color-mix(in srgb, var(--gold) 36%, transparent); border-radius: 0.2rem; z-index: 60; box-shadow: 0 0 0 1px color-mix(in srgb, var(--gold) 18%, transparent),
    0 12px 28px color-mix(in srgb, var(--ink) 45%, transparent); flex-flow: column; align-items: stretch; gap: 0.15rem; display: none !important; }
.nav-fly.is-open { display: flex !important; }
@media (prefers-reduced-motion: no-preference) {
  .nav-fly.is-open { opacity: 1; transition: opacity 0.16s var(--ease); }
  @starting-style {
  .nav-fly.is-open { opacity: 0; }
}
}
.nav-fly[hidden] { display: none !important; }
.nav-fly > li { width: 100%; display: block; }
.nav-fly a { display: flex; align-items: center; padding: 0.45rem 1rem; min-height: 2.75rem; box-sizing: border-box; font-size: 0.95rem; white-space: normal; text-wrap-style: stable; scroll-margin-top: calc(0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(0.5rem + env(safe-area-inset-top, 0px)); }
.nav-fly a:hover, .nav-fly a:focus-visible, .nav-fly a[aria-current="page"] { background: color-mix(in srgb, var(--gold) 14%, transparent); color: var(--white); }
.nav-fly a:focus-visible { outline: 2px solid var(--gold); outline-offset: -2px; }
@media (min-width: 861px) {
  .nav-item--fly:hover > .nav-fly__btn, .nav-item--fly:focus-within > .nav-fly__btn { color: var(--white); }
}
.footer-grid--4 { display: grid; gap: 1.75rem 2rem; grid-template-columns: 1fr; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
@media (min-width: 640px) {
  .footer-grid--4 { grid-template-columns: 1.2fr 1fr 1fr; }
}
@media (min-width: 900px) {
  .footer-grid--4 { grid-template-columns: 1.35fr 1fr 1fr 1fr; }
}
.footer-bottom--solo { justify-content: space-between; border-top: 0px; padding: 1.25rem 0px 0.35rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.footer-grid--4 h2 { font-size: 0.8rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gold); margin: 0 0 0.85rem; font-family: var(--font-ui); font-weight: 650; }
.footer-grid--4 ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; }
.footer-grid--4 li { margin-bottom: 0; }
.footer-grid--4 a { color: color-mix(in srgb, var(--gold-soft) 32%, var(--white)); text-decoration: 1px; text-underline-offset: 0.22em; font-size: 0.95rem; display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.15rem 0px; box-sizing: border-box; scroll-margin-top: calc(0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(0.5rem + env(safe-area-inset-top, 0px)); }
.footer-grid--4 a:hover, .footer-grid--4 a:focus-visible, .footer-grid--4 a[aria-current="page"] { color: var(--gold); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 55%, transparent); }
.footer-grid--4 a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 2px; }
/* Pass 1881 - compound footer rows (COI) — don't stack 44px touch targets when links wrap */
.footer-grid--4 li:has(a ~ a) {
  line-height: 1.45;
  padding-block: 0.35rem;
}
.footer-grid--4 li:has(a ~ a) a {
  display: inline;
  min-height: 0;
  padding: 0.2rem 0.05rem;
  vertical-align: baseline;
}
.footer-social { margin: 1rem 0px 0px; }
.footer-social ul { list-style: none; margin: 0px; padding: 0px; display: flex; flex-wrap: wrap; gap: 0.45rem 0.85rem; }
.footer-social a { color: color-mix(in srgb, var(--gold-soft) 32%, var(--white)); text-decoration: 1px; text-underline-offset: 0.22em; font-size: 0.9rem; min-height: 2.75rem; display: inline-flex; align-items: center; }
.footer-social a:hover, .footer-social a:focus-visible { color: var(--gold); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 55%, transparent); }
.footer-social a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 2px; }
.hero { position: relative; min-height: min(58vh, 520px); max-height: min(78vh, 680px); display: flex; align-items: flex-end; color: var(--white); overflow: hidden; isolation: isolate; scroll-margin-top: env(safe-area-inset-top, 0px); scroll-margin-block-start: env(safe-area-inset-top, 0px); }
.hero__atmosphere { position: absolute; inset: 0px; z-index: -2; background: linear-gradient(
      165deg,
      var(--ink) 0%,
      var(--charcoal) 34%,
      var(--charcoal-soft) 62%,
      #0e1014 100%
    ); }
.hero__atmosphere::after { content: ""; position: absolute; inset: 0px; background: radial-gradient(
      ellipse 70% 45% at 72% 18%,
      color-mix(in srgb, var(--gold) 28%, transparent),
      transparent 55%
    ),
    radial-gradient(
      ellipse 55% 40% at 18% 78%,
      color-mix(in srgb, var(--gold) 12%, transparent),
      transparent 50%
    ),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cpath fill='none' stroke='%23c9a227' stroke-opacity='0.05' d='M0 60h120M60 0v120'/%3E%3C/svg%3E"); opacity: 1; }
.hero__media-slot { position: absolute; inset: 0px; z-index: -1; opacity: 0; overflow: hidden; transition: opacity 0.6s var(--ease); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.hero__media-slot.has-image { opacity: 1; }
.hero__media-slot.has-image ~ .hero__atmosphere, .hero.has-photo .hero__atmosphere { opacity: 0.55; }
.hero__media-slot picture { width: 100%; height: 100%; display: block; overflow: hidden; background: var(--ink); }
.hero__media-slot img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: center center; filter: saturate(1.03) contrast(1.02); }
.hero__scrim { position: absolute; inset: 0px; z-index: 0; background: linear-gradient(
    to top,
    color-mix(in srgb, var(--charcoal) 88%, transparent) 0%,
    color-mix(in srgb, var(--charcoal) 38%, transparent) 48%,
    color-mix(in srgb, var(--charcoal) 12%, transparent) 100%
  ); pointer-events: none; }
.hero__content { position: relative; z-index: 1; width: min(100% - 2rem, var(--max)); margin: 0px auto; padding: var(--space-hero-y); opacity: 0; transform: translateY(18px); animation: hero-fade 0.9s var(--ease) 0.35s forwards; container: aoe-hero / inline-size; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.hero__content a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
@keyframes hero-fade { 
  100% { opacity: 1; transform: translateY(0px); }
}
.hero__logo { width: min(100%, 320px); height: auto; margin: 0px 0px 0.85rem; filter: drop-shadow(rgba(0, 0, 0, 0.45) 0px 12px 28px); scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.hero__headline { font-family: var(--font-serif); font-weight: 550; font-size: clamp(1.9rem, 4.2vw, 2.75rem); margin: 0px 0px 1.1rem; max-width: 22ch; line-height: 1.15; text-wrap: balance; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.hero__support { margin: 0px 0px 1.75rem; max-width: 44ch; color: color-mix(in srgb, var(--white) 88%, var(--gold-soft)); font-size: clamp(1.1rem, 1.7vw, 1.25rem); line-height: 1.6; text-shadow: 0 2px 18px color-mix(in srgb, var(--ink) 55%, transparent); text-wrap: pretty; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.cta-row { display: flex; flex-wrap: wrap; gap: 1rem 1.25rem; align-items: center; padding: 0.55rem 0; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.cta-row:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 40%, transparent); outline-offset: 0.35rem; border-radius: 0.2rem; }
.cta-row--after-lead { margin-top: var(--space-stack); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.wrap--toc { padding-top: 1.35rem; padding-bottom: 1.4rem; border-bottom: 1px solid color-mix(in srgb, var(--gold) 14%, var(--mist)); background: transparent; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.wrap--toc .faq-jump { max-width: none; margin: 0; padding: 0.35rem 0 0.55rem; background: transparent; border: 0; border-radius: 0; }
.wrap--toc a { scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.band-cta .cta-row { justify-content: center; gap: 1rem 1.35rem; }
.band-cta .btn--ghost { color: color-mix(in srgb, var(--white) 90%, var(--gold-soft)); border-color: color-mix(in srgb, var(--gold-bright) 48%, var(--white)); background: color-mix(in srgb, var(--ink) 22%, transparent); }
.band-cta .btn--ghost:hover, .band-cta .btn--ghost:focus-visible { color: var(--ink); border-color: var(--gold-bright); background: var(--gold-bright); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.45rem; padding: 0.7rem 1.4rem; min-height: 2.85rem; box-sizing: border-box; font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 600; font-size: 0.95rem; border-radius: var(--radius); border: 1px solid transparent; text-decoration: none; text-wrap: stable; box-decoration-break: clone; -webkit-box-decoration-break: clone; cursor: pointer; touch-action: manipulation; transition: background 0.25s var(--ease), color 0.25s var(--ease),
    border-color 0.25s var(--ease), transform 0.25s var(--ease); scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.btn:focus-visible { transform: translateY(-2px); }
@media (hover: hover) and (pointer: fine) {
  .btn:hover { transform: translateY(-2px); }
}
.btn--primary { background: var(--gold); color: var(--ink); scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.btn--primary:hover, .btn--primary:focus-visible { background: var(--gold-bright); color: var(--ink); }
.btn--ghost { background: transparent; color: color-mix(in srgb, var(--gold-soft) 40%, var(--white)); border-color: color-mix(in srgb, var(--gold) 45%, transparent); scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.btn--ghost:hover, .btn--ghost:focus-visible { border-color: var(--gold-bright); color: var(--white); background: color-mix(in srgb, var(--gold) 12%, transparent); }
.btn--dark { background: var(--charcoal); color: var(--white); border-color: color-mix(in srgb, var(--gold) 22%, transparent); scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.btn--dark:hover, .btn--dark:focus-visible { background: var(--gold); color: var(--ink); border-color: var(--gold-bright); }
.btn--outline { background: transparent; color: var(--ink); border-color: color-mix(in srgb, var(--gold) 48%, var(--mist)); scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.btn--outline:hover, .btn--outline:focus-visible { border-color: var(--gold-bright); color: var(--gold-soft); background: color-mix(in srgb, var(--gold) 8%, transparent); }
.section { padding: var(--space-section-y) 0; }
.section.is-current, .section:target, section.convert-expect.is-current, section.convert-expect:target { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.15rem; scroll-margin-top: calc(var(--header-h) + 1.25rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1.25rem + env(safe-area-inset-top, 0px)); }
.section--alt { background: linear-gradient(
      180deg,
      color-mix(in srgb, var(--gold) 3%, var(--white)) 0%,
      var(--white) 100%
    ); border-block: 1px solid color-mix(in srgb, var(--gold) 16%, var(--mist)); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.section--alt + .section--alt { border-top: 0px; }
.wrap--toc + .section, .wrap--toc-home + .section, .page-hero + .section, .proof-strip + .section { padding-top: var(--space-section-y); }
.section__eyebrow { font-size: 0.8rem; letter-spacing: 0.13em; text-transform: uppercase; font-variant-caps: all-small-caps; color: var(--gold-soft); font-weight: 600; margin: 0px 0px 0.9rem; box-decoration-break: clone; -webkit-box-decoration-break: clone; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.section__title { font-family: var(--font-serif); font-size: clamp(1.85rem, 3.4vw, 2.5rem); font-weight: 600; margin: 0px 0px 1.05rem; letter-spacing: -0.02em; color: var(--ink); text-wrap: balance; text-box: cap alphabetic; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
h2.section__title.is-current, h2.section__title[id]:target, h1[id].is-current:not(.sr-only), h1[id]:not(.sr-only):target, h2[id].is-current:not(.sr-only), h2[id]:not(.sr-only):target, h3[id].is-current:not(.sr-only), h3[id]:not(.sr-only):target { outline: 2px solid var(--gold); outline-offset: 0.25rem; border-radius: 0.15rem; }
.section__lead { margin: 0 0 var(--space-lead-mb); max-width: 52ch; color: color-mix(in srgb, var(--gold-soft) 18%, var(--slate)); font-size: 1.18rem; line-height: 1.65; text-wrap: pretty; text-spacing-trim: trim-start; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.section__lead a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 0.15rem; }
.section__lead a { color: var(--link-on-light); font-weight: 600; text-decoration-color: color-mix(in srgb, var(--link-on-light) 45%, transparent); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.section__lead a:hover, .section__lead a:focus-visible { color: var(--gold-bright); text-decoration-color: color-mix(in srgb, var(--gold) 55%, transparent); }
.section__lead + .btn, .section__lead + a.btn { margin-top: 0.75rem; }
.grid-4 { display: grid; gap: 1.85rem 2rem; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
@media (min-width: 960px) {
  .grid-4 { gap: 2rem 2.35rem; }
}
.grid-3 { display: grid; gap: 1.75rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.grid-2 { display: grid; gap: 2.15rem; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
@media (min-width: 800px) {
  .grid-2 { gap: 2.25rem 2.65rem; align-items: start; }
  #process .grid-2 { align-items: center; }
}
.grid-2 a, .grid-3 a, .grid-4 a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.service-tile { border-top: 2px solid var(--gold); padding: 1.4rem 0.25rem 0.85rem; transition: border-top-color 0.18s, background 0.18s; content-visibility: auto; contain-intrinsic-size: auto 160px; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.service-tile:hover, .service-tile:focus-within { border-top-color: var(--gold-bright); background: color-mix(in srgb, var(--gold) 3.5%, transparent); }
.service-tile.is-current { outline: 2px solid var(--gold); outline-offset: 0.25rem; border-radius: 0.15rem; }
.service-tile:focus-within { border-top-color: var(--gold-bright); }
.service-tile h3 { font-family: var(--font-serif); font-weight: 600; margin: 0px 0px 0.75rem; font-size: clamp(1.18rem, 2vw, 1.32rem); letter-spacing: -0.012em; line-height: 1.3; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.service-tile p { margin: 0px; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); font-size: 1.04rem; line-height: 1.65; }
.service-tile a { display: inline-flex; align-items: center; margin-top: 0.75rem; font-weight: 600; color: var(--gold); text-decoration: none; text-underline-offset: 0.18em; border-radius: 0.2rem; min-height: 2.75rem; padding: 0.2rem 0.1rem; box-sizing: border-box; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.service-tile a:hover, .service-tile a:focus-visible { color: var(--gold-bright); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 50%, transparent); }
.service-tile a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.service-tile a[aria-current="page"], .tile-grid a[aria-current="page"], .grid-4 a[aria-current="page"], .grid-3 a[aria-current="page"], .position-grid a[aria-current="page"] { text-decoration: underline; text-underline-offset: 0.18em; }
.tile-grid { display: grid; gap: 1.75rem 1.5rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); margin-top: var(--space-stack); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.tile-grid a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
a.tile { display: block; border-top: 2px solid var(--gold); padding: 1.35rem 0.2rem 0.7rem; min-height: 2.75rem; box-sizing: border-box; text-decoration: none; color: inherit; border-radius: 0.2rem; transition: border-top-color 0.18s, background 0.18s; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
a.tile:hover, a.tile:focus-visible { color: inherit; border-top-color: var(--gold-bright); background: color-mix(in srgb, var(--gold) 4%, transparent); }
a.tile:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-top-color: var(--gold-bright); }
a.tile h3 { margin: 0px 0px 0.65rem; font-size: 1.22rem; color: var(--ink); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
a.tile p { margin: 0px; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); font-size: 1.02rem; line-height: 1.6; }
.media-slot { position: relative; background: var(--charcoal-soft); min-height: 0px; aspect-ratio: 3 / 2; overflow: hidden; overflow-clip-margin: 2px; border: 1px dashed color-mix(in srgb, var(--gold) 48%, var(--mist)); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.media-slot:not(.has-image) { background: linear-gradient(
      145deg,
      var(--charcoal-soft) 0%,
      color-mix(in srgb, var(--charcoal) 88%, var(--gold)) 55%,
      color-mix(in srgb, var(--ink) 92%, var(--gold-soft)) 100%
    ); border-style: solid; border-color: color-mix(in srgb, var(--gold) 28%, var(--mist)); }
.media-slot:not(.has-image)::before { content: ""; position: absolute; inset: 0px; background: radial-gradient(
      ellipse 70% 55% at 50% 40%,
      color-mix(in srgb, var(--gold) 12%, transparent),
      transparent 62%
    ); pointer-events: none; }
.media-slot--tall { aspect-ratio: 3 / 2; min-height: 0px; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.media-slot--hero-page { aspect-ratio: 3 / 2; min-height: 0px; margin-top: 2.65rem; border-style: solid; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.media-slot--hero-page.media-slot--flush { margin-top: 0px; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.media-slot--wide { aspect-ratio: 16 / 9; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.media-slot--square { aspect-ratio: 1 / 1; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.media-slot__label { position: absolute; inset: 0px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.45rem; padding: 1rem 1.25rem; text-align: center; color: color-mix(in srgb, var(--gold-soft) 35%, var(--white)); font-size: 0.9rem; line-height: 1.45; pointer-events: none; z-index: 1; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.media-slot__label strong { color: var(--gold-bright); font-size: 0.95rem; letter-spacing: 0.04em; text-transform: uppercase; font-weight: 650; }
.media-slot:not(.has-image) .media-slot__label strong { position: absolute; width: 1px; height: 1px; padding: 0px; margin: -1px; overflow: hidden; clip: rect(0px, 0px, 0px, 0px); white-space: nowrap; border: 0px; }
.media-slot:not(.has-image) .media-slot__path { display: none; }
.media-slot__path { hyphens: none; font-family: ui-monospace, monospace; font-size: 0.72rem; color: color-mix(in srgb, var(--gold-soft) 55%, var(--white)); opacity: 0.9; word-break: break-all; line-break: strict; text-autospace: no-autospace; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.media-slot--data-saver .media-slot__label { color: color-mix(in srgb, var(--gold-soft) 30%, var(--slate)); }
.media-slot--data-saver .media-slot__label strong { color: var(--gold); }
.media-slot picture { position: absolute; inset: 0px; margin: 0px; display: block; }
.media-slot img { position: absolute; inset: 0px; width: 100%; height: 100%; object-fit: cover; object-position: center center; opacity: 0; }
.media-slot[data-pos="top"] img { object-position: center top; }
.media-slot[data-pos="center"] img { object-position: center center; }
.media-slot[data-pos="bottom"] img { object-position: center bottom; }
.media-slot.has-image { border-style: solid; border-color: color-mix(in srgb, var(--gold) 52%, var(--mist)); box-shadow: 0 0 0 1px color-mix(in srgb, var(--gold) 14%, transparent),
    0 18px 40px color-mix(in srgb, var(--ink) 8%, transparent); }
.media-slot.has-image img { opacity: 1; filter: saturate(1.04) contrast(1.03); }
.media-slot.has-image .media-slot__label { display: none; }
.steps { counter-reset: step 0; list-style: none; margin: 0px; padding: 0px; display: grid; gap: 1.85rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.steps li { counter-increment: step 1; display: grid; gap: 0.5rem 1.25rem; grid-template-columns: auto 1fr; align-items: start; padding-block: 1.2rem; border-left: 2px solid color-mix(in srgb, var(--gold) 42%, transparent); padding-left: 1.25rem; margin-left: 0px; transition: border-color 0.18s, background 0.18s; scroll-margin-top: calc(var(--header-h) + 1.25rem); scroll-margin-block-start: calc(var(--header-h) + 1.25rem); }
.steps li:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 50%, transparent); outline-offset: 0.3rem; border-radius: 0.15rem; border-left-color: var(--gold); }
.steps li::before { content: counter(step, decimal-leading-zero); font-weight: 700; color: var(--gold); font-variant-numeric: tabular-nums; font-size: 1.15rem; letter-spacing: 0.02em; padding-top: 0.2rem; }
.steps h3 { font-family: var(--font-serif); font-weight: 600; margin: 0px 0px 0.65rem; font-size: clamp(1.15rem, 1.8vw, 1.28rem); line-height: 1.3; letter-spacing: -0.012em; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.steps a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.steps p { margin: 0px; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); grid-column: 2; font-size: 1.02rem; line-height: 1.65; max-width: 48ch; }
.steps li:target { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.2rem; border-left-color: var(--gold-bright); background: color-mix(in srgb, var(--gold) 5%, transparent); padding-block: 0.85rem; padding-left: 1rem; }
.steps li.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.2rem; border-left-color: var(--gold-bright); background: color-mix(in srgb, var(--gold) 5%, transparent); padding-block: 0.85rem; padding-left: 1rem; scroll-margin-top: calc(var(--header-h) + 1.25rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1.25rem + env(safe-area-inset-top, 0px)); scroll-margin-block-end: calc(var(--convert-bar-h, 5.5rem) + 0.75rem + env(safe-area-inset-bottom, 0px)); text-wrap: pretty; }
.steps li.is-current h3, .steps li:target h3 { color: color-mix(in srgb, var(--gold-soft) 45%, var(--ink)); }
.step-nav { font-size: 0.95rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); margin-top: 1.15rem !important; }
.step-nav a[aria-current="true"], .path-list a[aria-current="true"] { text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 55%, transparent); text-underline-offset: 0.18em; }
.step-nav a { color: var(--gold); font-weight: 600; text-decoration: none; text-underline-offset: 0.15em; display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.15rem 0.1rem; box-sizing: border-box; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.step-nav a:hover, .step-nav a:focus-visible { color: var(--gold-bright); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 50%, transparent); }
.step-nav a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 0.2rem; }
.step-nav:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 40%, transparent); outline-offset: 0.25rem; border-radius: 0.2rem; }
/* Pass 1317 - storm hero to look/document */
#section-sec-storm-look-document-plan-the-repair.section, #checklist.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.page-hero + #section-sec-storm-look-document-plan-the-repair.section { padding-top: var(--space-section-y); }
/* Pass 1324 - storm look/document to checklist */
#section-sec-storm-look-document-plan-the-repair + #checklist.section { padding-top: var(--space-section-y); }
/* Pass 1372 - storm checklist to next CTA */
#checklist + #next.band-cta { padding-top: var(--space-band-y); }
#checklist.section:has(+ #next) { padding-bottom: var(--space-section-y); }
#section-sec-storm-look-document-plan-the-repair .faq-jump { margin-bottom: 1.15rem; padding: 0.25rem 0 0.75rem; }
#section-sec-storm-look-document-plan-the-repair .faq-jump .section__eyebrow { margin-bottom: 0.55rem; }
#section-sec-storm-look-document-plan-the-repair .section__eyebrow, #checklist .section__eyebrow { margin-bottom: 0.55rem; }
#section-sec-storm-look-document-plan-the-repair .section__title, #checklist .section__title { margin-bottom: 0.75rem; }
#section-sec-storm-look-document-plan-the-repair .grid-2--follow { margin-top: 1rem; gap: 1.6rem 1.85rem; }
@media (min-width: 800px) {
  #section-sec-storm-look-document-plan-the-repair .grid-2--follow { gap: 1.7rem 2.1rem; }
}
#section-sec-storm-look-document-plan-the-repair .prose > p { margin-bottom: 0.8rem; }
#section-sec-storm-look-document-plan-the-repair .prose > ul { margin: 0.55rem 0 0.9rem; }
#checklist .steps { gap: 1.55rem; margin-top: 1.35rem; }
#checklist .steps li { padding-block: 1.05rem; padding-left: 1.2rem; gap: 0.5rem 1.15rem; }
#checklist .steps h3 { margin-bottom: 0.55rem; }
#checklist .steps p { margin-bottom: 0.45rem; }
#checklist .step-nav { margin-top: 0.75rem !important; }
#checklist .stack-mt--lg { margin-top: 1.35rem; }
/* Pass 1311 - financing hero to money-talk */
#section-money-talk.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.page-hero + #section-money-talk.section { padding-top: var(--space-section-y); }
/* Pass 1353 - financing secondary headings */
#section-money-talk .faq-jump { margin-bottom: 1.15rem; padding: 0.25rem 0 0.75rem; }
#section-money-talk .faq-jump .section__eyebrow { margin-bottom: 0.55rem; }
#section-money-talk h2 { font-family: var(--font-serif); font-weight: 600; font-size: clamp(1.35rem, 2.4vw, 1.65rem); line-height: 1.28; letter-spacing: -0.012em; margin: 1.35rem 0 0.7rem; color: var(--ink); }
#section-money-talk h2:not(#money-talk) { margin: 1.05rem 0 0.55rem; }
#section-money-talk #money-talk { margin-top: 0.55rem; }
#section-money-talk .prose > p, #section-money-talk.prose > p, #section-money-talk .wrap > p { margin-bottom: 0.7rem; }
#section-money-talk .path-list { gap: 0.7rem; margin: 0.55rem 0 1.15rem; }
#section-money-talk .path-list > li { padding: 0.6rem 0.2rem 0.6rem 0.95rem; line-height: 1.6; }
#section-money-talk #wont + ul { margin: 0.55rem 0 1.05rem; padding-left: 1.2rem; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); line-height: 1.6; }
#section-money-talk #wont + ul li + li { margin-top: 0.4rem; }
#section-money-talk .form-note { margin: 0.85rem 0 0.25rem; padding: 0.7rem 0.9rem; }
#section-money-talk .stack-mt--lg { margin-top: 1.35rem; }
/* Pass 1368 - financing money-talk to next CTA */
#section-money-talk + #next.band-cta { padding-top: var(--space-band-y); }
#section-money-talk.section:has(+ #next) { padding-bottom: var(--space-section-y); }
#nearby:target, #towns:target, #map:target, #document:target, #insurance:target, #checklist:target, #money-talk:target, #paths:target, #before-order:target, #wont:target, #who:target, #credentials:target, #how:target, #intro:target, #rules:target, #collect:target, #use:target, #calls:target, #hosting:target, #spam:target, #questions:target, #capability:target, #partnership:target, #rfq:target, #exterior-first:target, #expect:target, #gbb:target, #compare:target, #proof:target, #path:target, #together:target, #openings:target, #with-siding:target, #edge:target, #areas:target, #vendor-docs:target, #trades:target, #help:target, #hire:target, #forms:target, #resend:target, #storm:target { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
.faq-jump__links a[aria-current="true"] { color: var(--gold-bright); font-weight: 650; text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 55%, transparent); text-underline-offset: 0.2em; }
.faq-jump__links { display: flex; flex-wrap: wrap; gap: 0.55rem 0.95rem; align-items: baseline; }
.faq-item summary:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 0.2rem; }
.town-list { columns: 2; gap: 1.1rem 1.5rem; margin: 0px; padding: 0px; list-style: none; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
@media (min-width: 700px) {
  .town-list { columns: 3; }
}
.town-list li { break-inside: avoid; padding: 0.55rem 0px; border-bottom: 1px solid color-mix(in srgb, var(--gold) 14%, var(--mist)); color: var(--charcoal-soft); font-weight: 500; transition: border-color 0.15s, background 0.15s; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.town-list a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.town-list li:focus-within, .town-list li:hover { border-bottom-color: color-mix(in srgb, var(--gold) 40%, var(--mist)); background: color-mix(in srgb, var(--gold) 4%, transparent); }
.town-list li:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 45%, transparent); outline-offset: 0.15rem; border-radius: 0.15rem; }
.draft-note { display: inline-block; font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gold-soft); font-weight: 650; margin-bottom: 0.65rem; padding-bottom: 0.35rem; border-bottom: 1px solid color-mix(in srgb, var(--gold) 42%, transparent); scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.draft-note a { scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.page-hero { position: relative; isolation: isolate; overflow: hidden; padding: var(--space-page-hero-y); background: linear-gradient(180deg, var(--ink) 0%, var(--charcoal) 42%, var(--charcoal-soft) 100%); color: var(--white); border-bottom: 1px solid color-mix(in srgb, var(--gold) 28%, transparent); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--gold) 22%, transparent); scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.page-hero::before { content: ""; position: absolute; inset: 0px; background: radial-gradient(
      ellipse 58% 42% at 88% 8%,
      color-mix(in srgb, var(--gold) 20%, transparent),
      transparent 58%
    ),
    radial-gradient(
      ellipse 40% 35% at 8% 92%,
      color-mix(in srgb, var(--gold) 10%, transparent),
      transparent 52%
    ); pointer-events: none; z-index: 0; }
.page-hero::after { content: ""; position: absolute; left: 0px; right: 0px; bottom: 0px; height: 1px; background: linear-gradient(
    90deg,
    transparent,
    color-mix(in srgb, var(--gold) 48%, transparent),
    color-mix(in srgb, var(--gold-soft) 35%, transparent),
    transparent
  ); pointer-events: none; z-index: 0; }
.page-hero > .wrap { position: relative; z-index: 1; }
.section[id], .band-cta[id], .page-hero[id], main > [id] { scroll-margin-top: calc(var(--header-h) + 1.25rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1.25rem + env(safe-area-inset-top, 0px)); }
.page-hero h1 { font-family: var(--font-serif); font-size: clamp(1.95rem, 3.6vw, 2.65rem); margin: 0px 0px 1.05rem; font-weight: 600; line-height: 1.18; letter-spacing: -0.015em; text-wrap: balance; text-box: cap alphabetic; text-shadow: 0 2px 20px color-mix(in srgb, var(--ink) 45%, transparent); }
.page-hero p { margin: 0px; max-width: 48ch; color: color-mix(in srgb, var(--gold-soft) 32%, var(--white)); line-height: 1.65; font-size: 1.12rem; }
.page-hero .cta-row { margin-top: 1.45rem; gap: 1rem 1.35rem; }
.page-hero .btn--ghost { color: color-mix(in srgb, var(--white) 90%, var(--gold-soft)); border-color: color-mix(in srgb, var(--gold-bright) 48%, var(--white)); background: color-mix(in srgb, var(--ink) 22%, transparent); }
.page-hero .btn--ghost:hover, .page-hero .btn--ghost:focus-visible { color: var(--ink); border-color: var(--gold-bright); background: var(--gold-bright); }
.page-hero .section__eyebrow { color: var(--gold-bright); opacity: 1; letter-spacing: 0.14em; margin-bottom: 0.85rem; }
.page-hero p a:not(.btn), .band-cta p a:not(.btn) { color: var(--gold-bright); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 45%, transparent); text-underline-offset: 0.12em; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.page-hero a:not(.btn):focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 0.15rem; }
.band-cta__fine a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 0.15rem; }
.page-hero .lang-strip, .lang-strip--after-lead { margin-top: var(--space-stack); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.stack-mt { margin-top: var(--space-stack); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.stack-mt--lg { margin-top: 2.55rem; font-size: 1.02rem; line-height: 1.6; color: color-mix(in srgb, var(--gold-soft) 22%, var(--slate)); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.stack-mt--sm { margin-top: var(--space-stack-sm); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.form-note--tight { margin-top: 0.65rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.form-check { display: flex; align-items: flex-start; gap: 0.65rem; font-weight: 550; font-size: 0.95rem; grid-column: 1 / -1; min-height: 2.75rem; padding: 0.75rem 0.85rem; box-sizing: border-box; cursor: pointer; border: 1px solid color-mix(in srgb, var(--gold) 14%, transparent); border-radius: 0.2rem; background: color-mix(in srgb, var(--gold) 3%, transparent); transition: border-color 0.15s, background 0.15s; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-bottom: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); scroll-margin-block-end: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); }
.form-check a { color: var(--gold); font-weight: 600; text-decoration-color: color-mix(in srgb, var(--gold) 45%, transparent); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.form-check a:hover, .form-check a:focus-visible { color: var(--gold-bright); }
.form-check:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 40%, transparent); outline-offset: 0.25rem; border-radius: 0.2rem; border-color: color-mix(in srgb, var(--gold) 40%, var(--mist)); background: color-mix(in srgb, var(--gold) 6%, transparent); }
.form-check input { margin-top: 0.18rem; flex-shrink: 0; width: 1.25rem; height: 1.25rem; min-width: 1.25rem; min-height: 1.25rem; accent-color: var(--gold); }
.form-check input:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.wrap--narrow { max-width: 36rem; padding-top: 1.15rem; border-top: 2px solid color-mix(in srgb, var(--gold) 55%, transparent); background: linear-gradient(
      180deg,
      color-mix(in srgb, var(--gold) 5%, transparent) 0%,
      transparent 2.5rem
    ); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.section--flush-bottom { padding-bottom: 0px; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.faq-jump--tight { margin-bottom: 0.85rem; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.band-cta p.band-cta__fine, .band-cta__fine { margin: 1.35rem auto 0; max-width: none; font-size: 0.96rem; line-height: 1.55; color: color-mix(in srgb, var(--gold-soft) 35%, var(--white)); opacity: 1; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.band-cta__fine a { color: var(--gold-bright); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 40%, transparent); text-underline-offset: 0.15em; display: inline; min-height: 0; padding: 0.25rem 0.1rem; box-sizing: border-box; vertical-align: baseline; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.band-cta__fine a:hover, .band-cta__fine a:focus-visible { color: var(--gold); }
.cta-row--sm { margin-top: var(--space-stack); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.grid-2--follow { margin-top: var(--space-stack-lg); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
@media (min-width: 800px) {
  #who .grid-2--follow { grid-template-columns: minmax(0px, 1.15fr) minmax(18rem, 0.95fr); gap: 1.45rem 1.75rem; }
}
.about-media { display: grid; gap: 1rem; align-content: start; }
.about-media .media-slot { width: 100%; }
.about-media .stack-mt--sm { margin-top: 0px; }
#who.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.page-hero + #who.section { padding-top: var(--space-section-y); }
#who .wrap--toc { margin-bottom: 1.1rem; padding-top: 1.05rem; padding-bottom: 1.1rem; }
#who .wrap--toc .section__eyebrow { margin-bottom: 0.55rem; }
#who .section__eyebrow { margin-bottom: 0.65rem; }
#who .section__title { margin-bottom: 0.85rem; }
#who .prose > p { font-size: 1.05rem; line-height: 1.58; max-width: 48ch; margin-bottom: 0.85rem; }
#who .grid-2--follow { margin-top: 1.25rem; gap: 1.45rem 1.75rem; }
#who .about-media { gap: 0.95rem; }
/* Pass 1322 - about who to credentials */
#credentials.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
#who + #credentials.section { padding-top: var(--space-section-y); }
/* Pass 1363 - about credentials to next CTA */
#credentials + #next.band-cta { padding-top: var(--space-band-y); }
#credentials.section:has(+ #next) { padding-bottom: var(--space-section-y); }
#credentials .section__title { margin-bottom: 0.85rem; }
.grid-2--roomy { gap: 2rem 1.75rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.link-accent { color: var(--gold-bright); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 45%, transparent); text-underline-offset: 0.14em; border-radius: 0.15rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.link-accent:hover, .link-accent:focus-visible { color: var(--gold); text-decoration-color: color-mix(in srgb, var(--gold) 70%, transparent); }
.link-accent:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.step-optional { font-weight: 500; font-size: 0.85em; color: color-mix(in srgb, var(--gold-soft) 40%, var(--slate)); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.prose--mid { align-self: center; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.section__lead--flush { margin: 0px; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.section__title--sm { font-size: 1.32rem; letter-spacing: -0.015em; color: color-mix(in srgb, var(--ink) 92%, var(--gold-soft)); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.prose--follow { margin: var(--space-stack-lg) 0 0; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.lede-slate { margin-top: var(--space-section-y-tight); color: color-mix(in srgb, var(--gold-soft) 18%, var(--slate)); max-width: 52ch; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.lede-slate a { color: var(--gold); font-weight: 600; text-decoration-color: color-mix(in srgb, var(--gold) 45%, transparent); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.lede-slate a:hover, .lede-slate a:focus-visible { color: var(--gold-bright); }
.form-grid { display: grid; gap: 1.25rem; max-width: 36rem; padding: 1.65rem 1.45rem 1.75rem; border: 1px solid color-mix(in srgb, var(--gold) 28%, var(--mist)); border-radius: 0.2rem; background: linear-gradient(
      165deg,
      color-mix(in srgb, var(--gold) 3.5%, var(--snow)) 0%,
      var(--white) 52%
    ); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.form-grid a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.form-grid:not(:has(> fieldset)):focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 35%, transparent); outline-offset: 0.45rem; border-radius: 0.2rem; border-color: color-mix(in srgb, var(--gold) 40%, var(--mist)); }
h1, h2, h3, .page-hero h1, .section h2 { hyphens: manual; hyphenate-limit-chars: auto; }
label { display: grid; gap: 0.6rem; font-weight: 550; font-size: 0.98rem; }
input, select, textarea { font: inherit; padding: 0.7rem 0.9rem; border: 1px solid color-mix(in srgb, var(--gold) 28%, var(--mist)); border-radius: 0.2rem; background: var(--surface); color: var(--charcoal); accent-color: var(--gold); caret-color: var(--gold); caret-shape: bar; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-bottom: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); scroll-margin-block-end: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); }
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="image"]):not([type="file"]), select { min-height: 2.75rem; box-sizing: border-box; field-sizing: fixed; }
input::placeholder, textarea::placeholder { color: color-mix(in srgb, var(--slate) 85%, var(--mist)); opacity: 1; }
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus, textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus, input:autofill, input:autofill:hover, input:autofill:focus, select:autofill, select:autofill:hover, select:autofill:focus, textarea:autofill, textarea:autofill:hover, textarea:autofill:focus { -webkit-text-fill-color: var(--charcoal); caret-color: var(--gold); box-shadow: 0 0 0 1000px var(--surface) inset; border-color: color-mix(in srgb, var(--gold) 42%, var(--mist)); transition: background-color 99999s ease-out; }
fieldset:disabled, fieldset[disabled] { opacity: 0.72; cursor: not-allowed; }
fieldset:disabled input, fieldset:disabled select, fieldset:disabled textarea, fieldset:disabled button, fieldset[disabled] input, fieldset[disabled] select, fieldset[disabled] textarea, fieldset[disabled] button { cursor: not-allowed; }
input:disabled, select:disabled, textarea:disabled, button:disabled { opacity: 0.72; cursor: not-allowed; }
input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-color: color-mix(in srgb, var(--gold) 55%, var(--mist)); background: color-mix(in srgb, var(--gold) 4%, var(--surface)); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-bottom: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); scroll-margin-block-end: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); }
textarea { min-height: 140px; resize: vertical; field-sizing: content; max-height: min(24rem, 70vh); }
input.is-invalid, select.is-invalid, textarea.is-invalid, input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"], input:user-invalid, select:user-invalid, textarea:user-invalid { border-color: rgb(163, 58, 47); outline-color: rgb(163, 58, 47); }
input:user-valid:not(:placeholder-shown):not([aria-invalid="true"]), select:user-valid:not([aria-invalid="true"]), textarea:user-valid:not(:placeholder-shown):not([aria-invalid="true"]) { border-color: color-mix(in srgb, var(--gold) 48%, var(--mist)); }
optgroup { font-weight: 650; color: var(--charcoal); font-style: normal; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
optgroup option { font-weight: 500; color: var(--charcoal); }
select:required:invalid { color: color-mix(in srgb, var(--slate) 92%, var(--charcoal)); }
select:required:valid { color: var(--charcoal); }
.form-note { font-size: 0.9rem; color: color-mix(in srgb, var(--gold-soft) 22%, var(--slate)); margin: 0.85rem 0px 0px; text-wrap: pretty; padding: 0.65rem 0.85rem; border-left: 2px solid color-mix(in srgb, var(--gold) 40%, transparent); background: color-mix(in srgb, var(--gold) 4%, transparent); border-radius: 0px 0.15rem 0.15rem 0px; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
#estimate-form-note, #hire-form-note { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.form-char-count { hyphens: none; margin: 0.18rem 0px 0px; font-size: 0.8rem; color: color-mix(in srgb, var(--gold-soft) 25%, var(--slate)); font-variant-numeric: tabular-nums; text-autospace: no-autospace; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.form-char-count.is-near-limit { color: color-mix(in srgb, #8f4540 65%, var(--ink)); font-weight: 600; }
.form-note a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 0.15rem; }
.form-note a { color: var(--gold); font-weight: 600; text-decoration-color: color-mix(in srgb, var(--gold) 45%, transparent); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.form-note a:hover, .form-note a:focus-visible { color: var(--gold-bright); }
.form-success { display: none; padding: 1.35rem 1.4rem 1.5rem; background: linear-gradient(
      135deg,
      color-mix(in srgb, var(--gold) 10%, var(--snow)) 0%,
      color-mix(in srgb, var(--gold) 4%, var(--white)) 100%
    ); border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 3px solid var(--gold); border-radius: 0px 0.2rem 0.2rem 0px; margin-bottom: var(--space-stack); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-bottom: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); scroll-margin-block-end: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); }
.form-success.is-visible { display: block; }
.form-success:focus, .form-success:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.form-success a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 0.15rem; }
.form-success a { color: var(--gold-soft); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.form-success a:hover, .form-success a:focus-visible { color: var(--gold); }
.form-success__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.85rem 1.2rem; margin-top: 1.1rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.form-success__actions:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 45%, transparent); outline-offset: 0.25rem; border-radius: 0.2rem; }
.btn--small { font-size: 0.92rem; padding: 0.55rem 1.1rem; min-height: 2.75rem; box-sizing: border-box; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.btn--small:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.btn.is-copied { border-color: var(--gold); color: var(--gold-soft); background: color-mix(in srgb, var(--gold) 8%, var(--white)); }
.form-success:focus { outline: 2px solid var(--gold); outline-offset: 3px; }
.form-grid.is-sent, .hire-form.is-sent, form[aria-disabled="true"] { opacity: 0.72; }
.form-grid.is-sent button[type="submit"], .hire-form.is-sent button[type="submit"], form[aria-disabled="true"] button[type="submit"] { cursor: not-allowed; }
form[aria-busy="true"] { cursor: wait; }
form[aria-busy="true"] button[type="submit"] { pointer-events: none; opacity: 0.85; }
.form-error { margin: 0px 0px 0.85rem; padding: 0.85rem 1rem; border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 3px solid color-mix(in srgb, #8f4540 75%, var(--ink)); border-radius: 0px 0.2rem 0.2rem 0px; background: linear-gradient(
      135deg,
      color-mix(in srgb, #8f4540 9%, var(--snow)) 0%,
      color-mix(in srgb, var(--ink) 3%, var(--snow)) 100%
    ); color: color-mix(in srgb, #5a2c2a 50%, var(--ink)); font-size: 0.95rem; white-space: break-spaces; user-select: text; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-bottom: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); scroll-margin-block-end: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); }
.form-error a { color: color-mix(in srgb, #8f4540 55%, var(--gold-soft)); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.form-error:focus, .form-error:focus-visible { outline: 2px solid color-mix(in srgb, #8f4540 70%, var(--ink)); outline-offset: 2px; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-bottom: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); scroll-margin-block-end: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); }
.form-error[hidden] { display: none !important; }
.contact-facts { text-wrap: pretty; list-style: none; margin: 0px 0px 1.25rem; border: 1px solid color-mix(in srgb, var(--gold) 22%, var(--mist)); border-radius: 0.2rem; background: linear-gradient(
      165deg,
      color-mix(in srgb, var(--gold) 3.5%, var(--snow)) 0%,
      var(--white) 55%
    ); padding: 0.65rem 1.25rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.contact-facts li { padding: 0.95rem 0; border-bottom: 1px solid color-mix(in srgb, var(--gold) 14%, var(--mist)); }
.contact-facts li:last-child { border-bottom: 0px; }
.contact-facts li:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 45%, transparent); outline-offset: 0.15rem; border-radius: 0.15rem; }
.contact-facts a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.1rem 0px; box-sizing: border-box; color: var(--gold); font-weight: 600; text-decoration: none; text-underline-offset: 0.15em; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.contact-facts a:hover, .contact-facts a:focus-visible { color: var(--gold-bright); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 50%, transparent); }
.contact-facts a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 0.15rem; }
.contact-facts span { display: block; font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; color: color-mix(in srgb, var(--gold-soft) 40%, var(--slate)); margin-bottom: 0.35rem; }
.placeholder { font-family: ui-monospace, monospace; font-size: 0.9em; color: var(--gold-soft); background: color-mix(in srgb, var(--gold) 8%, transparent); padding: 0.05em 0.28em; border-radius: 0.15rem; border: 1px solid color-mix(in srgb, var(--gold) 22%, transparent); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
#credentials .prose > p { font-size: 1.05rem; line-height: 1.62; max-width: 48ch; margin-bottom: 0.9rem; }
#credentials .cta-row { margin-top: 1.2rem; gap: 0.9rem 1.15rem; }
.placeholder--soft { font-family: inherit; font-size: inherit; color: color-mix(in srgb, var(--gold) 48%, var(--slate)); font-weight: 600; font-style: italic; background: transparent; border-top: 0px; border-right: 0px; border-left: 0px; border-image: initial; border-bottom: 1px dashed color-mix(in srgb, var(--gold) 42%, transparent); padding: 0px 0px 0.08em; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.gallery-grid { display: grid; gap: 2.15rem 0px; grid-template-columns: 1fr; max-width: none; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-target-group: auto; }
.gallery-grid.is-current, .gallery-grid:target { outline: 2px solid var(--gold); outline-offset: 0.4rem; border-radius: 0.2rem; }
.gallery-grid[aria-busy="true"] { cursor: wait; }
#filters { scroll-margin-top: calc(var(--header-h) + 1.25rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1.25rem + env(safe-area-inset-top, 0px)); }
.gallery-pair h3 { margin: 0.95rem 0 0.55rem; font-family: var(--font-serif); font-size: 1.25rem; font-weight: 600; letter-spacing: -0.01em; line-height: 1.32; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.gallery-pair { padding: 0.85rem 0.15rem 1.55rem; border-bottom: 1px solid color-mix(in srgb, var(--gold) 16%, var(--mist)); transition: background 0.18s, border-color 0.18s; content-visibility: auto; contain-intrinsic-size: auto 280px; overflow-clip-margin: 2px; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.gallery-pair a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.gallery-pair:hover, .gallery-pair:focus-within { background: color-mix(in srgb, var(--gold) 4%, transparent); border-bottom-color: color-mix(in srgb, var(--gold) 35%, var(--mist)); }
.gallery-pair:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 50%, transparent); outline-offset: 0.4rem; border-radius: 0.2rem; }
.gallery-pair.is-current, .gallery-pair:target { outline: 2px solid var(--gold); outline-offset: 0.4rem; border-radius: 0.2rem; background: color-mix(in srgb, var(--gold) 5%, transparent); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
#filters.section { padding-top: 3.35rem; padding-bottom: 3.35rem; }
/* Pass 1357 - gallery TOC to filters */
.wrap--toc + #filters.section { padding-top: var(--space-section-y); }
/* Pass 1358 - gallery filters to next CTA */
#filters + #next.band-cta { padding-top: var(--space-band-y); }
#filters.section:has(+ #next) { padding-bottom: var(--space-section-y); }
#filters .section__lead { max-width: 52ch; margin-bottom: 1rem; font-size: 1.1rem; line-height: 1.6; }
.gallery-pair p { margin: 0; color: color-mix(in srgb, var(--gold-soft) 18%, var(--slate)); font-size: 1.03rem; line-height: 1.6; max-width: 46ch; }
.pair-frames { display: grid; grid-template-columns: 1fr; gap: 1.05rem 1.15rem; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.pair-frames a { scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.pair-frames:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 40%, transparent); outline-offset: 0.25rem; border-radius: 0.2rem; }
.pair-frames .media-slot { aspect-ratio: 3 / 2; min-height: 0px; background: radial-gradient(
      ellipse 70% 55% at 50% 40%,
      color-mix(in srgb, #8a9aab 18%, var(--mist)),
      color-mix(in srgb, var(--gold) 4%, var(--mist)) 72%
    ); border-style: solid; border-color: color-mix(in srgb, var(--gold) 28%, var(--mist)); }
.pair-frames .media-slot.has-image { aspect-ratio: auto; height: auto; width: fit-content; max-width: 100%; margin-inline: auto; }
.pair-frames .media-slot.has-image picture { position: relative; inset: auto; width: fit-content; max-width: 100%; height: auto; margin-inline: auto; background: transparent; }
.pair-frames .media-slot.has-image img { position: static; inset: auto; display: block; width: auto; max-width: 100%; height: auto; max-height: min(78vh, 780px); margin-inline: auto; object-fit: contain; object-position: center center; opacity: 1; }
/* Pass 1444 - single finished plates (not before/after pairs) */
.gallery-pair--single .pair-frames { grid-template-columns: 1fr; max-width: 42rem; margin-inline: auto; }
.gallery-pair--single .pair-frames .media-slot.has-image { margin-inline: auto; }
.gallery-pair--single h3 { text-align: center; }
.gallery-pair--single > p { margin-inline: auto; text-align: center; }
.media-slot--tall.has-image img, .media-slot--wide.has-image img, .media-slot--hero-page.has-image img { object-fit: contain; object-position: center center; }
.media-slot--tall.has-image, .media-slot--wide.has-image, .media-slot--hero-page.has-image { background: radial-gradient(
      ellipse 70% 55% at 50% 40%,
      color-mix(in srgb, #8a9aab 16%, var(--mist)),
      color-mix(in srgb, var(--gold) 4%, var(--mist)) 72%
    ); }
.service-block .section__eyebrow { margin-bottom: 0.65rem; }
.service-block .section__title { margin-bottom: 0.8rem; font-size: clamp(1.65rem, 3vw, 2.15rem); }
.service-block .prose { max-width: 48ch; }
.service-block .prose p { font-size: 1.04rem; line-height: 1.62; }
.media-slot[data-fit="cover"].has-image img, .media-slot--wide[data-fit="cover"].has-image img, .media-slot--tall[data-fit="cover"].has-image img { object-fit: cover; }
.media-slot[data-fit="cover"].has-image { background: var(--ink); }
.site-footer { background: var(--ink); color: color-mix(in srgb, var(--white) 75%, transparent); padding: 3.35rem 0 2.35rem; font-size: 0.95rem; content-visibility: auto; contain-intrinsic-size: auto 280px; scroll-margin-top: calc(var(--header-h) + 1.25rem); scroll-margin-block-start: calc(var(--header-h) + 1.25rem); }
.site-footer:focus, .site-footer:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.site-footer a { color: color-mix(in srgb, var(--gold-soft) 32%, var(--white)); text-decoration: 1px; text-underline-offset: 0.22em; border-radius: 0.2rem; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.site-footer a:hover, .site-footer a:focus-visible { color: var(--gold); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 55%, transparent); }
.site-footer a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 2px; }
.footer-grid { display: grid; gap: 1.75rem 2rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin-bottom: 1.85rem; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.footer-grid a { scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.footer-grid:focus-within, .footer-grid--4:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 35%, transparent); outline-offset: 0.35rem; border-radius: 0.25rem; }
.footer-logo { width: min(100%, 200px); height: auto; margin-bottom: 1.05rem; border-radius: 2px; scroll-margin-top: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); }
.site-footer h2 { font-size: 0.78rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--gold); margin: 0px 0px 1rem; font-weight: 650; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.footer-grid > div { scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.site-footer ul { list-style: none; margin: 0px; padding: 0px; }
.site-footer li { margin-bottom: 0.55rem; }
.footer-brand { font-weight: 700; font-size: 1.1rem; color: var(--white); margin-bottom: 0.55rem; scroll-margin-top: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); }
.footer-brand a { color: var(--white); text-decoration: none; scroll-margin-top: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); }
.footer-brand a:hover, .footer-brand a:focus-visible { color: var(--gold-bright); text-decoration: none; }
.footer-grid > div:first-child { scroll-margin-top: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); }
.footer-bottom { border-top: 1px solid color-mix(in srgb, var(--gold) 22%, color-mix(in srgb, var(--white) 10%, transparent)); padding-top: 1.45rem; display: flex; flex-wrap: wrap; gap: 0.65rem 1.35rem; justify-content: space-between; align-items: center; font-size: 0.82rem; color: color-mix(in srgb, var(--gold-soft) 28%, var(--white)); scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.footer-bottom a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.15rem 0.1rem; box-sizing: border-box; color: color-mix(in srgb, var(--gold-soft) 35%, var(--white)); scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.footer-bottom a:hover, .footer-bottom a:focus-visible { color: var(--gold-bright); }
.convert-expect a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.15rem 0.1rem; box-sizing: border-box; color: var(--gold); font-weight: 600; text-decoration: none; text-underline-offset: 0.15em; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.convert-expect a:hover, .convert-expect a:focus-visible { color: var(--gold-bright); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 50%, transparent); }
.proof-strip a:not(.btn), .trust-strip a:not(.btn):not(.cred-mark) { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.15rem 0.1rem; box-sizing: border-box; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.hire-card a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.15rem 0.1rem; box-sizing: border-box; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.cta-row a:not(.btn) { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.15rem 0.1rem; box-sizing: border-box; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.cta-row a.btn { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.footer-top { color: color-mix(in srgb, var(--gold-soft) 32%, var(--white)); text-decoration: none; font-weight: 600; min-height: 2.75rem; display: inline-flex; align-items: center; padding: 0.1rem 0.18rem; border-radius: 0.15rem; box-sizing: border-box; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.footer-top:hover, .footer-top:focus-visible { color: var(--gold); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 55%, transparent); text-underline-offset: 0.18em; }
.footer-top:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.service-block { padding: 1.85rem 0px 1.65rem; border-bottom: 1px solid color-mix(in srgb, var(--gold) 16%, var(--mist)); transition: background 0.18s, border-color 0.18s; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
form fieldset { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-bottom: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); scroll-margin-block-end: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); }
.service-block a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.service-block:hover, .service-block:focus-within { background: color-mix(in srgb, var(--gold) 3%, transparent); border-bottom-color: color-mix(in srgb, var(--gold) 32%, var(--mist)); }
.service-block:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 55%, transparent); outline-offset: 0.35rem; border-radius: 0.15rem; }
.service-block.is-current, .service-block:target { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.15rem; background: color-mix(in srgb, var(--gold) 4%, transparent); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.service-block:last-child { border-bottom: 0px; }
.service-block__grid { display: grid; gap: 1.45rem 1.85rem; grid-template-columns: 1fr; align-items: start; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.service-block__grid a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
@media (min-width: 800px) {
  .service-block__grid { grid-template-columns: 1.1fr 0.9fr; }
}
.prose { text-wrap-mode: wrap; max-width: 62ch; hyphens: auto; hyphenate-character: "‐"; hyphenate-limit-chars: 6 3 3; text-spacing-trim: trim-start; word-spacing: 0.02em; word-break: normal; overflow-wrap: break-word; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.prose.is-current, .prose[id]:target { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.15rem; }
.prose:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 35%, transparent); outline-offset: 0.35rem; border-radius: 0.2rem; }
.prose a { overflow-wrap: anywhere; color: var(--gold); text-decoration-color: color-mix(in srgb, var(--gold) 45%, transparent); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.prose a:hover, .prose a:focus-visible { color: var(--gold-bright); text-decoration-color: color-mix(in srgb, var(--gold) 55%, transparent); }
.prose a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 0.15rem; }
.prose p { color: color-mix(in srgb, var(--gold-soft) 12%, var(--slate)); orphans: 3; widows: 3; margin-block: 0.75rem; font-size: 1.05rem; line-height: 1.65; }
.prose p:first-child { margin-block-start: 0px; }
.prose p:last-child { margin-block-end: 0px; }
.prose ul { color: color-mix(in srgb, var(--gold-soft) 12%, var(--slate)); }
.prose code, code { line-break: loose; overflow-wrap: anywhere; text-autospace: no-autospace; white-space: break-spaces; color: var(--gold-soft); background: color-mix(in srgb, var(--gold) 8%, transparent); border: 1px solid color-mix(in srgb, var(--gold) 18%, transparent); border-radius: 0.15rem; padding: 0.05em 0.28em; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.band-cta { position: relative; isolation: isolate; overflow: hidden; background: linear-gradient(180deg, var(--ink) 0%, var(--charcoal) 55%, var(--charcoal-soft) 100%); color: var(--white); padding: var(--space-band-y) 0; text-align: center; border-block: 1px solid color-mix(in srgb, var(--gold) 30%, transparent); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--gold) 18%, transparent); content-visibility: auto; contain-intrinsic-size: auto 220px; scroll-margin-top: calc(var(--header-h) + 1.25rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1.25rem + env(safe-area-inset-top, 0px)); }
.band-cta::before { content: ""; position: absolute; inset: 0px; z-index: 0; background: radial-gradient(
      ellipse 55% 70% at 50% 0%,
      color-mix(in srgb, var(--gold) 16%, transparent),
      transparent 58%
    ),
    radial-gradient(
      ellipse 40% 50% at 92% 80%,
      color-mix(in srgb, var(--gold) 8%, transparent),
      transparent 55%
    ); pointer-events: none; }
.band-cta > .wrap { position: relative; z-index: 1; }
.band-cta.is-current, .band-cta:target { outline: 2px solid var(--gold); outline-offset: 0.35rem; }
.band-cta a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.band-cta h2 { font-family: var(--font-serif); margin: 0px 0px 1.05rem; font-size: clamp(1.5rem, 2.65vw, 2.05rem); line-height: 1.22; letter-spacing: -0.015em; text-wrap: balance; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.band-cta p:not(.band-cta__fine) { margin: 0px auto 1.55rem; max-width: 42ch; color: color-mix(in srgb, var(--gold-soft) 32%, var(--white)); line-height: 1.65; font-size: 1.08rem; }
.band-cta .btn--primary:focus-visible { transform: translateY(-2px); }
@media (hover: hover) and (pointer: fine) {
  .band-cta .btn--primary:hover { transform: translateY(-2px); }
}
.faq-jump { max-width: none; margin: 0 0 1.45rem; padding: 0.25rem 0 0.9rem; background: transparent; border-top: 0px; border-right: 0px; border-left: 0px; border-image: initial; border-radius: 0px; border-bottom: 1px solid color-mix(in srgb, var(--gold) 18%, var(--mist)); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.faq-jump.is-current, .faq-jump:target { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.2rem; }
.faq-jump a { scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.faq-jump__links { margin: 0.55rem 0 0; line-height: 1.7; color: color-mix(in srgb, var(--gold) 22%, var(--slate)); font-size: 1rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.faq-jump__links a { color: var(--gold); font-weight: 600; text-decoration: none; text-underline-offset: 0.15em; border-radius: 0.15rem; padding: 0.25rem 0.35rem; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.faq-jump__links a:hover, .faq-jump__links a:focus-visible { color: var(--gold-bright); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 50%, transparent); background: color-mix(in srgb, var(--gold) 8%, transparent); }
.faq-jump__links a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.faq-jump:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 40%, transparent); outline-offset: 0.35rem; border-radius: 0.2rem; }
.faq-list { max-width: 44rem; display: grid; gap: 0.85rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-target-group: auto; }
.faq-item { border-bottom: 1px solid color-mix(in srgb, var(--gold) 18%, var(--mist)); padding: 0.95rem 0 1rem; contain: content; scroll-margin-top: calc(var(--header-h) + 1.25rem); scroll-margin-block-start: calc(var(--header-h) + 1.25rem); transition: border-color 0.2s var(--ease), background 0.2s var(--ease); }
.faq-item a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.faq-item > :not(summary) { color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); font-size: 1.06rem; line-height: 1.65; margin: 0.85rem 0 0.2rem; max-width: 48ch; text-wrap: pretty; }
.faq-item:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 40%, transparent); outline-offset: 0.2rem; border-radius: 0.2rem; }
.faq-item[open] { border-bottom-color: color-mix(in srgb, var(--gold) 42%, var(--mist)); background: color-mix(in srgb, var(--gold) 4%, transparent); box-shadow: inset 3px 0 0 color-mix(in srgb, var(--gold) 60%, transparent); padding-inline: 1rem; padding-block: 1.05rem 1.15rem; margin-inline: -1rem; border-radius: 0.15rem; }
@media (prefers-reduced-motion: no-preference) {
  details.faq-item::details-content { block-size: 0; overflow-y: clip; transition-property: block-size, content-visibility; transition-duration: 0.28s; transition-timing-function: var(--ease); transition-delay: 0s; transition-behavior: allow-discrete; }
  details.faq-item[open]::details-content { block-size: auto; }
}
#hiring, #main, #estimate, #apply, #aplicar, #roles, #puestos, #hire-form, #roofing-role, #siding-role, #laborer, #lead, #towns, #map, #document, #insurance, #checklist, #money-talk, #paths, #before-order, #wont, #who, #credentials, #how, #intro, #rules, #collect, #use, #calls, #hosting, #spam, #questions, #capability, #partnership, #rfq, #exterior-first, #expect, #gbb, #compare, #proof, #path, #together, #openings, #with-siding, #edge, #areas, #selective-interior, #remodel-partners, #hours, #cookies, #accessibility, #nearby, #vendor-docs, #mailing-list, #legal, #trades, #towns, #toc, #help, #hire, #forms, #confianza, #oficios, #ayuda, #idioma, #next, #services, #resumen-es, #resend, #steps, #storm, #weather-mesh, #form-success, #hire-success, #heard-hint, #interior-interest-hint { scroll-margin-top: calc(var(--header-h) + 1.25rem); scroll-margin-block-start: calc(var(--header-h) + 1.25rem); }
[id^="step-"] { scroll-margin-top: calc(var(--header-h) + 1.25rem); scroll-margin-block-start: calc(var(--header-h) + 1.25rem); }
[id^="check-"] { scroll-margin-top: calc(var(--header-h) + 1.25rem); scroll-margin-block-start: calc(var(--header-h) + 1.25rem); }
[id^="path-"] { scroll-margin-top: calc(var(--header-h) + 1.25rem); scroll-margin-block-start: calc(var(--header-h) + 1.25rem); }
[tabindex="-1"] { scroll-margin-top: calc(var(--header-h) + 1.25rem); scroll-margin-block-start: calc(var(--header-h) + 1.25rem); }
[tabindex="-1"]:focus { outline: 2px solid var(--gold); outline-offset: 3px; }
#main:focus, #main:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.path-list li:target, .path-list > li.is-current, .path-list > li[aria-current="true"], #path-heloc:target, #path-partner:target, #path-bank:target, #path-utility:target { outline: 2px solid var(--gold); outline-offset: 0.25rem; border-radius: 0.2rem; border-left-color: var(--gold-bright); background: color-mix(in srgb, var(--gold) 5%, transparent); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-end: calc(var(--convert-bar-h, 5.5rem) + 0.75rem + env(safe-area-inset-bottom, 0px)); text-wrap: pretty; }
.path-list { list-style: none; margin: 0px; padding: 0px; display: grid; gap: 0.65rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
[tabindex="-1"].is-current, [spellcheck].is-current, [autocapitalize].is-current, [placeholder].is-current, [maxlength].is-current, [pattern].is-current, form[novalidate].is-current, [title].is-current, a[hreflang].is-current, [checked].is-current, [selected].is-current, input:checked.is-current, input:user-invalid.is-current, input:user-valid.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[tabindex="-1"], [spellcheck], [autocapitalize], [placeholder], [maxlength], [pattern], form[novalidate], [title], a[hreflang], [checked], [selected], input:checked, input:user-invalid, input:user-valid { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
input:user-invalid.is-current { outline-color: rgb(163, 58, 47); }
input:user-valid.is-current { outline-color: color-mix(in srgb, var(--gold) 70%, #2f6b3a); }
[aria-required].is-current, [aria-required="true"].is-current, [aria-errormessage].is-current, [aria-keyshortcuts].is-current, [aria-modal].is-current, [aria-modal="true"].is-current, [disabled].is-current, [data-src].is-current, [data-alt].is-current, [lang].is-current, [fetchpriority].is-current, [loading].is-current, [decoding].is-current, img[alt].is-current, form[aria-busy].is-current, button[aria-busy].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[aria-required], [aria-errormessage], [aria-keyshortcuts], [aria-modal], [disabled], [data-src], [data-alt], [lang], [fetchpriority], [loading], [decoding], img[alt], form[aria-busy], button[aria-busy] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
[aria-required].is-current, [aria-required="true"].is-current { outline-color: var(--gold-bright); }
[disabled].is-current { outline-color: color-mix(in srgb, var(--gold) 45%, #888); }
form[aria-busy="true"].is-current, button[aria-busy="true"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
[aria-errormessage].is-current { outline-color: rgb(163, 58, 47); }
[role="list"].is-current, [role="group"].is-current, [role="alert"].is-current, [role="navigation"].is-current, [role="presentation"].is-current, [aria-relevant].is-current, [aria-description].is-current, [aria-disabled].is-current, [inert].is-current, [hidden].is-current, [dir].is-current, [autocorrect].is-current, [writingsuggestions].is-current, [data-copy-email].is-current, [data-copy-phone].is-current, [readonly].is-current, [sizes].is-current, img[width].is-current, img[height].is-current, input[type="email"].is-current, input[type="tel"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[role="list"], [role="group"], [role="alert"], [role="navigation"], [role="presentation"], [aria-relevant], [aria-description], [aria-disabled], [inert], [hidden], [dir], [autocorrect], [writingsuggestions], [data-copy-email], [data-copy-phone], [readonly], [sizes], img[width], img[height], input[type="email"], input[type="tel"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
[role="alert"].is-current { outline-color: rgb(163, 58, 47); outline-width: 3px; }
[aria-disabled].is-current, [inert].is-current, [readonly].is-current { outline-color: color-mix(in srgb, var(--gold) 45%, #888); }
[data-copy-email].is-current, [data-copy-phone].is-current { outline-color: var(--gold-bright); }
input[type="email"].is-current, input[type="tel"].is-current { outline-color: var(--gold); }
[aria-live="polite"].is-current, [aria-live="assertive"].is-current, [aria-live="off"].is-current, [aria-expanded="false"].is-current, [aria-pressed="false"].is-current, a[href^="#"].is-current, option[disabled].is-current, [scope].is-current, [scope="col"].is-current, [scope="row"].is-current, th[scope].is-current, [data-trade].is-current, [data-pos].is-current, [data-convert].is-current, [crossorigin].is-current, [elementtiming].is-current, [translate].is-current, [imagesizes].is-current, abbr.is-current, abbr.req-mark.is-current, .req-mark.is-current, datalist.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[aria-live="polite"], [aria-live="assertive"], [aria-live="off"], [aria-expanded="false"], [aria-pressed="false"], a[href^="#"], option[disabled], [scope], th[scope], [data-trade], [data-pos], [data-convert], [crossorigin], [elementtiming], [translate], [imagesizes], abbr, .req-mark, datalist { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
[aria-live="polite"].is-current { outline-color: var(--gold-bright); }
[aria-live="assertive"].is-current { outline-color: rgb(163, 58, 47); outline-width: 3px; }
[aria-expanded="false"].is-current, [aria-pressed="false"].is-current, option[disabled].is-current { outline-color: color-mix(in srgb, var(--gold) 45%, #888); }
a[href^="#"].is-current, [data-trade].is-current, [data-convert].is-current { outline-color: var(--gold); }
[scope].is-current, th[scope].is-current { outline-offset: 0.2rem; }
.req-mark.is-current, abbr.req-mark.is-current { outline-offset: 0.15rem; }
[aria-haspopup="menu"].is-current, [aria-haspopup="dialog"].is-current, [aria-haspopup="true"].is-current, [aria-orientation="horizontal"].is-current, [aria-orientation="vertical"].is-current, [enterkeyhint="send"].is-current, [enterkeyhint="next"].is-current, [enterkeyhint="done"].is-current, [inputmode="email"].is-current, [inputmode="tel"].is-current, [inputmode="text"].is-current, [autocomplete="off"].is-current, [autocomplete="on"].is-current, [autocomplete*="name"].is-current, [autocomplete*="email"].is-current, [autocomplete*="tel"].is-current, [autocomplete*="address-level2"].is-current, [spellcheck="false"].is-current, [spellcheck="true"].is-current, [tabindex="0"].is-current, [data-filter="all"].is-current, [data-filter="roofing"].is-current, [data-filter="siding"].is-current, [data-filter="windows"].is-current, [data-filter="envelope"].is-current, a[href^="http"].is-current, textarea[rows].is-current, [rows].is-current, .is-copied.is-current, .is-open.is-current, .nav-fly.is-open.is-current, .site-nav.is-open.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[aria-haspopup="menu"], [aria-haspopup="dialog"], [aria-haspopup="true"], [aria-orientation="horizontal"], [aria-orientation="vertical"], [enterkeyhint="send"], [enterkeyhint="next"], [enterkeyhint="done"], [inputmode="email"], [inputmode="tel"], [inputmode="text"], [autocomplete="off"], [autocomplete="on"], [autocomplete*="name"], [autocomplete*="email"], [autocomplete*="tel"], [autocomplete*="address-level2"], [spellcheck="false"], [spellcheck="true"], [tabindex="0"], [data-filter="all"], [data-filter="roofing"], [data-filter="siding"], [data-filter="windows"], [data-filter="envelope"], a[href^="http"], textarea[rows], [rows], .is-copied, .is-open, .nav-fly.is-open, .site-nav.is-open { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
[enterkeyhint="send"].is-current, [data-filter="all"].is-current { outline-color: var(--gold-bright); }
[aria-haspopup="menu"].is-current, [aria-haspopup="dialog"].is-current, .is-open.is-current, .nav-fly.is-open.is-current, .site-nav.is-open.is-current { outline-color: var(--gold-bright); outline-width: 3px; }
.is-copied.is-current { outline-color: color-mix(in srgb, var(--gold) 70%, #2f6b3a); }
a[href^="http"].is-current { outline-color: var(--gold); }
[tabindex="0"].is-current { outline-offset: 0.45rem; }
[spellcheck="false"].is-current, [autocomplete="off"].is-current { outline-color: color-mix(in srgb, var(--gold) 55%, #888); }
[autocapitalize="words"].is-current, [autocapitalize="sentences"].is-current, [autocapitalize="off"].is-current, [autocapitalize="none"].is-current, [maxlength="120"].is-current, [maxlength="40"].is-current, [maxlength="80"].is-current, [maxlength="254"].is-current, [maxlength="4000"].is-current, form[autocomplete="on"].is-current, optgroup[label].is-current, [data-estimate-lang].is-current, [data-hire-lang].is-current, [aria-busy="false"].is-current, form[aria-busy="false"].is-current, button[aria-busy="false"].is-current, [aria-invalid="false"].is-current, [role="main"].is-current, picture.is-current, source.is-current, .is-offline.is-current, .has-net-banner.is-current, html.is-offline.is-current, html.has-net-banner.is-current, .is-visible.is-current, .is-hidden.is-current, .nav-open.is-current, body.nav-open.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[autocapitalize="words"], [autocapitalize="sentences"], [autocapitalize="off"], [autocapitalize="none"], [maxlength="120"], [maxlength="40"], [maxlength="80"], [maxlength="254"], [maxlength="4000"], form[autocomplete="on"], optgroup[label], [data-estimate-lang], [data-hire-lang], [aria-busy="false"], form[aria-busy="false"], button[aria-busy="false"], [aria-invalid="false"], [role="main"], picture, source, .is-offline, .has-net-banner, html.is-offline, html.has-net-banner, .is-visible, .is-hidden, .nav-open, body.nav-open { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
[data-estimate-lang].is-current, [data-hire-lang].is-current, form[autocomplete="on"].is-current { outline-color: var(--gold-bright); }
html.is-offline.is-current, .is-offline.is-current, html.has-net-banner.is-current, .has-net-banner.is-current { outline-color: rgb(163, 58, 47); outline-width: 3px; }
.nav-open.is-current, body.nav-open.is-current { outline-color: var(--gold-bright); outline-width: 3px; }
[aria-busy="false"].is-current, [aria-invalid="false"].is-current, .is-hidden.is-current { outline-color: color-mix(in srgb, var(--gold) 45%, #888); }
[maxlength="4000"].is-current, [autocapitalize="sentences"].is-current { outline-color: var(--gold); }
optgroup[label].is-current { outline-offset: 0.2rem; }
picture.is-current { outline-offset: 0.4rem; }
[lang="en"].is-current, [lang="es"].is-current, html[lang].is-current, [data-estimate-lang="es"].is-current, [data-hire-lang="es"].is-current, [aria-controls="gallery-grid"].is-current, [aria-controls="site-nav"].is-current, [aria-controls="nav-fly-services"].is-current, [aria-controls="nav-fly-more"].is-current, [aria-labelledby*="heading"].is-current, [aria-describedby*="note"].is-current, [aria-describedby*="hint"].is-current, [name="name"].is-current, [name="email"].is-current, [name="phone"].is-current, [name="town"].is-current, [name="message"].is-current, [name="service"].is-current, [name="role"].is-current, [name="lang"].is-current, [name="preferred"].is-current, [name="timing"].is-current, [name="heard"].is-current, [name="interior_interest"].is-current, input[type="text"].is-current, form[aria-busy="true"].is-current, button[aria-busy="true"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[lang="en"], [lang="es"], html[lang], [data-estimate-lang="es"], [data-hire-lang="es"], [aria-controls="gallery-grid"], [aria-controls="site-nav"], [aria-controls="nav-fly-services"], [aria-controls="nav-fly-more"], [aria-labelledby*="heading"], [aria-describedby*="note"], [aria-describedby*="hint"], [name="name"], [name="email"], [name="phone"], [name="town"], [name="message"], [name="service"], [name="role"], [name="lang"], [name="preferred"], [name="timing"], [name="heard"], [name="interior_interest"], input[type="text"], form[aria-busy="true"], button[aria-busy="true"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
[lang="es"].is-current, [data-estimate-lang="es"].is-current, [data-hire-lang="es"].is-current { outline-color: var(--gold-bright); }
[aria-controls="gallery-grid"].is-current, [aria-controls="site-nav"].is-current, [aria-controls="nav-fly-services"].is-current, [aria-controls="nav-fly-more"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
form[aria-busy="true"].is-current, button[aria-busy="true"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
[name="message"].is-current, [aria-describedby*="hint"].is-current, [aria-describedby*="note"].is-current { outline-color: var(--gold); }
[name="email"].is-current, [name="phone"].is-current, input[type="text"].is-current { outline-offset: 0.4rem; }
[decoding="async"].is-current, [loading="lazy"].is-current, [fetchpriority="high"].is-current, [fetchpriority="low"].is-current, [aria-atomic="true"].is-current, [aria-keyshortcuts*="Escape"].is-current, [aria-keyshortcuts*="Arrow"].is-current, [aria-keyshortcuts*="Enter"].is-current, [data-pos="top"].is-current, [data-pos="center"].is-current, [data-pos="bottom"].is-current, [data-trade*="siding"].is-current, [data-trade*="roofing"].is-current, [data-trade*="windows"].is-current, [data-trade*="envelope"].is-current, [data-src*="roofing"].is-current, [data-src*="siding"].is-current, [data-src*="hero"].is-current, [data-src*="gutter"].is-current, [data-src*="window"].is-current, a[href*="contact"].is-current, a[href*="estimate"].is-current, a[href*="gallery"].is-current, a[href*="careers"].is-current, a[href*="empleos"].is-current, a[href*="servicios"].is-current, a[href*="privacy"].is-current, a[href*="faq"].is-current, a[aria-current="page"].is-current, option[value].is-current, [value="yes"].is-current, [aria-label*="Call"].is-current, [aria-label*="Estimate"].is-current, [aria-label*="Menu"].is-current, [aria-label*="Skip"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[decoding="async"], [loading="lazy"], [fetchpriority="high"], [fetchpriority="low"], [aria-atomic="true"], [aria-keyshortcuts*="Escape"], [aria-keyshortcuts*="Arrow"], [aria-keyshortcuts*="Enter"], [data-pos="top"], [data-pos="center"], [data-pos="bottom"], [data-trade*="siding"], [data-trade*="roofing"], [data-trade*="windows"], [data-trade*="envelope"], [data-src*="roofing"], [data-src*="siding"], [data-src*="hero"], [data-src*="gutter"], [data-src*="window"], a[href*="contact"], a[href*="estimate"], a[href*="gallery"], a[href*="careers"], a[href*="empleos"], a[href*="servicios"], a[href*="privacy"], a[href*="faq"], a[aria-current="page"], option[value], [value="yes"], [aria-label*="Call"], [aria-label*="Estimate"], [aria-label*="Menu"], [aria-label*="Skip"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
[fetchpriority="high"].is-current, a[href*="estimate"].is-current, a[href*="contact"].is-current, [aria-label*="Call"].is-current, [aria-label*="Estimate"].is-current { outline-color: var(--gold-bright); }
[fetchpriority="low"].is-current, [loading="lazy"].is-current { outline-color: color-mix(in srgb, var(--gold) 45%, #888); }
a[aria-current="page"].is-current, [aria-atomic="true"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
[data-trade*="siding"].is-current, [data-trade*="roofing"].is-current, [data-trade*="windows"].is-current, [data-trade*="envelope"].is-current, [data-src*="hero"].is-current { outline-color: var(--gold); }
[aria-keyshortcuts*="Escape"].is-current, [aria-label*="Menu"].is-current, [aria-label*="Skip"].is-current { outline-offset: 0.45rem; }
a[href*="roofing"].is-current, a[href*="siding"].is-current, a[href*="windows"].is-current, a[href*="gutters"].is-current, a[href*="storm"].is-current, a[href*="process"].is-current, a[href*="about"].is-current, a[href*="financing"].is-current, a[href*="referrals"].is-current, a[href*="interior"].is-current, a[href*="for-contractors"].is-current, a[href*="service-areas"].is-current, a[href*="nashua"].is-current, a[href*="merrimack"].is-current, a[href*="bedford"].is-current, a[href*="salem"].is-current, a[href*="derry"].is-current, a[href*="hudson"].is-current, a[href*="londonderry"].is-current, a[href*="contacto"].is-current, a[href*="thank-you"].is-current, a[href="index.html"].is-current, [data-src*="process"].is-current, [data-src*="service"].is-current, [data-src*="gallery"].is-current, [data-src*="home"].is-current, [data-src*="about"].is-current, [data-alt*="roof"].is-current, [data-alt*="siding"].is-current, [data-alt*="window"].is-current, [data-alt*="gutter"].is-current, [data-alt*="NH"].is-current, [aria-controls*="fly"].is-current, [aria-controls*="nav"].is-current, [aria-controls*="gallery"].is-current, option[selected].is-current, [aria-label*="Apply"].is-current, [aria-label*="Llamar"].is-current, [aria-label*="Copy"].is-current, [aria-label*="Phone"].is-current, [aria-label*="Email"].is-current, [aria-label*="Close"].is-current, [aria-label*="Open"].is-current, [aria-label*="Saltar"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
a[href*="roofing"], a[href*="siding"], a[href*="windows"], a[href*="gutters"], a[href*="storm"], a[href*="process"], a[href*="about"], a[href*="financing"], a[href*="referrals"], a[href*="interior"], a[href*="for-contractors"], a[href*="service-areas"], a[href*="nashua"], a[href*="merrimack"], a[href*="bedford"], a[href*="salem"], a[href*="derry"], a[href*="hudson"], a[href*="londonderry"], a[href*="contacto"], a[href*="thank-you"], a[href="index.html"], [data-src*="process"], [data-src*="service"], [data-src*="gallery"], [data-src*="home"], [data-src*="about"], [data-alt*="roof"], [data-alt*="siding"], [data-alt*="window"], [data-alt*="gutter"], [data-alt*="NH"], [aria-controls*="fly"], [aria-controls*="nav"], [aria-controls*="gallery"], option[selected], [aria-label*="Apply"], [aria-label*="Llamar"], [aria-label*="Copy"], [aria-label*="Phone"], [aria-label*="Email"], [aria-label*="Close"], [aria-label*="Open"], [aria-label*="Saltar"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
a[href*="roofing"].is-current, a[href*="siding"].is-current, a[href*="storm"].is-current, a[href*="estimate"].is-current { outline-color: var(--gold-bright); }
a[href*="contacto"].is-current, a[href*="empleos"].is-current, [aria-label*="Llamar"].is-current, [aria-label*="Saltar"].is-current { outline-color: var(--gold-bright); }
a[href*="nashua"].is-current, a[href*="merrimack"].is-current, a[href*="bedford"].is-current, a[href*="salem"].is-current, a[href*="derry"].is-current, a[href*="hudson"].is-current, a[href*="londonderry"].is-current, a[href*="service-areas"].is-current { outline-color: var(--gold); }
[aria-controls*="fly"].is-current, [aria-controls*="nav"].is-current, [aria-controls*="gallery"].is-current, [aria-label*="Open"].is-current, [aria-label*="Close"].is-current { outline-width: 3px; outline-color: var(--gold-bright); }
option[selected].is-current, [aria-label*="Copy"].is-current { outline-color: color-mix(in srgb, var(--gold) 70%, #2f6b3a); }
[data-alt*="NH"].is-current, [data-src*="gallery"].is-current { outline-offset: 0.4rem; }
a[href*="services"].is-current, a[href*="servicios-es"].is-current, a[href*="faq-es"].is-current, a[href*="contacto-es"].is-current, a[href*="estimate-landing"].is-current, a[href*="#estimate"].is-current, a[href*="#apply"].is-current, a[href*="#aplicar"].is-current, a[href*="#gbb"].is-current, a[href*="#filters"].is-current, a[href*="#main"].is-current, a[href*="#faq-"].is-current, a[href*="#step-"].is-current, a[href*="#path-"].is-current, a[href*="#towns"].is-current, a[href*="#hours"].is-current, a[href*="#form-success"].is-current, a[href*="#hire-success"].is-current, a[href*="#convert-bar"].is-current, a[href*="#gallery-empty"].is-current, a[href^="#faq-"].is-current, a[href^="#step-"].is-current, a[href^="#path-"].is-current, a[href^="#check-"].is-current, a[href^="#gal-"].is-current, a[href="#toc"].is-current, a[href="#next"].is-current, a[href="#proof"].is-current, a[href="#expect"].is-current, a[href="#who"].is-current, a[href="#credentials"].is-current, a[href="#insurance"].is-current, a[href="#trust"].is-current, a[href="#paths"].is-current, a[href="#roles"].is-current, a[href="#checklist"].is-current, [data-src*="before"].is-current, [data-src*="after"].is-current, [data-alt*="Asphalt"].is-current, [data-alt*="vinyl"].is-current, [data-alt*="Southern"].is-current, [data-alt*="home"].is-current, [data-alt*="after"].is-current, [data-alt*="before"].is-current, [aria-label*="All"].is-current, [aria-label*="Filter"].is-current, [aria-label*="Gallery"].is-current, [aria-label*="Estimado"].is-current, [aria-label*="Empleo"].is-current, [title*="Required"].is-current, [title*="Obligatorio"].is-current, input[type="submit"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
a[href*="services"], a[href*="servicios-es"], a[href*="faq-es"], a[href*="contacto-es"], a[href*="estimate-landing"], a[href*="#estimate"], a[href*="#apply"], a[href*="#aplicar"], a[href*="#gbb"], a[href*="#filters"], a[href*="#main"], a[href*="#faq-"], a[href*="#step-"], a[href*="#path-"], a[href*="#towns"], a[href*="#hours"], a[href*="#form-success"], a[href*="#hire-success"], a[href*="#convert-bar"], a[href*="#gallery-empty"], a[href^="#faq-"], a[href^="#step-"], a[href^="#path-"], a[href^="#check-"], a[href^="#gal-"], a[href="#toc"], a[href="#next"], a[href="#proof"], a[href="#expect"], a[href="#who"], a[href="#credentials"], a[href="#insurance"], a[href="#trust"], a[href="#paths"], a[href="#roles"], a[href="#checklist"], [data-src*="before"], [data-src*="after"], [data-alt*="Asphalt"], [data-alt*="vinyl"], [data-alt*="Southern"], [data-alt*="home"], [data-alt*="after"], [data-alt*="before"], [aria-label*="All"], [aria-label*="Filter"], [aria-label*="Gallery"], [aria-label*="Estimado"], [aria-label*="Empleo"], [title*="Required"], [title*="Obligatorio"], input[type="submit"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
a[href*="#estimate"].is-current, a[href*="#apply"].is-current, a[href*="#aplicar"].is-current, a[href*="#gbb"].is-current, input[type="submit"].is-current { outline-color: var(--gold-bright); }
a[href*="faq-es"].is-current, a[href*="contacto-es"].is-current, a[href*="servicios-es"].is-current, [aria-label*="Estimado"].is-current, [aria-label*="Empleo"].is-current { outline-color: var(--gold-bright); }
a[href^="#faq-"].is-current, a[href^="#step-"].is-current, a[href="#toc"].is-current, a[href="#next"].is-current { outline-color: var(--gold); }
[data-src*="before"].is-current, [data-alt*="before"].is-current { outline-color: color-mix(in srgb, var(--gold) 50%, #888); }
[data-src*="after"].is-current, [data-alt*="after"].is-current { outline-color: color-mix(in srgb, var(--gold) 70%, #2f6b3a); }
[title*="Required"].is-current, [title*="Obligatorio"].is-current { outline-offset: 0.15rem; }
a[href*="#hire"].is-current, a[href*="#openings"].is-current, a[href*="#money-talk"].is-current, a[href*="#capability"].is-current, a[href*="#selective-interior"].is-current, a[href*="#oficios"].is-current, a[href*="#accessibility"].is-current, a[href*="#collect"].is-current, a[href*="#document"].is-current, a[href*="#edge"].is-current, a[href*="#weather"].is-current, a[href*="#nearby"].is-current, a[href*="#help"].is-current, a[href*="#how"].is-current, a[href="#path"].is-current, a[href="#hire"].is-current, a[href="#services"].is-current, a[href="#roofing"].is-current, a[href="#siding"].is-current, a[href="#windows"].is-current, a[href="#gutters"].is-current, a[href="#interior"].is-current, a[href="#for-contractors"].is-current, a[href="#remodel-partners"].is-current, a[href="#apply-heading"].is-current, a[href="#estimate-heading"].is-current, a[href="#estimate-form"].is-current, a[href="#hire-form"].is-current, a[href="#site-footer"].is-current, a[href="#site-header"].is-current, a[href="#site-nav"].is-current, a[href^="#gal-pair-"].is-current, a[href^="#gbb-"].is-current, a[href^="#step-walk"].is-current, [aria-label*="Footer"].is-current, [aria-label*="Pie"].is-current, [aria-label*="Contenido"].is-current, [aria-label*="Services"].is-current, [aria-label*="More"].is-current, [aria-label*="Language"].is-current, [aria-label*="Idioma"].is-current, [aria-label*="Main"].is-current, [aria-relevant*="additions"].is-current, [aria-relevant*="text"].is-current, [aria-describedby*="error"].is-current, [aria-describedby*="status"].is-current, [aria-labelledby*="title"].is-current, [aria-labelledby*="label"].is-current, [rows="4"].is-current, textarea[rows="4"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
a[href*="#hire"], a[href*="#openings"], a[href*="#money-talk"], a[href*="#capability"], a[href*="#selective-interior"], a[href*="#oficios"], a[href*="#accessibility"], a[href*="#collect"], a[href*="#document"], a[href*="#edge"], a[href*="#weather"], a[href*="#nearby"], a[href*="#help"], a[href*="#how"], a[href="#path"], a[href="#hire"], a[href="#services"], a[href="#roofing"], a[href="#siding"], a[href="#windows"], a[href="#gutters"], a[href="#interior"], a[href="#for-contractors"], a[href="#remodel-partners"], a[href="#apply-heading"], a[href="#estimate-heading"], a[href="#estimate-form"], a[href="#hire-form"], a[href="#site-footer"], a[href="#site-header"], a[href="#site-nav"], a[href^="#gal-pair-"], a[href^="#gbb-"], a[href^="#step-walk"], [aria-label*="Footer"], [aria-label*="Pie"], [aria-label*="Contenido"], [aria-label*="Services"], [aria-label*="More"], [aria-label*="Language"], [aria-label*="Idioma"], [aria-label*="Main"], [aria-relevant*="additions"], [aria-relevant*="text"], [aria-describedby*="error"], [aria-describedby*="status"], [aria-labelledby*="title"], [aria-labelledby*="label"], [rows="4"], textarea[rows="4"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
a[href="#services"].is-current, a[href*="#hire"].is-current, a[href*="#openings"].is-current, a[href="#estimate-form"].is-current, a[href="#hire-form"].is-current { outline-color: var(--gold-bright); }
a[href*="#collect"].is-current, a[href*="#accessibility"].is-current, [aria-label*="Footer"].is-current, [aria-label*="Pie"].is-current, a[href="#site-footer"].is-current { outline-color: var(--gold); }
a[href^="#gal-pair-"].is-current, a[href^="#gbb-"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
[aria-describedby*="error"].is-current { outline-color: rgb(163, 58, 47); }
[aria-relevant*="additions"].is-current, [aria-describedby*="status"].is-current { outline-color: var(--gold-bright); }
textarea[rows="4"].is-current, [rows="4"].is-current { outline-offset: 0.4rem; }
a[href="#main"].is-current, a[href="#estimate"].is-current, a[href="#apply"].is-current, a[href="#aplicar"].is-current, a[href="#gbb"].is-current, a[href="#filters"].is-current, a[href="#hours"].is-current, a[href="#towns"].is-current, a[href="#gallery-grid"].is-current, a[href="#gallery-empty"].is-current, a[href="#faq-who"].is-current, a[href="#faq-insurance"].is-current, a[href="#faq-warranty"].is-current, a[href="#faq-materials"].is-current, a[href="#faq-timeline"].is-current, a[href="#faq-payment"].is-current, a[href="#faq-storm"].is-current, a[href="#faq-coi"].is-current, a[href*="#step-walkthrough"].is-current, a[href*="#step-protect"].is-current, a[href*="#step-install"].is-current, a[href*="#step-inspect"].is-current, a[href*="#step-final"].is-current, a[href*="privacy.html#"].is-current, a[href*="faq.html#"].is-current, a[href*="faq-es.html#"].is-current, a[href*="process.html#"].is-current, a[href*="storm.html#"].is-current, a[href*="careers.html#"].is-current, a[href*="empleos.html#"].is-current, a[href*="contact.html#"].is-current, a[href*="contacto-es.html#"].is-current, a[href*="gallery.html#"].is-current, a[href*="roofing.html#"].is-current, a[href*="siding.html#"].is-current, a[href*="financing.html#"].is-current, a[href*="for-contractors.html#"].is-current, [placeholder*="Leak"].is-current, [placeholder*="e.g."].is-current, [placeholder*="ej."].is-current, [placeholder*="Fuga"].is-current, [placeholder*="Años"].is-current, [data-alt*="elevation"].is-current, [data-alt*="eaves"].is-current, [data-alt*="fascia"].is-current, [data-alt*="walkway"].is-current, [data-alt*="lawn"].is-current, th[scope="col"].is-current, th[scope="row"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
a[href="#main"], a[href="#estimate"], a[href="#apply"], a[href="#aplicar"], a[href="#gbb"], a[href="#filters"], a[href="#hours"], a[href="#towns"], a[href="#gallery-grid"], a[href="#gallery-empty"], a[href="#faq-who"], a[href="#faq-insurance"], a[href="#faq-warranty"], a[href="#faq-materials"], a[href="#faq-timeline"], a[href="#faq-payment"], a[href="#faq-storm"], a[href="#faq-coi"], a[href*="#step-walkthrough"], a[href*="#step-protect"], a[href*="#step-install"], a[href*="#step-inspect"], a[href*="#step-final"], a[href*="privacy.html#"], a[href*="faq.html#"], a[href*="faq-es.html#"], a[href*="process.html#"], a[href*="storm.html#"], a[href*="careers.html#"], a[href*="empleos.html#"], a[href*="contact.html#"], a[href*="contacto-es.html#"], a[href*="gallery.html#"], a[href*="roofing.html#"], a[href*="siding.html#"], a[href*="financing.html#"], a[href*="for-contractors.html#"], [placeholder*="Leak"], [placeholder*="e.g."], [placeholder*="ej."], [placeholder*="Fuga"], [placeholder*="Años"], [data-alt*="elevation"], [data-alt*="eaves"], [data-alt*="fascia"], [data-alt*="walkway"], [data-alt*="lawn"], th[scope="col"], th[scope="row"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
a[href="#main"].is-current, a[href="#estimate"].is-current, a[href="#apply"].is-current, a[href="#aplicar"].is-current, a[href="#gbb"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
a[href*="faq.html#"].is-current, a[href*="faq-es.html#"].is-current, a[href="#faq-who"].is-current, a[href*="#step-"].is-current { outline-color: var(--gold); }
a[href*="contact.html#"].is-current, a[href*="contacto-es.html#"].is-current, a[href*="careers.html#"].is-current, a[href*="empleos.html#"].is-current { outline-color: var(--gold-bright); }
[placeholder*="Leak"].is-current, [placeholder*="Fuga"].is-current, [placeholder*="e.g."].is-current, [placeholder*="ej."].is-current { outline-offset: 0.4rem; }
th[scope="col"].is-current, th[scope="row"].is-current { outline-offset: 0.2rem; }
[data-alt*="elevation"].is-current, [data-alt*="eaves"].is-current, [data-alt*="fascia"].is-current { outline-color: var(--gold); }
a[href*="windows.html#"].is-current, a[href*="gutters.html#"].is-current, a[href*="interior.html#"].is-current, a[href*="about.html#"].is-current, a[href*="referrals.html#"].is-current, a[href*="service-areas.html#"].is-current, a[href*="services.html#"].is-current, a[href*="servicios-es.html#"].is-current, a[href*="estimate-landing.html#"].is-current, a[href*="thank-you.html#"].is-current, a[href*="nashua-nh.html"].is-current, a[href*="merrimack-nh.html"].is-current, a[href*="bedford-nh.html"].is-current, a[href*="salem-nh.html"].is-current, a[href*="derry-nh.html"].is-current, a[href*="hudson-nh.html"].is-current, a[href*="londonderry-nh.html"].is-current, a[href="#check-photos"].is-current, a[href="#check-damage"].is-current, a[href="#check-insurance"].is-current, a[href="#path-heading"].is-current, a[href="#gbb-heading"].is-current, a[href="#estimate-form-note"].is-current, a[href="#hire-form-note"].is-current, a[href="#heard-hint"].is-current, a[href="#interior-interest-hint"].is-current, a[href="#copy-status"].is-current, a[href="#gallery-filter-status"].is-current, a[href="#net-banner"].is-current, a[href="#convert-bar"].is-current, a[href="#form-success"].is-current, a[href="#hire-success"].is-current, [aria-label*="Site"].is-current, [aria-label*="Sitio"].is-current, [aria-label*="Navigation"].is-current, [aria-label*="Navegación"].is-current, [aria-label*="Breadcrumb"].is-current, [aria-label*="Miga"].is-current, [aria-label*="Filters"].is-current, [aria-label*="Filtros"].is-current, [aria-label*="Table"].is-current, [aria-label*="Tabla"].is-current, [data-alt*="detail"].is-current, [data-alt*="Materials"].is-current, [data-alt*="protection"].is-current, [data-alt*="staged"].is-current, [placeholder*="Merrimack"].is-current, [placeholder*="Nashua"].is-current, [placeholder*="drafty"].is-current, [placeholder*="herramientas"].is-current, [placeholder*="tormenta"].is-current, [autocomplete*="section-estimate"].is-current, [autocomplete*="section-hire"].is-current, [hreflang="en"].is-current, [hreflang="es"].is-current, [hreflang="x-default"].is-current, a[hreflang="en"].is-current, a[hreflang="es"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
a[href*="windows.html#"], a[href*="gutters.html#"], a[href*="interior.html#"], a[href*="about.html#"], a[href*="referrals.html#"], a[href*="service-areas.html#"], a[href*="services.html#"], a[href*="servicios-es.html#"], a[href*="estimate-landing.html#"], a[href*="thank-you.html#"], a[href*="nashua-nh.html"], a[href*="merrimack-nh.html"], a[href*="bedford-nh.html"], a[href*="salem-nh.html"], a[href*="derry-nh.html"], a[href*="hudson-nh.html"], a[href*="londonderry-nh.html"], a[href="#check-photos"], a[href="#check-damage"], a[href="#check-insurance"], a[href="#path-heading"], a[href="#gbb-heading"], a[href="#estimate-form-note"], a[href="#hire-form-note"], a[href="#heard-hint"], a[href="#interior-interest-hint"], a[href="#copy-status"], a[href="#gallery-filter-status"], a[href="#net-banner"], a[href="#convert-bar"], a[href="#form-success"], a[href="#hire-success"], [aria-label*="Site"], [aria-label*="Sitio"], [aria-label*="Navigation"], [aria-label*="Navegación"], [aria-label*="Breadcrumb"], [aria-label*="Miga"], [aria-label*="Filters"], [aria-label*="Filtros"], [aria-label*="Table"], [aria-label*="Tabla"], [data-alt*="detail"], [data-alt*="Materials"], [data-alt*="protection"], [data-alt*="staged"], [placeholder*="Merrimack"], [placeholder*="Nashua"], [placeholder*="drafty"], [placeholder*="herramientas"], [placeholder*="tormenta"], [autocomplete*="section-estimate"], [autocomplete*="section-hire"], [hreflang="en"], [hreflang="es"], [hreflang="x-default"], a[hreflang="en"], a[hreflang="es"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
a[href*="service-areas.html#"].is-current, a[href*="-nh.html"].is-current, a[hreflang="es"].is-current, [hreflang="es"].is-current { outline-color: var(--gold); }
a[href="#convert-bar"].is-current, a[href="#form-success"].is-current, a[href="#hire-success"].is-current, [autocomplete*="section-estimate"].is-current, [autocomplete*="section-hire"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
a[href="#check-photos"].is-current, a[href="#check-damage"].is-current, a[href="#check-insurance"].is-current, a[href="#net-banner"].is-current { outline-color: rgb(163, 58, 47); }
[aria-label*="Site"].is-current, [aria-label*="Navigation"].is-current, [aria-label*="Navegación"].is-current, [aria-label*="Breadcrumb"].is-current { outline-offset: 0.45rem; }
a[hreflang="en"].is-current, [hreflang="en"].is-current, [hreflang="x-default"].is-current { outline-color: var(--gold-bright); }
a[href*="interest="].is-current, a[href*="contact.html?"].is-current, a[href*="contacto-es.html?"].is-current, a[href*="index.html#"].is-current, a[href*="-nh.html#"].is-current, [aria-label*="Jump"].is-current, [aria-label*="sections"].is-current, [aria-label*="header"].is-current, [aria-label*="footer"].is-current, [aria-label*="town"].is-current, [aria-label*="sección"].is-current, [aria-label*="expect"].is-current, [aria-label*="esperar"].is-current, [aria-label*="gallery"].is-current, [aria-label*="answers"].is-current, [placeholder*="Years"].is-current, [placeholder*="seasonal"].is-current, [placeholder*="tools"].is-current, [data-alt*="Finished"].is-current, [data-alt*="exterior"].is-current, [data-alt*="Hampshire"].is-current, [data-alt*="progress"].is-current, [data-alt*="Completed"].is-current, [data-alt*="Window"].is-current, [data-alt*="trim"].is-current, [data-alt*="shutters"].is-current, [data-alt*="walkthrough"].is-current, [data-alt*="stone"].is-current, [data-alt*="openings"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
a[href*="interest="], a[href*="contact.html?"], a[href*="contacto-es.html?"], a[href*="index.html#"], a[href*="-nh.html#"], [aria-label*="Jump"], [aria-label*="sections"], [aria-label*="header"], [aria-label*="footer"], [aria-label*="town"], [aria-label*="sección"], [aria-label*="expect"], [aria-label*="esperar"], [aria-label*="gallery"], [aria-label*="answers"], [placeholder*="Years"], [placeholder*="seasonal"], [placeholder*="tools"], [data-alt*="Finished"], [data-alt*="exterior"], [data-alt*="Hampshire"], [data-alt*="progress"], [data-alt*="Completed"], [data-alt*="Window"], [data-alt*="trim"], [data-alt*="shutters"], [data-alt*="walkthrough"], [data-alt*="stone"], [data-alt*="openings"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
a[href*="interest="].is-current, a[href*="contact.html?"].is-current, a[href*="contacto-es.html?"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
a[href*="-nh.html#"].is-current, a[href*="index.html#"].is-current { outline-color: var(--gold); }
[aria-label*="Jump"].is-current, [aria-label*="sections"].is-current, [aria-label*="sección"].is-current { outline-offset: 0.45rem; }
[placeholder*="Years"].is-current, [data-alt*="Finished"].is-current, [data-alt*="Completed"].is-current { outline-color: var(--gold); }
[title*="Sitemap"].is-current, a[href*="subject="].is-current, [value="Roofing"].is-current, [value="Siding"].is-current, [value*="Windows"].is-current, [value*="Gutters"].is-current, [value*="Storm"].is-current, [value*="Selective"].is-current, [value*="Financing"].is-current, [value="Email"].is-current, [value="English"].is-current, [value="Spanish"].is-current, [value*="installer"].is-current, [aria-label*="Hiring"].is-current, [aria-label*="lane"].is-current, [aria-label*="count"].is-current, [aria-label*="respuesta"].is-current, [aria-label*="Ir a"].is-current, [data-alt*="Remodel"].is-current, [data-alt*="Selective"].is-current, [data-alt*="finish"].is-current, [data-aoe-chrome].is-current, [name="faq"].is-current, [rel="alternate"].is-current, [rel="canonical"].is-current, [rel="sitemap"].is-current, a[rel="alternate"].is-current, a[rel="canonical"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[title*="Sitemap"], a[href*="subject="], [value="Roofing"], [value="Siding"], [value*="Windows"], [value*="Gutters"], [value*="Storm"], [value*="Selective"], [value*="Financing"], [value="Email"], [value="English"], [value="Spanish"], [value*="installer"], [aria-label*="Hiring"], [aria-label*="lane"], [aria-label*="count"], [aria-label*="respuesta"], [aria-label*="Ir a"], [data-alt*="Remodel"], [data-alt*="Selective"], [data-alt*="finish"], [data-aoe-chrome], [name="faq"], [rel="alternate"], [rel="canonical"], [rel="sitemap"], a[rel="alternate"], a[rel="canonical"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
a[href*="subject="].is-current, a[href*="subject=Estimate"].is-current, a[href*="subject=Job"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
[value="Roofing"].is-current, [value="Siding"].is-current, [value*="Windows"].is-current, [value*="installer"].is-current { outline-color: var(--gold); }
[aria-label*="Hiring"].is-current, [aria-label*="lane"].is-current { outline-offset: 0.45rem; }
[title*="Sitemap"].is-current, [rel="sitemap"].is-current, a[rel="alternate"].is-current { outline-color: var(--gold-bright); }
[name="faq"].is-current { outline-color: var(--gold); }
[value*="As soon"].is-current, [value*="practical"].is-current, [value*="General"].is-current, [data-src*="team"].is-current, [data-src*="owner"].is-current, [data-src*="interior"].is-current, [data-src*="protect"].is-current, [data-src*="complete"].is-current, [data-src*="estimate"].is-current, [data-src*="remodel"].is-current, [data-src*="partner"].is-current, [sizes="any"].is-current, [sizes="32x32"].is-current, [imagesizes*="100vw"].is-current, a[href*="404"].is-current, [aria-label*="What"].is-current, [aria-label*="puede"].is-current, [aria-label*="service"].is-current, [aria-label*="works"].is-current, [aria-label*="trade"].is-current, optgroup[label*="Exterior"].is-current, optgroup[label*="Storm"].is-current, optgroup[label*="Oficios"].is-current, optgroup[label*="Tormenta"].is-current, optgroup[label*="Flexible"].is-current, optgroup[label*="Other"].is-current, optgroup[label*="Otros"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[value*="As soon"], [value*="practical"], [value*="General"], [data-src*="team"], [data-src*="owner"], [data-src*="interior"], [data-src*="protect"], [data-src*="complete"], [data-src*="estimate"], [data-src*="remodel"], [data-src*="partner"], [sizes="any"], [sizes="32x32"], [imagesizes*="100vw"], a[href*="404"], [aria-label*="What"], [aria-label*="puede"], [aria-label*="service"], [aria-label*="works"], [aria-label*="trade"], optgroup[label*="Exterior"], optgroup[label*="Storm"], optgroup[label*="Oficios"], optgroup[label*="Tormenta"], optgroup[label*="Flexible"], optgroup[label*="Other"], optgroup[label*="Otros"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
[data-src*="team"].is-current, [data-src*="owner"].is-current, [data-src*="protect"].is-current, [data-src*="complete"].is-current { outline-color: var(--gold); }
a[href*="404"].is-current { outline-color: rgb(163, 58, 47); }
optgroup[label*="Exterior"].is-current, optgroup[label*="Oficios"].is-current, [value*="As soon"].is-current, [value*="General"].is-current { outline-color: var(--gold-bright); }
[aria-label*="What"].is-current, [aria-label*="works"].is-current, [aria-label*="puede"].is-current { outline-offset: 0.45rem; }
[media*="prefers-reduced-data"].is-current, link[rel="preconnect"].is-current, link[rel="preload"].is-current, link[rel="stylesheet"].is-current, [aria-labelledby*="h1-"].is-current, [aria-labelledby*="notfound"].is-current, [aria-label*="Send"].is-current, [aria-label*="Enviar"].is-current, optgroup[label*="One language"].is-current, optgroup[label*="Un idioma"].is-current, a.btn--primary.is-current, a.nav-cta.is-current, a[href^="tel:"][aria-label].is-current, button[type="submit"][enterkeyhint].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[media*="prefers-reduced-data"], link[rel="preconnect"], link[rel="preload"], link[rel="stylesheet"], [aria-labelledby*="h1-"], [aria-labelledby*="notfound"], [aria-label*="Send"], [aria-label*="Enviar"], optgroup[label*="One language"], optgroup[label*="Un idioma"], a.btn--primary, a.nav-cta, a[href^="tel:"][aria-label], button[type="submit"][enterkeyhint] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
a.btn--primary.is-current, a.nav-cta.is-current, a[href^="tel:"][aria-label].is-current, button[type="submit"][enterkeyhint].is-current, [aria-label*="Send"].is-current, [aria-label*="Enviar"].is-current { outline-color: var(--gold-bright); outline-width: 3px; outline-offset: 0.4rem; }
[media*="prefers-reduced-data"].is-current, link[rel="preconnect"].is-current, link[rel="preload"].is-current { outline-color: var(--gold); }
[aria-labelledby*="h1-"].is-current, [aria-labelledby*="notfound"].is-current { outline-offset: 0.45rem; }
optgroup[label*="One language"].is-current, optgroup[label*="Un idioma"].is-current { outline-color: var(--gold-bright); }
[as="image"].is-current, link[as="image"].is-current, link[rel="author"].is-current, link[rel="msapplication-config"].is-current, [property*="og:"].is-current, [property="og:title"].is-current, [property="og:image"].is-current, [name="description"].is-current, [name*="twitter:"].is-current, [name="twitter:card"].is-current, script[type="application/ld+json"].is-current, [multiple].is-current, select[multiple].is-current, script[defer].is-current, [aria-label*="about"].is-current, [aria-label*="careers"].is-current, [aria-label*="contact"].is-current, [aria-label*="roofing"].is-current, [aria-label*="siding"].is-current, [aria-label*="process"].is-current, [aria-label*="financing"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[as="image"], link[as="image"], link[rel="author"], link[rel="msapplication-config"], [property*="og:"], [property="og:title"], [property="og:image"], [name="description"], [name*="twitter:"], [name="twitter:card"], script[type="application/ld+json"], [multiple], select[multiple], script[defer], [aria-label*="about"], [aria-label*="careers"], [aria-label*="contact"], [aria-label*="roofing"], [aria-label*="siding"], [aria-label*="process"], [aria-label*="financing"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
[property*="og:"].is-current, [name*="twitter:"].is-current, script[type="application/ld+json"].is-current { outline-color: var(--gold-bright); }
link[as="image"].is-current, [as="image"].is-current { outline-color: var(--gold); outline-width: 3px; }
[aria-label*="about"].is-current, [aria-label*="contact"].is-current, [aria-label*="careers"].is-current { outline-offset: 0.45rem; }
select[multiple].is-current, [multiple].is-current { outline-color: var(--gold-bright); }
[name="apple-mobile-web-app-title"].is-current, [name*="apple-mobile"].is-current, [name="twitter:image:alt"].is-current, [name*="twitter:image"].is-current, meta[charset].is-current, [charset].is-current, [content].is-current, meta[content].is-current, [content*="#14161a"].is-current, [property="og:image:alt"].is-current, [property="og:image:type"].is-current, [property="og:image:width"].is-current, [property="og:image:height"].is-current, [property="og:locale:alternate"].is-current, [aria-label*="this"].is-current, button[type="button"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[name="apple-mobile-web-app-title"], [name*="apple-mobile"], [name="twitter:image:alt"], [name*="twitter:image"], meta[charset], [charset], [content], meta[content], [content*="#14161a"], [property="og:image:alt"], [property="og:image:type"], [property="og:image:width"], [property="og:image:height"], [property="og:locale:alternate"], [aria-label*="this"], button[type="button"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
[name*="apple-mobile"].is-current, [name*="twitter:image"].is-current, [property="og:image:alt"].is-current { outline-color: var(--gold-bright); }
meta[charset].is-current, [charset].is-current, [content*="#14161a"].is-current { outline-color: var(--gold); }
button[type="button"].is-current { outline-width: 3px; outline-color: var(--gold-bright); }
.footer-social.is-current, nav.footer-social.is-current, .footer-social__link.is-current, [data-aoe-social].is-current, [data-aoe-addon].is-current, a[href*="facebook.com"].is-current, a[href*="instagram.com"].is-current, a[href*="youtube.com"].is-current, a[href*="linkedin.com"].is-current, a[href*="nextdoor.com"].is-current, a[target="_blank"].is-current, [aria-label*="Social"].is-current, [aria-label*="Redes"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
.footer-social, nav.footer-social, .footer-social__link, [data-aoe-social], [data-aoe-addon], a[href*="facebook.com"], a[href*="instagram.com"], a[href*="youtube.com"], a[href*="linkedin.com"], a[href*="nextdoor.com"], a[target="_blank"], [aria-label*="Social"], [aria-label*="Redes"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
[data-aoe-social].is-current, a[href*="facebook.com"].is-current, a[href*="instagram.com"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
[data-aoe-addon="social"].is-current, nav.footer-social.is-current { outline-color: var(--gold); }
[data-year].is-current, [data-js].is-current, [data-motion].is-current, [data-contrast].is-current, [data-scrolled].is-current, html[data-motion].is-current, html[data-contrast].is-current, [data-motion="reduce"].is-current, [data-contrast="more"].is-current, link[rel="mask-icon"].is-current, [aria-label*="Contacto"].is-current, [aria-label*="empleo"].is-current, [aria-label*="Pedir"].is-current, [aria-label*="estimado"].is-current, [aria-label*="Request"].is-current, [aria-label*="estimate"].is-current, [aria-label*="Quick"].is-current, a[href*="well-known"].is-current, a[href*="humans.txt"].is-current, a[href*="llms.txt"].is-current, a[href*="security.txt"].is-current, #footer-services.is-current, #footer-company.is-current, #footer-contact.is-current, .reduce-motion.is-current, .contrast-more.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[data-year], [data-js], [data-motion], [data-contrast], [data-scrolled], html[data-motion], html[data-contrast], [data-motion="reduce"], [data-contrast="more"], link[rel="mask-icon"], [aria-label*="Contacto"], [aria-label*="empleo"], [aria-label*="Pedir"], [aria-label*="estimado"], [aria-label*="Request"], [aria-label*="estimate"], [aria-label*="Quick"], a[href*="well-known"], a[href*="humans.txt"], a[href*="llms.txt"], a[href*="security.txt"], #footer-services, #footer-company, #footer-contact, .reduce-motion, .contrast-more { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
[aria-label*="Request"].is-current, [aria-label*="estimate"].is-current, [aria-label*="Pedir"].is-current, [aria-label*="estimado"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
[data-motion="reduce"].is-current, .reduce-motion.is-current, [data-contrast="more"].is-current, .contrast-more.is-current { outline-color: var(--gold); }
a[href*="humans.txt"].is-current, a[href*="llms.txt"].is-current, a[href*="security.txt"].is-current { outline-offset: 0.45rem; }
#footer-services.is-current, #footer-company.is-current, #footer-contact.is-current { outline-color: var(--gold-bright); }
#roofing-role.is-current, #siding-role.is-current, #laborer.is-current, #lead.is-current, a[href="#roofing-role"].is-current, a[href="#siding-role"].is-current, a[href="#laborer"].is-current, a[href="#lead"].is-current, a[href*="browserconfig"].is-current, link[href*="browserconfig"].is-current, [name="msapplication-TileColor"].is-current, [name*="msapplication"].is-current, [name*="web-app-capable"].is-current, [name="referrer"].is-current, [title*="Empleos"].is-current, [title*="hiring"].is-current, [fetchpriority="low"].is-current, img[fetchpriority="low"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
#roofing-role, #siding-role, #laborer, #lead, a[href="#roofing-role"], a[href="#siding-role"], a[href="#laborer"], a[href="#lead"], a[href*="browserconfig"], link[href*="browserconfig"], [name="msapplication-TileColor"], [name*="msapplication"], [name*="web-app-capable"], [name="referrer"], [title*="Empleos"], [title*="hiring"], [fetchpriority="low"], img[fetchpriority="low"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
#roofing-role.is-current, #siding-role.is-current, #laborer.is-current, #lead.is-current, a[href="#roofing-role"].is-current, a[href="#siding-role"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
[title*="Empleos"].is-current, [title*="hiring"].is-current { outline-offset: 0.45rem; }
[name*="msapplication"].is-current, a[href*="browserconfig"].is-current { outline-color: var(--gold); }
#faq-answers-heading.is-current, #faq-estimate.is-current, #faq-seasons.is-current, #faq-ice.is-current, #faq-financing.is-current, #faq-gbb.is-current, #faq-hiring.is-current, #faq-gc.is-current, #confianza.is-current, #camino.is-current, #areas.is-current, #path-heloc.is-current, #path-partner.is-current, #path-bank.is-current, #path-utility.is-current, #step-listen.is-current, #step-estimate.is-current, #check-safe.is-current, #check-carrier.is-current, #check-reach.is-current, #filters-heading.is-current, #expect-heading.is-current, #county-hillsborough.is-current, #county-rockingham.is-current, a[href*="sitemap.xml"].is-current, link[href*="favicon"].is-current, link[rel="apple-touch-icon"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
#faq-answers-heading, #faq-estimate, #faq-seasons, #faq-ice, #faq-financing, #faq-gbb, #faq-hiring, #faq-gc, #confianza, #camino, #areas, #path-heloc, #path-partner, #path-bank, #path-utility, #step-listen, #step-estimate, #check-safe, #check-carrier, #check-reach, #filters-heading, #expect-heading, #county-hillsborough, #county-rockingham, a[href*="sitemap.xml"], link[href*="favicon"], link[rel="apple-touch-icon"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
#faq-estimate.is-current, #faq-financing.is-current, #confianza.is-current, #path-heloc.is-current, #step-listen.is-current { outline-color: var(--gold-bright); outline-width: 3px; }
#check-safe.is-current, #check-carrier.is-current, #check-reach.is-current { outline-color: rgb(163, 58, 47); }
a[href*="sitemap.xml"].is-current, link[href*="favicon"].is-current { outline-color: var(--gold); }
#county-hillsborough.is-current, #county-rockingham.is-current, #areas.is-current { outline-offset: 0.45rem; }
#cookies.is-current, #spam.is-current, #legal.is-current, #questions.is-current, #hosting.is-current, #why.is-current, #puestos.is-current, #hiring.is-current, #rfq.is-current, #wont.is-current, #trades.is-current, #forms.is-current, #storm.is-current, #intro.is-current, #rules.is-current, #compare.is-current, #together.is-current, #weather-mesh.is-current, #map.is-current, #ayuda.is-current, #idioma.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
#cookies, #spam, #legal, #questions, #hosting, #why, #puestos, #hiring, #rfq, #wont, #trades, #forms, #storm, #intro, #rules, #compare, #together, #weather-mesh, #map, #ayuda, #idioma { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
#hiring.is-current, #rfq.is-current, #puestos.is-current, #why.is-current { outline-color: var(--gold-bright); outline-width: 3px; }
#cookies.is-current, #spam.is-current, #legal.is-current { outline-color: var(--gold); }
#trades.is-current, #forms.is-current { outline-color: rgb(163, 58, 47); }
#weather-mesh.is-current, #map.is-current, #ayuda.is-current { outline-offset: 0.45rem; }
#svc-roofing-heading.is-current, #svc-siding-heading.is-current, #svc-windows-heading.is-current, #svc-gutters-heading.is-current, #svc-interior-heading.is-current, #svc-gc-heading.is-current, [id^="svc-"][id$="-heading"].is-current, a[href^="#svc-"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
#svc-roofing-heading, #svc-siding-heading, #svc-windows-heading, #svc-gutters-heading, #svc-interior-heading, #svc-gc-heading, [id^="svc-"][id$="-heading"], a[href^="#svc-"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
#svc-roofing-heading.is-current, #svc-siding-heading.is-current, #svc-windows-heading.is-current, a[href^="#svc-"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
#svc-gc-heading.is-current, #svc-interior-heading.is-current { outline-color: var(--gold); }
#gal-pair-1.is-current, #gal-pair-2.is-current, #gal-pair-3.is-current, #gal-pair-4.is-current, #gal-pair-5.is-current, #gal-pair-6.is-current, #gal-pair-7.is-current, #gal-pair-8.is-current, [id^="gal-pair-"].is-current, a[href^="#gal-pair-"].is-current, [data-trade="siding"].is-current, [data-trade="windows"].is-current, [data-trade="siding envelope"].is-current, [data-trade="envelope windows"].is-current, [data-trade="envelope roofing"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
#gal-pair-1, #gal-pair-2, #gal-pair-3, #gal-pair-4, #gal-pair-5, #gal-pair-6, #gal-pair-7, #gal-pair-8, [id^="gal-pair-"], a[href^="#gal-pair-"], [data-trade="siding"], [data-trade="windows"], [data-trade="siding envelope"], [data-trade="envelope windows"], [data-trade="envelope roofing"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
#gal-pair-1.is-current, #gal-pair-2.is-current, a[href^="#gal-pair-"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
[data-trade="envelope roofing"].is-current, [data-trade="envelope windows"].is-current { outline-color: var(--gold); }
[aria-labelledby].is-current, [aria-label].is-current, [aria-describedby].is-current, [aria-atomic].is-current, [aria-orientation].is-current, [aria-haspopup].is-current, [aria-current].is-current, [aria-current="page"].is-current, [aria-current="true"].is-current, [aria-current="step"].is-current, [data-filter].is-current, [enterkeyhint].is-current, [inputmode].is-current, [autocomplete].is-current, [required].is-current, [open].is-current, details[open].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[aria-labelledby], [aria-label], [aria-describedby], [aria-atomic], [aria-orientation], [aria-haspopup], [aria-current], [data-filter], [enterkeyhint], [inputmode], [autocomplete], [required], [open], details[open] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
[aria-current="page"].is-current, [aria-current="step"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
[aria-pressed].is-current, [aria-pressed="true"].is-current, [aria-expanded].is-current, [aria-expanded="true"].is-current, [aria-controls].is-current, [aria-live].is-current, button[type="button"].is-current, .media-slot--data-saver.is-current, .has-image.is-current, .media-slot.has-image.is-current, .has-photo.is-current, .hero.has-photo.is-current, #convert-bar.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[aria-pressed], [aria-expanded], [aria-controls], [aria-live], button[type="button"], .media-slot--data-saver, .has-image, .media-slot.has-image, .has-photo, .hero.has-photo, #convert-bar { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.gallery-filters button[aria-pressed="true"].is-current, .nav-fly__btn[aria-expanded="true"].is-current, .nav-toggle[aria-expanded="true"].is-current { outline-color: var(--gold-bright); outline-width: 3px; }
ol.convert-steps > li.is-current, ul.town-list > li.is-current, li[id].is-current { outline: 2px solid var(--gold); outline-offset: 0.25rem; border-radius: 0.25rem; }
ol.convert-steps > li, ul.town-list > li, li[id] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-end: calc(var(--convert-bar-h, 5.5rem) + 0.75rem + env(safe-area-inset-bottom, 0px)); }
ul.path-list.is-current, ul.town-list.is-current, ul.contact-facts.is-current, ul[aria-labelledby].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.2rem; }
.path-list > li { border-left: 2px solid color-mix(in srgb, var(--gold) 28%, transparent); padding: 0.35rem 0.15rem 0.35rem 0.85rem; transition: border-color 0.18s, background 0.18s; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.path-list a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.15rem 0.1rem; box-sizing: border-box; color: var(--gold); font-weight: 600; text-decoration: none; text-underline-offset: 0.15em; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.path-list a:hover, .path-list a:focus-visible { color: var(--gold-bright); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 50%, transparent); }
.path-list a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 0.2rem; }
.path-list:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 35%, transparent); outline-offset: 0.35rem; border-radius: 0.2rem; }
.path-list li:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 45%, transparent); outline-offset: 0.25rem; border-radius: 0.2rem; border-left-color: var(--gold); background: color-mix(in srgb, var(--gold) 4%, transparent); }
.faq-item summary { cursor: pointer; font-family: var(--font-serif); font-weight: 600; font-size: clamp(1.12rem, 1.9vw, 1.28rem); letter-spacing: -0.01em; color: var(--ink); list-style: none; padding: 0.35rem 0; min-height: 2.65rem; display: flex; align-items: center; gap: 0.65rem; box-sizing: border-box; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); transition: color 0.18s var(--ease); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::marker { color: var(--gold); }
.faq-item[open] summary, .faq-item summary[aria-expanded="true"] { color: color-mix(in srgb, var(--gold-soft) 35%, var(--ink)); }
.faq-item:target, #hours:target, #hours.is-current, #estimate:target, #apply:target, #aplicar:target, #hire-form:target { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
.faq-item.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
.faq-item:target summary { color: var(--gold-soft); }
.faq-item summary::after { content: "+"; margin-left: auto; padding-left: 0.18rem; color: var(--gold); font-weight: 700; font-size: 1.15rem; line-height: 1; min-width: 1.25rem; text-align: center; }
.faq-item[open] summary::after, .faq-item summary[aria-expanded="true"]::after { content: "–"; color: var(--gold-bright); }
#section-faq-answers-heading.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.page-hero + #section-faq-answers-heading.section { padding-top: var(--space-section-y); }
#section-faq-answers-heading .faq-jump { margin-bottom: 1.15rem; padding: 0.25rem 0 0.75rem; }
#section-faq-answers-heading .faq-jump .section__eyebrow { margin-bottom: 0.55rem; }
#section-faq-answers-heading .faq-list { gap: 0.85rem; }
#section-faq-answers-heading .faq-item { padding: 0.95rem 0 1rem; }
#section-faq-answers-heading .faq-item[open] { padding-block: 1.05rem 1.15rem; }
#section-faq-answers-heading .faq-item > :not(summary) { margin: 0.85rem 0 0.2rem; line-height: 1.65; }
/* Pass 1360 - FAQ answers to next CTA */
#section-faq-answers-heading + #next.band-cta { padding-top: var(--space-band-y); }
#section-faq-answers-heading.section:has(+ #next) { padding-bottom: var(--space-section-y); }
.town-list--linked a { color: var(--gold); text-decoration: none; font-weight: 600; border-radius: 0.2rem; display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.15rem 0.1rem; box-sizing: border-box; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.town-list--linked a:hover, .town-list--linked a:focus-visible { color: var(--gold-bright); text-decoration: underline; }
.town-list--linked a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.town-list--linked a[aria-current="page"] { text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 55%, transparent); text-underline-offset: 0.18em; }
.town-list--linked { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.lang-strip { display: inline-flex; flex-wrap: wrap; gap: 0.35rem; padding: 0.35rem 0.4rem; border: 1px solid color-mix(in srgb, var(--gold) 28%, transparent); border-radius: 0.2rem; background: color-mix(in srgb, var(--ink) 42%, transparent); box-shadow: none; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.lang-strip a { display: inline-flex; align-items: center; text-decoration: none; color: color-mix(in srgb, var(--steel-bright) 78%, var(--gold-soft)); font-size: 0.85rem; font-weight: 600; padding: 0.35rem 0.7rem; min-height: 2.75rem; box-sizing: border-box; border-radius: 0.15rem; transition: color 0.15s, background 0.15s; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.lang-strip a:hover, .lang-strip a:focus-visible { color: var(--white); background: color-mix(in srgb, var(--gold) 10%, transparent); }
.lang-strip a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.lang-strip:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 40%, transparent); outline-offset: 0.25rem; border-radius: 0.2rem; }
.lang-strip a.lang-strip__active, .lang-strip__active { background: transparent; box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--gold) 55%, transparent); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); color: var(--steel-bright) !important; }
.lang-strip a[aria-current="page"] { text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 55%, transparent); text-underline-offset: 0.15em; }
.band-cta a[aria-current="true"], .cta-row a[aria-current="true"], .fine-print a[aria-current="true"], .page-hero a[aria-current="true"], .band-cta a[aria-current="page"], .cta-row a[aria-current="page"], .fine-print a[aria-current="page"], .page-hero a[aria-current="page"] { text-decoration: underline; text-underline-offset: 0.18em; }
.nav-lang { display: flex; align-items: center; gap: 0.25rem; padding: 0.2rem 0.3rem; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; border: 0px; border-radius: 0.15rem; background: transparent; box-shadow: none; flex-shrink: 0; order: 50; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.nav-lang a { display: inline-flex; align-items: center; min-height: 2.5rem; padding: 0.2rem 0.4rem; box-sizing: border-box; border-radius: 0.15rem; transition: color 0.15s, background 0.15s, box-shadow 0.15s; scroll-margin-top: calc(0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(0.5rem + env(safe-area-inset-top, 0px)); color: color-mix(in srgb, var(--steel-bright) 72%, var(--muted)) !important; text-decoration: none !important; }
.nav-lang a:hover, .nav-lang a:focus-visible { background: color-mix(in srgb, var(--gold) 10%, transparent); color: var(--white) !important; }
.nav-lang a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 2px; }
.nav-lang:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 40%, transparent); outline-offset: 0.2rem; border-radius: 0.2rem; }
.nav-lang a.nav-lang__active, .nav-lang__active { background: transparent; box-shadow: inset 0 -1px 0 color-mix(in srgb, var(--steel-bright) 55%, transparent); scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); color: var(--steel-bright) !important; }
.nav-lang a.nav-lang__active:hover, .nav-lang a.nav-lang__active:focus-visible { background: color-mix(in srgb, var(--gold) 8%, transparent); color: var(--white) !important; }
.nav-lang span[aria-hidden="true"] { color: color-mix(in srgb, var(--gold) 45%, var(--gold-soft)); user-select: none; padding-inline: 0.1rem; }
[id^="faq-"][id$="-summary"], [id^="faq-"][id$="-answer"] { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
#nav-item-cta { flex-shrink: 0; margin-left: 0.35rem; order: 40; }
@media (min-width: 861px) and (max-width: 1180px) {
  .site-nav a:not(.nav-cta) { padding-inline: 0.4rem; font-size: 0.95rem; }
  .brand__tag { max-width: 8.5rem; }
  .nav-fly__btn { padding-inline: 0.4rem; font-size: 0.95rem; }
}
.hire-perks article h3 { font-family: var(--font-serif); font-weight: 600; margin: 0px 0px 0.6rem; font-size: clamp(1.12rem, 1.8vw, 1.28rem); line-height: 1.3; color: var(--ink); }
.hire-perks { display: grid; gap: 1.45rem; margin-top: 1.35rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.hire-perks a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.hire-perks article { padding: 1.15rem 0.15rem 0.5rem; border-top: 2px solid color-mix(in srgb, var(--gold) 55%, transparent); transition: border-top-color 0.18s, background 0.18s; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.hire-perks article:hover, .hire-perks article:focus-within { border-top-color: var(--gold-bright); background: color-mix(in srgb, var(--gold) 3.5%, transparent); }
.hire-perks article p { margin: 0px; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); font-size: 1rem; line-height: 1.58; }
.hire-roles { display: grid; gap: 1.35rem; margin-top: 1.65rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.hire-roles a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.hire-roles:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 35%, transparent); outline-offset: 0.35rem; border-radius: 0.2rem; }
@media (min-width: 720px) {
  .hire-roles { grid-template-columns: 1fr 1fr; }
}
.hire-card { border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top: 2px solid color-mix(in srgb, var(--gold) 58%, transparent); border-radius: 0.15rem; background: linear-gradient(
      165deg,
      color-mix(in srgb, var(--gold) 3.5%, var(--white)) 0%,
      var(--white) 42%
    ); padding: 1.5rem 1.35rem 1.55rem; transition: border-color 0.18s, box-shadow 0.18s; content-visibility: auto; contain-intrinsic-size: auto 220px; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.hire-card:hover { border-right-color: ; border-bottom-color: ; border-left-color: ; border-top-color: var(--gold-bright); box-shadow: 0 0 0 1px color-mix(in srgb, var(--gold) 16%, transparent); }
.hire-card:focus-within { border-right-color: ; border-bottom-color: ; border-left-color: ; border-top-color: var(--gold-bright); box-shadow: 0 0 0 2px color-mix(in srgb, var(--gold) 32%, transparent); }
.hire-card.is-current, .hire-card:target { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.15rem; border-right-color: ; border-bottom-color: ; border-left-color: ; border-top-color: var(--gold-bright); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.hire-card__tag { margin: 0px 0px 0.65rem; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; font-variant-caps: all-small-caps; color: color-mix(in srgb, var(--gold) 55%, var(--slate)); padding-bottom: 0.4rem; border-bottom: 1px solid color-mix(in srgb, var(--gold) 38%, transparent); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.hire-card h3 { font-family: var(--font-serif); font-weight: 600; margin: 0 0 0.75rem; font-size: clamp(1.18rem, 2vw, 1.34rem); line-height: 1.32; color: var(--ink); letter-spacing: -0.012em; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.hire-card p { margin: 0px 0px 0.75rem; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); font-size: 1rem; line-height: 1.58; }
.hire-card ul { margin: 0 0 0.45rem; padding-left: 1.2rem; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); font-size: 1rem; line-height: 1.6; }
.hire-card ul li + li { margin-top: 0.4rem; }
#why.section, #roles.section, #apply.section, #por-que.section, #puestos.section, #aplicar.section, #resumen-es.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }

/* Pass 1307 - careers/empleos TOC to first section jump */
.wrap--toc + #why.section,
.wrap--toc + #por-que.section {
  padding-top: var(--space-section-y);
}

/* Pass 1327 - careers/empleos why to roles */
#why + #roles.section,
#por-que + #puestos.section {
  padding-top: var(--space-section-y);
}

/* Pass 1328 - careers/empleos roles to apply */
#roles + #apply.section,
#puestos + #aplicar.section {
  padding-top: var(--space-section-y);
}

/* Pass 1369 - careers/empleos apply to next CTA */
#apply + #resumen-es.section {
  padding-top: var(--space-section-y);
}
#resumen-es + #next.band-cta,
#aplicar + #next.band-cta {
  padding-top: var(--space-band-y);
}
#resumen-es.section:has(+ #next),
#aplicar.section:has(+ #next) {
  padding-bottom: var(--space-section-y);
}

main:has(#why) > .wrap--toc,
main:has(#por-que) > .wrap--toc {
  padding-top: 0.95rem;
  padding-bottom: 1.1rem;
}

main:has(#why) > .wrap--toc .section__eyebrow,
main:has(#por-que) > .wrap--toc .section__eyebrow {
  margin-bottom: 0.55rem;
}

#why .section__eyebrow, #roles .section__eyebrow, #apply .section__eyebrow, #por-que .section__eyebrow, #puestos .section__eyebrow, #aplicar .section__eyebrow, #resumen-es .section__eyebrow { margin-bottom: 0.55rem; }
#why .section__title, #roles .section__title, #apply .section__title, #por-que .section__title, #puestos .section__title, #aplicar .section__title, #resumen-es .section__title { margin-bottom: 0.75rem; }
#resumen-es .prose > p { margin: 0px 0px 0.95rem; max-width: 52ch; line-height: 1.58; }
#resumen-es .prose > p:last-child { margin-bottom: 0px; }
#why .section__lead, #roles .section__lead, #apply .section__lead, #por-que .section__lead, #puestos .section__lead, #aplicar .section__lead { max-width: 48ch; margin-bottom: 0.95rem; font-size: 1.1rem; line-height: 1.58; }
#por-que .hire-perks, #why .hire-perks { gap: 1.25rem 1.35rem; margin-top: 1.25rem; }
#puestos .hire-roles, #roles .hire-roles { gap: 1.25rem 1.35rem; margin-top: 1.35rem; }
.hire-card .stack-mt--sm { margin-top: 0.85rem; }
.hire-form { background: linear-gradient(
      165deg,
      color-mix(in srgb, var(--gold) 3.5%, var(--white)) 0%,
      var(--white) 40%
    ); border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top: 2px solid color-mix(in srgb, var(--gold) 58%, transparent); border-radius: 0.15rem; padding: 1.45rem 1.3rem 1.55rem; display: grid; gap: 1.15rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.hire-form a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
/* Pass 1308 - referrals hero to how jump */
#section-referrals-how-heading.section, #rules.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.page-hero + #section-referrals-how-heading.section { padding-top: var(--space-section-y); }
/* Pass 1332 - referrals how to rules */
#section-referrals-how-heading + #rules.section { padding-top: var(--space-section-y); }
/* Pass 1370 - referrals rules to next CTA */
#rules + #next.band-cta { padding-top: var(--space-band-y); }
#rules.section:has(+ #next) { padding-bottom: var(--space-section-y); }
#section-referrals-how-heading .faq-jump { margin-bottom: 1.15rem; padding: 0.25rem 0 0.75rem; }
#section-referrals-how-heading .faq-jump .section__eyebrow { margin-bottom: 0.55rem; }
#section-referrals-how-heading .grid-2--follow { margin-top: 1.35rem; gap: 1.9rem 2.25rem; }
@media (min-width: 800px) {
  #section-referrals-how-heading .grid-2--follow { gap: 2rem 2.45rem; align-items: start; }
}
#section-referrals-how-heading .section__eyebrow, #rules .section__eyebrow { margin-bottom: 0.55rem; }
#section-referrals-how-heading .section__title, #rules .section__title { margin-bottom: 0.95rem; }
#section-referrals-how-heading .steps { gap: 1.55rem; }
#section-referrals-how-heading .steps li { padding-block: 1.05rem; padding-left: 1.2rem; gap: 0.5rem 1.15rem; }
#section-referrals-how-heading .steps h3 { margin-bottom: 0.55rem; }
#section-referrals-how-heading .steps p { margin-bottom: 0.45rem; }
#section-referrals-how-heading .prose > p { margin: 0 0 0.95rem; max-width: 52ch; line-height: 1.58; }
#section-referrals-how-heading .stack-mt--lg { margin-top: 1.35rem; }
#rules .prose > ul { margin: 0.5rem 0px 0px; }
#rules .prose > ul > li { margin-bottom: 0.45rem; }
#rules .prose > ul > li:last-child { margin-bottom: 0px; }
#trades.section, #help.section, #forms.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
/* Pass 1351 - 404 TOC to trades */
.wrap--toc + #trades.section { padding-top: var(--space-section-y); }
/* Pass 1347 - 404 trades to towns */
#trades + #towns.section { padding-top: var(--space-section-y); }
/* Pass 1348 - 404 towns to help */
#towns + #help.section { padding-top: var(--space-section-y); }
/* Pass 1349 - 404 help to hire */
#help + #hire.section { padding-top: var(--space-section-y); }
/* Pass 1350 - 404 hire to forms */
#hire + #forms.section { padding-top: var(--space-section-y); }
/* Pass 1380 - 404 forms to next CTA */
#forms + #next.band-cta { padding-top: var(--space-band-y); }
#forms.section:has(+ #next) { padding-bottom: var(--space-section-y); }
#trades .section__eyebrow, #help .section__eyebrow, #forms .section__eyebrow, #towns .section__eyebrow, #hire .section__eyebrow { margin-bottom: 0.65rem; }
#trades .section__title, #help .section__title, #forms .section__title, #towns .section__title, #hire .section__title { margin-bottom: 0.85rem; }
#trades .town-list, #help .town-list, #forms .town-list, #towns .town-list--follow, #hire .town-list { gap: 1rem 1.35rem; margin-top: 1.1rem; }
#trades .town-list li, #help .town-list li, #forms .town-list li, #towns .town-list--follow li, #hire .town-list li { padding: 0.5rem 0; }
#path.section:not(.convert-expect) { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
#path.section:not(.convert-expect) .section__eyebrow { margin-bottom: 0.65rem; }
#path.section:not(.convert-expect) .section__title { margin-bottom: 0.85rem; }
#path.section:not(.convert-expect) .grid-2 { gap: 1.75rem 2rem; }
@media (min-width: 800px) {
  #path.section:not(.convert-expect) .grid-2 { gap: 1.85rem 2.25rem; align-items: start; }
}
#path.section:not(.convert-expect) .prose > ol { margin: 0.75rem 0 0; padding-left: 1.2rem; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); line-height: 1.62; }
#path.section:not(.convert-expect) .prose > ol li + li { margin-top: 0.55rem; }
#path.section:not(.convert-expect) .prose > p { margin: 0px 0px 0.95rem; max-width: 52ch; line-height: 1.58; }
#path.section:not(.convert-expect) .prose > p:last-child { margin-bottom: 0px; }
.position-band, .position-grid { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.position-band a, .position-grid a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.position-band h2 { font-family: var(--font-serif); margin: 0 0 0.95rem; font-size: clamp(1.4rem, 2.5vw, 1.8rem); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.position-band__lead { color: color-mix(in srgb, var(--gold-soft) 18%, var(--slate)); max-width: 48ch; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.position-band__lead a { color: var(--gold); font-weight: 600; text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 45%, transparent); text-underline-offset: 0.14em; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.position-band__lead a:hover, .position-band__lead a:focus-visible { color: var(--gold-bright); text-decoration-color: color-mix(in srgb, var(--gold) 70%, transparent); }
.position-band__lead a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 0.15rem; }
.position-band h2 + .section__lead { margin: 0 0 var(--space-lead-mb); max-width: 42rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.position-grid article { padding: 1.35rem 0.2rem 0.65rem; border-top: 2px solid color-mix(in srgb, var(--gold) 55%, transparent); transition: border-top-color 0.18s, background 0.18s; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.position-grid article:hover, .position-grid article:focus-within { border-top-color: var(--gold-bright); background: color-mix(in srgb, var(--gold) 3.5%, transparent); }
.position-grid article:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 45%, transparent); outline-offset: 0.35rem; border-radius: 0.15rem; }
.position-grid h3 { font-family: var(--font-serif); font-weight: 600; margin: 0px 0px 0.75rem; font-size: clamp(1.12rem, 1.8vw, 1.28rem); line-height: 1.3; letter-spacing: -0.012em; color: var(--ink); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.position-grid p { margin: 0px; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); font-size: 1.02rem; line-height: 1.65; }
.gbb-table-wrap { overflow-x: auto; margin: var(--space-stack-lg) 0 0.35rem; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top: 2px solid color-mix(in srgb, var(--gold) 55%, transparent); border-radius: 0.15rem; background: var(--surface); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--gold) 12%, transparent); touch-action: pan-x pan-y pinch-zoom; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--gold) 40%, var(--mist)) var(--snow); scroll-snap-type: x; overflow-anchor: none; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-inline: 0.5rem; max-width: 100%; }
@media (max-width: 719px) {
  .gbb-table-wrap { width: 100%; margin-inline: 0px; border-radius: 0px; border-left: 0px; border-right: 0px; }

  /* Pass 2024 - mobile rhythm: tokens, gutters, hero, footer, nav */
  :root {
    --space-section-y: 3.25rem;
    --space-section-y-tight: 2.5rem;
    --space-hero-home-y: 2.5rem 0 1.75rem;
    --space-band-y: 2.75rem;
    --space-page-hero-y: 2.65rem 0 1.85rem;
    --convert-bar-h: 3.75rem;
  }
  .wrap,
  .hero__content {
    width: min(100% - 2rem, var(--max));
  }
  .hero--home {
    min-height: calc(var(--header-h) + min(38dvh, 340px));
    max-height: 92dvh;
  }
  .hero--home .hero__headline {
    font-size: clamp(1.75rem, 7.5vw, 2.05rem);
    max-width: 15ch;
    margin-bottom: 0.85rem;
  }
  .hero--home .hero__logo {
    width: min(100%, 260px);
    margin-bottom: 0.85rem;
  }
  .hero--home .hero__support {
    margin-bottom: 1.15rem;
    font-size: clamp(1.02rem, 3.8vw, 1.12rem);
  }
  .hero--home + .trust-strip--home {
    padding-top: 2rem;
    padding-bottom: 1.65rem;
  }
  .site-nav {
    padding-inline: max(1rem, env(safe-area-inset-left, 0px)) max(1rem, env(safe-area-inset-right, 0px));
  }
  .site-footer {
    padding: 2.75rem 0 1.85rem;
  }
  .footer-grid--4 {
    gap: 1.45rem;
    margin-bottom: 1.55rem;
  }
  .footer-grid--4 a,
  .footer-bottom a,
  .footer-social a {
    min-height: 0;
    padding-block: 0.35rem;
  }
  .section__lead {
    font-size: 1.08rem;
    line-height: 1.55;
  }
  .section__title {
    font-size: clamp(1.65rem, 6.5vw, 1.95rem);
  }
  .page-hero {
    padding: var(--space-page-hero-y);
  }
  #next.band-cta {
    padding-block: var(--space-band-y);
  }

  /* Pass 2025 - convert-bar portrait densify */
  .convert-bar {
    gap: 0.45rem;
    padding-top: 0.4rem;
    padding-bottom: calc(0.4rem + env(safe-area-inset-bottom, 0px));
  }
  .convert-bar__call span {
    display: none;
  }
  .convert-bar__call,
  .convert-bar__est {
    min-height: 2.5rem;
  }
  .convert-bar__call {
    padding: 0.4rem 0.75rem;
  }
  .convert-bar__call strong {
    font-size: 0.92rem;
  }
  .hero--home .cta-row,
  .page-hero .cta-row {
    gap: 0.75rem 0.95rem;
    padding: 0.35rem 0;
  }
  .hero--home .cta-row .btn,
  .page-hero .cta-row .btn {
    flex: 1 1 auto;
    justify-content: center;
    min-width: min(100%, 11rem);
  }

  /* Pass 2026 - gallery + band-cta portrait densify */
  .gallery-grid {
    gap: 1.35rem 0;
  }
  .gallery-pair {
    padding: 0.5rem 0 1rem;
  }
  .gallery-pair h3 {
    margin: 0.65rem 0 0.4rem;
    font-size: 1.12rem;
  }
  .gallery-pair p {
    font-size: 0.98rem;
    line-height: 1.52;
    max-width: none;
  }
  .pair-frames {
    gap: 0.85rem;
  }
  .pair-frames .media-slot.has-image img {
    max-height: min(52vh, 420px);
  }
  .band-cta .cta-row {
    gap: 0.75rem 0.95rem;
  }
  .band-cta .cta-row .btn {
    flex: 1 1 auto;
    justify-content: center;
    min-width: min(100%, 11rem);
  }
  .trust-strip--home .trust-strip__grid {
    gap: 1.25rem;
  }
  .trust-strip--home article {
    padding: 0.85rem 0 0.35rem;
  }
  .trust-strip--home h3 {
    font-size: 1.02rem;
    margin-bottom: 0.45rem;
  }
  .trust-strip--home p {
    font-size: 0.98rem;
    line-height: 1.55;
  }

  /* Pass 2027 - services grid + page hero media densify */
  #services .grid-4 {
    gap: 1.25rem 0;
  }
  #services .service-tile {
    padding: 1.05rem 0.15rem 0.75rem;
  }
  #services .service-tile h3 {
    margin-bottom: 0.55rem;
    font-size: clamp(1.12rem, 4.2vw, 1.22rem);
  }
  #services .service-tile p {
    font-size: 0.98rem;
    line-height: 1.55;
  }
  #services .service-tile a {
    margin-top: 0.55rem;
  }
  .media-slot--hero-page {
    margin-top: 1.35rem;
  }
  .media-slot--tall {
    margin-block: 0.85rem;
  }
  .proof-strip--home {
    padding: 2rem 0 1.75rem;
  }
  #process + #proof.proof-strip--home {
    padding-top: 2.15rem;
  }

  /* Pass 2028 - breadcrumbs gutter + expect/areas densify */
  main > .breadcrumbs ol {
    width: min(100% - 2rem, var(--max, 72rem));
    padding: 0.45rem 0;
  }
  .breadcrumbs {
    padding-block: 0.65rem 0.4rem;
    font-size: 0.82rem;
  }
  .breadcrumbs ol {
    gap: 0.2rem 0.35rem;
  }
  .breadcrumbs a {
    min-height: 2.25rem;
    padding-block: 0.15rem;
  }
  main > .breadcrumbs + .page-hero {
    padding-top: 1.55rem;
    padding-bottom: 1.35rem;
  }
  #expect .position-grid {
    gap: 1rem;
    margin-top: 1rem;
  }
  #expect .position-grid article {
    padding: 0.9rem 0.1rem 0.4rem;
  }
  #expect .position-grid h3 {
    margin-bottom: 0.45rem;
    font-size: clamp(1.05rem, 4vw, 1.15rem);
  }
  #expect .position-grid p {
    font-size: 0.98rem;
    line-height: 1.55;
  }
  .areas-counties {
    gap: 1.15rem;
    margin-top: 1.15rem;
  }
  .areas-counties > div {
    padding: 1.15rem 1.05rem 1.2rem;
  }
  .areas-counties__title {
    margin-bottom: 0.7rem;
    font-size: 1.05rem;
    padding-bottom: 0.45rem;
  }

  /* Pass 2029 - process steps portrait densify */
  #section-process-steps-heading .steps {
    gap: 1.2rem;
  }
  #section-process-steps-heading .steps li {
    padding-block: 0.85rem;
    padding-left: 1rem;
    gap: 0.4rem 0.95rem;
  }
  #section-process-steps-heading .steps li::before {
    font-size: 1.05rem;
    padding-top: 0.1rem;
  }
  #section-process-steps-heading .steps h3 {
    margin-bottom: 0.4rem;
    font-size: clamp(1.05rem, 4vw, 1.18rem);
  }
  #section-process-steps-heading .steps p {
    font-size: 0.98rem;
    line-height: 1.55;
    max-width: none;
    margin-bottom: 0.35rem;
  }
  #section-process-steps-heading .step-nav {
    margin-top: 0.55rem !important;
  }

  /* Pass 2030 - hire-card portrait densify */
  #roles .hire-roles,
  #puestos .hire-roles {
    gap: 1.15rem;
    margin-top: 1.15rem;
  }
  .hire-card {
    padding: 1.05rem 0.15rem 0.85rem;
  }
  .hire-card__tag {
    margin-bottom: 0.5rem;
    padding-bottom: 0.35rem;
  }
  .hire-card h3 {
    margin-bottom: 0.55rem;
    font-size: clamp(1.1rem, 4.2vw, 1.22rem);
  }
  .hire-card p,
  .hire-card ul {
    font-size: 0.98rem;
    line-height: 1.55;
  }
  .hire-card p {
    margin-bottom: 0.55rem;
  }
  .hire-card ul li + li {
    margin-top: 0.3rem;
  }
  .hire-card .stack-mt--sm {
    margin-top: 0.65rem;
  }

  /* Pass 2031 - convert-expect portrait densify */
  .convert-expect,
  #camino.convert-expect,
  #path.convert-expect,
  #steps.convert-expect,
  .wrap--toc + .section.convert-expect {
    padding: 1.65rem 1.05rem 1.75rem;
  }
  .convert-expect .section__eyebrow,
  #camino.convert-expect .section__eyebrow,
  #path.convert-expect .section__eyebrow {
    margin-bottom: 0.45rem;
  }
  .convert-expect .section__title,
  .convert-expect h2,
  #path.convert-expect .section__title,
  #camino.convert-expect .section__title {
    margin-bottom: 0.65rem;
  }
  .convert-expect .convert-steps,
  #camino .convert-steps,
  #path.convert-expect .convert-steps,
  #steps .convert-steps {
    gap: 0.85rem;
    margin-top: 1rem;
  }
  .convert-expect .convert-steps li,
  #camino .convert-steps li,
  #path.convert-expect .convert-steps li,
  #steps .convert-steps li {
    padding: 0.95rem 0.9rem 1rem;
  }
  .convert-expect .convert-steps strong {
    margin-bottom: 0.4rem;
    font-size: 1rem;
  }
  .convert-expect .convert-steps span {
    font-size: 0.98rem;
    line-height: 1.55;
  }
  .convert-expect .stack-mt,
  #path.convert-expect .stack-mt,
  #camino .stack-mt {
    margin-top: 0.75rem;
  }

  /* Pass 2032 - FAQ accordion portrait densify */
  .faq-list,
  #section-faq-answers-heading .faq-list {
    gap: 0.75rem;
  }
  .faq-item,
  #section-faq-answers-heading .faq-item {
    padding: 0.85rem 0.15rem 0.9rem;
  }
  .faq-item summary {
    font-size: clamp(1.05rem, 4vw, 1.18rem);
    min-height: 2.75rem;
    padding-block: 0.25rem;
  }
  .faq-item > :not(summary),
  #section-faq-answers-heading .faq-item > :not(summary) {
    font-size: 0.98rem;
    line-height: 1.55;
    max-width: none;
    margin: 0.75rem 0 0.15rem;
  }
  .faq-item[open],
  #section-faq-answers-heading .faq-item[open] {
    margin-inline: 0;
    padding-inline: 0.75rem;
    padding-block: 0.95rem 1rem;
  }

  /* Pass 2033 - form-grid / hire-form portrait densify */
  .form-grid,
  .form-grid--convert,
  .hire-form {
    gap: 1rem;
    padding: 1.25rem 1.05rem 1.35rem;
  }
  .form-grid .form-row-2,
  .form-grid--convert .form-row-2,
  .hire-form .form-row-2 {
    gap: 0.9rem;
  }
  .form-grid > fieldset > legend,
  .hire-form > fieldset > legend,
  .form-grid--convert > fieldset > legend {
    padding-bottom: 0.45rem;
    margin-bottom: 0.3rem;
    font-size: 0.98rem;
  }
  .form-grid label,
  .hire-form label {
    gap: 0.5rem;
    font-size: 0.98rem;
  }
  .form-grid .form-note,
  .hire-form .form-note {
    margin-top: 0.7rem;
    padding: 0.55rem 0.75rem;
    font-size: 0.88rem;
    line-height: 1.55;
  }

  /* Pass 2034 - contact-facts / contact-callout portrait densify */
  .contact-facts {
    margin-bottom: 1rem;
    padding: 0.55rem 1.05rem;
  }
  .contact-facts li {
    padding: 0.7rem 0;
  }
  .contact-facts a {
    min-height: 2.25rem;
    padding-block: 0.05rem;
  }
  .contact-facts span {
    margin-bottom: 0.25rem;
    font-size: 0.72rem;
  }
  #estimate.section .contact-facts {
    margin-bottom: 1rem;
  }
  #estimate.section .contact-facts li {
    padding: 0.7rem 0;
  }
  #estimate .contact-facts li:has(a[href*="certificate"]) {
    padding-block: 0.75rem;
  }
  .contact-callout {
    gap: 0.65rem;
    margin: 0.85rem 0 1rem;
    padding: 0.95rem 1.05rem;
  }
  #estimate.section .contact-callout {
    margin: 0.85rem 0 1rem;
    padding: 0.95rem 1.05rem;
  }
  .contact-callout .btn {
    flex: 1 1 auto;
    justify-content: center;
    min-width: min(100%, 11rem);
  }

  /* Pass 2035 - trust-strip (non-home) portrait densify */
  .trust-strip:not(.trust-strip--home) {
    padding-top: 2rem;
    padding-bottom: 1.65rem;
  }
  .trust-strip:not(.trust-strip--home) .trust-strip__grid {
    gap: 1.25rem;
  }
  .trust-strip:not(.trust-strip--home) article {
    padding: 0.85rem 0 0.35rem;
  }
  .trust-strip:not(.trust-strip--home) h3 {
    font-size: 1.02rem;
    margin-bottom: 0.45rem;
  }
  .trust-strip:not(.trust-strip--home) p {
    font-size: 0.98rem;
    line-height: 1.55;
    max-width: none;
  }

  /* Pass 2036 - hire-perks portrait densify */
  .hire-perks,
  #why .hire-perks,
  #por-que .hire-perks {
    gap: 1.15rem;
    margin-top: 1.15rem;
  }
  .hire-perks article {
    padding: 0.9rem 0.1rem 0.4rem;
  }
  .hire-perks article h3 {
    margin-bottom: 0.45rem;
    font-size: clamp(1.05rem, 4vw, 1.15rem);
  }
  .hire-perks article p {
    font-size: 0.98rem;
    line-height: 1.55;
  }

  /* Pass 2037 - blog-card / #posts grid portrait densify */
  #posts .section__title {
    margin-bottom: 0.75rem;
  }
  #posts .blog-grid {
    gap: 1.15rem;
    margin-top: 1rem;
  }
  .blog-card {
    padding: 1.05rem 0.15rem 0.85rem;
    gap: 0.55rem;
  }
  .blog-card__title {
    font-size: clamp(1.08rem, 4.2vw, 1.2rem);
  }
  .blog-card__excerpt {
    font-size: 0.98rem;
    line-height: 1.55;
  }
  .blog-card__link {
    margin-top: 0.35rem;
  }

  /* Pass 2038 - big-ticket-card / big-ticket-strip portrait densify */
  .big-ticket-strip {
    gap: 1.15rem;
    margin-top: 1.15rem;
  }
  .big-ticket-card {
    padding: 1.05rem 1.05rem 1.15rem;
  }
  .big-ticket-card h3 {
    margin-bottom: 0.55rem;
    font-size: clamp(1.1rem, 4.2vw, 1.22rem);
  }
  .big-ticket-card p {
    margin-bottom: 0.75rem;
    font-size: 0.98rem;
    line-height: 1.55;
  }
  .big-ticket-card .btn {
    width: 100%;
    justify-content: center;
  }

  /* Pass 2039 - service-block portrait densify */
  .service-block {
    padding: 1.15rem 0 1rem;
  }
  .service-block__grid {
    gap: 1.15rem;
  }
  .service-block .section__eyebrow {
    margin-bottom: 0.45rem;
  }
  .service-block .section__title {
    margin-bottom: 0.6rem;
    font-size: clamp(1.45rem, 5.5vw, 1.75rem);
  }
  .service-block .prose p {
    font-size: 0.98rem;
    line-height: 1.55;
  }

  /* Pass 2040 - wrap--toc portrait densify */
  .wrap--toc,
  .wrap--toc-home {
    padding-block: 1rem 1.05rem;
  }
  .page-hero + .wrap--toc,
  .ad-hero + .wrap--toc {
    padding-block: 0.9rem 0.95rem;
  }
  .wrap--toc .section__eyebrow,
  .wrap--toc-home .section__eyebrow {
    margin-bottom: 0.4rem;
  }
  .wrap--toc .faq-jump,
  .wrap--toc-home .faq-jump {
    padding: 0.2rem 0 0.4rem;
  }
  .wrap--toc .faq-jump__links,
  .wrap--toc-home .faq-jump__links {
    gap: 0.35rem 0.65rem;
    margin-top: 0.4rem;
    font-size: 0.92rem;
    line-height: 1.55;
  }
  .wrap--toc .faq-jump__links a,
  .wrap--toc-home .faq-jump__links a {
    min-height: 2.25rem;
    padding-block: 0.15rem;
  }

  /* Pass 2041 - page-hero typography portrait densify */
  .page-hero h1 {
    font-size: clamp(1.65rem, 6.5vw, 2rem);
    margin-bottom: 0.75rem;
    line-height: 1.2;
  }
  .page-hero .section__eyebrow {
    margin-bottom: 0.55rem;
    letter-spacing: 0.12em;
  }
  .page-hero p {
    font-size: clamp(1.02rem, 3.8vw, 1.08rem);
    line-height: 1.55;
    max-width: none;
  }
  .page-hero .cta-row {
    margin-top: 1rem;
  }
  .page-hero .cta-row--after-lead {
    margin-top: 0.95rem;
  }

  /* Pass 2042 - gbb-table-wrap / gbb-table portrait densify */
  .gbb-table-wrap {
    margin-block: 1rem 0.25rem;
    scroll-margin-inline: 0;
  }
  #gbb .section__lead {
    margin-bottom: 0.85rem;
    font-size: 1.02rem;
    line-height: 1.55;
  }
  #gbb .gbb-table-wrap {
    margin-top: 1rem;
  }
  .gbb-table {
    font-size: 0.88rem;
    min-width: 32rem;
  }
  .gbb-table caption {
    font-size: 0.88rem;
    padding-bottom: 0.5rem;
  }
  .gbb-table th,
  .gbb-table td {
    padding: 0.75rem 0.85rem;
  }
  .gbb-table thead th {
    font-size: 0.76rem;
  }
  .gbb-table thead th span {
    font-size: 0.68rem;
  }
  #gbb .fine-print {
    margin-top: 0.85rem;
    font-size: 0.88rem;
    line-height: 1.55;
  }

  /* Pass 2043 - compare / path grid-2 portrait densify */
  #compare .grid-2,
  #path.section:not(.convert-expect) .grid-2 {
    gap: 1.15rem;
  }
  #compare .prose .section__eyebrow,
  #path.section:not(.convert-expect) .prose .section__eyebrow {
    margin-bottom: 0.45rem;
  }
  #compare .prose .section__title,
  #path.section:not(.convert-expect) .prose .section__title {
    margin-bottom: 0.6rem;
    font-size: clamp(1.45rem, 5.5vw, 1.75rem);
  }
  #compare .prose > p,
  #path.section:not(.convert-expect) .prose > p {
    margin-bottom: 0.55rem;
    font-size: 0.98rem;
    line-height: 1.55;
    max-width: none;
  }
  #compare .prose > ul,
  #path.section:not(.convert-expect) .prose > ol {
    margin: 0.5rem 0 0.75rem;
    font-size: 0.98rem;
    line-height: 1.55;
  }
  #compare .prose > ul li + li,
  #path.section:not(.convert-expect) .prose > ol li + li {
    margin-top: 0.3rem;
  }

  /* Pass 2044 - position-band portrait densify */
  #expect .position-band h2 {
    margin-bottom: 0.65rem;
    font-size: clamp(1.45rem, 5.5vw, 1.75rem);
  }
  #expect .position-band__lead,
  #expect .position-band h2 + .section__lead {
    max-width: none;
    margin-bottom: 0.85rem;
    font-size: 1.02rem;
    line-height: 1.55;
  }

  /* Pass 2045 - ad-hero portrait densify (page-hero parity) */
  .ad-hero {
    padding: var(--space-page-hero-y);
  }
  .ad-hero h1 {
    font-size: clamp(1.65rem, 6.5vw, 2rem);
    margin-bottom: 0.75rem;
    line-height: 1.2;
    max-width: none;
  }
  .ad-hero .section__eyebrow {
    margin-bottom: 0.55rem;
    letter-spacing: 0.12em;
  }
  .ad-hero > .wrap > p {
    font-size: clamp(1.02rem, 3.8vw, 1.08rem);
    line-height: 1.55;
    max-width: none;
  }
  .ad-proof {
    gap: 0.5rem 0.85rem;
    margin-top: 0.85rem;
  }
  .ad-proof span {
    font-size: 0.85rem;
    line-height: 1.5;
  }
  .ad-note--lead {
    margin-top: 0.85rem;
    font-size: 0.98rem;
    line-height: 1.55;
    max-width: none;
  }
  .ad-hero .cta-row {
    gap: 0.75rem 0.95rem;
    margin-top: 0.95rem;
    padding: 0.35rem 0;
  }
  .ad-hero .cta-row .btn {
    flex: 1 1 auto;
    justify-content: center;
    min-width: min(100%, 11rem);
  }

  /* Pass 2046 - lang-strip portrait densify */
  .page-hero .lang-strip,
  .lang-strip--after-lead,
  .lang-strip.stack-mt--sm {
    margin-top: 0.75rem;
  }
  .lang-strip {
    display: flex;
    width: 100%;
    gap: 0.3rem;
    padding: 0.3rem 0.35rem;
  }
  .lang-strip a {
    flex: 1 1 auto;
    justify-content: center;
    font-size: 0.82rem;
    line-height: 1.45;
    padding: 0.3rem 0.55rem;
    min-height: 2.5rem;
  }

  /* Pass 2047 - nav-lang portrait densify (header chrome; lang-strip parity) */
  .nav-lang {
    gap: 0.15rem;
    padding: 0.1rem 0.15rem;
    font-size: 0.78rem;
    letter-spacing: 0.03em;
  }
  .nav-lang a {
    min-height: 2.5rem;
    padding: 0.15rem 0.35rem;
    font-size: 0.78rem;
    line-height: 1.45;
  }
  .nav-lang span[aria-hidden="true"] {
    padding-inline: 0.05rem;
  }

  /* Pass 2048 - gallery-filters portrait densify (Pass 2026 sibling) */
  .gallery-filters {
    gap: 0.45rem;
    margin-bottom: 1rem;
    padding: 0.25rem 0 0.65rem;
  }
  .gallery-filters button {
    font-size: 0.88rem;
    line-height: 1.45;
    padding: 0.35rem 0.85rem;
    min-height: 2.5rem;
    scroll-margin-bottom: calc(var(--convert-bar-h, 3.75rem) + env(safe-area-inset-bottom, 0px));
  }

  /* Pass 2049 - area-map / town-list portrait densify (Pass 2028 sibling) */
  .area-map {
    margin-top: 1.15rem;
    padding: 1.05rem;
  }
  .area-map figcaption {
    margin-top: 0.75rem;
    font-size: 0.92rem;
    line-height: 1.52;
  }
  #reviews + #areas .area-map {
    margin-top: 1.35rem;
    padding: 1rem;
  }
  #reviews + #areas .area-map figcaption {
    margin-top: 0.7rem;
  }
  #towns .area-map {
    margin-top: 1.35rem;
    padding: 1.05rem;
  }
  .town-list {
    gap: 0.85rem 1.15rem;
  }
  .town-list li {
    padding: 0.4rem 0;
  }
  .town-list--linked a {
    min-height: 2.25rem;
    padding-block: 0.05rem;
  }
  #towns .town-list,
  #nearby .town-list {
    gap: 0.8rem 1.15rem;
  }
  #towns .town-list li,
  #nearby .town-list li {
    padding: 0.4rem 0;
  }
  #nearby .town-list {
    margin-top: 0.7rem;
  }
  #trades .town-list,
  #help .town-list,
  #forms .town-list,
  #towns .town-list--follow,
  #hire .town-list {
    gap: 0.85rem 1.15rem;
    margin-top: 0.95rem;
  }
  #trades .town-list li,
  #help .town-list li,
  #forms .town-list li,
  #towns .town-list--follow li,
  #hire .town-list li {
    padding: 0.4rem 0;
  }

  /* Pass 2050 - fine-print / band-cta__fine portrait densify (Pass 2026 sibling) */
  .fine-print {
    margin-top: 0.85rem;
    max-width: none;
    font-size: 0.88rem;
    line-height: 1.55;
  }
  .fine-print a {
    min-height: 2.25rem;
    padding-block: 0.05rem;
  }
  .band-cta p.band-cta__fine,
  .band-cta__fine {
    margin-top: 0.85rem;
    font-size: 0.88rem;
    line-height: 1.52;
  }
  .band-cta__fine a {
    padding: 0.15rem 0.1rem;
  }
  #openings .fine-print,
  #edge .fine-print {
    margin-top: 0.75rem;
  }

  /* Pass 2051 - tile-grid / a.tile portrait densify (Pass 2027 sibling) */
  .tile-grid,
  #oficios .tile-grid {
    gap: 1.25rem 0;
    margin-top: 1.15rem;
  }
  a.tile,
  #oficios a.tile {
    padding: 1.05rem 0.15rem 0.75rem;
  }
  a.tile h3,
  #oficios a.tile h3 {
    margin-bottom: 0.55rem;
    font-size: clamp(1.12rem, 4.2vw, 1.22rem);
  }
  a.tile p,
  #oficios a.tile p {
    font-size: 0.98rem;
    line-height: 1.55;
  }

  /* Pass 2052 - open-nav shell portrait densify */
  .site-header__inner {
    padding-block: 0.45rem;
    gap: 0.75rem;
  }
  .nav-toggle {
    padding: 0.35rem 0.6rem;
    min-height: 2.5rem;
    min-width: 2.5rem;
  }
  .site-nav {
    padding-block: 0.65rem 0.85rem;
    scroll-padding-block: 0.35rem;
  }
  .site-nav ul {
    gap: 0.3rem;
  }
  .site-nav a,
  .nav-fly__btn {
    min-height: 2.5rem;
    padding-block: 0.3rem;
  }
  .site-nav .nav-cta {
    min-height: 2.5rem;
    padding: 0.35rem 0.95rem;
  }
  .nav-fly {
    margin: 0.3rem 0 0.25rem 0.25rem;
    padding: 0.25rem 0 0.25rem 0.65rem;
  }
  .nav-fly a {
    min-height: 2.5rem;
    padding: 0.35rem 0.75rem;
    font-size: 0.92rem;
  }

  /* Pass 2053 - #next band-cta portrait densify (Pass 2041 / 2026 sibling) */
  #next.band-cta h2 {
    margin-bottom: 0.65rem;
    font-size: clamp(1.45rem, 6vw, 1.85rem);
    line-height: 1.24;
  }
  #next.band-cta p:not(.band-cta__fine) {
    margin-bottom: 0.95rem;
    max-width: none;
    font-size: clamp(1.02rem, 3.8vw, 1.08rem);
    line-height: 1.55;
  }
  #next.band-cta .cta-row {
    gap: 0.75rem 0.95rem;
  }

  /* Pass 2054 - proof-strip--home body/wrap/cta portrait densify (Pass 2027 sibling) */
  .proof-strip--home .wrap {
    gap: 1.15rem;
  }
  .proof-strip--home p {
    max-width: none;
    font-size: clamp(1.02rem, 3.8vw, 1.12rem);
    line-height: 1.55;
  }
  .proof-strip--home .cta-row {
    gap: 0.75rem 0.95rem;
  }
  .proof-strip--home .cta-row .btn {
    flex: 1 1 auto;
    justify-content: center;
    min-width: min(100%, 11rem);
  }

  /* Pass 2055 - footer portrait densify (Pass 2024 sibling; beats Pass 1881 cascade) */
  footer.site-footer {
    padding: 2.75rem 0 1.85rem;
  }
  .site-footer .footer-grid--4 {
    gap: 1.45rem;
    margin-bottom: 1.55rem;
  }
  .site-footer .footer-grid--4 h2 {
    margin-bottom: 0.6rem;
  }
  .site-footer .footer-grid--4 ul {
    gap: 0.4rem;
  }
  .site-footer .footer-bottom {
    padding-top: 1.15rem;
    gap: 0.5rem 1rem;
  }
  .site-footer .footer-social {
    margin-top: 0.65rem;
  }

  /* Pass 2056 - town lander weather portrait densify (Pass 2043 / 2040 sibling) */
  main:has(#weather) > .wrap--toc {
    padding-block: 1rem 1.05rem;
  }
  main:has(#weather) > .wrap--toc .section__eyebrow {
    margin-bottom: 0.4rem;
  }
  .section.section--alt:has(#weather) .section__eyebrow {
    margin-bottom: 0.45rem;
  }
  .section.section--alt:has(#weather) .section__title {
    margin-bottom: 0.6rem;
    font-size: clamp(1.45rem, 5.5vw, 1.75rem);
  }
  .section.section--alt:has(#weather) .grid-2 {
    gap: 1.15rem;
  }
  .section.section--alt:has(#weather) .prose > p {
    margin-bottom: 0.55rem;
    font-size: 0.98rem;
    line-height: 1.55;
  }

  /* Pass 2057 - proof-strip--home portrait padding re-win (Pass 2027 sibling; beats late cascade) */
  #proof.proof-strip--home {
    padding: 2rem 0 1.75rem;
  }
  #process.section + #proof.proof-strip--home {
    padding-top: 2.15rem;
  }

  /* Pass 2058 - band-cta cta-row gap re-win (Pass 2026 sibling; beats Pass 1867/1870/#next late) */
  section.band-cta .cta-row {
    gap: 0.75rem 0.95rem;
  }
  section#next.band-cta .cta-row {
    gap: 0.75rem 0.95rem;
  }
  #hiring + section#next.band-cta .cta-row {
    gap: 0.75rem 0.95rem;
  }

  /* Pass 2059 - proof-strip--home portrait padding-bottom re-win (Pass 2019 :has sibling) */
  #proof.proof-strip--home:has(+ #reviews.section) {
    padding-bottom: 1.75rem;
  }

  /* Pass 2060 - trust-strip--home hero handoff portrait re-win (Pass 2024/2026 sibling; beats Pass 2023 late) */
  .hero--home + #trust.trust-strip--home {
    padding-top: 2rem;
    padding-bottom: 1.65rem;
  }
  .hero--home + #trust.trust-strip--home .trust-strip__grid {
    gap: 1.25rem;
  }
  .hero--home + #trust.trust-strip--home article {
    padding: 0.85rem 0 0.35rem;
  }
  .hero--home + #trust.trust-strip--home h3 {
    font-size: 1.02rem;
    margin-bottom: 0.45rem;
  }
  .hero--home + #trust.trust-strip--home p {
    font-size: 0.98rem;
    line-height: 1.55;
  }

  /* Pass 2061 - hiring → #next band-cta portrait re-win (beats Pass 2022 global) */
  #hiring + section#next.band-cta {
    padding-block: 2.75rem;
  }
  #hiring + section#next.band-cta h2 {
    margin-bottom: 0.65rem;
    font-size: clamp(1.45rem, 6vw, 1.85rem);
    line-height: 1.24;
  }
  #hiring + section#next.band-cta p:not(.band-cta__fine) {
    margin-bottom: 0.95rem;
    max-width: none;
    font-size: clamp(1.02rem, 3.8vw, 1.08rem);
    line-height: 1.55;
  }
  #hiring + section#next.band-cta .band-cta__fine {
    margin-top: 0.85rem;
    font-size: 0.88rem;
    line-height: 1.52;
  }

  /* Pass 2062 - #next band-cta portrait re-win (beats late #next / proof handoff; Pass 2053 sibling) */
  section#next.band-cta {
    padding-block: 2.75rem;
  }
  section#next.band-cta h2 {
    margin-bottom: 0.65rem;
    font-size: clamp(1.45rem, 6vw, 1.85rem);
    line-height: 1.24;
  }
  section#next.band-cta p:not(.band-cta__fine) {
    margin-bottom: 0.95rem;
    max-width: none;
    font-size: clamp(1.02rem, 3.8vw, 1.08rem);
    line-height: 1.55;
  }
  section#next.band-cta .band-cta__fine {
    margin-top: 0.85rem;
    font-size: 0.88rem;
    line-height: 1.52;
  }
  #proof + section#next.band-cta {
    padding-top: 2.5rem;
  }

  /* Pass 2063 - page-hero portrait re-win (beats Pass 1924/3413/1858 late; Pass 2041/2024 sibling) */
  div#page-hero.page-hero {
    padding: 2.65rem 0 1.85rem;
  }
  main > .breadcrumbs + div#page-hero.page-hero {
    padding-top: 1.55rem;
    padding-bottom: 1.35rem;
  }
  div#page-hero.page-hero h1 {
    font-size: clamp(1.65rem, 6.5vw, 2rem);
    margin-bottom: 0.75rem;
    line-height: 1.2;
  }
  div#page-hero.page-hero .section__eyebrow {
    margin-bottom: 0.55rem;
    letter-spacing: 0.12em;
  }
  div#page-hero.page-hero p {
    font-size: clamp(1.02rem, 3.8vw, 1.08rem);
    line-height: 1.55;
    max-width: none;
  }
  div#page-hero.page-hero .cta-row {
    margin-top: 1rem;
    gap: 0.75rem 0.95rem;
  }
  div#page-hero.page-hero .cta-row--after-lead {
    margin-top: 0.95rem;
  }

  /* Pass 2065 - hero--home portrait re-win (beats late hero globals + Pass 2023 handoff) */
  section.hero.hero--home {
    min-height: calc(var(--header-h) + min(38dvh, 340px));
    max-height: 92dvh;
  }
  section.hero.hero--home .hero__headline {
    font-size: clamp(1.75rem, 7.5vw, 2.05rem);
    max-width: 15ch;
    margin-bottom: 0.85rem;
  }
  section.hero.hero--home .hero__logo {
    width: min(100%, 260px);
    margin-bottom: 0.85rem;
  }
  section.hero.hero--home .hero__support,
  section.hero.hero--home:has(+ #trust) .hero__support {
    margin-bottom: 1.15rem;
    font-size: clamp(1.02rem, 3.8vw, 1.12rem);
  }
  section.hero.hero--home .hero__content,
  section.hero.hero--home:has(+ #trust) .hero__content {
    padding: var(--space-hero-home-y);
  }
  section.hero.hero--home .cta-row,
  section.hero.hero--home:has(+ #trust) .cta-row {
    gap: 0.75rem 0.95rem;
    padding: 0.35rem 0;
  }
  section.hero.hero--home .cta-row .btn {
    flex: 1 1 auto;
    justify-content: center;
    min-width: min(100%, 11rem);
  }
  section.hero.hero--home .hero__phone-note,
  section.hero.hero--home:has(+ #trust) .hero__phone-note {
    margin-top: 0.7rem;
  }

  /* Pass 2066 - form controls portrait scroll-margin convert-bar sync (Pass 2048 sibling) */
  input, select, textarea,
  input:focus-visible, select:focus-visible, textarea:focus-visible {
    scroll-margin-bottom: calc(var(--convert-bar-h, 3.75rem) + env(safe-area-inset-bottom, 0px));
    scroll-margin-block-end: calc(var(--convert-bar-h, 3.75rem) + env(safe-area-inset-bottom, 0px));
  }

  /* Pass 2067 - form status + gallery chip scroll-margin convert-bar token sync */
  .form-success,
  .form-error,
  .form-error:focus,
  .form-error:focus-visible,
  .gallery-filters button {
    scroll-margin-bottom: calc(var(--convert-bar-h, 3.75rem) + env(safe-area-inset-bottom, 0px));
    scroll-margin-block-end: calc(var(--convert-bar-h, 3.75rem) + env(safe-area-inset-bottom, 0px));
  }

  /* Pass 2068 - form-check / fieldset / form-row-2 scroll-margin convert-bar sync */
  .form-check,
  form fieldset,
  .form-grid--convert .form-row-2,
  .form-grid .form-row-2,
  .hire-form .form-row-2 {
    scroll-margin-bottom: calc(var(--convert-bar-h, 3.75rem) + env(safe-area-inset-bottom, 0px));
    scroll-margin-block-end: calc(var(--convert-bar-h, 3.75rem) + env(safe-area-inset-bottom, 0px));
  }

  /* Pass 2069 - convert-steps li scroll-margin convert-bar sync */
  .convert-steps li {
    scroll-margin-bottom: calc(var(--convert-bar-h, 3.75rem) + env(safe-area-inset-bottom, 0px));
    scroll-margin-block-end: calc(var(--convert-bar-h, 3.75rem) + env(safe-area-inset-bottom, 0px));
  }

  /* Pass 2070 - area-map scroll-margin convert-bar fallback normalize */
  .area-map {
    scroll-margin-bottom: calc(var(--convert-bar-h, 3.75rem) + 0.75rem + env(safe-area-inset-bottom, 0px));
    scroll-margin-block-end: calc(var(--convert-bar-h, 3.75rem) + 0.75rem + env(safe-area-inset-bottom, 0px));
  }

  /* Pass 2071 - reviews portrait densify (Pass 2019 / 2059 sibling) */
  #reviews.section {
    padding-top: 2.35rem;
    padding-bottom: 2.25rem;
  }
  #reviews .section__eyebrow {
    margin-bottom: 0.4rem;
  }
  #reviews .section__title {
    margin-bottom: 0.65rem;
  }
  #reviews .section__lead {
    margin-bottom: 1rem;
    font-size: 1.05rem;
    line-height: 1.55;
    max-width: 42ch;
  }
  #reviews .reviews-grid {
    gap: 1.25rem;
  }
  #reviews .review-quote {
    padding-top: 0.85rem;
  }
  #reviews .review-quote__rating {
    margin-bottom: 0.55rem;
    font-size: 0.9rem;
  }
  #reviews .review-quote__body {
    margin-bottom: 0.75rem;
    font-size: 0.98rem;
    line-height: 1.55;
  }
  #reviews .review-quote__body p {
    margin-bottom: 0.55rem;
  }
  #reviews .review-quote__meta {
    gap: 0.25rem 0.65rem;
    font-size: 0.88rem;
  }
  #reviews .review-quote__job {
    font-size: 0.78rem;
  }
  #reviews .review-quote__job::before {
    margin-right: 0.65rem;
  }
}
.media-slot, .hero__media-slot { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.gbb-table-wrap.is-current { outline: 2px solid var(--gold); outline-offset: 0.25rem; }
.gbb-table-wrap:focus-within, .gbb-table-wrap:focus-visible { outline: 2px solid color-mix(in srgb, var(--gold) 55%, transparent); outline-offset: 2px; }
.gbb-table-wrap.is-current:focus-within, .gbb-table-wrap.is-current:focus-visible { outline: 2px solid var(--gold); outline-offset: 0.25rem; }
.gbb-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; min-width: 36rem; scroll-snap-align: start; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.gbb-table a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.gbb-table caption { caption-side: top; text-align: left; font-size: 0.95rem; color: color-mix(in srgb, var(--gold-soft) 22%, var(--slate)); padding-bottom: 0.75rem; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.gbb-table th, .gbb-table td { padding: 1.15rem 1.25rem; text-align: left; border-bottom: 1px solid color-mix(in srgb, var(--gold) 14%, var(--mist)); vertical-align: top; scroll-snap-stop: normal; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.gbb-table thead th:first-child, .gbb-table tbody th:first-child { scroll-snap-align: start; scroll-snap-stop: always; }
.gbb-table thead th { background: linear-gradient(
      180deg,
      color-mix(in srgb, var(--gold) 10%, var(--charcoal)) 0%,
      var(--charcoal) 100%
    ); color: var(--white); font-weight: 650; font-size: 0.82rem; letter-spacing: 0.02em; border-bottom: 1px solid color-mix(in srgb, var(--gold) 35%, transparent); }
.gbb-table thead th.gbb-rec { background: color-mix(in srgb, var(--gold) 82%, var(--charcoal)); color: var(--ink); box-shadow: inset 0 -2px 0 var(--gold-bright); scroll-margin-inline: 0.5rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.gbb-table td.gbb-rec { background: color-mix(in srgb, var(--gold) 10%, var(--surface)); font-weight: 550; border-inline: 1px solid color-mix(in srgb, var(--gold) 18%, transparent); scroll-margin-inline: 0.5rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.gbb-table tbody tr:nth-child(2n):not(:has(.gbb-rec)) td, .gbb-table tbody tr:nth-child(2n):not(:has(.gbb-rec)) th { background: color-mix(in srgb, var(--snow) 65%, var(--surface)); }
.gbb-table tbody tr:hover td, .gbb-table tbody tr:hover th { background: color-mix(in srgb, var(--gold) 6%, var(--surface)); }
.gbb-table thead th span { display: block; font-weight: 500; font-size: 0.72rem; opacity: 0.85; letter-spacing: 0px; }
.gbb-table tbody th { font-weight: 600; color: var(--ink); white-space: nowrap; }
.gbb-table tbody tr:last-child th, .gbb-table tbody tr:last-child td { border-bottom: 0px; }
.fine-print { font-size: 0.92rem; color: color-mix(in srgb, var(--gold-soft) 22%, var(--slate)); max-width: 62ch; margin: var(--space-stack) 0 0; word-break: break-word; overflow-wrap: anywhere; line-break: loose; white-space: break-spaces; line-height: 1.6; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.fine-print a { display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.15rem 0.1rem; box-sizing: border-box; color: var(--gold); font-weight: 600; text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 40%, transparent); text-underline-offset: 0.15em; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.fine-print a:hover, .fine-print a:focus-visible { color: var(--gold-bright); text-decoration-color: color-mix(in srgb, var(--gold) 55%, transparent); }
.fine-print a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 0.15rem; }
.big-ticket-strip { display: grid; gap: 2rem 1.85rem; margin: var(--space-stack-lg) 0 0; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.big-ticket-strip a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.big-ticket-strip:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 35%, transparent); outline-offset: 0.35rem; border-radius: 0.2rem; }
@media (min-width: 700px) {
  .big-ticket-strip { grid-template-columns: 1fr 1fr; }
}
.big-ticket-card { border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top: 2px solid color-mix(in srgb, var(--gold) 55%, transparent); border-radius: 0.15rem; padding: 1.45rem 1.35rem 1.55rem; background: linear-gradient(
      165deg,
      color-mix(in srgb, var(--gold) 3.5%, var(--white)) 0%,
      var(--white) 42%
    ); transition: border-color 0.18s, box-shadow 0.18s; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.big-ticket-card:hover { border-right-color: ; border-bottom-color: ; border-left-color: ; border-top-color: var(--gold-bright); box-shadow: 0 0 0 1px color-mix(in srgb, var(--gold) 16%, transparent); }
.big-ticket-card.is-current, article[aria-labelledby].is-current:not(.hire-card):not(.service-block):not(.gallery-pair) { outline: 2px solid var(--gold); outline-offset: 0.25rem; border-radius: 0.15rem; }
.big-ticket-card a { color: var(--gold); font-weight: 600; text-decoration: none; text-underline-offset: 0.15em; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.big-ticket-card a:hover, .big-ticket-card a:focus-visible { color: var(--gold-bright); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 50%, transparent); }
.big-ticket-card:focus-within { border-color: color-mix(in srgb, var(--gold) 50%, var(--mist)); outline: 2px solid color-mix(in srgb, var(--gold) 45%, transparent); outline-offset: 2px; }
.big-ticket-card.is-current:focus-within { outline: 2px solid var(--gold); outline-offset: 0.25rem; }
.big-ticket-card h3 { font-family: var(--font-serif); font-weight: 600; margin: 0 0 0.9rem; font-size: clamp(1.25rem, 2.1vw, 1.45rem); line-height: 1.32; letter-spacing: -0.012em; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.big-ticket-card p { margin: 0px 0px 0.95rem; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); font-size: 1.02rem; line-height: 1.65; }
.service-tile--featured { border-top-color: var(--gold-bright); border-top-width: 2.5px; background: color-mix(in srgb, var(--gold) 4%, transparent); padding-inline: 0.35rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.service-tile--featured .tile-badge { display: inline-block; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; font-variant-caps: all-small-caps; color: var(--gold-soft); margin-bottom: 0.55rem; padding-bottom: 0.35rem; border-bottom: 1px solid color-mix(in srgb, var(--gold) 40%, transparent); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
body.has-convert-bar { padding-bottom: calc(var(--convert-bar-h, 4.75rem) + env(safe-area-inset-bottom, 0px)); }
html.convert-bar-away body.has-convert-bar, html[data-convert="away"] body.has-convert-bar { padding-bottom: 0px; }
html.convert-bar-away:has(body.has-convert-bar), html[data-convert="away"]:has(body.has-convert-bar) { scroll-padding-bottom: 1rem; }
html.convert-bar-away .convert-bar, html[data-convert="away"] .convert-bar { visibility: hidden; pointer-events: none; opacity: 0; }
@media (prefers-reduced-motion: no-preference) {
  html.convert-bar-away .convert-bar, html[data-convert="away"] .convert-bar { transition: opacity 0.18s var(--ease), visibility 0.18s var(--ease); }
}
html.reduce-motion .convert-bar, html[data-motion="reduce"] .convert-bar, html.update-slow .convert-bar, html[data-update="slow"] .convert-bar { transition: none !important; }
html.window-blurred .site-header, html.window-blurred .hero__content, html.window-blurred .convert-bar, html[data-focus="out"] .site-header, html[data-focus="out"] .hero__content, html[data-focus="out"] .convert-bar { animation-play-state: paused; }
.convert-bar { position: fixed; z-index: 90; left: 0px; right: 0px; bottom: 0px; display: flex; align-items: stretch; gap: 0.55rem; padding: 0.55rem max(1rem, env(safe-area-inset-right, 0px)) calc(0.55rem + env(safe-area-inset-bottom, 0px)) max(1rem, env(safe-area-inset-left, 0px)); background: linear-gradient(
      180deg,
      color-mix(in srgb, var(--gold) 8%, var(--ink)) 0%,
      color-mix(in srgb, var(--charcoal) 98%, transparent) 28%
    ); border-top: 1px solid color-mix(in srgb, var(--gold) 48%, transparent); box-shadow: 0 -10px 28px color-mix(in srgb, var(--ink) 50%, transparent),
    inset 0 1px 0 color-mix(in srgb, var(--gold) 22%, transparent); overflow-anchor: none; scroll-margin-bottom: env(safe-area-inset-bottom, 0px); }
@media (prefers-reduced-motion: no-preference) {
  .convert-bar { opacity: 1; transform: translateY(0px); transition: opacity 0.22s var(--ease), transform 0.22s var(--ease); }
  @starting-style {
  .convert-bar { opacity: 0; transform: translateY(0.75rem); }
}
}
.convert-bar__call { flex: 1 1 0%; display: flex; flex-direction: column; justify-content: center; padding: 0.45rem 0.9rem; min-height: 2.9rem; box-sizing: border-box; border-radius: 0.15rem; background: color-mix(in srgb, var(--gold) 8%, transparent); border: 1px solid color-mix(in srgb, var(--gold) 32%, transparent); color: var(--white); text-decoration: none; text-wrap: stable; line-height: 1.22; touch-action: manipulation; scroll-margin-top: calc(0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px)); transition: border-color 0.2s var(--ease), background 0.2s var(--ease); }
.convert-bar__call:hover, .convert-bar__call:focus-visible { background: color-mix(in srgb, var(--gold) 14%, transparent); border-color: color-mix(in srgb, var(--gold-bright) 55%, transparent); }
.convert-bar__call span { font-size: 0.68rem; letter-spacing: 0.06em; text-transform: uppercase; font-variant-caps: all-small-caps; color: color-mix(in srgb, var(--gold-soft) 45%, var(--white)); }
.convert-bar__call strong { font-size: 0.95rem; font-weight: 650; color: var(--gold-bright); font-variant-numeric: tabular-nums; }
.convert-bar__est { flex: 0 0 auto; align-self: center; padding-inline: 1.05rem; min-height: 2.9rem; box-sizing: border-box; border-radius: 0.15rem; text-decoration: none; text-wrap: stable; touch-action: manipulation; scroll-margin-bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px)); box-shadow: 0 0 0 1px color-mix(in srgb, var(--gold-bright) 40%, transparent),
    0 3px 12px color-mix(in srgb, var(--ink) 32%, transparent); }
.convert-bar:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.convert-bar.is-current { outline: 2px solid var(--gold); outline-offset: 3px; }
.convert-bar:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 55%, transparent); outline-offset: 3px; }
.convert-bar.is-current:focus-within { outline: 2px solid var(--gold); outline-offset: 3px; }
html.keyboard-open .convert-bar { visibility: hidden; pointer-events: none; opacity: 0; }
html.keyboard-open body.has-convert-bar { padding-bottom: 0px; }
html.keyboard-open, html[data-keyboard="open"] { scroll-padding-bottom: calc(1rem + var(--keyboard-inset, 0px)); }
html.keyboard-open :target, html[data-keyboard="open"] :target, html.keyboard-open :focus, html[data-keyboard="open"] :focus { scroll-margin-bottom: calc(1rem + var(--keyboard-inset, 0px)); }
@media (prefers-reduced-motion: no-preference) {
  html.keyboard-open .convert-bar { transition: opacity 0.18s var(--ease), visibility 0.18s var(--ease); }
}
.convert-bar__call:focus-visible, .convert-bar__est:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
@media (min-width: 900px) {
  .convert-bar { left: auto; right: 1.25rem; bottom: 1.25rem; width: min(24rem, -2.5rem + 100vw); gap: 0.75rem; padding: 0.8rem 0.85rem; border-radius: calc(var(--radius) + 2px); border: 1px solid color-mix(in srgb, var(--gold) 35%, transparent); }
  body.has-convert-bar { padding-bottom: 0px; }
}
@media (display-mode: standalone), (display-mode: fullscreen), (display-mode: minimal-ui) {
  .site-header { padding-top: max(0.1rem, env(safe-area-inset-top, 0px)); }
  .convert-bar { padding-bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px)); }
}
html.standalone .site-header, html[data-display-mode="standalone"] .site-header, html[data-display-mode="fullscreen"] .site-header, html[data-display-mode="minimal-ui"] .site-header { padding-top: max(0.1rem, env(safe-area-inset-top, 0px)); }
html.standalone .convert-bar, html[data-display-mode="standalone"] .convert-bar, html[data-display-mode="fullscreen"] .convert-bar, html[data-display-mode="minimal-ui"] .convert-bar { padding-bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px)); }
@media (display-mode: window-controls-overlay) {
  .site-header { padding-top: max(0.1rem, env(titlebar-area-height, env(safe-area-inset-top, 0px))); padding-left: max(0px, env(titlebar-area-x, 0px)); }
}
html[data-display-mode="window-controls-overlay"] .site-header, html.display-window-controls-overlay .site-header { padding-top: max(0.1rem, env(titlebar-area-height, env(safe-area-inset-top, 0px))); padding-left: max(0px, env(titlebar-area-x, 0px)); }
.trust-strip { padding: 2.5rem 0px 2.25rem; background: linear-gradient(
      180deg,
      color-mix(in srgb, var(--gold) 3%, var(--snow)) 0%,
      var(--snow) 100%
    ); border-bottom: 1px solid color-mix(in srgb, var(--gold) 18%, var(--mist)); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.trust-strip.is-current, .trust-strip:target { outline: 2px solid var(--gold); outline-offset: 0.35rem; }
.trust-strip__grid { display: grid; gap: 1.85rem; grid-template-columns: 1fr; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
@media (min-width: 720px) {
  .trust-strip__grid { grid-template-columns: repeat(3, 1fr); gap: 2.25rem 2.5rem; }
}
.trust-strip article { padding: 1.25rem 0px 0.35rem; border-top: 2px solid color-mix(in srgb, var(--gold) 55%, transparent); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.trust-strip h3 { margin: 0px 0px 0.65rem; font-size: 1.08rem; font-weight: 650; color: var(--ink); line-height: 1.3; }
.trust-strip p { margin: 0px; font-size: 1.02rem; line-height: 1.6; color: color-mix(in srgb, var(--gold-soft) 18%, var(--slate)); max-width: 36ch; }
.areas-counties { display: grid; gap: 1.5rem; margin-top: var(--space-stack); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.areas-counties > div { padding: 1.45rem 1.35rem 1.55rem; border: 1px solid color-mix(in srgb, var(--gold) 18%, var(--mist)); border-radius: 0.2rem; background: linear-gradient(
      165deg,
      color-mix(in srgb, var(--gold) 4%, var(--snow)) 0%,
      var(--white) 50%
    ); transition: border-color 0.18s, box-shadow 0.18s; }
.areas-counties > div:hover, .areas-counties > div:focus-within { border-color: color-mix(in srgb, var(--gold) 42%, var(--mist)); box-shadow: 0 0 0 1px color-mix(in srgb, var(--gold) 14%, transparent); }
.areas-counties > div:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 45%, transparent); outline-offset: 0.35rem; border-radius: 0.2rem; }
@media (min-width: 720px) {
  .areas-counties { grid-template-columns: 1fr 1fr; }
}
.areas-counties__title { margin: 0px 0px 0.85rem; font-size: 1.12rem; font-weight: 650; color: var(--ink); border-bottom: 2px solid color-mix(in srgb, var(--gold) 45%, transparent); padding-bottom: 0.55rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.areas-counties__title.is-current, .areas-counties__title:target { outline: 2px solid var(--gold); outline-offset: 0.25rem; border-radius: 0.15rem; color: color-mix(in srgb, var(--gold-soft) 40%, var(--ink)); border-bottom-color: var(--gold-bright); }
.areas-counties a { color: var(--gold); font-weight: 600; text-decoration: none; text-underline-offset: 0.15em; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.areas-counties a:hover, .areas-counties a:focus-visible { color: var(--gold-bright); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 50%, transparent); }
.area-map { margin: var(--space-section-y-tight) 0 0; max-width: min(52rem, 100%); padding: 1.35rem; border: 1px solid color-mix(in srgb, var(--gold) 22%, var(--mist)); border-radius: 0.2rem; background: color-mix(in srgb, var(--gold) 3%, var(--snow)); scroll-margin-top: calc(var(--header-h) + 1.25rem); scroll-margin-block-start: calc(var(--header-h) + 1.25rem); scroll-margin-bottom: calc(var(--convert-bar-h, 5.5rem) + 0.75rem + env(safe-area-inset-bottom, 0px)); scroll-margin-block-end: calc(var(--convert-bar-h, 5.5rem) + 0.75rem + env(safe-area-inset-bottom, 0px)); }
.area-map:focus-visible, .area-map:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 50%, transparent); outline-offset: 0.35rem; border-radius: 0.2rem; }
.area-map.is-current, .area-map:target { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.2rem; scroll-margin-top: calc(var(--header-h) + 1.25rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1.25rem + env(safe-area-inset-top, 0px)); }
.area-map figcaption a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 0.15rem; }
.area-map img { display: block; width: 100%; height: auto; aspect-ratio: 14 / 10; object-fit: contain; object-position: center center; border-radius: 0.15rem; border: 1px solid color-mix(in srgb, var(--gold) 28%, var(--mist)); background: var(--snow); }
.area-map figcaption { margin-top: 1rem; color: color-mix(in srgb, var(--gold-soft) 25%, var(--slate)); font-size: 0.98rem; line-height: 1.55; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.area-map a { color: var(--gold); font-weight: 600; text-decoration: none; text-underline-offset: 0.15em; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.area-map a:hover, .area-map a:focus-visible { color: var(--gold-bright); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 50%, transparent); }
/* Pass 1314 - service-areas hero to towns */
#towns.section, #nearby.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.page-hero + #towns.section { padding-top: var(--space-section-y); }
/* Pass 1323 - service-areas towns to nearby */
#towns + #nearby.section { padding-top: var(--space-section-y); }
#towns .faq-jump { margin-bottom: 1.15rem; padding: 0.25rem 0 0.75rem; }
#towns .faq-jump .section__eyebrow { margin-bottom: 0.55rem; }
#towns .section__eyebrow, #nearby .section__eyebrow { margin-bottom: 0.55rem; }
#towns .section__title, #nearby .section__title { margin-bottom: 0.95rem; }
#towns .section__lead, #nearby .section__lead { max-width: 52ch; margin-bottom: 1.35rem; font-size: 1.12rem; line-height: 1.62; }
#nearby .section__lead { margin-bottom: 1.2rem; }
#towns .areas-counties { gap: 1.35rem; margin-top: 1.35rem; }
#towns .areas-counties > div { padding: 1.45rem 1.35rem 1.55rem; }
#towns .areas-counties__title { margin-bottom: 0.75rem; padding-bottom: 0.5rem; font-size: 1.12rem; }
#towns .town-list, #nearby .town-list { gap: 0.95rem 1.35rem; }
#towns .town-list li, #nearby .town-list li { padding: 0.5rem 0; }
#towns #weather-mesh { margin-top: 1.85rem; }
#towns #weather-mesh .section__title--sm { margin-bottom: 0.85rem; }
#towns .area-map { margin-top: 1.85rem; padding: 1.35rem; }
#towns .area-map figcaption { margin-top: 1rem; }
#nearby .town-list { margin-top: 0.85rem; }
/* Pass 1379 - service-areas nearby to next CTA */
#nearby.section + #next.band-cta { padding-top: var(--space-band-y); }
#nearby.section:has(+ #next) { padding-bottom: var(--space-section-y); }
#section-process-steps-heading.section, #storm.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.page-hero + #section-process-steps-heading.section { padding-top: var(--space-section-y); }
/* Pass 1338 - process steps to storm */
#section-process-steps-heading + #storm.section { padding-top: var(--space-section-y); }
/* Pass 1373 - process storm to next CTA */
#storm + #next.band-cta { padding-top: var(--space-band-y); }
#storm.section:has(+ #next) { padding-bottom: var(--space-section-y); }
#section-process-steps-heading .faq-jump { margin-bottom: 1.15rem; padding: 0.25rem 0 0.75rem; }
#section-process-steps-heading .faq-jump .section__eyebrow { margin-bottom: 0.55rem; }
#section-process-steps-heading .grid-2--follow { margin-top: 1.35rem; gap: 1.9rem 2.25rem; }
@media (min-width: 800px) {
  #section-process-steps-heading .grid-2--follow { gap: 2rem 2.45rem; align-items: start; }
}
#section-process-steps-heading .steps { gap: 1.55rem; }
#section-process-steps-heading .steps li { padding-block: 1.05rem; padding-left: 1.2rem; gap: 0.5rem 1.15rem; }
#section-process-steps-heading .steps h3 { margin-bottom: 0.55rem; }
#section-process-steps-heading .steps p { margin-bottom: 0.45rem; }
#section-process-steps-heading .step-nav { margin-top: 0.75rem !important; }
#section-process-steps-heading .stack-mt--sm { margin-top: 1rem; }
#storm .section__title { margin-bottom: 0.95rem; }
#storm .prose > p, #storm .wrap > p { margin-bottom: 0.95rem; }
/* Pass 1312 - roofing/siding TOC to expect */
#expect.section, #gbb.section, #compare.section, #proof.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.wrap--toc + #expect.section { padding-top: var(--space-section-y); }
/* Pass 1329 - roofing/siding expect to gbb */
#expect + #gbb.section { padding-top: var(--space-section-y); }
#expect .section__eyebrow, #gbb .section__eyebrow, #compare .section__eyebrow, #proof .section__eyebrow { margin-bottom: 0.55rem; }
#expect .section__title, #gbb .section__title, #compare .section__title, #proof .section__title, #expect .position-band h2 { margin-bottom: 0.95rem; }
#expect .section__lead, #gbb .section__lead, #compare .section__lead, #proof .section__lead, #expect .position-band__lead { max-width: 52ch; margin-bottom: 1.25rem; font-size: 1.12rem; line-height: 1.62; }
#expect .position-grid { gap: 1.35rem 1.45rem; margin-top: 1.35rem; }
#expect .position-grid article { padding: 1.25rem 0.2rem 0.65rem; }
#expect .position-grid h3 { margin-bottom: 0.65rem; }
#expect .position-grid p { font-size: 1.02rem; line-height: 1.62; }
#gbb .gbb-table-wrap { margin-top: 1.45rem; }
#gbb .fine-print { margin-top: 1.25rem; }
#gbb .stack-mt--sm { margin-top: 1rem; }
/* Pass 1330 - roofing/siding gbb to next section */
#gbb + #compare.section,
#gbb + #path.section:not(.convert-expect) { padding-top: var(--space-section-y); }
#compare .grid-2 { gap: 1.9rem 2.25rem; }
@media (min-width: 800px) {
  #compare .grid-2 { gap: 2rem 2.45rem; }
}
#compare .prose > p { margin-bottom: 0.95rem; }
#compare .prose > ul { margin: 0.65rem 0 1.05rem; padding-left: 1.2rem; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); line-height: 1.62; }
#compare .prose > ul li + li { margin-top: 0.45rem; }
/* Pass 1331 - roofing/siding to proof */
#compare + #proof.section,
#path.section:not(.convert-expect) + #proof.section { padding-top: var(--space-section-y); }
/* Pass 1371 - trade pages proof to next CTA */
#proof + #next.band-cta { padding-top: var(--space-band-y); }
#proof.section:has(+ #next) { padding-bottom: var(--space-section-y); }
#proof .section__lead { margin-bottom: 1.25rem; }
#proof .btn--dark { margin-top: 0.55rem; }
/* Pass 1316 - windows/gutters TOC to first section */
#section-sec-windows-openings-done-right.section, #section-sec-gutters-water-control-at-the-edge.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.wrap--toc + #section-sec-windows-openings-done-right.section,
.wrap--toc + #section-sec-gutters-water-control-at-the-edge.section { padding-top: var(--space-section-y); }
/* Pass 1339 - windows/gutters to proof */
#section-sec-windows-openings-done-right + #proof.section,
#section-sec-gutters-water-control-at-the-edge + #proof.section { padding-top: var(--space-section-y); }
#section-sec-windows-openings-done-right .section__eyebrow, #section-sec-gutters-water-control-at-the-edge .section__eyebrow { margin-bottom: 0.55rem; }
#section-sec-windows-openings-done-right .section__title, #section-sec-gutters-water-control-at-the-edge .section__title { margin-bottom: 0.95rem; }
#section-sec-windows-openings-done-right .grid-2, #section-sec-gutters-water-control-at-the-edge .grid-2 { gap: 1.9rem 2.25rem; }
@media (min-width: 800px) {
  #section-sec-windows-openings-done-right .grid-2, #section-sec-gutters-water-control-at-the-edge .grid-2 { gap: 2rem 2.45rem; }
}
#openings.prose > ul, #edge.prose > ul { margin: 0.75rem 0 1.15rem; padding-left: 1.2rem; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); line-height: 1.62; }
#openings.prose > ul li + li, #edge.prose > ul li + li { margin-top: 0.45rem; }
#openings.prose > p, #edge.prose > p, #with-siding.prose > p, #section-sec-gutters-water-control-at-the-edge #areas.prose > p { margin-bottom: 1rem; }
#openings .fine-print, #edge .fine-print { margin-top: 1.1rem; }
/* Pass 1318 - interior hero/media to exterior-first */
#exterior-first.section, #section-art-interior-what-we-can-finish-inside.section, #section-sec-interior-need-a-gc-trade-partner.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.page-hero + .wrap + #exterior-first.section { padding-top: var(--space-section-y); }
/* Pass 1336 - interior exterior-first to selective */
#exterior-first + #section-art-interior-what-we-can-finish-inside.section { padding-top: var(--space-section-y); }
#exterior-first .faq-jump { margin-bottom: 1.15rem; padding: 0.25rem 0 0.75rem; }
#exterior-first .faq-jump .section__eyebrow { margin-bottom: 0.55rem; }
#exterior-first .section__eyebrow, #section-art-interior-what-we-can-finish-inside .section__eyebrow, #section-sec-interior-need-a-gc-trade-partner .section__eyebrow { margin-bottom: 0.55rem; }
#exterior-first .section__title, #section-art-interior-what-we-can-finish-inside .section__title, #section-sec-interior-need-a-gc-trade-partner .section__title { margin-bottom: 0.95rem; }
#exterior-first .prose > p, #section-sec-interior-need-a-gc-trade-partner .prose > p { margin-bottom: 0.8rem; }
#selective-interior.service-block, #remodel-partners.service-block { padding: 1.55rem 0 1.35rem; }
#selective-interior .service-block__grid, #remodel-partners .service-block__grid { gap: 1.45rem 1.75rem; }
#selective-interior .prose > ul, #remodel-partners .prose > ul { margin: 0.75rem 0 1.1rem; padding-left: 1.2rem; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); line-height: 1.62; }
#selective-interior .prose > ul li + li, #remodel-partners .prose > ul li + li { margin-top: 0.45rem; }
#selective-interior .prose > p, #remodel-partners .prose > p { margin-bottom: 0.95rem; }
/* Pass 1337 - interior selective to GC lane */
#section-art-interior-what-we-can-finish-inside + #section-sec-interior-need-a-gc-trade-partner.section { padding-top: var(--space-section-y); }
/* Pass 1374 - interior GC lane to next CTA */
#section-sec-interior-need-a-gc-trade-partner + #next.band-cta { padding-top: var(--space-band-y); }
#section-sec-interior-need-a-gc-trade-partner.section:has(+ #next) { padding-bottom: var(--space-section-y); }
#section-sec-interior-need-a-gc-trade-partner .grid-2 { gap: 1.9rem 2.25rem; }
@media (min-width: 800px) {
  #section-sec-interior-need-a-gc-trade-partner .grid-2 { gap: 2rem 2.45rem; }
}
#section-sec-interior-need-a-gc-trade-partner .prose > p { margin-bottom: 0.75rem; }
/* Pass 1319 - for-contractors TOC to capability */
#capability.section, #vendor-docs.section, #partnership.section, #section-sec-for-contractors-keep-the-funnels-clear.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.wrap--toc + #capability.section { padding-top: var(--space-section-y); }
/* Pass 1333 - for-contractors capability to vendor-docs */
#capability + #vendor-docs.section { padding-top: var(--space-section-y); }
#capability .section__eyebrow, #vendor-docs .section__eyebrow, #partnership .section__eyebrow, #section-sec-for-contractors-keep-the-funnels-clear .section__eyebrow { margin-bottom: 0.55rem; }
#capability .section__title, #vendor-docs .section__title, #partnership .section__title, #section-sec-for-contractors-keep-the-funnels-clear .section__title { margin-bottom: 0.95rem; }
#capability .section__lead { max-width: 52ch; margin-bottom: 1.1rem; font-size: 1.08rem; line-height: 1.6; }
#capability .grid-2--roomy { gap: 1.75rem 2rem; margin-top: 1.35rem; }
#capability .prose > h3 { font-family: var(--font-serif); font-weight: 600; margin: 0 0 0.85rem; font-size: clamp(1.15rem, 1.9vw, 1.32rem); line-height: 1.32; }
#capability .prose > ul, #rfq.prose > ul { margin: 0.75rem 0 1.15rem; padding-left: 1.2rem; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); line-height: 1.62; }
#capability .prose > ul li + li, #rfq.prose > ul li + li { margin-top: 0.45rem; }
#vendor-docs .grid-2, #section-sec-for-contractors-keep-the-funnels-clear .grid-2 { gap: 1.6rem 1.85rem; }
@media (min-width: 800px) {
  #vendor-docs .grid-2, #section-sec-for-contractors-keep-the-funnels-clear .grid-2 { gap: 1.7rem 2.1rem; }
}
#vendor-docs .prose > p, #section-sec-for-contractors-keep-the-funnels-clear .prose > p { margin-bottom: 0.75rem; }
#vendor-docs .prose > ul { margin: 0.75rem 0 1.1rem; padding-left: 1.2rem; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); line-height: 1.62; }
#vendor-docs .prose > ul li + li { margin-top: 0.45rem; }
/* Pass 1334 - for-contractors vendor-docs to partnership */
#vendor-docs + #partnership.section { padding-top: var(--space-section-y); }
#partnership .convert-steps { margin-top: 1.25rem; gap: 1rem; }
#partnership .convert-steps li { padding: 1.15rem 1.1rem 1.2rem; }
/* Pass 1335 - for-contractors partnership to funnels */
#partnership + #section-sec-for-contractors-keep-the-funnels-clear.section { padding-top: var(--space-section-y); }
/* Pass 1375 - for-contractors funnels to next CTA */
#section-sec-for-contractors-keep-the-funnels-clear + #next.band-cta { padding-top: var(--space-band-y); }
#section-sec-for-contractors-keep-the-funnels-clear.section:has(+ #next) { padding-bottom: var(--space-section-y); }
main:has(#capability) > .trust-strip { padding: 2.5rem 0 2.25rem; }
main:has(#capability) > .trust-strip .trust-strip__grid { gap: 1.75rem 2rem; }
@media (min-width: 720px) {
  main:has(#capability) > .trust-strip .trust-strip__grid { gap: 2rem 2.35rem; }
}
main:has(#capability) > .trust-strip article { padding: 1.25rem 0 0.45rem; }
main:has(#capability) > .trust-strip h3 { margin-bottom: 0.65rem; }
/* Pass 1315 - services TOC to roofing heading */
#section-svc-roofing-heading.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.wrap--toc + #section-svc-roofing-heading.section { padding-top: var(--space-section-y); }
/* Pass 1361 - services block rhythm */
#section-svc-roofing-heading .service-block { padding: 1.35rem 0 1.15rem; }
#section-svc-roofing-heading .service-block--follow { padding-top: 1.35rem; }
#section-svc-roofing-heading .service-block__grid { gap: 1.35rem 1.6rem; }
@media (min-width: 800px) {
  #section-svc-roofing-heading .service-block__grid { gap: 1.45rem 1.85rem; }
}
#section-svc-roofing-heading .section__eyebrow { margin-bottom: 0.55rem; }
#section-svc-roofing-heading .section__title { margin-bottom: 0.75rem; }
#section-svc-roofing-heading .prose > p { margin-bottom: 0.7rem; }
#section-svc-roofing-heading .prose > ul { margin: 0.65rem 0 1rem; padding-left: 1.2rem; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); line-height: 1.62; }
#section-svc-roofing-heading .prose > ul li + li { margin-top: 0.45rem; }
#section-svc-roofing-heading .section__lead--flush { margin-top: 0.75rem; margin-bottom: 0; }
/* Pass 1362 - services trades to next CTA */
#section-svc-roofing-heading + #next.band-cta { padding-top: var(--space-band-y); }
#section-svc-roofing-heading.section:has(+ #next) { padding-bottom: var(--space-section-y); }
/* Pass 1313 - privacy hero to collect */
#section-collect.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.page-hero + #section-collect.section { padding-top: var(--space-section-y); }
/* Pass 1352 - privacy secondary headings */
#section-collect .faq-jump { margin-bottom: 1.15rem; padding: 0.25rem 0 0.75rem; }
#section-collect .faq-jump .section__eyebrow { margin-bottom: 0.55rem; }
#section-collect h2.section__title { font-size: clamp(1.4rem, 2.5vw, 1.7rem); line-height: 1.3; letter-spacing: -0.012em; margin: 1.55rem 0 0.9rem; }
#section-collect h2.section__title:not(#collect) { margin: 1.35rem 0 0.75rem; }
#section-collect #collect { margin-top: 0.75rem; }
#section-collect .prose > p { margin-bottom: 0.95rem; line-height: 1.62; }
/* Pass 1367 - privacy collect to next CTA */
#section-collect + #next.band-cta { padding-top: var(--space-band-y); }
#section-collect.section:has(+ #next) { padding-bottom: var(--space-section-y); }
/* Pass 1325 - thank-you expect to resend */
#resend.section, #hire.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
#expect + #resend.section { padding-top: var(--space-section-y); }
/* Pass 1326 - thank-you resend to hire */
#resend + #hire.section { padding-top: var(--space-section-y); }
#expect .section__title, #resend .section__title, #hire .section__title { margin-bottom: 0.95rem; }
#expect .prose > ul, #resend .prose > ol { margin: 0.65rem 0 1.1rem; padding-left: 1.2rem; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); line-height: 1.62; }
#expect .prose > ul li + li, #resend .prose > ol li + li { margin-top: 0.5rem; }
#resend .prose > p, #hire .prose > p { margin-bottom: 0.95rem; }
#resend .stack-mt { margin-top: 1.35rem; }
#hire .prose > p + p { margin-top: 0.65rem; }
/* Pass 1376 - thank-you hire to next CTA */
#hire + #next.band-cta { padding-top: var(--space-band-y); }
#hire.section:has(+ #next) { padding-bottom: var(--space-section-y); }
/* Pass 1320 - servicios-es trust to oficios */
#oficios.section, #section-sec-servicios-es-preguntas-y-empleo.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.trust-strip + #oficios.section { padding-top: var(--space-section-y); }
/* Pass 1340 - servicios-es oficios to preguntas */
#oficios + #section-sec-servicios-es-preguntas-y-empleo.section { padding-top: var(--space-section-y); }
#oficios .section__eyebrow, #section-sec-servicios-es-preguntas-y-empleo .section__eyebrow { margin-bottom: 0.55rem; }
#oficios .section__title, #section-sec-servicios-es-preguntas-y-empleo .section__title { margin-bottom: 0.95rem; }
#oficios .tile-grid { gap: 1.45rem 1.55rem; margin-top: 1.35rem; }
#oficios a.tile { padding: 1.15rem 0.15rem 0.55rem; }
#oficios a.tile h3 { margin-bottom: 0.65rem; }
#oficios a.tile p { line-height: 1.62; }
#oficios .section__lead { margin-top: 1rem; margin-bottom: 0px; }
#section-sec-servicios-es-preguntas-y-empleo .grid-2 { gap: 1.75rem 2.1rem; }
#section-sec-servicios-es-preguntas-y-empleo .prose > p { margin-bottom: 0.95rem; }
#section-sec-servicios-es-preguntas-y-empleo .prose > ul { margin: 0.65rem 0 0; padding-left: 1.2rem; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); line-height: 1.62; }
#section-sec-servicios-es-preguntas-y-empleo .prose > ul li + li { margin-top: 0.45rem; }
/* Pass 1378 - servicios-es preguntas to next CTA */
#section-sec-servicios-es-preguntas-y-empleo + #next.band-cta { padding-top: var(--space-band-y); }
#section-sec-servicios-es-preguntas-y-empleo.section:has(+ #next) { padding-bottom: var(--space-section-y); }
main:has(#oficios) > .trust-strip { padding: 2.5rem 0 2.25rem; }
main:has(#oficios) > .trust-strip .trust-strip__grid { gap: 1.75rem 2rem; }
@media (min-width: 720px) {
  main:has(#oficios) > .trust-strip .trust-strip__grid { gap: 2rem 2.35rem; }
}
main:has(#oficios) > .trust-strip article { padding: 1.25rem 0 0.45rem; }
main:has(#oficios) > .trust-strip h3 { margin-bottom: 0.65rem; }
main:has(#camino) > .trust-strip, main:has(#path.convert-expect) > .trust-strip { padding: 2.5rem 0 2.25rem; }
main:has(#camino) > .trust-strip .trust-strip__grid, main:has(#path.convert-expect) > .trust-strip .trust-strip__grid { gap: 1.75rem 2rem; }
@media (min-width: 720px) {
  main:has(#camino) > .trust-strip .trust-strip__grid, main:has(#path.convert-expect) > .trust-strip .trust-strip__grid { gap: 2rem 2.35rem; }
}
main:has(#camino) > .trust-strip article, main:has(#path.convert-expect) > .trust-strip article { padding: 1.25rem 0 0.45rem; }
main:has(#camino) > .trust-strip h3, main:has(#path.convert-expect) > .trust-strip h3 { margin-bottom: 0.65rem; }
/* Pass 1388 - contact/contacto-es TOC to trust */
main:has(#path.convert-expect) > .wrap--toc,
main:has(#camino.convert-expect) > .wrap--toc {
  padding-top: 0.95rem;
  padding-bottom: 1.1rem;
}
main:has(#path.convert-expect) > .wrap--toc + #trust.trust-strip,
main:has(#camino.convert-expect) > .wrap--toc + #confianza.trust-strip {
  padding-top: 2.35rem;
  padding-bottom: 2.25rem;
}
#camino.convert-expect, #path.convert-expect { padding: 2rem 1.35rem 2.1rem; }
#camino.convert-expect .section__eyebrow, #path.convert-expect .section__eyebrow { margin-bottom: 0.55rem; }
#camino.convert-expect .section__title, #path.convert-expect .section__title { margin-bottom: 0.75rem; }
#camino .convert-steps, #path.convert-expect .convert-steps { margin-top: 1.25rem; gap: 1rem; }
@media (min-width: 720px) {
  #camino .convert-steps, #path.convert-expect .convert-steps { gap: 1.15rem; }
}
#camino .convert-steps li, #path.convert-expect .convert-steps li { padding: 1.15rem 1.1rem 1.2rem; }
#camino .stack-mt, #path.convert-expect .stack-mt { margin-top: 1rem; }
#estimate.section .grid-2 { gap: 1.75rem 2.1rem; }
#estimate.section .contact-facts { margin-bottom: 1.35rem; }
#estimate.section .contact-facts li { padding: 0.9rem 0; }
#estimate.section .contact-callout { margin: 1rem 0 1.2rem; padding: 1.1rem 1.25rem; }
.section.section--alt:has(#weather) { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
/* Pass 1354 - town lander TOC to services */
.wrap--toc + #services.section { padding-top: var(--space-section-y); }
/* Pass 1355 - town lander services to weather */
#services + .section.section--alt:has(#weather) { padding-top: var(--space-section-y); }
/* Pass 1356 - town lander weather to next CTA */
.section.section--alt:has(#weather) + #next.band-cta { padding-top: var(--space-band-y); }
.section.section--alt:has(#weather):has(+ #next) { padding-bottom: var(--space-section-y); }
.section.section--alt:has(#weather) .section__eyebrow { margin-bottom: 0.85rem; }
.section.section--alt:has(#weather) .section__title { margin-bottom: 1.05rem; }
.section.section--alt:has(#weather) .grid-2 { gap: 1.85rem 2.2rem; }
.section.section--alt:has(#weather) .prose > p { margin-bottom: 1.05rem; line-height: 1.62; }
main:has(#weather) > .wrap--toc { padding-top: 1.35rem; padding-bottom: 1.4rem; }
.wrap--toc + .section.convert-expect, #steps.convert-expect { padding: 2.05rem 1.4rem 2.15rem; }
#steps .convert-steps { margin-top: 0; gap: 1rem; }
@media (min-width: 720px) {
  #steps .convert-steps { gap: 1.15rem; }
}
#steps .convert-steps li { padding: 1.2rem 1.15rem 1.25rem; }
/* Pass 1366 - estimate-landing steps to form */
#steps + #estimate.ad-form-wrap { padding-top: 2.25rem; }
#steps.convert-expect:has(+ #estimate) { padding-bottom: 1.75rem; }
main:has(.ad-hero) > .wrap--toc { padding-top: 1.35rem; padding-bottom: 1.4rem; }
.ad-hero { position: relative; isolation: isolate; overflow: hidden; padding: 3.25rem 0 2.65rem; background: linear-gradient(
    165deg,
    var(--ink) 0%,
    var(--charcoal) 42%,
    color-mix(in srgb, var(--gold) 22%, var(--charcoal-soft)) 100%
  ); color: var(--white); border-bottom: 1px solid color-mix(in srgb, var(--gold) 32%, transparent); box-shadow: inset 0 1px 0 color-mix(in srgb, var(--gold) 20%, transparent); scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.ad-hero::before { content: ""; position: absolute; inset: 0px; background: radial-gradient(
      ellipse 50% 45% at 90% 10%,
      color-mix(in srgb, var(--gold) 18%, transparent),
      transparent 55%
    ),
    radial-gradient(
      ellipse 35% 40% at 8% 85%,
      color-mix(in srgb, var(--gold) 10%, transparent),
      transparent 50%
    ); pointer-events: none; z-index: 0; }
.ad-hero > .wrap { position: relative; z-index: 1; }
.ad-hero a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.ad-hero .section__eyebrow { color: var(--gold-bright); opacity: 1; }
.ad-hero h1 { font-family: var(--font-serif); font-size: clamp(1.95rem, 3.6vw, 2.65rem); margin: 0 0 1rem; font-weight: 600; max-width: 18ch; text-box: cap alphabetic; }
.ad-hero > .wrap > p { margin: 0; max-width: 46ch; color: color-mix(in srgb, var(--gold-soft) 35%, var(--white)); line-height: 1.65; font-size: 1.1rem; }
.ad-proof { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); display: flex; flex-wrap: wrap; gap: 0.65rem 1.25rem; margin: 1.15rem 0 0; padding: 0; list-style: none; }
.ad-proof span { font-size: 0.9rem; line-height: 1.45; color: color-mix(in srgb, var(--gold) 70%, var(--white)); }
.ad-proof a { color: inherit; text-decoration: underline; text-underline-offset: 0.12em; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.ad-proof a:hover, .ad-proof a:focus-visible { color: var(--white); }
.ad-proof a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 2px; }
.ad-proof:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 55%, transparent); outline-offset: 0.35rem; border-radius: 0.25rem; }
.ad-note { margin: 0; font-size: 0.98rem; line-height: 1.55; color: color-mix(in srgb, var(--gold-soft) 32%, var(--white)); max-width: 42ch; text-wrap: pretty; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.ad-note--lead { margin-top: 1.15rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.ad-note a { color: var(--gold-bright); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 45%, transparent); text-underline-offset: 0.12em; display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.15rem 0.1rem; box-sizing: border-box; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.ad-note a:hover, .ad-note a:focus-visible { color: var(--gold); }
.ad-note a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 0.15rem; }
.ad-note--muted a:focus-visible { outline-color: var(--gold); }
.ad-note--muted { margin-top: 1.15rem; color: color-mix(in srgb, var(--gold-soft) 28%, var(--slate)); max-width: none; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.ad-form-wrap .ad-note--muted { color: color-mix(in srgb, var(--gold-soft) 30%, var(--slate)); }
.ad-form-wrap { padding: 2.65rem 0 2.85rem; background: linear-gradient(
      180deg,
      color-mix(in srgb, var(--gold) 4%, var(--snow)) 0%,
      var(--snow) 100%
    ); border-top: 1px solid color-mix(in srgb, var(--gold) 18%, var(--mist)); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
/* Pass 1365 - estimate-landing form to next CTA */
#estimate.ad-form-wrap + #next.band-cta { padding-top: var(--space-band-y); }
#estimate.ad-form-wrap:has(+ #next) { padding-bottom: var(--space-section-y-tight); }
.ad-form-wrap.is-current, .form-success.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.2rem; }
.hire-roles.is-current, .big-ticket-strip.is-current, .tile-grid.is-current, .areas-counties.is-current, .contact-callout.is-current, .ad-proof.is-current, .position-band.is-current, .page-hero.is-current, .ad-hero.is-current, section.hero.is-current, .faq-list.is-current, .trust-strip__grid.is-current, .hire-perks.is-current, .wrap--toc.is-current, .cta-row.is-current, .hero__content.is-current, form.form-grid.is-current, .lang-strip.is-current, .step-nav.is-current, .fine-print.is-current, .band-cta__fine.is-current, .service-block__grid.is-current, .pair-frames.is-current, .grid-2.is-current, .grid-3.is-current, .grid-4.is-current, .position-grid.is-current, .site-footer.is-current, #gallery-empty.is-current, .form-note.is-current, .field-hint.is-current, nav.breadcrumbs.is-current, .footer-grid--4.is-current, .footer-grid.is-current, .form-success__actions.is-current, form fieldset.is-current, .lede-slate.is-current, #main.is-current, .site-header.is-current, #site-nav.is-current, nav.site-nav.is-current, #gallery-filter-status.is-current, .form-error.is-current, .section__lead.is-current, .ad-note.is-current, .nav-lang.is-current, .noscript-banner.is-current, #net-banner.is-current, .media-slot.is-current, .hero__media-slot.is-current, table.gbb-table.is-current, ul.nav-fly.is-current, .footer-bottom.is-current, a.brand.is-current, .form-char-count.is-current, .section__eyebrow.is-current, .tile-badge.is-current, .hire-card__tag.is-current, .draft-note.is-current, .placeholder.is-current, .placeholder--soft.is-current, .position-band__lead.is-current, .wrap--narrow.is-current, .hero__headline.is-current, .footer-grid > div.is-current, .nav-toggle.is-current, a.nav-cta.is-current, a.footer-top.is-current, .site-header__inner.is-current, .convert-bar__call.is-current, .convert-bar__est.is-current, .noscript-banner__nav.is-current, .faq-jump__links.is-current, .media-slot__label.is-current, .form-check.is-current, .hero__support.is-current, .form-row-2.is-current, .lang-strip__active.is-current, a.skip-link.is-current, .nav-fly__btn.is-current, .footer-logo.is-current, .brand__tag.is-current, .brand__logo.is-current, ul.town-list.is-current, ul.town-list--linked.is-current, ul.path-list.is-current, ol.convert-steps.is-current, ol.steps.is-current, .gbb-table-wrap.is-current, .gallery-filters.is-current, .gbb-rec.is-current, a.tile.is-current, .service-tile--featured.is-current, .form-grid--convert.is-current, .hire-form.is-current, .cta-row--sm.is-current, .link-accent.is-current, .step-optional.is-current, ul.contact-facts.is-current, .pair-frames.is-current, .hire-perks.is-current, .cta-row.is-current, .cta-row--after-lead.is-current, .big-ticket-strip.is-current, .gallery-empty__all.is-current, time.is-current, .town-list--follow.is-current, .grid-2--follow.is-current, .grid-2--roomy.is-current, .form-note--tight.is-current, .service-block--follow.is-current, .lang-strip--after-lead.is-current, .ad-note--lead.is-current, .ad-note--jump.is-current, .ad-note--muted.is-current, .prose--follow.is-current, .prose--mid.is-current, .section__title--sm.is-current, .section__lead--flush.is-current, .section--flush-bottom.is-current, .section--alt.is-current, figcaption.is-current, summary.is-current, legend.is-current, caption.is-current, .nav-lang__active.is-current, .gallery-filters button.is-current, .gallery-empty.is-current, .hire-roles.is-current, .tile-grid.is-current, .areas-counties.is-current, .contact-callout.is-current, .ad-proof.is-current, .position-band.is-current, .trust-strip__grid.is-current, .media-slot--tall.is-current, .media-slot--hero-page.is-current, .media-slot--square.is-current, .media-slot--wide.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
code, pre, .prose code { tab-size: 2; }
#copy-status.is-current, .prose code.is-current, code.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
a.btn.is-current, .btn.is-current, .btn--primary.is-current, .btn--ghost.is-current, .btn--outline.is-current, .btn--dark.is-current, .btn--small.is-current, #estimate-form-note.is-current, #hire-form-note.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
optgroup.is-current, .stack-mt.is-current, .stack-mt--sm.is-current, .stack-mt--lg.is-current, strong.is-current, em.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
#heard-hint.is-current, #interior-interest-hint.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
form label.is-current, label[for].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
#interior_interest.is-current, input[type="checkbox"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
form select.is-current, select.is-current, form textarea.is-current, textarea.is-current, #message.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
#name.is-current, #phone.is-current, #email.is-current, #town.is-current, #service.is-current, #preferred.is-current, #timing.is-current, #heard.is-current, #role.is-current, #lang.is-current, form input.is-current:not([type="hidden"]):not([type="submit"]):not([type="button"]) { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
#estimate-form.is-current, #hire-form.is-current, #form-success.is-current, #hire-success.is-current, button[type="submit"].is-current, a[href^="tel:"].is-current, a[href^="mailto:"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
.gbb-table thead.is-current, .gbb-table tbody.is-current, .gbb-table tr.is-current, .gbb-table th.is-current, .gbb-table td.is-current, table.gbb-table.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
[role="region"].is-current, [role="toolbar"].is-current, [role="status"].is-current, [role="banner"].is-current, [role="contentinfo"].is-current, .net-banner.is-current, .net-banner--ok.is-current, form.is-sent.is-current, .form-grid.is-sent.is-current, .hire-form.is-sent.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
.is-invalid.is-current, [aria-invalid="true"].is-current { outline: rgb(163, 58, 47) solid 2px; outline-offset: 0.35rem; border-radius: 0.25rem; }
.media-slot__path.is-current, img.is-current, details.faq-item.is-current, details.is-current, [role="note"].is-current, .is-near-limit.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
.media-slot__path, img, details.faq-item, details, [role="note"], .is-near-limit { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
[role="region"], [role="toolbar"], [role="status"], [role="banner"], [role="contentinfo"], .net-banner, .net-banner--ok, form.is-sent, .form-grid.is-sent, .hire-form.is-sent { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
#estimate-form, #hire-form, #form-success, #hire-success, button[type="submit"], a[href^="tel:"], a[href^="mailto:"], .gbb-table thead, .gbb-table tbody, .gbb-table tr, .gbb-table th, .gbb-table td, table.gbb-table { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-end: calc(var(--convert-bar-h, 5.5rem) + 0.75rem + env(safe-area-inset-bottom, 0px)); }
#heard-hint, #interior-interest-hint { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
strong, em { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
time[datetime], time { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
#gallery-filter-status, #copy-status { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.ad-form-wrap a { color: var(--gold); font-weight: 600; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.ad-form-wrap a:hover, .ad-form-wrap a:focus-visible { color: var(--gold-bright); }
.ad-form-wrap h2 { font-family: var(--font-serif); font-size: clamp(1.45rem, 2.5vw, 1.85rem); margin: 0px 0px 0.75rem; }
.service-block--follow { margin-top: 1.25rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.town-list--follow { margin-top: var(--space-stack); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.field-hint { font-weight: 400; color: color-mix(in srgb, var(--gold-soft) 22%, var(--slate)); white-space: break-spaces; text-wrap-style: pretty; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.convert-steps { list-style: none; margin: 1.35rem 0 0; padding: 0; display: grid; gap: 1.05rem; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
ol.convert-steps.is-current, ol.steps.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.2rem; }
@media (min-width: 720px) {
  .convert-steps { grid-template-columns: repeat(3, 1fr); gap: 1.35rem; }
}
.convert-steps li { padding: 1.25rem 1.2rem 1.3rem; background: linear-gradient(
      165deg,
      color-mix(in srgb, var(--gold) 5%, var(--white)) 0%,
      var(--white) 45%
    ); border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-radius: 0.2rem; border-top: 3px solid var(--gold); transition: border-color 0.18s, box-shadow 0.18s; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-bottom: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); scroll-margin-block-end: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); }
.convert-steps li:hover, .convert-steps li:focus-within { border-right-color: ; border-bottom-color: ; border-left-color: ; border-top-color: var(--gold-bright); box-shadow: 0 0 0 1px color-mix(in srgb, var(--gold) 14%, transparent); }
.convert-steps a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.convert-steps li.is-current, .convert-steps li[aria-current="step"] { border-right-color: ; border-bottom-color: ; border-left-color: ; border-top-color: var(--gold-bright); box-shadow: 0 0 0 1px color-mix(in srgb, var(--gold) 28%, transparent); background: color-mix(in srgb, var(--gold) 6%, var(--white)); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.convert-steps strong { display: block; margin-bottom: 0.5rem; font-size: 1.02rem; color: color-mix(in srgb, var(--gold-soft) 30%, var(--ink)); }
.convert-steps span { font-size: 0.98rem; line-height: 1.6; color: color-mix(in srgb, var(--gold-soft) 18%, var(--slate)); }
.convert-expect .section__title, .convert-expect h2 { margin-bottom: 0.85rem; }
.convert-expect { padding: 2.15rem 1.45rem 2.25rem; border: 1px solid color-mix(in srgb, var(--gold) 22%, var(--mist)); border-radius: 0.2rem; background: linear-gradient(
      165deg,
      color-mix(in srgb, var(--gold) 6%, var(--snow)) 0%,
      var(--white) 55%
    ); box-shadow: inset 3px 0 0 color-mix(in srgb, var(--gold) 55%, transparent); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
/* Pass 1321 - contact path/camino to estimate */
#estimate.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
#path.convert-expect + #estimate.section,
#camino.convert-expect + #estimate.section { padding-top: var(--space-section-y); }
/* Pass 1377 - contact/contacto-es estimate to next CTA */
#estimate.section + #next.band-cta { padding-top: var(--space-band-y); }
#estimate.section:has(+ #next) { padding-bottom: var(--space-section-y); }
#estimate .section__eyebrow { margin-bottom: 0.55rem; }
#estimate .section__title { margin-bottom: 0.75rem; }
#estimate .cta-row { gap: 0.95rem 1.2rem; }
.contact-callout { display: flex; flex-wrap: wrap; gap: 0.85rem 1.15rem; margin: 1rem 0 1.25rem; padding: 1.1rem 1.25rem; border: 1px solid color-mix(in srgb, var(--gold) 20%, var(--mist)); border-radius: 0.2rem; background: linear-gradient(
      165deg,
      color-mix(in srgb, var(--gold) 5%, var(--snow)) 0%,
      var(--white) 55%
    ); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.contact-callout a { scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.contact-callout:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 40%, transparent); outline-offset: 0.35rem; border-radius: 0.2rem; border-color: color-mix(in srgb, var(--gold) 45%, var(--mist)); }
.form-grid--convert { max-width: none; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.form-grid--convert .form-row-2, .form-grid .form-row-2, .hire-form .form-row-2 { display: grid; gap: 1.05rem; border: 0px; margin: 0px; padding: 0px; min-inline-size: 0px; scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-bottom: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); scroll-margin-block-end: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); }
.form-grid > fieldset, .hire-form > fieldset, .form-grid--convert > fieldset { border: 0px; margin: 0px; padding: 0px; min-inline-size: 0px; }
.form-grid > fieldset > legend, .hire-form > fieldset > legend, .form-grid--convert > fieldset > legend { scroll-margin-top: calc(var(--header-h) + 1.25rem); scroll-margin-block-start: calc(var(--header-h) + 1.25rem); padding: 0px 0px 0.55rem; margin-bottom: 0.35rem; color: var(--ink); font-weight: 650; font-size: 1rem; }
.form-grid > fieldset:focus-within, .hire-form > fieldset:focus-within, .form-grid--convert > fieldset:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 40%, transparent); outline-offset: 0.35rem; border-radius: 0.2rem; }
@media (min-width: 560px) {
  .form-grid--convert .form-row-2, .form-grid .form-row-2, .hire-form .form-row-2 { grid-template-columns: 1fr 1fr; }
}
@container aoe-wrap (max-width: 34rem) {
  .form-grid--convert .form-row-2, .form-grid .form-row-2, .hire-form .form-row-2 { grid-template-columns: 1fr; }
  .form-grid--convert, .form-grid, .hire-form { gap: clamp(0.95rem, 4cqi, 1.2rem); }
  .cta-row { flex-direction: column; align-items: stretch; gap: clamp(0.75rem, 3.5cqi, 1rem); }
  .cta-row .btn { width: 100%; justify-content: center; }
}
@container aoe-hero (max-width: 28rem) {
  .cta-row { flex-direction: column; align-items: stretch; }
  .cta-row .btn { width: 100%; justify-content: center; }
}
.page-hero .cta-row .btn--ghost { color: color-mix(in srgb, var(--white) 90%, var(--gold-soft)); border-color: color-mix(in srgb, var(--gold-bright) 48%, var(--white)); background: color-mix(in srgb, var(--ink) 22%, transparent); }
.page-hero .cta-row .btn--ghost:hover, .page-hero .cta-row .btn--ghost:focus-visible { color: var(--ink); border-color: var(--gold-bright); background: var(--gold-bright); }
.breadcrumbs { padding: 0.85rem var(--wrap-pad, 0) 0.5rem; font-size: 0.85rem; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.breadcrumbs ol { list-style: none; margin: 0px; padding: 0.35rem 0px 0px; display: flex; flex-wrap: wrap; gap: 0.25rem 0.45rem; color: color-mix(in srgb, var(--gold-soft) 20%, var(--slate)); scroll-margin-top: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.5rem + env(safe-area-inset-top, 0px)); }
.breadcrumbs ol[role="list"] { list-style: none; }
.breadcrumbs li { display: inline-flex; align-items: center; gap: 0.4rem; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.breadcrumbs li:not(:last-child)::after { content: "/"; color: color-mix(in srgb, var(--gold) 35%, var(--mist)); font-weight: 500; }
.breadcrumbs a { display: inline-flex; align-items: center; color: color-mix(in srgb, var(--gold-soft) 22%, var(--slate)); text-decoration: none; border-radius: var(--radius); min-height: 2.75rem; padding: 0.2rem 0.15rem; box-sizing: border-box; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.breadcrumbs a:hover, .breadcrumbs a:focus-visible { color: var(--gold-soft); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 45%, transparent); }
.breadcrumbs a:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.breadcrumbs:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 40%, transparent); outline-offset: 0.25rem; border-radius: 0.2rem; }
.breadcrumbs [aria-current="page"] span { color: var(--ink); font-weight: 600; border-bottom: 1px solid color-mix(in srgb, var(--gold) 45%, transparent); padding-bottom: 0.05rem; }
main > .breadcrumbs { background: color-mix(in srgb, var(--gold) 4%, var(--snow)); border-bottom: 1px solid color-mix(in srgb, var(--gold) 18%, var(--mist)); max-width: none; width: 100%; padding-left: 0px; padding-right: 0px; padding-top: 0px; }
main > .breadcrumbs + .page-hero { padding-top: 2.05rem; padding-bottom: 1.7rem; }
main > .breadcrumbs ol { max-width: var(--wrap, 72rem); width: min(100% - 2.75rem, var(--max, 72rem)); margin: 0 auto; padding: 0.55rem 0; }
.gallery-filters { display: flex; flex-wrap: wrap; gap: 0.7rem; margin: 0 0 1.4rem; padding: 0.35rem 0 0.85rem; border-top: 0px; border-right: 0px; border-left: 0px; border-image: initial; border-bottom: 1px solid color-mix(in srgb, var(--gold) 18%, var(--mist)); border-radius: 0px; background: transparent; touch-action: manipulation; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.gallery-filters.is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.2rem; }
.gallery-filters:focus-within { outline: 2px solid color-mix(in srgb, var(--gold) 40%, transparent); outline-offset: 0.35rem; border-radius: 0.2rem; }
.gallery-filters.is-current:focus-within { outline: 2px solid var(--gold); outline-offset: 0.35rem; }
.gallery-filters button { font-style: inherit; font-variant: inherit; font-stretch: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-size: 0.95rem; font-weight: 550; padding: 0.6rem 1.2rem; min-height: 2.75rem; box-sizing: border-box; border-radius: 0.15rem; border: 1px solid color-mix(in srgb, var(--gold) 42%, var(--mist)); background: var(--surface); color: var(--ink); cursor: pointer; touch-action: manipulation; transition: border-color 0.2s var(--ease), background 0.2s var(--ease), color 0.2s var(--ease); scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-bottom: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); scroll-margin-block-end: calc(var(--convert-bar-h, 5.5rem) + env(safe-area-inset-bottom, 0px)); scroll-margin-inline: 0.35rem; }
.gallery-filters button:hover, .gallery-filters button:focus-visible { border-color: var(--gold); background: color-mix(in srgb, var(--gold) 8%, var(--surface)); color: var(--ink); }
.gallery-filters button:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.gallery-filters button[aria-pressed="true"] { background: var(--ink); color: var(--white); border-color: color-mix(in srgb, var(--gold-bright) 55%, var(--ink)); box-shadow: 0 0 0 1px color-mix(in srgb, var(--gold-bright) 30%, transparent),
    inset 0 -2px 0 var(--gold); }
.gallery-filters button[aria-pressed="true"]:hover, .gallery-filters button[aria-pressed="true"]:focus-visible { background: var(--ink); border-color: var(--gold-bright); }
.gallery-filters button[aria-pressed="true"]:focus-visible { outline-color: var(--gold); outline-offset: 3px; }
.gallery-pair.is-hidden { display: none; }
.gallery-empty { margin: var(--space-stack) 0 0; max-width: 48ch; padding: 1.35rem 1.45rem; color: color-mix(in srgb, var(--gold-soft) 22%, var(--slate)); font-size: 1.05rem; line-height: 1.62; border-top-color: ; border-top-style: ; border-top-width: ; border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-left: 3px solid color-mix(in srgb, var(--gold) 55%, transparent); border-radius: 0.2rem; background: color-mix(in srgb, var(--gold) 4%, var(--snow)); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.gallery-empty:focus, .gallery-empty:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 0.15rem; }
.gallery-empty a:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; border-radius: 0.15rem; }
.gallery-empty a { color: var(--gold); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.gallery-empty[hidden] { display: none; }
.gallery-empty__all { display: inline; padding: 0px; margin: 0px; border: 0px; background: none; color: var(--gold); font-style: inherit; font-variant: inherit; font-stretch: inherit; font-size: inherit; line-height: inherit; font-family: inherit; font-optical-sizing: inherit; font-size-adjust: inherit; font-kerning: inherit; font-feature-settings: inherit; font-variation-settings: inherit; font-language-override: inherit; font-weight: 650; text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 45%, transparent); text-underline-offset: 0.18em; cursor: pointer; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.gallery-empty__all:hover, .gallery-empty__all:focus-visible { color: var(--gold-bright); }
.gallery-empty__all:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.proof-strip { position: relative; isolation: isolate; overflow: hidden; padding: 2.75rem 0px; background: var(--charcoal); color: var(--white); border-block: 1px solid color-mix(in srgb, var(--gold) 22%, transparent); scroll-margin-top: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 1rem + env(safe-area-inset-top, 0px)); }
.proof-strip::before { content: ""; position: absolute; inset: 0px; z-index: 0; background: linear-gradient(
      115deg,
      color-mix(in srgb, var(--gold) 8%, transparent) 0%,
      transparent 42%
    ),
    radial-gradient(
      ellipse 50% 80% at 100% 50%,
      color-mix(in srgb, var(--gold) 8%, transparent),
      transparent 55%
    ); pointer-events: none; }
.proof-strip.is-current, .proof-strip:target { outline: 2px solid var(--gold); outline-offset: 0.35rem; }
.proof-strip .wrap { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem 2.35rem; }
.proof-strip p { margin: 0; max-width: 42ch; color: color-mix(in srgb, var(--gold-soft) 38%, var(--white)); font-size: 1.08rem; line-height: 1.62; }
.proof-strip .cta-row { margin: 0px; }
.proof-strip a:focus-visible, .proof-strip .btn:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 3px; }
.hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
@media print {
  .site-footer, .band-cta, .gallery-pair, .service-tile, .hire-card { content-visibility: visible; contain-intrinsic-size: none; }
  .skip-link, .skip-link--convert, .site-header, .site-footer, .site-nav, .convert-bar, .nav-toggle, .nav-fly, .breadcrumbs, .band-cta .btn--ghost, .gallery-filters, .gallery-empty__all, .faq-jump, .lang-strip, .nav-lang, .net-banner, .noscript-banner, .hp, .hero__atmosphere, .hero__scrim, .hero__media-slot, .media-slot__label, .form-success:not(.is-visible), .ad-proof, .placeholder:not(.placeholder--soft), button[type="submit"], .form-grid button[type="submit"] { display: none !important; }
  body.has-convert-bar { padding-bottom: 0px; }
  body.nav-open { overflow: visible !important; height: auto !important; touch-action: auto !important; }
  body { background: rgb(255, 255, 255); color: rgb(17, 17, 17); font-size: 11pt; line-height: 1.45; orphans: 3; widows: 3; color-scheme: light only; padding-left: 0px; padding-right: 0px; print-color-adjust: economy; }
  .prose, .faq-item, p { orphans: 3; widows: 3; }
  body::after { content: "Alpha Omega Exteriors · (603) 913-9776 · alphaomegaexteriorsnh@gmail.com · Print: chrome hidden; FAQ answers open"; display: block; margin-top: 0.65rem; padding-top: 0.2rem; border-top: 1px solid rgb(166, 135, 46); font-size: 9pt; color: rgb(51, 51, 51); }
  :lang(es) body::after { content: "Alpha Omega Exteriors · (603) 913-9776 · alphaomegaexteriorsnh@gmail.com · Impresión: chrome oculto; respuestas FAQ abiertas"; }
  .page-hero, .hero, .band-cta, .trust-strip, .proof-strip, .section--alt, .ad-hero, .ad-form-wrap { background: none !important; color: rgb(17, 17, 17) !important; box-shadow: none !important; border-color: rgb(201, 162, 39) !important; }
  .page-hero::before, .page-hero::after, .band-cta::before, .ad-hero::before, .proof-strip::before { display: none !important; }
  .page-hero a, .hero a, .band-cta a, .ad-hero a, .prose a, .fine-print a, .section__lead a { color: rgb(138, 106, 24) !important; }
  .section__eyebrow, .hero__brand, .draft-note { color: rgb(138, 106, 24) !important; }
  details.faq-item { break-inside: avoid; border: 1px solid rgb(201, 162, 39); padding: 0.85rem 1rem; margin: 0.85rem 0px; }
  details.faq-item > summary { font-weight: 600; list-style: none; }
  details.faq-item > summary::-webkit-details-marker { display: none; }
  details.faq-item > :not(summary) { display: block !important; }
  .hire-card, .service-tile, .service-block, .prose, .convert-steps li, .steps li, .town-list li { break-inside: avoid; }
  .gbb-table { border-collapse: collapse; width: 100%; }
  .gbb-table th, .gbb-table td { border: 1px solid rgb(166, 135, 46); padding: 0.18rem 0.25rem; }
  a[href^="tel:"]::after, a[href^="mailto:"]::after { content: none; }
  .form-grid input, .form-grid select, .form-grid textarea, #hire-form input, #hire-form select, #hire-form textarea { border: 1px solid rgb(166, 135, 46) !important; background: rgb(255, 255, 255) !important; color: rgb(17, 17, 17) !important; box-shadow: none !important; }
  .media-slot { break-inside: avoid; border-color: rgb(201, 162, 39) !important; }
  .btn { border: 1px solid rgb(138, 106, 24) !important; background: transparent !important; color: rgb(17, 17, 17) !important; box-shadow: none !important; }
  .btn--primary { print-color-adjust: exact; border-color: rgb(201, 162, 39) !important; background: rgb(201, 162, 39) !important; color: rgb(12, 13, 16) !important; }
  .brand__logo, .footer-logo { print-color-adjust: exact; }
  :focus, :focus-visible, :focus-within { outline: none !important; box-shadow: none !important; }
  .nav-lang, .contact-callout, .form-success__actions, .gallery-empty, .ad-note--jump, .net-banner, .noscript-banner { display: none !important; }
  @page { size: letter; margin: 0.7in; }
  .prose a[href]::after, .faq-item a[href]::after, .section a[href]::after, .service-block a[href]::after, .form-note a[href]::after, .trust-strip a[href]::after, .steps a[href]::after, .band-cta a[href]::after { content: " (" attr(href) ")"; font-size: 0.85em; font-weight: 400; color: rgb(68, 68, 68); overflow-wrap: anywhere; word-break: break-word; }
  .prose a[href^="#"]::after, .prose a[href^="tel:"]::after, .prose a[href^="mailto:"]::after, .prose a[href^="javascript:"]::after, .faq-item a[href^="#"]::after, .faq-item a[href^="tel:"]::after, .faq-item a[href^="mailto:"]::after, .section a[href^="#"]::after, .section a[href^="tel:"]::after, .section a[href^="mailto:"]::after, .service-block a[href^="#"]::after, .service-block a[href^="tel:"]::after, .service-block a[href^="mailto:"]::after, .form-note a[href^="#"]::after, .form-note a[href^="tel:"]::after, .form-note a[href^="mailto:"]::after, .trust-strip a[href^="#"]::after, .trust-strip a[href^="tel:"]::after, .trust-strip a[href^="mailto:"]::after, .steps a[href^="#"]::after, .steps a[href^="tel:"]::after, .steps a[href^="mailto:"]::after, .band-cta a[href^="#"]::after, .band-cta a[href^="tel:"]::after, .band-cta a[href^="mailto:"]::after { content: none; }
}
@media (scripting: none) {
  .page-hero::after, .hero::after { content: "JavaScript is off — call (603) 913-9776 or email alphaomegaexteriorsnh@gmail.com. Estimate forms that open your mail app need JavaScript."; display: block; margin: 0.18rem 0px 0px; padding: 0.1rem 0.18rem; border: 1px solid var(--mist); border-radius: 2px; background: var(--white); color: var(--charcoal); font-size: 0.92rem; max-width: 48rem; }
  :lang(es) .page-hero::after, :lang(es) .hero::after { content: "JavaScript está desactivado — llame al (603) 913-9776 o escriba a alphaomegaexteriorsnh@gmail.com. Los formularios de estimado que abren el correo necesitan JavaScript."; }
}
h1, h2, h3, .section__title, .hero__headline { text-indent: 0px; }
[id^="art-"].is-current, article[id^="art-"].is-current, a[href^="#art-"].is-current { outline-color: ; outline-style: ; outline-offset: 0.35rem; outline-width: 3px; border-radius: 0.25rem; }
[id^="sec-"].is-current, a[href^="#sec-"].is-current, [id^="position-band-heading"].is-current { outline: 2px solid var(--gold); outline-offset: 0.35rem; border-radius: 0.25rem; }
.hero--home { aspect-ratio: unset; width: 100%; height: calc(var(--header-h) + min(100vw * 610 / 1200, 960px)); max-height: 96dvh; min-height: calc(var(--header-h) + min(42dvh, 380px)); align-items: flex-end; padding-top: calc(var(--header-h) + 0.35rem); }
.hero--home .hero__media-slot { top: var(--header-h); }
.hero--home .hero__scrim { top: var(--header-h); background: linear-gradient(
      to top,
      color-mix(in srgb, var(--ink) 78%, transparent) 0%,
      color-mix(in srgb, var(--ink) 28%, transparent) 42%,
      color-mix(in srgb, var(--ink) 8%, transparent) 72%,
      color-mix(in srgb, var(--ink) 3%, transparent) 100%
    ),
    linear-gradient(
      100deg,
      color-mix(in srgb, var(--ink) 22%, transparent) 0%,
      transparent 52%
    ); }
.hero--home .hero__media-slot.has-image ~ .hero__atmosphere, .hero--home.has-photo .hero__atmosphere { opacity: 0.42; }
.hero--home .hero__media-slot, .hero--home .hero__media-slot picture { background: radial-gradient(
      ellipse 75% 58% at 50% 36%,
      color-mix(in srgb, #8a9aab 32%, var(--ink)),
      color-mix(in srgb, #1a1e26 70%, var(--ink)) 68%,
      var(--ink) 100%
    ); }
.hero--home .hero__media-slot img { object-fit: contain; object-position: center center; transform: none; filter: saturate(1.04) contrast(1.02) brightness(1.05); }
/* Pass 2076 - desktop home hero restore (full-bleed photo; hide charcoal logo plate) */
@media (min-width: 720px) {
  .hero--home {
    padding-top: 0;
    /* Match hero-home.jpg 1200×565 — fill width so facade isn’t height-cropped/zoomed. */
    height: min(100vw * 565 / 1200, 92dvh);
    min-height: min(38vh, 340px);
    max-height: 92dvh;
  }
  .hero--home .hero__media-slot,
  .hero--home .hero__scrim {
    top: 0;
  }
  .hero--home .hero__media-slot img {
    object-fit: contain;
    object-position: center center;
    transform: scale(0.9);
    transform-origin: center center;
  }
  .hero--home .hero__logo {
    display: none;
  }
  .hero--home .hero__content {
    padding: var(--space-hero-home-y);
  }
}
@media (prefers-reduced-motion: no-preference) {
  .hero--home.has-photo .hero__media-slot img { animation: auto ease 0s 1 normal none running none; }
}
.hero__brand { margin: 0px 0px 0.85rem; font-family: var(--font-ui); font-weight: 650; font-size: clamp(0.88rem, 1.5vw, 1.02rem); letter-spacing: 0.08em; text-transform: uppercase; color: var(--gold-bright); max-width: 36ch; text-wrap: balance; text-shadow: 0 2px 14px color-mix(in srgb, var(--ink) 65%, transparent); opacity: 0; transform: translateY(10px); animation: hero-brand-in 0.75s var(--ease) 0.2s forwards; scroll-margin-top: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); scroll-margin-block-start: calc(var(--header-h) + 0.75rem + env(safe-area-inset-top, 0px)); }
.hero__brand::after { content: ""; display: block; width: 3.25rem; height: 2px; margin-top: 0.45rem; background: linear-gradient(90deg, var(--gold), transparent); transform-origin: left center; }
@media (prefers-reduced-motion: no-preference) {
  .hero__brand::after { animation: hero-brand-rule 0.9s var(--ease) 0.55s both; }
}
@keyframes hero-brand-in { 
  100% { opacity: 1; transform: translateY(0px); }
}
@keyframes hero-brand-rule { 
  0% { transform: scaleX(0); opacity: 0; }
  100% { transform: scaleX(1); opacity: 1; }
}
.hero--home .hero__support { max-width: 44ch; margin-bottom: 1.5rem; font-size: clamp(1.12rem, 1.75vw, 1.28rem); color: color-mix(in srgb, var(--white) 92%, var(--gold-soft)); line-height: 1.6; text-shadow: 0 2px 18px color-mix(in srgb, var(--ink) 55%, transparent); }
.hero--home .hero__headline { font-size: clamp(2.1rem, 4.6vw, 3.15rem); max-width: 18ch; margin-bottom: 1rem; line-height: 1.14; letter-spacing: -0.012em; text-shadow: rgba(0, 0, 0, 0.42) 0px 8px 28px; }
.hero--home .hero__brand { margin-bottom: 1rem; }
.hero--home .hero__content { padding: var(--space-hero-home-y); }
.hero--home .cta-row { gap: 1.1rem 1.5rem; }
.hero--home .btn--ghost { color: var(--white); border-color: color-mix(in srgb, var(--gold-bright) 55%, var(--white)); background: color-mix(in srgb, var(--ink) 28%, transparent); backdrop-filter: blur(6px); }
.hero--home .btn--ghost:hover, .hero--home .btn--ghost:focus-visible { border-color: var(--gold-bright); color: var(--ink); background: var(--gold-bright); }
.hero--home .btn--primary { box-shadow: 0 10px 28px color-mix(in srgb, var(--ink) 45%, transparent),
    0 0 0 1px color-mix(in srgb, var(--gold-bright) 35%, transparent); }
.trust-strip--home { padding: 2.85rem 0 2.15rem; background: linear-gradient(
      180deg,
      color-mix(in srgb, var(--ink) 4%, var(--snow)) 0%,
      var(--snow) 100%
    ); border-bottom: 0px; }
.trust-strip--home .trust-strip__grid { gap: 1.75rem 2rem; }
@media (min-width: 720px) {
  .trust-strip--home .trust-strip__grid { gap: 2rem 2.35rem; }
}
.trust-strip--home article { border-top: 2px solid color-mix(in srgb, var(--gold) 58%, transparent); padding: 1.15rem 0.15rem 0.55rem; }
.trust-strip--home h3 { font-family: var(--font-serif); font-weight: 600; font-size: clamp(1.22rem, 2.1vw, 1.48rem); margin: 0 0 0.65rem; line-height: 1.28; letter-spacing: -0.012em; }
.trust-strip--home p { font-size: 1.05rem; line-height: 1.6; max-width: 36ch; }
#hiring .prose { padding: 1.15rem 0px 0.15rem; border-top: 2px solid color-mix(in srgb, var(--gold) 58%, transparent); align-self: start; }
@media (min-width: 800px) {
  #hiring .prose { padding: 0.1rem 0.1rem 0.2rem 1.25rem; border-top: 0px; border-left: 2px solid color-mix(in srgb, var(--gold) 58%, transparent); }
}
#areas .section__lead { max-width: 46ch; margin-bottom: var(--space-lead-mb); font-size: 1.18rem; line-height: 1.65; }
#areas .cta-row--sm { margin-top: 1.45rem; gap: 1rem 1.35rem; }
#areas .btn--outline { min-width: 10.5rem; }
#hiring .cta-row { gap: 1rem 1.25rem; }
#hiring .prose p { font-size: 1rem; line-height: 1.58; max-width: 36ch; margin-block: 0.5rem; }
#hiring .prose p + p { margin-top: 0.75rem; }
.wrap--toc-home { padding-top: 1.35rem; padding-bottom: 1.4rem; border-bottom: 1px solid color-mix(in srgb, var(--gold) 16%, var(--mist)); background: transparent; }
.wrap--toc-home .faq-jump { max-width: none; margin: 0; padding: 0.35rem 0 0.55rem; background: transparent; border: 0; border-radius: 0; }
/* Pass 1341 - home TOC to services */
#services.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.wrap--toc-home + #services.section { padding-top: var(--space-section-y); }
/* Pass 1884 - home TOC removed; trust → services handoff */
.trust-strip--home + #services.section { padding-top: var(--space-section-y); }
#services .section__eyebrow { margin-bottom: 0.9rem; }
#services .section__title { margin-bottom: 1.05rem; }
#services .section__lead { max-width: 48ch; margin-bottom: var(--space-lead-mb); font-size: 1.18rem; line-height: 1.65; }
#services .grid-4 { gap: 1.85rem 2rem; }
#services .service-tile { padding: 1.45rem 1.25rem 1.2rem; }
#services .service-tile h3 { margin-bottom: 0.7rem; }
#services .service-tile p { font-size: 1.04rem; line-height: 1.62; }
/* Pass 1342 - home services to process */
#services + #process.section { padding-top: var(--space-section-y); }
/* Pass 1345 - home process to proof strip */
#process + #proof.proof-strip--home { padding-top: 3.15rem; }
#process.section, #areas.section, #hiring.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
#process .section__eyebrow, #areas .section__eyebrow, #hiring .section__eyebrow { margin-bottom: 0.9rem; }
#process .section__title, #areas .section__title, #hiring .section__title { margin-bottom: 1.05rem; }
#process .section__lead, #hiring .section__lead { max-width: 46ch; margin-bottom: var(--space-lead-mb); font-size: 1.18rem; line-height: 1.65; }
#process .grid-2 { gap: 1.75rem 2rem; }
@media (min-width: 800px) {
  #process .grid-2 { gap: 1.9rem 2.25rem; }
}
/* Pass 1343 - home proof strip to areas */
.proof-strip--home + #areas.section,
.proof-strip--home + #reviews.section { padding-top: var(--space-section-y); }
/* Pass 1344 - home areas to hiring */
#areas + #hiring.section { padding-top: var(--space-section-y); }
#hiring .cta-row { margin-top: 1.25rem; }
#hiring .grid-2 { gap: 1.75rem 2rem; }
@media (min-width: 800px) {
  #hiring .grid-2 { gap: 1.9rem 2.25rem; }
}
/* Pass 1346 - home hiring to next CTA */
#hiring + #next.band-cta { padding-top: var(--space-band-y); }
#hiring.section:has(+ #next) { padding-bottom: var(--space-section-y); }
.proof-strip--home { padding: 2.85rem 0; background: linear-gradient(
      120deg,
      var(--ink) 0%,
      var(--charcoal) 48%,
      var(--charcoal-soft) 100%
    ); border-block: 1px solid color-mix(in srgb, var(--gold) 32%, transparent); }
.proof-strip--home .wrap { gap: 1.65rem 2.25rem; }
.proof-strip--home::before { background: radial-gradient(
      ellipse 45% 90% at 0% 50%,
      color-mix(in srgb, var(--gold) 12%, transparent),
      transparent 55%
    ),
    radial-gradient(
      ellipse 40% 70% at 100% 40%,
      color-mix(in srgb, var(--gold) 9%, transparent),
      transparent 50%
    ); }
.proof-strip--home p { font-family: var(--font-serif); font-size: clamp(1.08rem, 2vw, 1.32rem); max-width: 34ch; color: var(--white); line-height: 1.38; letter-spacing: -0.01em; text-wrap: balance; }
.proof-strip--home .cta-row { gap: 1rem 1.35rem; }
.proof-strip--home .btn--ghost { color: color-mix(in srgb, var(--white) 90%, var(--gold-soft)); border-color: color-mix(in srgb, var(--gold-bright) 48%, var(--white)); background: color-mix(in srgb, var(--ink) 24%, transparent); }
.proof-strip--home .btn--ghost:hover, .proof-strip--home .btn--ghost:focus-visible { color: var(--ink); border-color: var(--gold-bright); background: var(--gold-bright); }
#next.band-cta { padding: var(--space-band-y) 0; }
#next.band-cta h2 { margin-bottom: 0.95rem; font-size: clamp(1.55rem, 2.7vw, 2.1rem); }
#next.band-cta p:not(.band-cta__fine) { margin-bottom: 1.4rem; max-width: 46ch; font-size: 1.12rem; line-height: 1.65; }
#next.band-cta .cta-row { gap: 1rem 1.35rem; }
#next.band-cta .band-cta__fine { margin-top: 1.35rem; }
@media (prefers-reduced-motion: reduce) {
  .hero--home.has-photo .hero__media-slot img { animation: auto ease 0s 1 normal none running none; transform: none; }
  .hero__brand, .hero__brand::after { animation: auto ease 0s 1 normal none running none; opacity: 1; transform: none; }
}
.hero__brand.is-current, #hero-brand.is-current, .hero--home.is-current { outline: 2px solid var(--gold-bright); outline-offset: 0.35rem; border-radius: 0.2rem; }
.wrap--toc-home .faq-jump.is-current, #toc.is-current, .hero--home .cta-row.is-current, .trust-strip--home article.is-current, .proof-strip--home .cta-row.is-current { outline: 2px solid var(--gold); outline-offset: 0.3rem; border-radius: 0.25rem; }
.wrap--toc-home .faq-jump__links a:focus-visible { outline: 2px solid var(--gold-bright); outline-offset: 0.15rem; border-radius: 0.15rem; }
#areas.is-current, #hiring.is-current, #next.is-current, #sec-index-work-with-exterior-specialists.is-current, #sec-index-southern-new-hampshire.is-current { outline: 2px solid var(--gold); outline-offset: 0.3rem; border-radius: 0.25rem; }
#hiring .cta-row[role="group"]:focus-within, #areas .cta-row[role="group"]:focus-within, #next .cta-row[role="group"]:focus-within { outline: 2px solid var(--gold-bright); outline-offset: 0.2rem; border-radius: 0.25rem; }
.page-hero.is-current, #who.is-current, #credentials.is-current { outline: 2px solid var(--gold); outline-offset: 0.3rem; border-radius: 0.25rem; }
#page-hero.is-current, #hours.is-current, #sec-about-credentials.is-current, #sec-about-southern-nh-exterior-specialists.is-current { outline: 2px solid var(--gold-bright); outline-offset: 0.3rem; border-radius: 0.25rem; }
.page-hero .cta-row[role="group"]:focus-within, #credentials .cta-row[role="group"]:focus-within { outline: 2px solid var(--gold); outline-offset: 0.2rem; border-radius: 0.25rem; }
#storm.is-current, #process-steps-heading.is-current, ol.steps > li[id].is-current, .step-nav.is-current { outline: 2px solid var(--gold); outline-offset: 0.25rem; border-radius: 0.2rem; }
.page-hero .cta-row[role="group"][aria-label="Process actions"]:focus-within, #next .cta-row[role="group"]:focus-within { outline: 2px solid var(--gold-bright); outline-offset: 0.2rem; border-radius: 0.25rem; }
#path.is-current, #estimate.is-current, #path-heading.is-current, #estimate-heading.is-current, #sec-contact-prefer-to-call-or-check-what-happens-next.is-current { outline: 2px solid var(--gold); outline-offset: 0.3rem; border-radius: 0.25rem; }
.page-hero .cta-row[role="group"][aria-label="Estimate actions"]:focus-within, .contact-callout[role="group"]:focus-within, #estimate .contact-callout[role="group"]:focus-within { outline: 2px solid var(--gold-bright); outline-offset: 0.2rem; border-radius: 0.2rem; }
#roofing.is-current, #siding.is-current, #windows.is-current, #gutters.is-current, #interior.is-current, #for-contractors.is-current, #svc-roofing-heading.is-current, #sec-services-not-sure-where-to-start.is-current { outline: 2px solid var(--gold); outline-offset: 0.3rem; border-radius: 0.25rem; }
.page-hero .cta-row[role="group"][aria-label="Services actions"]:focus-within { outline: 2px solid var(--gold-bright); outline-offset: 0.2rem; border-radius: 0.25rem; }
#filters.is-current, #gallery-grid.is-current, #filters-heading.is-current, #gallery-photos-heading.is-current, #expect.is-current, #gbb.is-current, #compare.is-current, #proof.is-current, #sec-gallery-have-a-project-in-mind.is-current, #sec-roofing-ready-for-a-roof-estimate.is-current { outline: 2px solid var(--gold); outline-offset: 0.3rem; border-radius: 0.25rem; }
.page-hero .cta-row[role="group"][aria-label="Gallery actions"]:focus-within, .page-hero .cta-row[role="group"][aria-label="Roofing actions"]:focus-within { outline: 2px solid var(--gold-bright); outline-offset: 0.2rem; border-radius: 0.25rem; }
.gallery-filters[role="toolbar"]:focus-within { outline: 2px solid var(--gold); outline-offset: 0.2rem; border-radius: 0.25rem; }
.blog-grid { display: grid; gap: 1.45rem 1.35rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); margin-top: 1.35rem; }
.blog-card { border-right-color: ; border-right-style: ; border-right-width: ; border-bottom-color: ; border-bottom-style: ; border-bottom-width: ; border-left-color: ; border-left-style: ; border-left-width: ; border-image-source: ; border-image-slice: ; border-image-width: ; border-image-outset: ; border-image-repeat: ; border-top: 2px solid color-mix(in srgb, var(--gold) 58%, transparent); border-radius: 0.15rem; padding: 1.45rem 1.3rem 1.55rem; background: linear-gradient(
      165deg,
      color-mix(in srgb, var(--gold) 3.5%, var(--surface)) 0%,
      var(--surface) 42%
    ); display: flex; flex-direction: column; gap: 0.65rem; transition: border-color 0.18s, box-shadow 0.18s; }
.blog-card:hover, .blog-card:focus-within { border-right-color: ; border-bottom-color: ; border-left-color: ; border-top-color: var(--gold-bright); box-shadow: 0 0 0 1px color-mix(in srgb, var(--gold) 16%, transparent); }
.blog-card__meta { font-size: 0.8125rem; color: color-mix(in srgb, var(--gold-soft) 35%, var(--muted)); margin: 0px; letter-spacing: 0.02em; }
.blog-card__title { font-family: var(--font-serif); font-size: clamp(1.15rem, 2vw, 1.32rem); font-weight: 600; line-height: 1.32; margin: 0px; letter-spacing: -0.012em; }
.blog-card__title a { text-decoration: none; color: inherit; }
.blog-card__title a:hover, .blog-card__title a:focus-visible { color: var(--gold); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 45%, transparent); }
.blog-card__excerpt { font-size: 1rem; line-height: 1.58; margin: 0px; flex: 1 1 0%; color: color-mix(in srgb, var(--gold-soft) 16%, var(--slate)); }
.blog-card__link { font-weight: 600; font-size: 0.98rem; margin-top: 0.45rem; color: var(--gold); text-decoration: none; text-underline-offset: 0.18em; }
.blog-card__link:hover, .blog-card__link:focus-visible { color: var(--gold-bright); text-decoration-line: underline; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: color-mix(in srgb, var(--gold) 55%, transparent); }
.blog-meta { font-size: 0.9rem; color: color-mix(in srgb, var(--gold-soft) 35%, var(--muted)); letter-spacing: 0.02em; margin: 0.55rem 0 1.1rem; }
.blog-body { padding-block: 2.35rem 2.85rem; }
.blog-section { margin-bottom: 1.45rem; max-width: 42rem; }
.blog-section + .blog-section { padding-top: 1.35rem; border-top: 1px solid color-mix(in srgb, var(--gold) 12%, var(--border)); }
.blog-section.prose > h2 { margin: 0 0 0.95rem; font-size: clamp(1.32rem, 2.3vw, 1.55rem); line-height: 1.3; letter-spacing: -0.012em; }
.blog-section.prose > p { margin-bottom: 1.05rem; line-height: 1.65; }
.blog-section.prose > ul { margin-top: 0.85rem; margin-bottom: 0.55rem; }
.blog-aside { margin-top: 1.65rem; padding: 1.35rem 0 0; border-top: 1px solid color-mix(in srgb, var(--gold) 22%, var(--border)); max-width: 42rem; }
.blog-aside .section__title--sm { margin-bottom: 0.75rem; }
.blog-aside a { color: var(--gold); font-weight: 600; text-decoration-color: color-mix(in srgb, var(--gold) 45%, transparent); }
.blog-aside a:hover, .blog-aside a:focus-visible { color: var(--gold-bright); }
.blog-categories { display: flex; flex-wrap: wrap; gap: 0.55rem 0.85rem; margin-top: 1.2rem; padding: 0.35rem 0 0.75rem; background: transparent; border-top: 0px; border-right: 0px; border-left: 0px; border-image: initial; border-bottom: 1px solid color-mix(in srgb, var(--gold) 22%, var(--mist)); border-radius: 0px; }
.blog-categories a { font-weight: 600; color: var(--gold); text-decoration: none; text-underline-offset: 0.15em; padding: 0.15rem 0px; border-bottom: 1px solid color-mix(in srgb, var(--gold) 28%, transparent); }
.blog-categories a:hover, .blog-categories a:focus-visible { color: var(--gold-bright); border-bottom-color: var(--gold-bright); }
.page-hero .blog-categories { border-bottom-color: color-mix(in srgb, var(--gold) 38%, transparent); margin-top: 0.9rem; padding-bottom: 0.45rem; }
.page-hero .blog-categories a { color: var(--gold-bright); border-bottom-color: color-mix(in srgb, var(--gold-bright) 42%, transparent); }
#posts.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
.page-hero + #posts.section { padding-top: var(--space-section-y); }
/* Pass 1364 - blog posts to next CTA */
#posts + #next.band-cta { padding-top: var(--space-band-y); }
#posts.section:has(+ #next) { padding-bottom: var(--space-section-y); }
#posts .section__title { margin-bottom: 0.95rem; }
#posts .blog-grid { margin-top: 1.25rem; }
.page-hero .cta-row--after-lead { margin-top: 1.35rem; gap: 1rem 1.25rem; }
.blog-article .page-hero { padding-top: 3.5rem; padding-bottom: 2.45rem; }
.blog-article .page-hero .section__eyebrow { margin-bottom: 0.65rem; }
.blog-article .page-hero h1 { margin-bottom: 0px; }
.blog-article .page-hero .blog-meta { margin: 0.55rem 0 1.1rem; }
/* Pass 1381 - blog article body to next CTA */
article.blog-article + #next.band-cta { padding-top: var(--space-band-y); }
article.blog-article:has(+ #next) .blog-body { padding-bottom: var(--space-section-y-tight); }
.blog-aside + .blog-aside, .blog-aside .town-list { margin-top: 1.15rem; }
.blog-aside .town-list + .section__title--sm { margin-top: 1.35rem; }
.section a:not(.btn), .trust-strip a:not(.btn), .prose a, .section__lead a, .faq-jump a, .faq-item a, .gallery-pair a, .form-note a, .breadcrumbs a, .hire-card a:not(.btn), .service-tile a:not(.btn), .areas-counties a:not(.btn), .blog-section a:not(.btn), .blog-aside a:not(.btn), .wrap--toc a, .wrap--toc-home a { color: var(--link-on-light); font-weight: 600; text-decoration-color: color-mix(in srgb, var(--link-on-light) 45%, transparent); }
.section a:not(.btn):hover, .section a:not(.btn):focus-visible, .trust-strip a:not(.btn):hover, .trust-strip a:not(.btn):focus-visible, .prose a:hover, .prose a:focus-visible, .section__lead a:hover, .section__lead a:focus-visible, .faq-jump a:hover, .faq-jump a:focus-visible, .faq-item a:hover, .faq-item a:focus-visible, .gallery-pair a:hover, .gallery-pair a:focus-visible, .form-note a:hover, .form-note a:focus-visible, .breadcrumbs a:hover, .breadcrumbs a:focus-visible, .hire-card a:not(.btn):hover, .hire-card a:not(.btn):focus-visible, .service-tile a:not(.btn):hover, .service-tile a:not(.btn):focus-visible, .areas-counties a:not(.btn):hover, .areas-counties a:not(.btn):focus-visible, .blog-section a:not(.btn):hover, .blog-section a:not(.btn):focus-visible, .blog-aside a:not(.btn):hover, .blog-aside a:not(.btn):focus-visible, .wrap--toc a:hover, .wrap--toc a:focus-visible, .wrap--toc-home a:hover, .wrap--toc-home a:focus-visible { color: var(--link-on-light-hover); text-decoration-color: var(--link-on-light-hover); }
.trust-strip--home { border-top: 0px; box-shadow: inset 0 1px 0 color-mix(in srgb, var(--gold) 18%, transparent); }
.hero__phone-note { margin: 1rem 0px 0px; max-width: 40ch; font-size: 0.98rem; line-height: 1.5; color: color-mix(in srgb, var(--white) 78%, var(--gold-soft)); text-shadow: 0 1px 12px color-mix(in srgb, var(--ink) 50%, transparent); }
.hero__phone-note a { color: var(--gold-bright); font-weight: 600; text-decoration-color: color-mix(in srgb, var(--gold-bright) 55%, transparent); }
.hero__phone-note a:hover, .hero__phone-note a:focus-visible { color: var(--white); text-decoration-color: var(--white); }

/* Pass 1858 - undo aggressive densify (breathe). Forms untouched. */
:root {
  --space-section-y: 5rem;
  --space-section-y-tight: 3.25rem;
  --space-lead-mb: 1.45rem;
  --space-hero-y: 4.75rem 0 3.25rem;
  --space-hero-home-y: 4.5rem 0 3rem;
  --space-page-hero-y: 3.75rem 0 2.5rem;
  --space-band-y: 3.75rem;
  --header-h: 4.6rem;
  --convert-bar-h: 4.75rem;
}
.section__eyebrow { margin-bottom: 0.9rem; }
.section__title { margin-bottom: 1.05rem; }
.section__lead { font-size: 1.18rem; line-height: 1.65; }
.site-header__inner { min-height: 4.6rem; }
.brand { gap: 0.75rem; }
.brand__logo { width: 2.75rem; }
.site-nav a { padding: 0.5rem 0.75rem; font-size: 0.98rem; }
.nav-cta { padding: 0.55rem 1.1rem; }
.page-hero { padding: var(--space-page-hero-y); }
.hero--home .hero__content { padding: var(--space-hero-home-y); }
.hero--home .hero__headline { margin-bottom: 1rem; }
.hero--home .hero__support { margin-bottom: 1.5rem; }
.hero--home .cta-row { gap: 1.1rem 1.5rem; }
.hero__brand { margin-bottom: 1rem; }
#services.section,
#process.section,
#areas.section,
#hiring.section { padding-top: var(--space-section-y); padding-bottom: var(--space-section-y); }
#services .section__eyebrow,
#process .section__eyebrow,
#areas .section__eyebrow,
#hiring .section__eyebrow { margin-bottom: 0.9rem; }
#services .section__title,
#process .section__title,
#areas .section__title,
#hiring .section__title { margin-bottom: 1.05rem; }
#services .section__lead,
#process .section__lead,
#areas .section__lead,
#hiring .section__lead { font-size: 1.18rem; line-height: 1.65; margin-bottom: var(--space-lead-mb); }
#services .grid-4 { gap: 1.85rem 2rem; }
.service-tile,
a.tile { padding: 1.4rem 0.25rem 0.85rem; }
#hiring .prose p + p { margin-top: 0.75rem; }
#hiring .grid-2 { gap: 1.75rem 2rem; }
.trust-strip { padding: 2.5rem 0 2.25rem; }
.proof-strip { padding: 2.75rem 0; }
.band-cta { padding: var(--space-band-y) 0; }
.band-cta .cta-row { gap: 1rem 1.35rem; }
.faq-list { gap: 0.85rem; }
.faq-item { padding: 0.85rem 1rem; }
.breadcrumbs { margin: 0.85rem 0 1rem; font-size: 0.9rem; }
.site-footer { padding: 2.5rem 0 2rem; }
.wrap--toc { gap: 1.65rem; padding-top: 1.35rem; }
.gbb-table-wrap { scroll-snap-type: x proximity; }

/* Pass 1859 - page-hero / convert-bar / section handoff breathe */
:root { --convert-bar-h: 5.1rem; --space-band-y: 3.75rem; }
.page-hero .section__eyebrow + h1 { margin-top: 0; }
.breadcrumbs { padding: 1rem var(--wrap-pad, 0) 0.75rem; font-size: 0.9rem; }
.wrap--toc .faq-jump { padding: 0.35rem 0 0.55rem; }
.wrap--toc .section__eyebrow { margin-bottom: 0.5rem; }

/* Pass 1861 - home trust / proof / next breathe (undo densify leftovers) */
.trust-strip--home { padding-block: 2.85rem 2.15rem; }
.proof-strip--home { padding-block: 2.85rem; }
#next.band-cta { padding-block: var(--space-band-y); }

/* Pass 1862 - FAQ + footer breathe */
.faq-list { gap: 0.85rem; }
.faq-item { padding-block: 0.95rem 1rem; }
.site-footer { padding: 3.35rem 0 2.35rem; }
.footer-grid, .footer-grid--4 { gap: 1.75rem 2rem; }

/* Pass 1863 - steps / money-talk / gallery breathe */
#checklist .steps,
#section-referrals-how-heading .steps,
#section-process-steps-heading .steps { gap: 1.55rem; }
#checklist .steps li,
#section-referrals-how-heading .steps li,
#section-process-steps-heading .steps li { padding-block: 1.05rem; }
.gallery-pair { padding-block: 0.85rem 1.55rem; }
#section-money-talk .path-list { gap: 0.7rem; }

/* Pass 1864 - town lists / handoffs / convert-steps breathe */
.town-list li { padding-block: 0.5rem; }
.contact-facts { padding: 0.65rem 1.25rem; }
.convert-steps { gap: 1.05rem; }
.wrap--toc .faq-jump { padding: 0.35rem 0 0.55rem; }

/* Pass 1865 - prose lists / blog / oficios / careers breathe */
.blog-grid { gap: 1.45rem 1.35rem; }
.blog-card { padding: 1.35rem 1.2rem 1.4rem; }
#oficios .tile-grid { gap: 1.45rem 1.55rem; }
.contact-callout { padding: 1.1rem 1.25rem; }

/* Pass 1866 - section tokens / GBB / convert-expect / ad-hero breathe */
.gbb-table th, .gbb-table td { padding: 1.15rem 1.25rem; }
.convert-expect { padding: 2.15rem 1.45rem 2.25rem; }
.ad-hero { padding-block: 3.25rem 2.65rem; }
.ad-form-wrap { padding-block: 2.65rem 2.85rem; }

/* Pass 1867 - trust / proof / TOC / form UI / gallery filters breathe */
.trust-strip { padding: 2.5rem 0 2.25rem; }
.proof-strip { padding: 2.75rem 0; }
.wrap--toc, .wrap--toc-home { padding-block: 1.35rem 1.4rem; }
.form-grid { padding: 1.65rem 1.45rem 1.75rem; gap: 1.25rem; }
.hire-form { padding: 1.45rem 1.3rem 1.55rem; gap: 1.15rem; }
.gallery-filters { gap: 0.7rem; margin-bottom: 1.4rem; }

/* Pass 1868 - trade pages / interior / counties / hire-card breathe */
#openings.prose > ul, #edge.prose > ul { margin-block: 0.75rem 1.15rem; }
#selective-interior.service-block, #remodel-partners.service-block { padding-block: 1.55rem 1.35rem; }
.areas-counties > div { padding: 1.45rem 1.35rem 1.55rem; }
.hire-card { padding: 1.5rem 1.35rem 1.55rem; }

/* Pass 1869 - privacy / thank-you / blog / process handoff breathe */
#section-collect .prose > p { margin-bottom: 0.95rem; }
.blog-body { padding-block: 2.35rem 2.85rem; }
.blog-aside { margin-top: 1.65rem; }
#process + #proof.proof-strip--home { padding-top: 3.15rem; }
.noscript-banner { padding: 0.85rem max(1rem, env(safe-area-inset-right, 0px)) 0.85rem max(1rem, env(safe-area-inset-left, 0px)); }

/* Pass 1870 - service-areas / weather / estimate-steps / nav chrome breathe */
#towns .areas-counties { gap: 1.35rem; }
.section.section--alt:has(#weather) .grid-2 { gap: 1.85rem 2.2rem; }
#steps.convert-expect { padding: 2.05rem 1.4rem 2.15rem; }
.site-nav a { padding: 0.5rem 0.75rem; font-size: 0.98rem; }
.band-cta .cta-row { gap: 1rem 1.35rem; }

/* Pass 1871 / 1880 - CertainTeed Master Craftsman certification */
.cred-mark {
  display: flex;
  align-items: center;
  gap: 1.15rem 1.5rem;
  margin-top: 1.85rem;
  padding: 1.25rem 0 0.35rem;
  border-top: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
  text-decoration: none;
  color: inherit;
  max-width: 44rem;
  min-height: 0;
  box-sizing: border-box;
}
.trust-strip--home .cred-mark {
  margin-top: 2.1rem;
  padding: 1.35rem 0 0.45rem;
}
.trust-strip--home:has(.cred-mark),
.trust-strip--home:has(.cred-mark-row) { padding-bottom: 2.35rem; }
/* Pass 1883 - home siding + roofing Master Craftsman badges */
.cred-mark-row {
  display: grid;
  gap: 1.35rem 2rem;
  margin-top: 2.1rem;
  padding: 1.35rem 0 0.45rem;
  border-top: 1px solid color-mix(in srgb, var(--ink) 10%, transparent);
  max-width: 52rem;
}
.cred-mark-row .cred-mark {
  margin-top: 0;
  padding: 0;
  border-top: none;
  max-width: none;
}
@media (min-width: 720px) {
  .cred-mark-row { grid-template-columns: 1fr 1fr; align-items: start; }
}
.cred-mark:hover .cred-mark__text strong,
.cred-mark:focus-visible .cred-mark__text strong { color: var(--gold-soft); }
.cred-mark:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 0.35rem;
  border-radius: 0.25rem;
}
.cred-mark__badge {
  width: 6.75rem;
  max-width: none;
  height: auto;
  flex: 0 0 auto;
  display: block;
  border-radius: 0;
  box-shadow: none;
}
.cred-mark__text {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}
.cred-mark__text strong {
  font-family: var(--font-serif, "Source Serif 4", Georgia, serif);
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.3;
  color: var(--ink);
}
.cred-mark__text span {
  font-size: 0.96rem;
  line-height: 1.5;
  color: var(--muted);
  max-width: 42ch;
}
.cred-mark--about {
  margin: 1rem 0 1.5rem;
  padding: 0;
  border-top: none;
  max-width: 40rem;
}
.cred-mark--about .cred-mark__badge { width: 7.25rem; max-width: none; }
.cred-mark--inline {
  margin: 0 0 1.35rem;
  padding: 0;
  border: none;
  pointer-events: none;
  max-width: 12rem;
}
.cred-mark--inline .cred-mark__badge {
  width: 9.5rem;
  max-width: 100%;
  box-shadow: none;
}
.cert-figure {
  margin: 1.5rem 0 0;
  padding: 0;
  max-width: 52rem;
}
.cert-figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.2rem;
  box-shadow: 0 0.35rem 1.25rem color-mix(in srgb, var(--ink) 12%, transparent);
}
.cert-figure figcaption {
  margin-top: 0.85rem;
  font-size: 0.94rem;
  line-height: 1.5;
  color: var(--muted);
  max-width: 52ch;
}
#certificate.section { padding-bottom: var(--space-section-y); }
#certificate .section__title { margin-bottom: 0.75rem; }
#certificate .section__lead { margin-bottom: 0.35rem; max-width: 48ch; }
#details.section { padding-top: var(--space-section-y); }
#certificate + #details.section { padding-top: var(--space-section-y); }
#details + #next.band-cta { padding-top: var(--space-band-y); }
#details .section__title { margin-bottom: 0.95rem; }
#details .prose > ul { margin: 0.95rem 0 1.15rem; padding-left: 1.25rem; }
#details .prose > ul li { margin-bottom: 0.5rem; line-height: 1.58; }
#credentials .section__title { margin-bottom: 0.85rem; }
@media (max-width: 640px) {
  .cred-mark,
  .trust-strip--home .cred-mark {
    flex-direction: row;
    align-items: center;
    gap: 0.95rem;
  }
  .cred-mark__badge,
  .cred-mark--about .cred-mark__badge {
    width: 5.75rem;
    max-width: none;
  }
}

/* Pass 1880 - hero logo stack after brand label removal */
.hero--home .hero__logo { margin-bottom: 1.15rem; }

/* Pass 1881 - footer contact / COI compound rhythm */
.site-footer { padding: 3.5rem 0 2.45rem; }
.footer-grid--4 { gap: 1.85rem 2.15rem; margin-bottom: 2rem; }
.site-footer .footer-grid--4 li { margin-bottom: 0; }
.footer-bottom { padding-top: 1.55rem; gap: 0.7rem 1.45rem; }
#estimate .form-note--tight { margin-top: 0.85rem; padding: 0.75rem 0.95rem; line-height: 1.55; }
#estimate .contact-facts li:has(a[href*="certificate"]) { padding-block: 1rem; }

/* Pass 1882 - band-cta fine print (undo densify + drop 44px meta pads) */
.band-cta p:not(.band-cta__fine) { margin-bottom: 1.4rem; }
.band-cta .cta-row { margin-bottom: 0; }

/* Pass 1922 - post-TOC service rhythm + title-case heading stack */
.media-slot--hero-page { margin-top: 2.1rem; }
.page-hero + .wrap:has(.media-slot--hero-page) + .section {
  padding-top: var(--space-section-y-tight);
}
.section__eyebrow { margin-bottom: 0.75rem; }
.section__title { margin-bottom: 0.95rem; }
.page-hero h1 { margin-bottom: 0.95rem; }

/* Pass 1923 - home section stack + trust/proof densify */
.hero--home .hero__support { margin-bottom: 1.35rem; }
.hero--home .hero__phone-note { margin-top: 0.85rem; }
.trust-strip--home { padding: 2.55rem 0 1.95rem; }
.trust-strip--home:has(.cred-mark),
.trust-strip--home:has(.cred-mark-row) { padding-bottom: 2.1rem; }
.trust-strip--home .trust-strip__grid { gap: 1.55rem 1.85rem; }
.trust-strip--home article { padding: 1rem 0.15rem 0.45rem; }
.trust-strip--home h3 { margin-bottom: 0.55rem; }
.proof-strip--home { padding: 2.55rem 0; }
#process + #proof.proof-strip--home { padding-top: 2.85rem; }
#services .section__eyebrow,
#process .section__eyebrow,
#areas .section__eyebrow,
#hiring .section__eyebrow { margin-bottom: 0.75rem; }
#services .section__title,
#process .section__title,
#areas .section__title,
#hiring .section__title { margin-bottom: 0.95rem; }
.cred-mark-row { margin-top: 1.65rem; gap: 1.15rem 1.45rem; }

/* Pass 1924 - page-hero + expect/position-band densify */
.page-hero { padding: 3.45rem 0 2.25rem; }
.page-hero .section__eyebrow { margin-bottom: 0.7rem; }
.page-hero .cta-row { margin-top: 1.25rem; gap: 0.95rem 1.2rem; }
.page-hero .cta-row--after-lead { margin-top: 1.2rem; }
.page-hero p { line-height: 1.6; }
.position-band h2 { margin-bottom: 0.85rem; }
#expect .position-band__lead,
#expect .section__lead,
#expect .position-band h2 + .section__lead { margin-bottom: 1.15rem; }
#expect .position-grid { gap: 1.2rem 1.35rem; margin-top: 1.2rem; }
#expect .position-grid article { padding: 1.05rem 0.15rem 0.5rem; }
#expect .position-grid h3 { margin-bottom: 0.55rem; }
#gbb .section__lead { margin-bottom: 1.15rem; }
#gbb .fine-print { margin-top: 1.05rem; }
#gbb .gbb-table-wrap { margin-top: 1.3rem; }

/* Pass 1925 - breadcrumbs / band-cta / openings densify */
main > .breadcrumbs ol { padding: 0.45rem 0; }
main > .breadcrumbs + .page-hero { padding-top: 1.85rem; padding-bottom: 1.55rem; }
.band-cta { padding: 3.15rem 0; }
.band-cta h2 { margin-bottom: 0.9rem; }
.band-cta p:not(.band-cta__fine) { margin-bottom: 1.25rem; font-size: 1.05rem; line-height: 1.6; }
.band-cta p.band-cta__fine, .band-cta__fine { margin-top: 1.15rem; }
#next.band-cta h2 { margin-bottom: 0.85rem; }
#section-sec-windows-openings-done-right .grid-2,
#section-sec-gutters-water-control-at-the-edge .grid-2 { gap: 1.65rem 2rem; }
@media (min-width: 800px) {
  #section-sec-windows-openings-done-right .grid-2,
  #section-sec-gutters-water-control-at-the-edge .grid-2 { gap: 1.8rem 2.2rem; }
}
#openings.prose > ul, #edge.prose > ul { margin: 0.65rem 0 1rem; }
#openings.prose > p, #edge.prose > p, #with-siding.prose > p,
#section-sec-gutters-water-control-at-the-edge #areas.prose > p { margin-bottom: 0.9rem; }
#compare .grid-2 { gap: 1.65rem 2rem; }
@media (min-width: 800px) {
  #compare .grid-2 { gap: 1.8rem 2.2rem; }
}
#proof .section__lead { margin-bottom: 1.1rem; }

/* Pass 1926 - path / together / proof densify */
#path.section:not(.convert-expect) {
  padding-top: var(--space-section-y-tight);
  padding-bottom: var(--space-section-y-tight);
}
#gbb + #path.section:not(.convert-expect) { padding-top: var(--space-section-y-tight); }
#path.section:not(.convert-expect) .grid-2 { gap: 1.55rem 1.85rem; }
@media (min-width: 800px) {
  #path.section:not(.convert-expect) .grid-2 { gap: 1.7rem 2.05rem; }
}
#path.section:not(.convert-expect) .section__eyebrow,
#together .section__eyebrow { margin-bottom: 0.5rem; }
#path.section:not(.convert-expect) .section__title,
#together .section__title { margin-bottom: 0.8rem; }
#path.section:not(.convert-expect) .prose > ol { margin: 0.55rem 0 0; }
#path.section:not(.convert-expect) .prose > ol li + li { margin-top: 0.4rem; }
#path.section:not(.convert-expect) .prose > p { margin-bottom: 0.85rem; }
#path.section:not(.convert-expect) + #proof.section { padding-top: var(--space-section-y-tight); }
#proof .section__eyebrow { margin-bottom: 0.5rem; }
#proof .section__title { margin-bottom: 0.85rem; }
#proof .btn--dark { margin-top: 0.35rem; }
#proof.section:has(+ #next) { padding-bottom: var(--space-section-y-tight); }

/* Pass 1927 - interior stack densify */
#exterior-first.section,
#section-art-interior-what-we-can-finish-inside.section,
#section-sec-interior-need-a-gc-trade-partner.section {
  padding-top: var(--space-section-y-tight);
  padding-bottom: var(--space-section-y-tight);
}
.page-hero + .wrap + #exterior-first.section,
#exterior-first + #section-art-interior-what-we-can-finish-inside.section,
#section-art-interior-what-we-can-finish-inside + #section-sec-interior-need-a-gc-trade-partner.section {
  padding-top: var(--space-section-y-tight);
}
#exterior-first .faq-jump { margin-bottom: 0.95rem; padding-bottom: 0.55rem; }
#exterior-first .section__eyebrow,
#section-art-interior-what-we-can-finish-inside .section__eyebrow,
#section-sec-interior-need-a-gc-trade-partner .section__eyebrow { margin-bottom: 0.5rem; }
#exterior-first .section__title,
#section-art-interior-what-we-can-finish-inside .section__title,
#section-sec-interior-need-a-gc-trade-partner .section__title { margin-bottom: 0.85rem; }
#exterior-first .prose > p { margin-bottom: 0.7rem; }
#selective-interior.service-block,
#remodel-partners.service-block { padding: 1.25rem 0 1.1rem; }
#selective-interior .service-block__grid,
#remodel-partners .service-block__grid { gap: 1.25rem 1.55rem; }
#selective-interior .prose > ul,
#remodel-partners .prose > ul { margin: 0.55rem 0 0.9rem; }
#selective-interior .prose > ul li + li,
#remodel-partners .prose > ul li + li { margin-top: 0.35rem; }
#selective-interior .prose > p,
#remodel-partners .prose > p { margin-bottom: 0.8rem; }
#section-sec-interior-need-a-gc-trade-partner .grid-2 { gap: 1.55rem 1.85rem; }
@media (min-width: 800px) {
  #section-sec-interior-need-a-gc-trade-partner .grid-2 { gap: 1.7rem 2.05rem; }
}
#section-sec-interior-need-a-gc-trade-partner .prose > p { margin-bottom: 0.65rem; }
#section-sec-interior-need-a-gc-trade-partner.section:has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}

/* Pass 1928 - contractors stack densify */
#capability.section,
#vendor-docs.section,
#partnership.section,
#section-sec-for-contractors-keep-the-funnels-clear.section {
  padding-top: var(--space-section-y-tight);
  padding-bottom: var(--space-section-y-tight);
}
.wrap--toc + #capability.section,
#capability + #vendor-docs.section,
#vendor-docs + #partnership.section,
#partnership + #section-sec-for-contractors-keep-the-funnels-clear.section {
  padding-top: var(--space-section-y-tight);
}
#capability .section__eyebrow,
#vendor-docs .section__eyebrow,
#partnership .section__eyebrow,
#section-sec-for-contractors-keep-the-funnels-clear .section__eyebrow { margin-bottom: 0.5rem; }
#capability .section__title,
#vendor-docs .section__title,
#partnership .section__title,
#section-sec-for-contractors-keep-the-funnels-clear .section__title { margin-bottom: 0.85rem; }
#capability .section__lead { margin-bottom: 0.95rem; }
#capability .grid-2--roomy { gap: 1.5rem 1.75rem; margin-top: 1.15rem; }
#capability .prose > h3 { margin-bottom: 0.7rem; }
#capability .prose > ul,
#rfq.prose > ul { margin: 0.55rem 0 0.95rem; }
#capability .prose > ul li + li,
#rfq.prose > ul li + li { margin-top: 0.35rem; }
#vendor-docs .grid-2,
#section-sec-for-contractors-keep-the-funnels-clear .grid-2 { gap: 1.4rem 1.65rem; }
@media (min-width: 800px) {
  #vendor-docs .grid-2,
  #section-sec-for-contractors-keep-the-funnels-clear .grid-2 { gap: 1.55rem 1.9rem; }
}
#vendor-docs .prose > p,
#section-sec-for-contractors-keep-the-funnels-clear .prose > p { margin-bottom: 0.65rem; }
#vendor-docs .prose > ul { margin: 0.55rem 0 0.9rem; }
#vendor-docs .prose > ul li + li { margin-top: 0.35rem; }
#partnership .convert-steps { margin-top: 1.05rem; gap: 0.85rem; }
#partnership .convert-steps li { padding: 1rem 1rem 1.05rem; }
#section-sec-for-contractors-keep-the-funnels-clear.section:has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}
main:has(#capability) > .trust-strip { padding: 2.15rem 0 1.85rem; }
main:has(#capability) > .trust-strip .trust-strip__grid { gap: 1.45rem 1.7rem; }
@media (min-width: 720px) {
  main:has(#capability) > .trust-strip .trust-strip__grid { gap: 1.65rem 2rem; }
}
main:has(#capability) > .trust-strip article { padding: 1.05rem 0 0.35rem; }
main:has(#capability) > .trust-strip h3 { margin-bottom: 0.55rem; }

/* Pass 1929 - storm stack densify */
#section-sec-storm-look-document-plan-the-repair.section,
#checklist.section {
  padding-top: var(--space-section-y-tight);
  padding-bottom: var(--space-section-y-tight);
}
.page-hero + #section-sec-storm-look-document-plan-the-repair.section,
#section-sec-storm-look-document-plan-the-repair + #checklist.section {
  padding-top: var(--space-section-y-tight);
}
#section-sec-storm-look-document-plan-the-repair .faq-jump {
  margin-bottom: 0.95rem;
  padding-bottom: 0.55rem;
}
#section-sec-storm-look-document-plan-the-repair .section__eyebrow,
#checklist .section__eyebrow { margin-bottom: 0.5rem; }
#section-sec-storm-look-document-plan-the-repair .section__title,
#checklist .section__title { margin-bottom: 0.7rem; }
#section-sec-storm-look-document-plan-the-repair .grid-2--follow {
  margin-top: 0.85rem;
  gap: 1.4rem 1.65rem;
}
@media (min-width: 800px) {
  #section-sec-storm-look-document-plan-the-repair .grid-2--follow { gap: 1.55rem 1.9rem; }
}
#section-sec-storm-look-document-plan-the-repair .prose > p { margin-bottom: 0.7rem; }
#section-sec-storm-look-document-plan-the-repair .prose > ul { margin: 0.45rem 0 0.75rem; }
#document .section__eyebrow,
#insurance .section__eyebrow { margin-bottom: 0.5rem; }
#document .section__title,
#insurance .section__title { margin-bottom: 0.7rem; }
#checklist .steps { gap: 1.25rem; margin-top: 1.1rem; }
#checklist .steps li { padding-block: 0.9rem; padding-left: 1.05rem; gap: 0.4rem 1rem; }
#checklist .steps h3 { margin-bottom: 0.45rem; }
#checklist .steps p { margin-bottom: 0.35rem; }
#checklist .step-nav { margin-top: 0.6rem !important; }
#checklist .stack-mt--lg { margin-top: 1.1rem; }
#checklist.section:has(+ #next) { padding-bottom: var(--space-section-y-tight); }

/* Pass 1930 - process stack densify */
#section-process-steps-heading.section,
#storm.section {
  padding-top: var(--space-section-y-tight);
  padding-bottom: var(--space-section-y-tight);
}
.page-hero + #section-process-steps-heading.section,
#section-process-steps-heading + #storm.section {
  padding-top: var(--space-section-y-tight);
}
#section-process-steps-heading .faq-jump {
  margin-bottom: 0.95rem;
  padding-bottom: 0.55rem;
}
#section-process-steps-heading .faq-jump .section__eyebrow { margin-bottom: 0.5rem; }
#section-process-steps-heading .grid-2--follow {
  margin-top: 1.1rem;
  gap: 1.55rem 1.85rem;
}
@media (min-width: 800px) {
  #section-process-steps-heading .grid-2--follow { gap: 1.7rem 2.05rem; }
}
#section-process-steps-heading .steps { gap: 1.25rem; }
#section-process-steps-heading .steps li {
  padding-block: 0.9rem;
  padding-left: 1.05rem;
  gap: 0.4rem 1rem;
}
#section-process-steps-heading .steps h3 { margin-bottom: 0.45rem; }
#section-process-steps-heading .steps p { margin-bottom: 0.35rem; }
#section-process-steps-heading .step-nav { margin-top: 0.6rem !important; }
#section-process-steps-heading .stack-mt--sm { margin-top: 0.85rem; }
#storm .section__title { margin-bottom: 0.85rem; }
#storm .prose > p,
#storm .wrap > p { margin-bottom: 0.8rem; }
#storm.section:has(+ #next) { padding-bottom: var(--space-section-y-tight); }

/* Pass 1931 - financing money-talk densify */
#section-money-talk.section {
  padding-top: var(--space-section-y-tight);
  padding-bottom: var(--space-section-y-tight);
}
.page-hero + #section-money-talk.section { padding-top: var(--space-section-y-tight); }
#section-money-talk .faq-jump {
  margin-bottom: 0.95rem;
  padding-bottom: 0.55rem;
}
#section-money-talk .faq-jump .section__eyebrow { margin-bottom: 0.5rem; }
#section-money-talk h2 { margin: 1.1rem 0 0.6rem; }
#section-money-talk h2:not(#money-talk) { margin: 0.9rem 0 0.5rem; }
#section-money-talk #money-talk { margin-top: 0.4rem; }
#section-money-talk .prose > p,
#section-money-talk.prose > p,
#section-money-talk .wrap > p { margin-bottom: 0.6rem; }
#section-money-talk .path-list { gap: 0.55rem; margin: 0.45rem 0 0.95rem; }
#section-money-talk .path-list > li { padding: 0.5rem 0.15rem 0.5rem 0.85rem; }
#section-money-talk #wont + ul { margin: 0.45rem 0 0.9rem; }
#section-money-talk #wont + ul li + li { margin-top: 0.35rem; }
#section-money-talk .form-note { margin: 0.7rem 0 0.2rem; padding: 0.6rem 0.8rem; }
#section-money-talk .stack-mt--lg { margin-top: 1.1rem; }
#section-money-talk.section:has(+ #next) { padding-bottom: var(--space-section-y-tight); }

/* Pass 1932 - gallery filters / pairs densify */
#filters.section {
  padding-top: var(--space-section-y-tight);
  padding-bottom: var(--space-section-y-tight);
}
.wrap--toc + #filters.section { padding-top: var(--space-section-y-tight); }
#filters .section__lead { margin-bottom: 0.85rem; font-size: 1.05rem; line-height: 1.55; }
#filters .section__eyebrow { margin-bottom: 0.5rem; }
.gallery-filters { margin: 0 0 1.15rem; gap: 0.55rem 0.65rem; padding: 0.25rem 0 0.65rem; }
.gallery-grid { gap: 1.65rem 0; }
.gallery-pair { padding: 0.65rem 0.1rem 1.2rem; }
.gallery-pair h3 { margin: 0.75rem 0 0.45rem; }
.gallery-pair p { font-size: 1rem; line-height: 1.55; }
.gallery-empty { margin: 0.85rem 0 1.15rem; padding: 0.85rem 1rem; }
#filters.section:has(+ #next) { padding-bottom: var(--space-section-y-tight); }

/* Pass 1933 - services hub densify */
#section-svc-roofing-heading.section {
  padding-top: var(--space-section-y-tight);
  padding-bottom: var(--space-section-y-tight);
}
.wrap--toc + #section-svc-roofing-heading.section { padding-top: var(--space-section-y-tight); }
#section-svc-roofing-heading .service-block { padding: 1.1rem 0 0.95rem; }
#section-svc-roofing-heading .service-block--follow { padding-top: 1.1rem; margin-top: 1rem; }
#section-svc-roofing-heading .service-block__grid { gap: 1.15rem 1.4rem; }
@media (min-width: 800px) {
  #section-svc-roofing-heading .service-block__grid { gap: 1.25rem 1.6rem; }
}
#section-svc-roofing-heading .section__eyebrow { margin-bottom: 0.45rem; }
#section-svc-roofing-heading .section__title { margin-bottom: 0.65rem; }
#section-svc-roofing-heading .prose > p { margin-bottom: 0.6rem; }
#section-svc-roofing-heading .prose > ul { margin: 0.5rem 0 0.85rem; }
#section-svc-roofing-heading .prose > ul li + li { margin-top: 0.35rem; }
#section-svc-roofing-heading .section__lead--flush { margin-top: 0.6rem; }
#section-svc-roofing-heading.section:has(+ #next) { padding-bottom: var(--space-section-y-tight); }

/* Pass 1942 - hero → On this page handoff (after Jump trims; light only) */
.page-hero + .wrap--toc,
.ad-hero + .wrap--toc {
  padding-top: 1.05rem;
  padding-bottom: 1.1rem;
}
main:has(.ad-hero) > .wrap--toc,
main:has(#weather) > .wrap--toc {
  padding-top: 1.05rem;
  padding-bottom: 1.1rem;
}
.page-hero + #who.section { padding-top: var(--space-section-y-tight); }
#who .wrap--toc {
  margin-bottom: 0.95rem;
  padding-top: 0.9rem;
  padding-bottom: 0.95rem;
}

/* Pass 1943 - about credentials handoff (after Jump trim; light) */
#who + #credentials.section { padding-top: var(--space-section-y-tight); }
#credentials.section {
  padding-top: var(--space-section-y-tight);
  padding-bottom: var(--space-section-y-tight);
}
#credentials.section:has(+ #next) { padding-bottom: var(--space-section-y-tight); }

/* Pass 1944 - town TOC → services handoff (after thinner On this page; light) */
.wrap--toc + #services.section { padding-top: var(--space-section-y-tight); }
main:has(#weather) > #services.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1945 - town services → weather handoff (light) */
main:has(#weather) > #services.section:has(+ .section.section--alt) {
  padding-bottom: var(--space-section-y-tight);
}
#services + .section.section--alt:has(#weather) {
  padding-top: var(--space-section-y-tight);
}
main:has(#weather) > .section.section--alt:has(#weather) {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1946 - town weather → estimate CTA handoff (light) */
.section.section--alt:has(#weather):has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}
main:has(#weather) > .section.section--alt:has(#weather):has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}

/* Pass 1947 - careers/empleos TOC → why handoff (light) */
.wrap--toc + #why.section,
.wrap--toc + #por-que.section {
  padding-top: var(--space-section-y-tight);
}
main:has(#why) > #why.section,
main:has(#por-que) > #por-que.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1948 - careers/empleos why → roles handoff (light) */
#why.section:has(+ #roles) { padding-bottom: var(--space-section-y-tight); }
#por-que.section:has(+ #puestos) { padding-bottom: var(--space-section-y-tight); }
#why + #roles.section,
#por-que + #puestos.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1949 - careers/empleos roles → apply handoff (light) */
#roles.section:has(+ #apply) { padding-bottom: var(--space-section-y-tight); }
#puestos.section:has(+ #aplicar) { padding-bottom: var(--space-section-y-tight); }
#roles + #apply.section,
#puestos + #aplicar.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1950 - careers/empleos apply → CTA handoff (light) */
#apply.section:has(+ #resumen-es) { padding-bottom: var(--space-section-y-tight); }
#apply + #resumen-es.section { padding-top: var(--space-section-y-tight); }
#resumen-es.section:has(+ #next) { padding-bottom: var(--space-section-y-tight); }
#aplicar.section:has(+ #next) { padding-bottom: var(--space-section-y-tight); }

/* Pass 1951 - certification TOC → certificate handoff (light) */
.wrap--toc + #certificate.section { padding-top: var(--space-section-y-tight); }
main:has(#certificate) > #certificate.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1952 - certification certificate → details handoff (light) */
#certificate.section:has(+ #details) { padding-bottom: var(--space-section-y-tight); }
#certificate + #details.section { padding-top: var(--space-section-y-tight); }

/* Pass 1953 - certification details → CTA handoff (light) */
#details.section:has(+ #next) { padding-bottom: var(--space-section-y-tight); }

/* Pass 1954 - 404 TOC → trades handoff (light) */
.wrap--toc + #trades.section { padding-top: var(--space-section-y-tight); }
main:has(#trades) > #trades.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1955 - 404 trades → towns handoff (light) */
#trades.section:has(+ #towns) { padding-bottom: var(--space-section-y-tight); }
#trades + #towns.section { padding-top: var(--space-section-y-tight); }

/* Pass 1956 - 404 towns → help handoff (light) */
#towns.section:has(+ #help) { padding-bottom: var(--space-section-y-tight); }
#towns + #help.section { padding-top: var(--space-section-y-tight); }

/* Pass 1957 - 404 help → hire handoff (light) */
#help.section:has(+ #hire) { padding-bottom: var(--space-section-y-tight); }
#help + #hire.section { padding-top: var(--space-section-y-tight); }

/* Pass 1958 - 404 hire → forms handoff (light) */
#hire.section:has(+ #forms) { padding-bottom: var(--space-section-y-tight); }
#hire + #forms.section { padding-top: var(--space-section-y-tight); }

/* Pass 1959 - 404 forms → CTA handoff (light) */
#forms.section:has(+ #next) { padding-bottom: var(--space-section-y-tight); }

/* Pass 1961 - home customer reviews */
#reviews.section {
  padding-top: var(--space-section-y-tight);
  padding-bottom: var(--space-section-y-tight);
}
.proof-strip--home + #reviews.section { padding-top: var(--space-section-y-tight); }
#reviews + #areas.section { padding-top: var(--space-section-y-tight); }
#reviews .section__lead { margin-bottom: 1.35rem; max-width: 48ch; }
.reviews-grid {
  display: grid;
  gap: 1.85rem 1.75rem;
  grid-template-columns: 1fr;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 880px) {
  .reviews-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem 1.65rem; }
}
.review-quote {
  margin: 0;
  padding: 1.15rem 0 0;
  border-top: 2px solid color-mix(in srgb, var(--gold) 55%, transparent);
  background: transparent;
  scroll-margin-top: calc(var(--header-h) + 1.25rem + env(safe-area-inset-top, 0px));
}
.review-quote__rating {
  margin: 0 0 0.75rem;
  font-size: 0.95rem;
  letter-spacing: 0.12em;
  color: var(--gold);
  line-height: 1;
}
.review-quote__body {
  margin: 0 0 1.1rem;
  padding: 0;
  border: 0;
  font-family: var(--font-serif);
  font-size: 1.02rem;
  line-height: 1.58;
  color: color-mix(in srgb, var(--ink) 92%, var(--slate));
}
.review-quote__body p { margin: 0 0 0.7rem; }
.review-quote__body p:last-child { margin-bottom: 0; }
.review-quote__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.85rem;
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.4;
  color: var(--slate);
}
.review-quote__meta cite {
  font-style: normal;
  font-weight: 650;
  font-family: var(--font-ui);
  color: var(--ink);
}
.review-quote__job {
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--gold) 42%, var(--slate));
}
.review-quote__job::before {
  content: "·";
  margin-right: 0.85rem;
  color: color-mix(in srgb, var(--gold) 35%, var(--mist));
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

/* Pass 1960 - contact/contacto trust → path handoff (light) */
main:has(#path.convert-expect) > #trust.trust-strip:has(+ #path),
main:has(#camino.convert-expect) > #confianza.trust-strip:has(+ #camino) {
  padding-bottom: 1.85rem;
}
#trust + #path.convert-expect,
#confianza + #camino.convert-expect {
  padding-top: 1.65rem;
}

/* Pass 1963 - contact/contacto path → estimate handoff (light) */
#path.convert-expect:has(+ #estimate),
#camino.convert-expect:has(+ #estimate) {
  padding-bottom: 1.65rem;
}
#path.convert-expect + #estimate.section,
#camino.convert-expect + #estimate.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1964 - contact/contacto estimate → CTA handoff (light) */
#estimate.section:has(+ #next) { padding-bottom: var(--space-section-y-tight); }

/* Pass 1965 - thank-you hero → expect handoff (light) */
main:has(#resend) > .page-hero + #expect.section,
main:has(#resend) > #expect.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1966 - thank-you expect → resend handoff (light) */
main:has(#resend) > #expect.section:has(+ #resend) {
  padding-bottom: var(--space-section-y-tight);
}
#expect + #resend.section { padding-top: var(--space-section-y-tight); }

/* Pass 1967 - thank-you resend → hire handoff (light) */
#resend.section:has(+ #hire) { padding-bottom: var(--space-section-y-tight); }
#resend + #hire.section { padding-top: var(--space-section-y-tight); }

/* Pass 1968 - thank-you hire → CTA handoff (light) */
#hire.section:has(+ #next) { padding-bottom: var(--space-section-y-tight); }

/* Pass 1969 - referrals hero → how handoff (light) */
.page-hero + #section-referrals-how-heading.section {
  padding-top: var(--space-section-y-tight);
}
#section-referrals-how-heading.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1970 - referrals how → rules handoff (light) */
#section-referrals-how-heading.section:has(+ #rules) {
  padding-bottom: var(--space-section-y-tight);
}
#section-referrals-how-heading + #rules.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1971 - referrals rules → CTA handoff (light) */
#rules.section:has(+ #next) { padding-bottom: var(--space-section-y-tight); }

/* Pass 1972 - estimate-landing TOC → steps handoff (light) */
.wrap--toc + #steps.convert-expect {
  padding-top: 1.55rem;
}

/* Pass 1973 - estimate-landing steps → form handoff (light) */
#steps.convert-expect:has(+ #estimate) { padding-bottom: 1.45rem; }
#steps + #estimate.ad-form-wrap { padding-top: 1.85rem; }

/* Pass 1974 - privacy hero → collect handoff (light) */
.page-hero + #section-collect.section {
  padding-top: var(--space-section-y-tight);
}
#section-collect.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1975 - privacy collect → CTA handoff (light) */
#section-collect.section:has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}

/* Pass 1977 - service-areas hero → towns handoff (light) */
.page-hero + #towns.section {
  padding-top: var(--space-section-y-tight);
}
#towns.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1978 - service-areas towns → nearby handoff (light) */
#towns.section:has(+ #nearby) {
  padding-bottom: var(--space-section-y-tight);
}
#towns + #nearby.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1979 - service-areas nearby → CTA handoff (light) */
#nearby.section:has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}

/* Pass 1980 - servicios-es TOC → confianza handoff (light) */
.wrap--toc + #confianza.trust-strip,
main:has(#oficios) > #confianza.trust-strip {
  padding: 1.95rem 0 1.85rem;
}

/* Pass 1981 - servicios-es confianza → oficios handoff (light) */
main:has(#oficios) > #confianza.trust-strip:has(+ #oficios) {
  padding-bottom: 1.65rem;
}
#confianza + #oficios.section,
.trust-strip + #oficios.section {
  padding-top: var(--space-section-y-tight);
}
#oficios.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1982 - servicios-es oficios → preguntas handoff (light) */
#oficios.section:has(+ #section-sec-servicios-es-preguntas-y-empleo) {
  padding-bottom: var(--space-section-y-tight);
}
#oficios + #section-sec-servicios-es-preguntas-y-empleo.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1983 - servicios-es preguntas → CTA handoff (light) */
#section-sec-servicios-es-preguntas-y-empleo.section:has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}

/* Pass 1984 - blog / blog-es hero → posts handoff (light) */
.page-hero + #posts.section {
  padding-top: var(--space-section-y-tight);
}
#posts.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1985 - blog / blog-es posts → CTA handoff (light) */
#posts.section:has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}

/* Pass 1986 - home areas → hiring handoff (light) */
#areas.section:has(+ #hiring) {
  padding-bottom: var(--space-section-y-tight);
}
#areas + #hiring.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1987 - home hiring → CTA handoff (light) */
#hiring.section:has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}

/* Pass 1988 - home trust → services handoff (light) */
.trust-strip--home + #services.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1989 - home services → process handoff (light) */
#services.section:has(+ #process) {
  padding-bottom: var(--space-section-y-tight);
}
#services + #process.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1990 - home process → proof handoff (light) */
#process.section:has(+ #proof) {
  padding-bottom: var(--space-section-y-tight);
}
#process + #proof.proof-strip--home {
  padding-top: 2.35rem;
}

/* Pass 1992 - windows/gutters openings|edge → proof handoff (light) */
#section-sec-windows-openings-done-right.section:has(+ #proof),
#section-sec-gutters-water-control-at-the-edge.section:has(+ #proof) {
  padding-bottom: var(--space-section-y-tight);
}
#section-sec-windows-openings-done-right + #proof.section,
#section-sec-gutters-water-control-at-the-edge + #proof.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1993 - roofing/siding expect → gbb handoff (light) */
#expect.section:has(+ #gbb) {
  padding-bottom: var(--space-section-y-tight);
}
#expect + #gbb.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1994 - roofing gbb → compare (+ siding gbb close) handoff (light) */
#gbb.section:has(+ #compare),
#gbb.section:has(+ #path) {
  padding-bottom: var(--space-section-y-tight);
}
#gbb + #compare.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1995 - roofing compare → proof handoff (light) */
#compare.section:has(+ #proof) {
  padding-bottom: var(--space-section-y-tight);
}
#compare + #proof.section {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1998 - trade proof → CTA handoff (light) */
#proof.section:has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}
#proof + #next.band-cta {
  padding-top: var(--space-section-y-tight);
}

/* Pass 1999 - about credentials → CTA handoff (light) */
#credentials.section:has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}
#credentials + #next.band-cta {
  padding-top: var(--space-section-y-tight);
}

/* Pass 2000 - gallery filters → CTA handoff (light) */
#filters.section:has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}
#filters + #next.band-cta {
  padding-top: var(--space-section-y-tight);
}

/* Pass 2001 - financing money-talk → CTA handoff (light) */
#section-money-talk.section:has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}
#section-money-talk + #next.band-cta {
  padding-top: var(--space-section-y-tight);
}

/* Pass 2002 - process storm → CTA handoff (light) */
#storm.section:has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}
#storm + #next.band-cta {
  padding-top: var(--space-section-y-tight);
}

/* Pass 2003 - services hub → CTA handoff (light) */
#section-svc-roofing-heading.section:has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}
#section-svc-roofing-heading + #next.band-cta {
  padding-top: var(--space-section-y-tight);
}

/* Pass 2004 - storm checklist → CTA handoff (light) */
#checklist.section:has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}
#checklist + #next.band-cta {
  padding-top: var(--space-section-y-tight);
}

/* Pass 2019 - home proof → reviews handoff (light) */
#proof.proof-strip--home:has(+ #reviews) {
  padding-bottom: var(--space-section-y-tight);
}
.proof-strip--home + #reviews.section {
  padding-top: var(--space-section-y-tight);
}
#reviews.section:has(+ #areas) {
  padding-bottom: var(--space-section-y-tight);
}
#reviews .section__eyebrow { margin-bottom: 0.5rem; }
#reviews .section__title { margin-bottom: 0.75rem; }
#reviews .section__lead { margin-bottom: 1.15rem; }
#reviews .reviews-grid { gap: 1.55rem 1.45rem; }
@media (min-width: 880px) {
  #reviews .reviews-grid { gap: 1.45rem 1.35rem; }
}
#reviews .review-quote { padding-top: 1rem; }
#reviews .review-quote__rating { margin-bottom: 0.65rem; }
#reviews .review-quote__body { margin-bottom: 0.9rem; }

/* Pass 2020 - home reviews → areas handoff (light) */
#reviews + #areas.section {
  padding-top: var(--space-section-y-tight);
}
#reviews + #areas .section__eyebrow { margin-bottom: 0.5rem; }
#reviews + #areas .section__title { margin-bottom: 0.75rem; }
#reviews + #areas .section__lead { margin-bottom: 1.1rem; max-width: 46ch; }
#reviews + #areas .cta-row--sm { margin-top: 1.15rem; gap: 0.9rem 1.2rem; }
#reviews + #areas .area-map { margin-top: 1.65rem; padding: 1.2rem; }
#reviews + #areas .area-map figcaption { margin-top: 0.85rem; font-size: 0.96rem; line-height: 1.52; }

/* Pass 2021 - home areas → hiring handoff (light) */
#areas.section:has(+ #hiring) .area-map {
  padding-bottom: 1.1rem;
}
#areas + #hiring.section {
  padding-top: var(--space-section-y-tight);
}
#areas + #hiring .section__eyebrow { margin-bottom: 0.5rem; }
#areas + #hiring .section__title { margin-bottom: 0.75rem; }
#areas + #hiring .section__lead { margin-bottom: 1.1rem; max-width: 46ch; }
#areas + #hiring .cta-row { margin-top: 1rem; gap: 0.9rem 1.15rem; }
#areas + #hiring .grid-2 { gap: 1.55rem 1.75rem; }
@media (min-width: 800px) {
  #areas + #hiring .grid-2 { gap: 1.65rem 1.9rem; }
}
#areas + #hiring .prose { padding-top: 1rem; }
@media (min-width: 800px) {
  #areas + #hiring .prose { padding: 0.05rem 0.05rem 0.15rem 1.1rem; }
}
#areas + #hiring .prose p + p { margin-top: 0.65rem; }

/* Pass 2022 - home hiring → CTA handoff (light) */
#hiring.section:has(+ #next) {
  padding-bottom: var(--space-section-y-tight);
}
#hiring + #next.band-cta {
  padding-top: var(--space-section-y-tight);
  padding-bottom: 3rem;
}
#hiring + #next.band-cta h2 {
  margin-bottom: 0.75rem;
}
#hiring + #next.band-cta p:not(.band-cta__fine) {
  margin-bottom: 1.15rem;
  max-width: 44ch;
  font-size: 1.06rem;
  line-height: 1.58;
}
#hiring + #next.band-cta .cta-row {
  gap: 0.9rem 1.2rem;
}
#hiring + #next.band-cta .band-cta__fine {
  margin-top: 1.1rem;
  font-size: 0.94rem;
  line-height: 1.5;
}

/* Pass 2023 - home hero → trust handoff (light) */
.hero--home:has(+ #trust) .hero__content {
  padding-bottom: 2.55rem;
}
.hero--home:has(+ #trust) .hero__support {
  margin-bottom: 1.2rem;
}
.hero--home:has(+ #trust) .cta-row {
  gap: 0.95rem 1.3rem;
}
.hero--home:has(+ #trust) .hero__phone-note {
  margin-top: 0.7rem;
}
.hero--home + .trust-strip--home {
  padding-top: 2.25rem;
  padding-bottom: 1.85rem;
}
.hero--home + .trust-strip--home .trust-strip__grid {
  gap: 1.4rem 1.7rem;
}
@media (min-width: 720px) {
  .hero--home + .trust-strip--home .trust-strip__grid {
    gap: 1.55rem 1.95rem;
  }
}
.hero--home + .trust-strip--home article {
  padding: 0.9rem 0.15rem 0.4rem;
}
.hero--home + .trust-strip--home h3 {
  margin-bottom: 0.5rem;
}
.hero--home + .trust-strip--home p {
  font-size: 1.02rem;
  line-height: 1.55;
}

/* Pass 2064 - mobile token re-lock (beats Pass 1858/1859 late :root) */
@media (max-width: 719px) {
  :root {
    --space-section-y: 3.25rem;
    --space-section-y-tight: 2.5rem;
    --space-hero-home-y: 2.5rem 0 1.75rem;
    --space-band-y: 2.75rem;
    --space-page-hero-y: 2.65rem 0 1.85rem;
    --convert-bar-h: 3.75rem;
  }
}

/* Pass 2072 - mobile reviews densify re-win (beats Pass 2019 late) */
@media (max-width: 719px) {
  #reviews.section {
    padding-top: 2.35rem;
    padding-bottom: 2.25rem;
  }
  #reviews.section:has(+ #areas) {
    padding-bottom: 2.25rem;
  }
  .proof-strip--home + #reviews.section {
    padding-top: 2.35rem;
  }
  #reviews .section__eyebrow {
    margin-bottom: 0.4rem;
  }
  #reviews .section__title {
    margin-bottom: 0.65rem;
  }
  #reviews .section__lead {
    margin-bottom: 1rem;
    font-size: 1.05rem;
    line-height: 1.55;
    max-width: 42ch;
  }
  #reviews .reviews-grid {
    gap: 1.25rem;
  }
  #reviews .review-quote {
    padding-top: 0.85rem;
  }
  #reviews .review-quote__rating {
    margin-bottom: 0.55rem;
    font-size: 0.9rem;
  }
  #reviews .review-quote__body {
    margin-bottom: 0.75rem;
    font-size: 0.98rem;
    line-height: 1.55;
  }
  #reviews .review-quote__body p {
    margin-bottom: 0.55rem;
  }
  #reviews .review-quote__meta {
    gap: 0.25rem 0.65rem;
    font-size: 0.88rem;
  }
  #reviews .review-quote__job {
    font-size: 0.78rem;
  }
  #reviews .review-quote__job::before {
    margin-right: 0.65rem;
  }
}

/* Pass 2073 - mobile reviews→areas handoff re-win (beats Pass 2020 late) */
@media (max-width: 719px) {
  #reviews + #areas.section {
    padding-top: 2.35rem;
  }
  #reviews + #areas .section__eyebrow {
    margin-bottom: 0.4rem;
  }
  #reviews + #areas .section__title {
    margin-bottom: 0.65rem;
  }
  #reviews + #areas .section__lead {
    margin-bottom: 0.95rem;
    max-width: 42ch;
    font-size: 1.05rem;
    line-height: 1.55;
  }
  #reviews + #areas .cta-row--sm {
    margin-top: 0.95rem;
    gap: 0.75rem 1rem;
  }
  #reviews + #areas .area-map {
    margin-top: 1.35rem;
    padding: 1rem;
  }
  #reviews + #areas .area-map figcaption {
    margin-top: 0.7rem;
    font-size: 0.92rem;
    line-height: 1.52;
  }
}

/* Pass 2074 - mobile areas→hiring handoff re-win (beats Pass 2021 late) */
@media (max-width: 719px) {
  #areas.section:has(+ #hiring) .area-map {
    padding-bottom: 0.85rem;
  }
  #areas + #hiring.section {
    padding-top: 2.35rem;
  }
  #areas + #hiring .section__eyebrow {
    margin-bottom: 0.4rem;
  }
  #areas + #hiring .section__title {
    margin-bottom: 0.65rem;
  }
  #areas + #hiring .section__lead {
    margin-bottom: 0.95rem;
    max-width: 42ch;
    font-size: 1.05rem;
    line-height: 1.55;
  }
  #areas + #hiring .cta-row {
    margin-top: 0.85rem;
    gap: 0.75rem 1rem;
  }
  #areas + #hiring .grid-2 {
    gap: 1.15rem;
  }
  #areas + #hiring .prose {
    padding-top: 0.75rem;
  }
  #areas + #hiring .prose p + p {
    margin-top: 0.55rem;
  }
}

/* Pass 2075 - mobile hiring→#next handoff re-win (beats Pass 2022 late; Pass 2061 sibling) */
@media (max-width: 719px) {
  #hiring.section:has(+ #next) {
    padding-bottom: 2.35rem;
  }
  #hiring + #next.band-cta,
  #hiring + section#next.band-cta {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }
  #hiring + #next.band-cta h2,
  #hiring + section#next.band-cta h2 {
    margin-bottom: 0.65rem;
    font-size: clamp(1.45rem, 6vw, 1.85rem);
    line-height: 1.24;
  }
  #hiring + #next.band-cta p:not(.band-cta__fine),
  #hiring + section#next.band-cta p:not(.band-cta__fine) {
    margin-bottom: 0.95rem;
    max-width: none;
    font-size: clamp(1.02rem, 3.8vw, 1.08rem);
    line-height: 1.55;
  }
  #hiring + #next.band-cta .cta-row,
  #hiring + section#next.band-cta .cta-row {
    gap: 0.75rem 0.95rem;
  }
  #hiring + #next.band-cta .band-cta__fine,
  #hiring + section#next.band-cta .band-cta__fine {
    margin-top: 0.85rem;
    font-size: 0.88rem;
    line-height: 1.52;
  }
}

/* Pass 2077 - mobile home hero restore (≤719 only; mirrors Pass 2076 desktop) */
@media (max-width: 719px) {
  .hero--home,
  section.hero.hero--home {
    padding-top: 0;
    min-height: min(72dvh, 560px);
    height: auto;
    max-height: 92dvh;
  }
  .hero--home .hero__media-slot,
  .hero--home .hero__scrim,
  section.hero.hero--home .hero__media-slot,
  section.hero.hero--home .hero__scrim {
    top: 0;
  }
  .hero--home .hero__media-slot img,
  section.hero.hero--home .hero__media-slot img {
    object-fit: cover;
    object-position: center top;
  }
  .hero--home .hero__logo,
  section.hero.hero--home .hero__logo {
    display: none;
  }
  .hero--home .hero__content,
  section.hero.hero--home .hero__content,
  section.hero.hero--home:has(+ #trust) .hero__content {
    padding: 2.5rem 0 1.75rem;
  }
  .hero--home .hero__headline,
  section.hero.hero--home .hero__headline {
    font-size: clamp(1.75rem, 7.5vw, 2.05rem);
    max-width: 15ch;
    margin-bottom: 0.85rem;
  }
  .hero--home .hero__support,
  section.hero.hero--home .hero__support,
  section.hero.hero--home:has(+ #trust) .hero__support {
    margin-bottom: 1.15rem;
    font-size: clamp(1.02rem, 3.8vw, 1.12rem);
  }
  .hero--home .cta-row,
  section.hero.hero--home .cta-row,
  section.hero.hero--home:has(+ #trust) .cta-row {
    gap: 0.75rem 0.95rem;
    padding: 0.35rem 0;
  }
  .hero--home .cta-row .btn,
  section.hero.hero--home .cta-row .btn {
    flex: 1 1 auto;
    justify-content: center;
    min-width: min(100%, 11rem);
  }
  .hero--home .hero__phone-note,
  section.hero.hero--home .hero__phone-note,
  section.hero.hero--home:has(+ #trust) .hero__phone-note {
    margin-top: 0.7rem;
  }
}

/* Pass 2078 - mobile hero→trust handoff re-win (beats Pass 2023 late; Pass 2060/2077 sibling) */
@media (max-width: 719px) {
  .hero--home:has(+ #trust) .hero__content,
  section.hero.hero--home:has(+ #trust) .hero__content {
    padding-bottom: 1.75rem;
  }
  .hero--home:has(+ #trust) .hero__support,
  section.hero.hero--home:has(+ #trust) .hero__support {
    margin-bottom: 1.15rem;
  }
  .hero--home:has(+ #trust) .cta-row,
  section.hero.hero--home:has(+ #trust) .cta-row {
    gap: 0.75rem 0.95rem;
  }
  .hero--home + .trust-strip--home,
  .hero--home + #trust.trust-strip--home {
    padding-top: 2rem;
    padding-bottom: 1.65rem;
  }
  .hero--home + .trust-strip--home .trust-strip__grid,
  .hero--home + #trust.trust-strip--home .trust-strip__grid {
    gap: 1.25rem;
  }
  .hero--home + .trust-strip--home article,
  .hero--home + #trust.trust-strip--home article {
    padding: 0.85rem 0 0.35rem;
  }
  .hero--home + .trust-strip--home h3,
  .hero--home + #trust.trust-strip--home h3 {
    font-size: 1.02rem;
    margin-bottom: 0.45rem;
  }
  .hero--home + .trust-strip--home p,
  .hero--home + #trust.trust-strip--home p {
    font-size: 0.98rem;
    line-height: 1.55;
  }
}

/* Pass 2079 - mobile #services densify re-win (beats late #services globals; Pass 2027 sibling) */
@media (max-width: 719px) {
  .trust-strip--home + #services.section {
    padding-top: 2.35rem;
  }
  #services.section {
    padding-top: 2.35rem;
    padding-bottom: 2.35rem;
  }
  #services.section:has(+ #process) {
    padding-bottom: 2.35rem;
  }
  #services .section__eyebrow {
    margin-bottom: 0.5rem;
  }
  #services .section__title {
    margin-bottom: 0.7rem;
    font-size: clamp(1.65rem, 6.5vw, 1.95rem);
  }
  #services .section__lead {
    margin-bottom: 1.05rem;
    font-size: 1.05rem;
    line-height: 1.55;
    max-width: 42ch;
  }
  #services .grid-4 {
    gap: 1.25rem 0;
  }
  #services .service-tile {
    padding: 1.05rem 0.15rem 0.75rem;
  }
  #services .service-tile h3 {
    margin-bottom: 0.55rem;
    font-size: clamp(1.12rem, 4.2vw, 1.22rem);
  }
  #services .service-tile p {
    font-size: 0.98rem;
    line-height: 1.55;
  }
  #services .service-tile a {
    margin-top: 0.55rem;
  }
}

/* Pass 2080 - mobile #process densify re-win (beats late #process globals; Pass 1989/2027 sibling) */
@media (max-width: 719px) {
  #services + #process.section {
    padding-top: 2.35rem;
  }
  #process.section {
    padding-top: 2.35rem;
    padding-bottom: 2.35rem;
  }
  #process.section:has(+ #proof) {
    padding-bottom: 2.35rem;
  }
  #process .section__eyebrow {
    margin-bottom: 0.5rem;
  }
  #process .section__title {
    margin-bottom: 0.7rem;
    font-size: clamp(1.65rem, 6.5vw, 1.95rem);
  }
  #process .section__lead {
    margin-bottom: 1.05rem;
    font-size: 1.05rem;
    line-height: 1.55;
    max-width: 42ch;
  }
  #process .grid-2 {
    gap: 1.25rem;
  }
  #process .media-slot--tall {
    margin-block: 0.85rem;
  }
  #process .btn--dark {
    margin-top: 0.25rem;
  }
}

/* Pass 2081 - mobile process→proof densify re-win (beats late proof-strip / Pass 1990; Pass 2054/2057/2059 sibling) */
@media (max-width: 719px) {
  #process.section:has(+ #proof) {
    padding-bottom: 2.35rem;
  }
  #proof.proof-strip--home {
    padding: 2rem 0 1.75rem;
  }
  #process + #proof.proof-strip--home,
  #process.section + #proof.proof-strip--home {
    padding-top: 2.15rem;
  }
  #proof.proof-strip--home:has(+ #reviews.section) {
    padding-bottom: 1.75rem;
  }
  .proof-strip--home .wrap {
    gap: 1.15rem;
  }
  .proof-strip--home p {
    max-width: none;
    font-size: clamp(1.02rem, 3.8vw, 1.12rem);
    line-height: 1.55;
  }
  .proof-strip--home .cta-row {
    gap: 0.75rem 0.95rem;
  }
  .proof-strip--home .cta-row .btn {
    flex: 1 1 auto;
    justify-content: center;
    min-width: min(100%, 11rem);
  }
}

/* Pass 2082 - mobile proof→reviews densify re-win (beats Pass 2019 late; Pass 2071/2072 sibling) */
@media (max-width: 719px) {
  #proof.proof-strip--home:has(+ #reviews.section) {
    padding-bottom: 1.75rem;
  }
  .proof-strip--home + #reviews.section {
    padding-top: 2.35rem;
  }
  #reviews.section {
    padding-top: 2.35rem;
    padding-bottom: 2.25rem;
  }
  #reviews.section:has(+ #areas) {
    padding-bottom: 2.25rem;
  }
  #reviews .section__eyebrow {
    margin-bottom: 0.4rem;
  }
  #reviews .section__title {
    margin-bottom: 0.65rem;
    font-size: clamp(1.65rem, 6.5vw, 1.95rem);
  }
  #reviews .section__lead {
    margin-bottom: 1rem;
    font-size: 1.05rem;
    line-height: 1.55;
    max-width: 42ch;
  }
  #reviews .reviews-grid {
    gap: 1.25rem;
  }
  #reviews .review-quote {
    padding-top: 0.85rem;
  }
  #reviews .review-quote__rating {
    margin-bottom: 0.55rem;
    font-size: 0.9rem;
  }
  #reviews .review-quote__body {
    margin-bottom: 0.75rem;
    font-size: 0.98rem;
    line-height: 1.55;
  }
  #reviews .review-quote__body p {
    margin-bottom: 0.55rem;
  }
  #reviews .review-quote__meta {
    gap: 0.25rem 0.65rem;
    font-size: 0.88rem;
  }
  #reviews .review-quote__job {
    font-size: 0.78rem;
  }
  #reviews .review-quote__job::before {
    margin-right: 0.65rem;
  }
}

/* Pass 2083 - mobile home text clip + convert-bar solid + hero room */
@media (max-width: 719px) {
  /* text-box:cap alphabetic was trimming multi-line titles (scrollHeight > clientHeight) */
  .section__title,
  .page-hero h1,
  .ad-hero h1,
  section.band-cta h2,
  #next.band-cta h2 {
    text-box: normal;
    text-box-trim: none;
    text-box-edge: auto;
    overflow: visible;
    line-height: 1.22;
  }
  .hero--home,
  section.hero.hero--home {
    max-height: none;
    height: auto;
    min-height: min(68dvh, 520px);
    overflow: visible;
  }
  .hero--home .hero__media-slot,
  .hero--home .hero__scrim,
  section.hero.hero--home .hero__media-slot,
  section.hero.hero--home .hero__scrim {
    overflow: hidden;
  }
  .hero--home .hero__content,
  section.hero.hero--home .hero__content,
  section.hero.hero--home:has(+ #trust) .hero__content {
    overflow: visible;
    width: min(100% - 2.5rem, var(--max));
    padding-bottom: 2rem;
  }
  .hero--home .hero__headline,
  section.hero.hero--home .hero__headline {
    max-width: 18ch;
    overflow: visible;
  }
  .hero--home .hero__support,
  section.hero.hero--home .hero__support {
    max-width: none;
    overflow: visible;
  }
  .convert-bar {
    background: var(--ink);
    background-image: none;
  }
  body.has-convert-bar {
    padding-bottom: calc(var(--convert-bar-h, 3.75rem) + 0.35rem + env(safe-area-inset-bottom, 0px));
  }
}

/* Pass 2084 - mobile visual/UX: hero contrast, brand, gutters, convert-bar */
@media (max-width: 719px) {
  /* Brand name visible beside logo (was display:none under 720px) */
  .brand {
    gap: 0.55rem;
    min-width: 0;
  }
  .brand__logo {
    height: 2.35rem;
  }
  .brand__tag {
    display: block;
    max-width: 8.25rem;
    font-size: 0.68rem;
    letter-spacing: 0.045em;
    line-height: 1.25;
    padding-left: 0.55rem;
    border-left: 1px solid color-mix(in srgb, var(--gold) 48%, transparent);
    overflow: visible;
    text-wrap: balance;
  }

  /* Clip media; keep height:auto from Pass 2083 */
  .hero--home,
  section.hero.hero--home {
    overflow: hidden;
  }

  /* Stronger bottom/side scrim so white house doesn’t wash out copy */
  .hero--home .hero__scrim,
  section.hero.hero--home .hero__scrim {
    background:
      linear-gradient(
        to top,
        color-mix(in srgb, var(--ink) 90%, transparent) 0%,
        color-mix(in srgb, var(--ink) 64%, transparent) 36%,
        color-mix(in srgb, var(--ink) 32%, transparent) 64%,
        color-mix(in srgb, var(--ink) 14%, transparent) 100%
      ),
      linear-gradient(
        100deg,
        color-mix(in srgb, var(--ink) 48%, transparent) 0%,
        transparent 58%
      );
  }
  .hero--home .hero__headline,
  section.hero.hero--home .hero__headline {
    text-shadow: 0 2px 20px color-mix(in srgb, var(--ink) 75%, transparent);
  }
  .hero--home .hero__support,
  section.hero.hero--home .hero__support,
  section.hero.hero--home:has(+ #trust) .hero__support {
    text-shadow: 0 2px 16px color-mix(in srgb, var(--ink) 70%, transparent);
  }

  /* Match .wrap gutter (was 2.5rem content vs 2rem wrap) — then breathe past densify flush */
  .wrap,
  .hero__content,
  .hero--home .hero__content,
  section.hero.hero--home .hero__content,
  section.hero.hero--home:has(+ #trust) .hero__content {
    width: min(100% - 2.75rem, var(--max));
  }

  /* Convert bar: center controls; lighter lift shadow (heavy shadow looked like text fade) */
  .convert-bar {
    align-items: center;
    gap: 0.5rem;
    padding-top: 0.5rem;
    padding-bottom: calc(0.5rem + env(safe-area-inset-bottom, 0px));
    background: var(--ink);
    background-image: none;
    box-shadow: 0 -3px 14px color-mix(in srgb, var(--ink) 28%, transparent);
  }
  .convert-bar__call,
  .convert-bar__est {
    min-height: 2.75rem;
    align-self: center;
  }
  .convert-bar__call {
    justify-content: center;
  }
  .convert-bar__call strong {
    font-size: 0.98rem;
  }
}

/* Pass 2085 - mobile trust first-viewport + CTA touch (convert-bar clear) */
@media (max-width: 719px) {
  /* On ~390×844, densify left card #2 heading under the bar — land the bar in the gap */
  .hero--home + .trust-strip--home,
  .hero--home + #trust.trust-strip--home {
    padding-top: 2.15rem;
    padding-bottom: 2rem;
  }
  .hero--home + .trust-strip--home .trust-strip__grid,
  .hero--home + #trust.trust-strip--home .trust-strip__grid,
  #trust.trust-strip--home .trust-strip__grid {
    gap: 2.25rem;
  }
  .hero--home + .trust-strip--home article,
  .hero--home + #trust.trust-strip--home article,
  #trust.trust-strip--home article {
    padding: 0.95rem 0 0.5rem;
    scroll-margin-bottom: calc(var(--convert-bar-h, 3.75rem) + 0.85rem + env(safe-area-inset-bottom, 0px));
  }
  .hero--home + .trust-strip--home h3,
  .hero--home + #trust.trust-strip--home h3,
  #trust.trust-strip--home h3 {
    font-size: 1.08rem;
    margin-bottom: 0.5rem;
    line-height: 1.3;
  }
  .hero--home + .trust-strip--home p,
  .hero--home + #trust.trust-strip--home p,
  #trust.trust-strip--home p {
    font-size: 1rem;
    line-height: 1.58;
    max-width: none;
  }

  /* Hero CTAs: clearer stack + thumb height */
  .hero--home .cta-row,
  section.hero.hero--home .cta-row,
  section.hero.hero--home:has(+ #trust) .cta-row {
    gap: 0.85rem;
    flex-direction: column;
    align-items: stretch;
  }
  .hero--home .cta-row .btn,
  section.hero.hero--home .cta-row .btn {
    width: 100%;
    min-height: 2.85rem;
    flex: 0 0 auto;
  }
  .hero--home .hero__phone-note,
  section.hero.hero--home .hero__phone-note {
    margin-top: 0.85rem;
    font-size: 0.98rem;
  }
}

/* Pass 2086 - mobile chrome touch + convert-bar match + trust→services (beats Pass 2052 densify) */
@media (max-width: 719px) {
  .site-header__inner {
    padding-block: 0.55rem;
    gap: 0.85rem;
  }
  .nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.75rem;
    min-height: 2.75rem;
    min-width: 2.75rem;
    font-size: 0.88rem;
  }
  .site-nav.is-open,
  .site-nav {
    padding-block: 0.75rem 1rem;
  }
  .site-nav ul {
    gap: 0.4rem;
  }
  .site-nav a,
  .nav-fly__btn {
    min-height: 2.75rem;
    padding-block: 0.4rem;
    padding-inline: 0.7rem;
  }
  .site-nav .nav-cta {
    min-height: 2.75rem;
    padding: 0.45rem 1.1rem;
  }
  .nav-fly a {
    min-height: 2.75rem;
    padding: 0.4rem 0.85rem;
    font-size: 0.95rem;
  }
  .nav-lang a {
    min-height: 2.75rem;
    padding: 0.35rem 0.5rem;
  }

  /* Match call + estimate heights (Pass 2025 left call at 2.5rem) */
  .convert-bar__call,
  .convert-bar__est {
    min-height: 2.85rem;
    align-self: center;
  }
  .convert-bar__call {
    padding: 0.45rem 0.9rem;
  }
  .convert-bar__call strong {
    line-height: 1.25;
  }

  /* Trust → services handoff breathe (was flush 0 gap) */
  .hero--home + #trust.trust-strip--home,
  .trust-strip--home {
    padding-bottom: 2.15rem;
  }
  .trust-strip--home + #services.section,
  #trust + #services.section {
    padding-top: 2.5rem;
  }
}

/* Pass 2087 - mobile proof CTA stack + convert-bar equalize + services tile breathe */
@media (max-width: 719px) {
  /* Proof wrap stayed row on phones — CTA stuck at ~190px beside copy */
  #proof.proof-strip--home .wrap,
  .proof-strip--home .wrap {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 1.15rem;
  }
  #proof.proof-strip--home .cta-row,
  .proof-strip--home .cta-row {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 0.85rem;
  }
  #proof.proof-strip--home .cta-row .btn,
  .proof-strip--home .cta-row .btn {
    width: 100%;
    flex: 0 0 auto;
    min-height: 2.85rem;
    justify-content: center;
  }
  #proof.proof-strip--home p,
  .proof-strip--home p {
    max-width: none;
  }

  /* Exact equal convert-bar controls (call was 46 vs est 49) */
  .convert-bar__call,
  .convert-bar__est {
    height: 2.85rem;
    min-height: 2.85rem;
    padding-top: 0;
    padding-bottom: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  .convert-bar__call {
    flex-direction: column;
    padding-inline: 0.9rem;
  }

  /* Services tiles: less edge-flush densify pad */
  #services .service-tile {
    padding: 1.2rem 0.2rem 0.95rem;
  }
  #services .service-tile a {
    min-height: 2.75rem;
    margin-top: 0.65rem;
  }
  #services .service-tile h3 {
    font-size: clamp(1.15rem, 4.5vw, 1.28rem);
  }
  #services .service-tile p {
    font-size: 1.02rem;
    line-height: 1.58;
  }

  /* Process CTA full-width like hero */
  #process .btn--dark {
    display: inline-flex;
    width: 100%;
    max-width: 100%;
    min-height: 2.85rem;
    justify-content: center;
    box-sizing: border-box;
  }
}

/* Pass 2088 - mobile hiring prose taps + hero support air + reviews clear */
@media (max-width: 719px) {
  /* Support → CTA was ~18px — a bit more air before the thumb stack */
  .hero--home .hero__support,
  section.hero.hero--home .hero__support,
  section.hero.hero--home:has(+ #trust) .hero__support {
    margin-bottom: 1.35rem;
  }

  /* Inline hiring links were ~21–22px tall (Estimado / Empleos in copy) */
  #hiring .section__lead a,
  #hiring p a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding: 0.3rem 0.35rem;
    margin-inline: -0.1rem;
    box-sizing: border-box;
    border-radius: 0.15rem;
    text-underline-offset: 0.18em;
  }
  #hiring .cta-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.85rem;
    margin-top: 0.35rem;
  }
  #hiring .cta-row .btn {
    width: 100%;
    min-height: 2.85rem;
    justify-content: center;
  }
  #hiring.section {
    padding-bottom: 2.5rem;
  }
  #hiring + #next.band-cta,
  #hiring + section#next.band-cta {
    padding-top: 2.5rem;
  }

  /* Reviews: clearer inter-quote gap + bar clear when anchoring */
  #reviews .reviews-grid {
    gap: 1.65rem;
  }
  #reviews .review-quote {
    scroll-margin-bottom: calc(var(--convert-bar-h, 3.75rem) + 0.85rem + env(safe-area-inset-bottom, 0px));
  }
  #reviews .review-quote__body {
    font-size: 1rem;
    line-height: 1.58;
  }

  /* Areas / next already column — lock full-width thumb height */
  #areas .cta-row .btn,
  #next.band-cta .cta-row .btn,
  section#next.band-cta .cta-row .btn {
    width: 100%;
    min-height: 2.85rem;
    justify-content: center;
  }
}

/* Pass 2089 — mobile inline / fine-print tap targets (≤719px)
   Beat Pass densify that zeroed footer min-height; lift phone/Guides/Full map/band fine. */
@media (max-width: 719px) {
  .hero__phone-note a,
  #services .section__lead a,
  #areas #areas-map-caption a,
  #hiring .section__lead a,
  #next.band-cta .band-cta__fine a,
  section#next.band-cta .band-cta__fine a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding-block: 0.35rem;
    padding-inline: 0.2rem;
    box-sizing: border-box;
  }

  .footer-grid--4 a,
  .footer-bottom a,
  .footer-social a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    padding-block: 0.55rem;
    box-sizing: border-box;
  }

  /* Compound COI row (Pass 1881): keep inline links, thumb-height the <li> */
  .footer-grid--4 li:has(a ~ a) {
    min-height: 2.75rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    padding-block: 0.45rem;
    box-sizing: border-box;
  }
}

/* Pass 2090 — mobile header brand tap + hero phone-note air (≤719px)
   Brand logo was 2.35rem (Pass 2084) while Menu hit 2.75rem. */
@media (max-width: 719px) {
  .brand {
    min-height: 2.75rem;
    align-items: center;
  }
  .brand__logo {
    height: 2.75rem;
    width: auto;
  }
  .brand__tag {
    font-size: 0.72rem;
    line-height: 1.3;
    max-width: 8.5rem;
  }

  .hero--home .hero__phone-note,
  section.hero.hero--home .hero__phone-note,
  .hero--home:has(+ #trust) .hero__phone-note,
  section.hero.hero--home:has(+ #trust) .hero__phone-note {
    margin-top: 1.15rem;
  }
}

/* Pass 2091 — mobile trust cred clear convert-bar + services tile gutters (≤719px)
   When trust end sits at the bar, Master Craftsman was ~63px under it (pb ~2rem). */
@media (max-width: 719px) {
  .hero--home + .trust-strip--home:has(.cred-mark-row),
  .hero--home + #trust.trust-strip--home:has(.cred-mark-row),
  #trust.trust-strip--home:has(.cred-mark-row),
  #trust.trust-strip--home:has(.cred-mark),
  .trust-strip--home:has(.cred-mark-row),
  .trust-strip--home:has(.cred-mark) {
    padding-bottom: calc(var(--convert-bar-h, 3.75rem) + 1.5rem + env(safe-area-inset-bottom, 0px));
  }

  #trust .cred-mark-row,
  #trust .cred-mark,
  .trust-strip--home .cred-mark-row,
  .trust-strip--home .cred-mark {
    scroll-margin-bottom: calc(var(--convert-bar-h, 3.75rem) + 0.85rem + env(safe-area-inset-bottom, 0px));
  }

  /* Beat Pass 2087 densify pad-inline 0.2rem */
  #services .service-tile {
    padding-inline: 0.55rem;
  }
}

/* Pass 2092 — mobile proof CTA clear convert-bar + hero support air (≤719px)
   "Get an estimate" sat ~47px under the bar (proof pb densify ~28px). */
@media (max-width: 719px) {
  #proof.proof-strip--home,
  .proof-strip--home,
  #process + #proof.proof-strip--home,
  #process.section + #proof.proof-strip--home,
  #proof.proof-strip--home:has(+ #reviews),
  #proof.proof-strip--home:has(+ #reviews.section) {
    padding-bottom: calc(var(--convert-bar-h, 3.75rem) + 1.35rem + env(safe-area-inset-bottom, 0px));
  }

  #proof.proof-strip--home .cta-row .btn,
  .proof-strip--home .cta-row .btn {
    scroll-margin-bottom: calc(var(--convert-bar-h, 3.75rem) + 0.85rem + env(safe-area-inset-bottom, 0px));
  }

  /* Support → CTA still ~22px after Pass 2088 1.35rem */
  .hero--home .hero__support,
  section.hero.hero--home .hero__support,
  section.hero.hero--home:has(+ #trust) .hero__support {
    margin-bottom: 1.55rem;
  }
}

/* Pass 2093 — mobile process rhythm + convert-bar clear (≤719px)
   Beat Pass 2080 densify (title/lead/btn); media end was ~12px above bar. */
@media (max-width: 719px) {
  #process .section__eyebrow {
    margin-bottom: 0.7rem;
  }
  #process .section__title {
    margin-bottom: 0.95rem;
  }
  #process .section__lead {
    margin-bottom: 1.25rem;
    line-height: 1.58;
  }
  #process .btn--dark {
    margin-top: 0.55rem;
  }
  #process .media-slot--tall {
    margin-block: 1.2rem 0.35rem;
  }

  #process.section,
  #process.section:has(+ #proof),
  #services + #process.section {
    padding-bottom: calc(var(--convert-bar-h, 3.75rem) + 1.15rem + env(safe-area-inset-bottom, 0px));
  }

  #process .btn--dark,
  #process .media-slot,
  #process .media-slot--tall {
    scroll-margin-bottom: calc(var(--convert-bar-h, 3.75rem) + 0.85rem + env(safe-area-inset-bottom, 0px));
  }
}

/* Pass 2094 — mobile services + hiring convert-bar clear (≤719px)
   Last service tile / Empleos CTA sat ~47px under the bar (:has densify beat Pass 2088). */
@media (max-width: 719px) {
  #services.section,
  #services.section:has(+ #process) {
    padding-bottom: calc(var(--convert-bar-h, 3.75rem) + 1.15rem + env(safe-area-inset-bottom, 0px));
  }
  #services .service-tile {
    scroll-margin-bottom: calc(var(--convert-bar-h, 3.75rem) + 0.85rem + env(safe-area-inset-bottom, 0px));
  }

  #hiring.section,
  #hiring.section:has(+ #next) {
    padding-bottom: calc(var(--convert-bar-h, 3.75rem) + 2.35rem + env(safe-area-inset-bottom, 0px));
  }
  #hiring .cta-row .btn,
  #hiring .prose,
  #hiring .prose p {
    scroll-margin-bottom: calc(var(--convert-bar-h, 3.75rem) + 0.85rem + env(safe-area-inset-bottom, 0px));
  }

  /* Hiring title densify — beat #areas + #hiring handoff (Pass 2074/2075) */
  #hiring .section__eyebrow,
  #areas + #hiring .section__eyebrow {
    margin-bottom: 0.7rem;
  }
  #hiring .section__title,
  #areas + #hiring .section__title {
    margin-bottom: 0.95rem;
  }
  #hiring .section__lead,
  #areas + #hiring .section__lead {
    margin-bottom: 1.2rem;
    line-height: 1.58;
  }
}

/* Pass 2095 — mobile areas + #next convert-bar clear (≤719px)
   Areas caption/CTA and band-cta__fine sat ~12–13px above the bar. */
@media (max-width: 719px) {
  #areas.section,
  #areas.section:has(+ #hiring) {
    padding-bottom: calc(var(--convert-bar-h, 3.75rem) + 1.25rem + env(safe-area-inset-bottom, 0px));
  }
  #areas .area-map,
  #areas .cta-row .btn,
  #areas figcaption,
  #areas #areas-map-caption {
    scroll-margin-bottom: calc(var(--convert-bar-h, 3.75rem) + 0.85rem + env(safe-area-inset-bottom, 0px));
  }

  #next.band-cta,
  section#next.band-cta,
  #hiring + #next.band-cta,
  #hiring + section#next.band-cta {
    padding-bottom: calc(var(--convert-bar-h, 3.75rem) + 1.5rem + env(safe-area-inset-bottom, 0px));
  }
  #next .band-cta__fine,
  #next.band-cta .cta-row .btn,
  section#next.band-cta .band-cta__fine,
  section#next.band-cta .cta-row .btn {
    scroll-margin-bottom: calc(var(--convert-bar-h, 3.75rem) + 0.85rem + env(safe-area-inset-bottom, 0px));
  }

  /* Areas / next rhythm — beat Pass 2073/2075 densify handoffs */
  #areas .section__eyebrow,
  #reviews + #areas .section__eyebrow {
    margin-bottom: 0.7rem;
  }
  #areas .section__title,
  #reviews + #areas .section__title {
    margin-bottom: 0.95rem;
  }
  #areas .section__lead,
  #reviews + #areas .section__lead {
    margin-bottom: 1.2rem;
    line-height: 1.58;
  }

  #next.band-cta h2,
  section#next.band-cta h2,
  #hiring + #next.band-cta h2,
  #hiring + section#next.band-cta h2 {
    margin-bottom: 0.85rem;
  }
  #next.band-cta p:not(.band-cta__fine),
  section#next.band-cta p:not(.band-cta__fine),
  #hiring + #next.band-cta p:not(.band-cta__fine),
  #hiring + section#next.band-cta p:not(.band-cta__fine) {
    margin-bottom: 1.15rem;
  }
  #next .band-cta__fine,
  #hiring + #next.band-cta .band-cta__fine,
  #hiring + section#next.band-cta .band-cta__fine {
    margin-top: 1.05rem;
  }
}

/* Pass 2096 — mobile reviews (+ services) rhythm restore (≤719px)
   Beat Pass 2082/2079 densify: title→lead ~10–11px; quote stack still tight. */
@media (max-width: 719px) {
  #reviews.section,
  #reviews.section:has(+ #areas) {
    padding-bottom: calc(var(--convert-bar-h, 3.75rem) + 1.15rem + env(safe-area-inset-bottom, 0px));
  }

  #reviews .section__eyebrow {
    margin-bottom: 0.7rem;
  }
  #reviews .section__title {
    margin-bottom: 0.95rem;
  }
  #reviews .section__lead {
    margin-bottom: 1.2rem;
    line-height: 1.58;
    max-width: none;
  }
  #reviews .reviews-grid {
    gap: 1.85rem;
  }
  #reviews .review-quote {
    padding-top: 1rem;
  }
  #reviews .review-quote__rating {
    margin-bottom: 0.65rem;
  }
  #reviews .review-quote__body {
    margin-bottom: 0.85rem;
    font-size: 1.02rem;
    line-height: 1.6;
  }
  #reviews .review-quote__body p {
    margin-bottom: 0.65rem;
  }
  #reviews .review-quote__meta {
    font-size: 0.92rem;
  }

  /* Services title densify leftover from Pass 2079 */
  #services .section__eyebrow {
    margin-bottom: 0.7rem;
  }
  #services .section__title {
    margin-bottom: 0.95rem;
  }
  #services .section__lead {
    margin-bottom: 1.2rem;
    line-height: 1.58;
    max-width: none;
  }
}

/* Pass 2097 — mobile services tile stack rhythm (≤719px)
   Inter-tile gap still densify 1.25rem (~20px); h3→p / p→link ~9–10px. */
@media (max-width: 719px) {
  #services .grid-4 {
    gap: 1.85rem 0;
  }
  #services .service-tile {
    padding-block: 1.25rem 1.05rem;
  }
  #services .service-tile h3 {
    margin-bottom: 0.7rem;
  }
  #services .service-tile p {
    line-height: 1.6;
  }
  #services .service-tile a {
    margin-top: 0.75rem;
  }
}

/* Pass 2098 — mobile footer list rhythm (≤719px)
   Pass 2089 restored 2.75rem taps; Pass 2055 densify left ul gap ~0.4rem (~6px). */
@media (max-width: 719px) {
  .site-footer .footer-grid--4 ul,
  footer.site-footer .footer-grid--4 ul {
    gap: 0.65rem;
  }
  .site-footer .footer-grid--4 h2,
  footer.site-footer .footer-grid--4 h2 {
    margin-bottom: 0.85rem;
  }
  .site-footer .footer-grid--4,
  footer.site-footer .footer-grid--4 {
    gap: 1.65rem;
    margin-bottom: 1.75rem;
  }
}

/* Pass 2099 — mobile nav Services flyout list rhythm (≤719px)
   Pass 2086 restored 2.75rem taps; .site-nav ul densify gap 0.4rem also crushed .nav-fly. */
@media (max-width: 719px) {
  .site-nav .nav-fly,
  .nav-fly.is-open,
  ul.nav-fly.is-open {
    gap: 0.65rem;
    padding-block: 0.4rem;
    margin-block: 0.5rem 0.45rem;
  }
  .site-nav .nav-fly a,
  .nav-fly.is-open a {
    padding-block: 0.45rem;
  }
}

/* Pass 2100 — home hero facade framing (desktop + mobile)
   Wide cover + short plate cropped roof peaks; photo is 1200×565 with peaks at the top edge. */
@media (min-width: 720px) {
  .hero--home,
  section.hero.hero--home {
    height: min(100vw * 565 / 1200, 92dvh);
    min-height: min(38vh, 340px);
    max-height: 92dvh;
  }
  .hero--home .hero__media-slot picture,
  section.hero.hero--home .hero__media-slot picture {
    padding-top: 0;
    box-sizing: border-box;
  }
  .hero--home .hero__media-slot img,
  section.hero.hero--home .hero__media-slot img {
    object-fit: contain;
    object-position: center center;
    /* Pull back from edge-to-edge zoom so gable tips + sky read below the sticky header. */
    transform: scale(0.9);
    transform-origin: center center;
  }
}

/* Pass 2101 — mobile home hero visual re-win (≤719px)
   Pass 2100 contain+scale left a tiny plate in a tall dark band; restore full-bleed with peaks. */
@media (max-width: 719px) {
  .hero--home,
  section.hero.hero--home {
    min-height: min(68dvh, 520px);
    height: auto;
    max-height: none;
  }
  /* Hero already sits below sticky header in flow — keep media top:0 (not header-h). */
  .hero--home .hero__media-slot,
  .hero--home .hero__scrim,
  section.hero.hero--home .hero__media-slot,
  section.hero.hero--home .hero__scrim {
    top: 0;
  }
  .hero--home .hero__media-slot picture,
  section.hero.hero--home .hero__media-slot picture {
    padding-top: 0;
  }
  .hero--home .hero__media-slot img,
  section.hero.hero--home .hero__media-slot img {
    object-fit: cover;
    object-position: center top;
    transform: none;
  }
}

/* Pass 2102 — mobile trust card type rhythm (≤719px)
   Inter-card gap ok (2.25rem); h3→p still densify 0.5rem (~8px). */
@media (max-width: 719px) {
  #trust.trust-strip--home h3,
  .hero--home + #trust.trust-strip--home h3,
  .hero--home + .trust-strip--home h3,
  .trust-strip--home h3 {
    margin-bottom: 0.65rem;
    font-size: 1.12rem;
    line-height: 1.3;
  }
  #trust.trust-strip--home article,
  .hero--home + #trust.trust-strip--home article,
  .hero--home + .trust-strip--home article,
  .trust-strip--home article {
    padding: 1.1rem 0 0.55rem;
  }
  #trust.trust-strip--home p,
  .hero--home + #trust.trust-strip--home p,
  .hero--home + .trust-strip--home p,
  .trust-strip--home p {
    line-height: 1.6;
  }
  #trust .cred-mark-row,
  .trust-strip--home .cred-mark-row {
    margin-top: 1.85rem;
    gap: 1.35rem;
  }
}

/* Pass 2103 — mobile main nav list rhythm (≤719px)
   Pass 2099 fixed Services flyout; top-level .site-nav ul still densify 0.4rem (~6px). */
@media (max-width: 719px) {
  .site-nav > ul,
  .site-nav.is-open > ul {
    gap: 0.65rem;
  }
}

/* Pass 2104 — mobile hiring prose rhythm (≤719px)
   Title/lead restored in 2094; prose p+p still densify 0.55rem (~9px). */
@media (max-width: 719px) {
  #hiring .prose p,
  #areas + #hiring .prose p {
    margin-block: 0.55rem;
    line-height: 1.6;
  }
  #hiring .prose p + p,
  #areas + #hiring .prose p + p {
    margin-top: 0.75rem;
  }
  #hiring .cta-row,
  #areas + #hiring .cta-row {
    gap: 0.85rem;
  }
  #hiring .prose,
  #areas + #hiring .prose {
    padding-top: 1rem;
  }
}

/* Pass 2105 — mobile process CTA + media residual (≤719px)
   Pass 2093 restored title/lead; btn mt still densify 0.55rem; media bottom ~0.35rem. */
@media (max-width: 719px) {
  #process .btn--dark {
    margin-top: 0.75rem;
  }
  #process .media-slot--tall,
  #process .media-slot {
    margin-block: 1.35rem 0.75rem;
  }
}

/* Pass 2106 — mobile areas map caption rhythm (≤719px)
   Title/lead restored in 2095; figcaption still densify 0.7rem (~11px under map). */
@media (max-width: 719px) {
  #areas .area-map figcaption,
  #areas #areas-map-caption,
  #reviews + #areas .area-map figcaption {
    margin-top: 1rem;
    font-size: 0.96rem;
    line-height: 1.55;
  }
}

/* Pass 2107 — mobile footer-bottom strip rhythm (≤719px)
   Pass 2098 restored column lists; Pass 2055 still densifies bottom bar (~1.15rem / 0.5rem). */
@media (max-width: 719px) {
  .site-footer .footer-bottom,
  footer.site-footer .footer-bottom {
    padding-top: 1.45rem;
    gap: 0.65rem 1.25rem;
  }
  .site-footer .footer-social,
  footer.site-footer .footer-social {
    margin-top: 0.9rem;
  }
}

/* Pass 2108 — mobile footer shell pad (≤719px)
   Pass 2098/2107 restored columns + bottom bar; Pass 2055 still densifies footer pad (~2.75 / 1.85). */
@media (max-width: 719px) {
  .site-footer,
  footer.site-footer {
    padding: 3.15rem 0 2.15rem;
  }
}

/* Pass 2109 — mobile areas map plate pad (≤719px)
   Caption restored in 2106; Pass 2049/2073/2074 left map frame densified (~1rem / pb 0.85). */
@media (max-width: 719px) {
  #areas .area-map,
  #reviews + #areas .area-map,
  #areas.section:has(+ #hiring) .area-map {
    margin-top: 1.55rem;
    padding: 1.2rem;
  }
}

/* Pass 2110 — mobile #next band-cta fine type (≤719px)
   Pass 2095 restored mt ~1.05rem; Pass 2050/2062 left type densify 0.88rem (~14px). */
@media (max-width: 719px) {
  #next .band-cta__fine,
  #next.band-cta .band-cta__fine,
  section#next.band-cta .band-cta__fine,
  #hiring + #next.band-cta .band-cta__fine,
  #hiring + section#next.band-cta .band-cta__fine {
    margin-top: 1.2rem;
    font-size: 0.96rem;
    line-height: 1.55;
  }
}

/* Pass 2111 — mobile process grid gap (≤719px)
   Title/CTA restored in 2093/2105; Pass 2080 still densifies .grid-2 gap (~1.25rem / 20px). */
@media (max-width: 719px) {
  #process .grid-2,
  #services + #process .grid-2 {
    gap: 1.55rem;
  }
}

/* Pass 2112 — mobile proof wrap gap (≤719px)
   Pass 2087 stacked CTAs; wrap copy→CTA gap still densify 1.15rem (~18px). */
@media (max-width: 719px) {
  #proof.proof-strip--home .wrap,
  .proof-strip--home .wrap {
    gap: 1.45rem;
  }
}

/* Pass 2113 — mobile proof quote type (≤719px)
   Wrap gap restored in 2112; Pass 2054/2081 still densify quote to ~1.02rem. */
@media (max-width: 719px) {
  #proof.proof-strip--home p,
  .proof-strip--home p {
    font-size: clamp(1.08rem, 3.8vw, 1.18rem);
    line-height: 1.42;
  }
}

/* Pass 2114 — mobile #next CTA row gap (≤719px)
   Fine type restored in 2110; Pass 2053/2058 left button gap densify 0.75rem (~12px). */
@media (max-width: 719px) {
  #next.band-cta .cta-row,
  section#next.band-cta .cta-row,
  #hiring + #next.band-cta .cta-row,
  #hiring + section#next.band-cta .cta-row {
    gap: 0.95rem;
  }
}

/* Pass 2115 — mobile areas CTA row rhythm (≤719px)
   Map plate/caption restored in 2106/2109; Pass 2073 left CTA gap densify 0.75rem (~12px). */
@media (max-width: 719px) {
  #areas .cta-row--sm,
  #reviews + #areas .cta-row--sm {
    margin-top: 1.15rem;
    gap: 0.95rem;
  }
}

/* Pass 2116 — mobile hiring CTA row rhythm (≤719px)
   Prose restored in 2104; Pass 2074 left CTA mt densify 0.85rem (~14px). */
@media (max-width: 719px) {
  #hiring .cta-row,
  #areas + #hiring .cta-row {
    margin-top: 1.1rem;
    gap: 0.95rem;
  }
}

/* Pass 2117 — mobile hiring grid gap (≤719px)
   CTA restored in 2116; Pass 2074 still densifies hiring .grid-2 (~1.15rem / 18px). */
@media (max-width: 719px) {
  #hiring .grid-2,
  #areas + #hiring .grid-2 {
    gap: 1.45rem;
  }
}

/* Pass 2118 — mobile hero CTA row gap (≤719px)
   Support/phone-note air restored in 2090/2092; Pass 2085 left CTA stack gap 0.85rem (~14px). */
@media (max-width: 719px) {
  .hero--home .cta-row,
  section.hero.hero--home .cta-row,
  section.hero.hero--home:has(+ #trust) .cta-row {
    gap: 0.95rem;
  }
}

/* Pass 2119 — mobile proof CTA row gap (≤719px)
   Wrap/quote restored in 2112/2113; Pass 2087 left button stack gap 0.85rem (~14px). */
@media (max-width: 719px) {
  #proof.proof-strip--home .cta-row,
  .proof-strip--home .cta-row {
    gap: 0.95rem;
  }
}

/* Pass 2120 — mobile process steps rhythm (≤719px)
   Pass 2029 densify left step stack gap ~1.2rem and tight li/h3 air on process.html. */
@media (max-width: 719px) {
  #section-process-steps-heading .steps {
    gap: 1.45rem;
  }
  #section-process-steps-heading .steps li {
    padding-block: 1rem;
    padding-left: 1.15rem;
    gap: 0.5rem 1.05rem;
  }
  #section-process-steps-heading .steps h3 {
    margin-bottom: 0.55rem;
    font-size: clamp(1.1rem, 4vw, 1.22rem);
  }
  #section-process-steps-heading .steps p {
    font-size: 1.02rem;
    line-height: 1.6;
    margin-bottom: 0.45rem;
  }
  #section-process-steps-heading .step-nav {
    margin-top: 0.7rem !important;
  }
}

/* Pass 2121 — mobile gallery filters rhythm (≤719px)
   Pass 2048 densify + Pass 1932 lean left chip gap ~0.55rem and mb ~1.15rem. */
@media (max-width: 719px) {
  .gallery-filters {
    gap: 0.65rem;
    margin-bottom: 1.3rem;
    padding: 0.3rem 0 0.75rem;
  }
  .gallery-filters button {
    font-size: 0.95rem;
    line-height: 1.45;
    padding: 0.55rem 1.05rem;
    min-height: 2.75rem;
  }
}

/* Pass 2122 — mobile gallery pair-frames gap (≤719px)
   Filters restored in 2121; Pass 2026 still densifies .pair-frames gap (~0.85rem / 14px). */
@media (max-width: 719px) {
  .pair-frames {
    gap: 1rem;
  }
}

/* Pass 2123 — mobile gallery pair title/caption (≤719px)
   Frames/filters restored in 2121–2122; Pass 1932/2026 left title stack lean (~0.75 / 0.45rem). */
@media (max-width: 719px) {
  .gallery-pair {
    padding: 0.8rem 0.15rem 1.35rem;
  }
  .gallery-pair h3 {
    margin: 0.9rem 0 0.5rem;
    font-size: 1.18rem;
    line-height: 1.32;
  }
  .gallery-pair p {
    font-size: 1.02rem;
    line-height: 1.55;
  }
}

/* Pass 2124 — mobile tile-grid / a.tile rhythm (≤719px)
   Pass 2051 densify + #oficios lean left trade tiles tight on servicios-es. */
@media (max-width: 719px) {
  .tile-grid,
  #oficios .tile-grid {
    gap: 1.55rem 0;
    margin-top: 1.35rem;
  }
  a.tile,
  #oficios a.tile {
    padding: 1.25rem 0.2rem 0.85rem;
  }
  a.tile h3,
  #oficios a.tile h3 {
    margin-bottom: 0.65rem;
    font-size: clamp(1.15rem, 4.2vw, 1.25rem);
  }
  a.tile p,
  #oficios a.tile p {
    font-size: 1.02rem;
    line-height: 1.58;
  }
}

/* Pass 2125 — mobile hire-card / roles rhythm (≤719px)
   Card shell pad ok; Pass 2030 still densifies roles gap + title/body type on careers. */
@media (max-width: 719px) {
  #roles .hire-roles,
  #puestos .hire-roles {
    gap: 1.35rem;
    margin-top: 1.35rem;
  }
  .hire-card__tag {
    margin-bottom: 0.6rem;
    padding-bottom: 0.4rem;
  }
  .hire-card h3 {
    margin-bottom: 0.7rem;
    font-size: clamp(1.15rem, 4.2vw, 1.28rem);
  }
  .hire-card p,
  .hire-card ul {
    font-size: 1.02rem;
    line-height: 1.58;
  }
  .hire-card p {
    margin-bottom: 0.7rem;
  }
  .hire-card ul li + li {
    margin-top: 0.4rem;
  }
  .hire-card .stack-mt--sm {
    margin-top: 0.85rem;
  }
}

/* Pass 2126 — mobile hire-perks rhythm (≤719px)
   Pass 2036 densify still tightens why/por-que perk grid + type on careers. */
@media (max-width: 719px) {
  .hire-perks,
  #why .hire-perks,
  #por-que .hire-perks {
    gap: 1.35rem;
    margin-top: 1.35rem;
  }
  .hire-perks article {
    padding: 1.1rem 0.15rem 0.5rem;
  }
  .hire-perks article h3 {
    margin-bottom: 0.6rem;
    font-size: clamp(1.12rem, 4.2vw, 1.25rem);
  }
  .hire-perks article p {
    font-size: 1.02rem;
    line-height: 1.58;
  }
}

/* Pass 2127 — mobile blog-grid rhythm (≤719px)
   Card pad/type ok via later base; Pass 2037 still densifies #posts grid gap. */
@media (max-width: 719px) {
  #posts .blog-grid {
    gap: 1.4rem;
    margin-top: 1.25rem;
  }
}

/* Pass 2128 — mobile service-block rhythm (≤719px)
   Beat Pass 2039 + Pass 1933 hub densify (#section-svc-roofing-heading). */
@media (max-width: 719px) {
  .service-block,
  #section-svc-roofing-heading .service-block {
    padding: 1.5rem 0 1.3rem;
  }
  .service-block__grid,
  #section-svc-roofing-heading .service-block__grid {
    gap: 1.35rem 1.55rem;
  }
  .service-block .section__eyebrow,
  #section-svc-roofing-heading .section__eyebrow {
    margin-bottom: 0.55rem;
  }
  .service-block .section__title,
  #section-svc-roofing-heading .section__title {
    margin-bottom: 0.75rem;
    font-size: clamp(1.55rem, 5.5vw, 1.9rem);
  }
  .service-block .prose p,
  #section-svc-roofing-heading .prose > p {
    font-size: 1.02rem;
    line-height: 1.58;
  }
}

/* Pass 2129 — mobile wrap--toc jump links (≤719px)
   TOC shell pad ok; Pass 2040 still densifies faq-jump__links gap/type. */
@media (max-width: 719px) {
  .wrap--toc .faq-jump__links,
  .wrap--toc-home .faq-jump__links {
    gap: 0.5rem 0.85rem;
    margin-top: 0.5rem;
    font-size: 0.98rem;
    line-height: 1.62;
  }
  .wrap--toc .faq-jump__links a,
  .wrap--toc-home .faq-jump__links a {
    min-height: 2.5rem;
    padding-block: 0.25rem;
  }
}

/* Pass 2130 — mobile footer-bottom cluster (≤719px)
   Flex space-between orphaned #footer-region under copyright/back-to-top. */
@media (max-width: 719px) {
  .site-footer .footer-bottom,
  footer.site-footer .footer-bottom {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 1rem;
    row-gap: 0.35rem;
    align-items: center;
    padding-bottom: 0.35rem;
  }
  .site-footer .footer-bottom #footer-copy,
  footer.site-footer .footer-bottom #footer-copy {
    grid-column: 1;
    grid-row: 1;
  }
  .site-footer .footer-bottom #footer-region,
  footer.site-footer .footer-bottom #footer-region {
    grid-column: 1;
    grid-row: 2;
  }
  .site-footer .footer-bottom .footer-top,
  footer.site-footer .footer-bottom .footer-top {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    justify-self: end;
  }
}

/* Pass 2133 — desktop footer-bottom cluster (≥720px)
   Three flex kids + space-between parked Back to top in the middle. */
@media (min-width: 720px) {
  .site-footer .footer-bottom,
  footer.site-footer .footer-bottom {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 1.35rem;
    row-gap: 0.25rem;
    align-items: center;
  }
  .site-footer .footer-bottom #footer-copy,
  footer.site-footer .footer-bottom #footer-copy {
    grid-column: 1;
    grid-row: 1;
  }
  .site-footer .footer-bottom #footer-region,
  footer.site-footer .footer-bottom #footer-region {
    grid-column: 1;
    grid-row: 2;
  }
  .site-footer .footer-bottom .footer-top,
  footer.site-footer .footer-bottom .footer-top {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: center;
    justify-self: end;
  }
}

/* Pass 2131 — mobile form-note / label rhythm (≤719px)
   Form shell pad ok; Pass 2033 still densifies note type/pad + label gap. */
@media (max-width: 719px) {
  .form-grid label,
  .hire-form label {
    gap: 0.6rem;
    font-size: 1rem;
  }
  .form-grid .form-note,
  .hire-form .form-note {
    margin-top: 0.85rem;
    padding: 0.65rem 0.85rem;
    font-size: 0.9rem;
    line-height: 1.58;
  }
}

/* Pass 2132 — mobile contact-facts rhythm (≤719px)
   List mb/li pad partly recovered; Pass 2034 still densifies taps + label type. */
@media (max-width: 719px) {
  .contact-facts,
  #estimate.section .contact-facts {
    margin-bottom: 1.25rem;
    padding: 0.65rem 1.2rem;
  }
  .contact-facts li,
  #estimate.section .contact-facts li {
    padding: 0.9rem 0;
  }
  .contact-facts a {
    min-height: 2.75rem;
    padding-block: 0.1rem;
  }
  .contact-facts span {
    margin-bottom: 0.35rem;
    font-size: 0.75rem;
  }
  .contact-callout,
  #estimate.section .contact-callout {
    gap: 0.85rem 1.15rem;
    margin: 1rem 0 1.2rem;
    padding: 1.1rem 1.2rem;
  }
}

/* Pass 2134 — mobile convert-expect step type (≤719px)
   Shell/pad partly recovered via IDs; Pass 2031 still densifies strong/span. */
@media (max-width: 719px) {
  .convert-expect .convert-steps strong,
  #path.convert-expect .convert-steps strong,
  #camino.convert-expect .convert-steps strong,
  #steps.convert-expect .convert-steps strong {
    margin-bottom: 0.5rem;
    font-size: 1.02rem;
  }
  .convert-expect .convert-steps span,
  #path.convert-expect .convert-steps span,
  #camino.convert-expect .convert-steps span,
  #steps.convert-expect .convert-steps span {
    font-size: 0.98rem;
    line-height: 1.6;
  }
}

/* Pass 2135 — mobile non-home trust type (≤719px)
   Pass 2102 recovered home cards; Pass 2035 still densifies inner-page h3/p. */
@media (max-width: 719px) {
  .trust-strip:not(.trust-strip--home) h3,
  #trust.trust-strip:not(.trust-strip--home) h3,
  main:has(#path) > .trust-strip h3,
  main:has(#camino) > .trust-strip h3 {
    margin-bottom: 0.65rem;
    font-size: 1.08rem;
    line-height: 1.3;
  }
  .trust-strip:not(.trust-strip--home) p,
  #trust.trust-strip:not(.trust-strip--home) p,
  main:has(#path) > .trust-strip p,
  main:has(#camino) > .trust-strip p {
    font-size: 1.02rem;
    line-height: 1.6;
  }
  .trust-strip:not(.trust-strip--home) article,
  #trust.trust-strip:not(.trust-strip--home) article,
  main:has(#path) > .trust-strip article,
  main:has(#camino) > .trust-strip article {
    padding: 1.15rem 0 0.45rem;
  }
}

/* Pass 2136 — mobile GBB fine-print type (≤719px)
   Table cell pad recovered via later base; Pass 2042 still densifies #gbb fine type. */
@media (max-width: 719px) {
  #gbb .fine-print,
  #gbb.section .fine-print {
    margin-top: 1.15rem;
    font-size: 0.92rem;
    line-height: 1.6;
  }
}

/* Pass 2137 — mobile compare prose rhythm (≤719px)
   Grid gap recovered via later #compare rules; Pass 2043 still densifies prose type.
   Eyebrows are <p class="section__eyebrow"> — exclude them from body p rules. */
@media (max-width: 719px) {
  #compare .prose .section__eyebrow,
  #path.section:not(.convert-expect) .prose .section__eyebrow {
    margin-bottom: 0.55rem;
    font-size: 0.8rem;
  }
  #compare .prose .section__title,
  #path.section:not(.convert-expect) .prose .section__title {
    margin-bottom: 0.85rem;
    font-size: clamp(1.55rem, 5.8vw, 1.85rem);
  }
  #compare .prose > p:not(.section__eyebrow),
  #path.section:not(.convert-expect) .prose > p:not(.section__eyebrow) {
    margin-bottom: 0.85rem;
    font-size: 1.02rem;
    line-height: 1.62;
  }
  #compare .prose > ul,
  #path.section:not(.convert-expect) .prose > ol {
    margin: 0.65rem 0 1rem;
    font-size: 1.02rem;
    line-height: 1.62;
  }
  #compare .prose > ul li + li,
  #path.section:not(.convert-expect) .prose > ol li + li {
    margin-top: 0.45rem;
  }
}

/* Pass 2138 — home hero logo restore (mobile + desktop)
   Passes 2076/2077 hid the charcoal plate for full-bleed photo.
   Show a compact badge above the headline on the dark bottom scrim — brand without covering the house. */
.hero--home .hero__logo,
section.hero.hero--home .hero__logo {
  display: block;
  width: min(32vw, 6rem);
  max-width: 6rem;
  height: auto;
  margin: 0 0 0.65rem;
  filter: drop-shadow(0 8px 18px color-mix(in srgb, var(--ink) 55%, transparent));
}
@media (min-width: 720px) {
  .hero--home .hero__logo,
  section.hero.hero--home .hero__logo {
    width: min(10vw, 7.5rem);
    max-width: 7.5rem;
    margin-bottom: 0.85rem;
  }
}

/* Pass 2149 — logo back (header + home hero)
   Header `.brand__logo { width: 2.75rem }` kept the plate postage-stamp size;
   Pass 2138 hero badge stayed ~6–7.5rem. Restore readable brand presence on the scrim. */
.brand__logo {
  width: auto;
  height: 3.25rem;
  max-width: min(48vw, 10.5rem);
  object-fit: contain;
  object-position: left center;
}
@media (min-width: 720px) {
  .brand__logo {
    height: 3.45rem;
    max-width: 11.5rem;
  }
}
.hero--home .hero__logo,
section.hero.hero--home .hero__logo {
  display: block;
  width: min(72vw, 14rem);
  max-width: 14rem;
  height: auto;
  margin: 0 0 0.85rem;
  filter: drop-shadow(0 10px 22px color-mix(in srgb, var(--ink) 60%, transparent));
}
@media (min-width: 720px) {
  .hero--home .hero__logo,
  section.hero.hero--home .hero__logo {
    width: min(26vw, 18rem);
    max-width: 18rem;
    margin-bottom: 1rem;
  }
}

/* Pass 2139 — mobile expect position-band type (≤719px)
   Pass 2044 densify still wins lead via `#expect .position-band h2 + .section__lead`
   (higher specificity than base `#expect .position-band__lead`). */
@media (max-width: 719px) {
  #expect .position-band h2 {
    margin-bottom: 0.85rem;
    font-size: clamp(1.5rem, 5.8vw, 1.8rem);
  }
  #expect .position-band__lead,
  #expect .position-band h2 + .section__lead,
  #expect .position-band h2 + .position-band__lead {
    margin-bottom: 1.1rem;
    font-size: 1.08rem;
    line-height: 1.62;
  }
}

/* Pass 2140 — mobile expect position-grid stack (≤719px)
   Pass 1924 global densify still leans gap/pad/h3; Pass 2028 still densifies h3 size. */
@media (max-width: 719px) {
  #expect .position-grid {
    gap: 1.35rem;
    margin-top: 1.35rem;
  }
  #expect .position-grid article {
    padding: 1.15rem 0.15rem 0.55rem;
  }
  #expect .position-grid h3 {
    margin-bottom: 0.65rem;
    font-size: clamp(1.1rem, 4.2vw, 1.22rem);
  }
  #expect .position-grid p {
    font-size: 1.02rem;
    line-height: 1.62;
  }
}

/* Pass 2141 — mobile lang-strip taps (≤719px)
   Pass 2046 densify still leans chip gap/type and 2.5rem min-height. */
@media (max-width: 719px) {
  .page-hero .lang-strip,
  .lang-strip--after-lead,
  .lang-strip.stack-mt--sm {
    margin-top: 1rem;
  }
  .lang-strip {
    gap: 0.4rem;
    padding: 0.35rem 0.4rem;
  }
  .lang-strip a {
    font-size: 0.85rem;
    line-height: 1.45;
    padding: 0.35rem 0.65rem;
    min-height: 2.75rem;
  }
}

/* Pass 2142 — mobile nav-lang chrome (≤719px)
   Pass 2086 restored tap height; Pass 2047 still densifies shell gap/type. */
@media (max-width: 719px) {
  .nav-lang {
    gap: 0.25rem;
    padding: 0.2rem 0.3rem;
    font-size: 0.8rem;
    letter-spacing: 0.04em;
  }
  .nav-lang a {
    font-size: 0.8rem;
    line-height: 1.45;
    min-height: 2.75rem;
    padding: 0.35rem 0.5rem;
  }
  .nav-lang span[aria-hidden="true"] {
    padding-inline: 0.1rem;
  }
}

/* Pass 2143 — mobile estimate-landing ad-hero (≤719px)
   Page inline Pass 1474 densify still leans pad/proof; body.ad-land beats inline .ad-hero. */
@media (max-width: 719px) {
  body.ad-land .ad-hero {
    padding: 2.85rem 0 2.15rem;
  }
  body.ad-land .ad-hero h1 {
    margin: 0.75rem 0 0.85rem;
    font-size: clamp(1.9rem, 6.8vw, 2.35rem);
  }
  body.ad-land .ad-proof {
    gap: 0.55rem 1.1rem;
    margin-top: 1.05rem;
  }
  body.ad-land .ad-hero .cta-row {
    gap: 0.85rem 1rem;
    margin-top: 1.1rem;
  }
}

/* Pass 2144 — mobile town-list linked taps (≤719px)
   Pass 2049 densify still sets `.town-list--linked a` to 2.25rem after base 2.75rem. */
@media (max-width: 719px) {
  .town-list--linked a,
  #towns .town-list--linked a,
  #nearby .town-list--linked a,
  #trades .town-list--linked a,
  #help .town-list--linked a,
  #forms .town-list--linked a,
  #hire .town-list--linked a {
    min-height: 2.75rem;
    padding-block: 0.15rem;
  }
}

/* Pass 2145 — mobile estimate-landing ad-form-wrap (≤719px)
   Page inline Pass 1399 densify still leans form band pad/title; body.ad-land beats inline.
   Also beat late `#steps + #estimate.ad-form-wrap` (2 IDs) pad-top crush. */
@media (max-width: 719px) {
  body.ad-land .ad-form-wrap,
  body.ad-land #estimate.ad-form-wrap,
  body.ad-land #steps + #estimate.ad-form-wrap {
    padding: 2.45rem 0 2.55rem;
  }
  body.ad-land .ad-form-wrap h2 {
    margin: 0 0 0.55rem;
    font-size: clamp(1.45rem, 5.5vw, 1.75rem);
  }
  body.ad-land .ad-form-wrap .ad-note {
    margin: 0 0 1.1rem;
    font-size: 0.9rem;
    line-height: 1.55;
  }
}

/* Pass 2146 — mobile wrap--toc jump taps (≤719px)
   Pass 2129 restored gap/type but left links at 2.5rem; match site chrome 2.75rem. */
@media (max-width: 719px) {
  .wrap--toc .faq-jump__links a,
  .wrap--toc-home .faq-jump__links a {
    min-height: 2.75rem;
    padding-block: 0.3rem;
  }
}

/* Pass 2147 — mobile breadcrumbs → page-hero (≤719px)
   Pass 1925 still leans ol pad; Pass 2028 + `#page-hero` densify crush hero handoff. */
@media (max-width: 719px) {
  main > .breadcrumbs ol {
    padding: 0.55rem 0;
  }
  main > .breadcrumbs + .page-hero,
  main > .breadcrumbs + div#page-hero.page-hero {
    padding-top: 2.05rem;
    padding-bottom: 1.7rem;
  }
}

/* Pass 2148 — mobile wrap--toc shell (≤719px)
   Pass 1942 hero→TOC handoff still leans pad after base 1.35/1.4; beat #who / weather / ad. */
@media (max-width: 719px) {
  .wrap--toc,
  .wrap--toc-home,
  .page-hero + .wrap--toc,
  .ad-hero + .wrap--toc,
  main:has(.ad-hero) > .wrap--toc,
  main:has(#weather) > .wrap--toc,
  #who .wrap--toc {
    padding-top: 1.35rem;
    padding-bottom: 1.4rem;
  }
  #who .wrap--toc {
    margin-bottom: 1.1rem;
  }
  .wrap--toc .faq-jump,
  .wrap--toc-home .faq-jump {
    padding: 0.35rem 0 0.55rem;
  }
  .wrap--toc .section__eyebrow,
  .wrap--toc-home .section__eyebrow,
  #who .wrap--toc .section__eyebrow,
  main:has(#weather) > .wrap--toc .section__eyebrow,
  main:has(.ad-hero) > .wrap--toc .section__eyebrow {
    margin-bottom: 0.55rem;
  }
}

/* Pass 2150 — mobile page-hero type (≤719px)
   Pass 2041 densify + Pass 2063 `#page-hero` re-win still lean lead/h1 vs base. */
@media (max-width: 719px) {
  .page-hero h1,
  div#page-hero.page-hero h1 {
    font-size: clamp(1.85rem, 7vw, 2.25rem);
    margin-bottom: 0.95rem;
    line-height: 1.18;
  }
  .page-hero .section__eyebrow,
  div#page-hero.page-hero .section__eyebrow {
    margin-bottom: 0.7rem;
    letter-spacing: 0.14em;
  }
  .page-hero p,
  div#page-hero.page-hero p {
    font-size: 1.12rem;
    line-height: 1.65;
  }
  .page-hero .cta-row,
  div#page-hero.page-hero .cta-row,
  .page-hero .cta-row--after-lead,
  div#page-hero.page-hero .cta-row--after-lead {
    margin-top: 1.25rem;
    gap: 0.85rem 1.05rem;
  }
}

/* Pass 2151 — mobile #next band-cta body type (≤719px)
   Pass 2095 restored margins; Pass 2053/2062 still densify h2/lead via `section#next`. */
@media (max-width: 719px) {
  #next.band-cta h2,
  section#next.band-cta h2,
  #hiring + #next.band-cta h2,
  #hiring + section#next.band-cta h2 {
    margin-bottom: 0.95rem;
    font-size: clamp(1.55rem, 6.2vw, 2rem);
    line-height: 1.22;
  }
  #next.band-cta p:not(.band-cta__fine),
  section#next.band-cta p:not(.band-cta__fine),
  #hiring + #next.band-cta p:not(.band-cta__fine),
  #hiring + section#next.band-cta p:not(.band-cta__fine) {
    margin-bottom: 1.25rem;
    max-width: 46ch;
    font-size: 1.12rem;
    line-height: 1.65;
  }
}

/* Pass 2152 — mobile town weather type (≤719px)
   Pass 2056 sets title/prose font-size densify; later base only restored margins/gap. */
@media (max-width: 719px) {
  .section.section--alt:has(#weather) .section__eyebrow,
  main:has(#weather) > .section.section--alt:has(#weather) .section__eyebrow {
    margin-bottom: 0.85rem;
  }
  .section.section--alt:has(#weather) .section__title,
  main:has(#weather) > .section.section--alt:has(#weather) .section__title {
    margin-bottom: 1.05rem;
    font-size: clamp(1.55rem, 5.8vw, 1.9rem);
  }
  .section.section--alt:has(#weather) .prose > p,
  main:has(#weather) > .section.section--alt:has(#weather) .prose > p {
    margin-bottom: 1.05rem;
    font-size: 1.05rem;
    line-height: 1.62;
  }
}

/* Pass 2153 — mobile convert-expect shell (≤719px)
   Pass 1972/1973 lean #steps; Pass 1960/1963 lean #path/#camino after densify lost. */
@media (max-width: 719px) {
  .wrap--toc + #steps.convert-expect,
  #steps.convert-expect,
  #steps.convert-expect:has(+ #estimate) {
    padding: 2.05rem 1.4rem 2.15rem;
  }
  #trust + #path.convert-expect,
  #confianza + #camino.convert-expect,
  #path.convert-expect,
  #camino.convert-expect,
  #path.convert-expect:has(+ #estimate),
  #camino.convert-expect:has(+ #estimate) {
    padding: 2rem 1.35rem 2.1rem;
  }
}

/* Pass 2155 — mobile FAQ accordion type/shell (≤719px)
   Pass 2032 densify still owns FAQ gap/pad/type after convert-expect restore. */
@media (max-width: 719px) {
  .faq-list,
  #section-faq-answers-heading .faq-list {
    gap: 0.85rem;
  }
  .faq-item,
  #section-faq-answers-heading .faq-item {
    padding: 0.95rem 0.2rem 1rem;
  }
  .faq-item summary,
  #section-faq-answers-heading .faq-item summary {
    font-size: clamp(1.1rem, 4.2vw, 1.22rem);
    min-height: 2.75rem;
    padding-block: 0.3rem;
  }
  .faq-item > :not(summary),
  #section-faq-answers-heading .faq-item > :not(summary) {
    font-size: 1.05rem;
    line-height: 1.62;
    margin: 0.85rem 0 0.2rem;
  }
  .faq-item[open],
  #section-faq-answers-heading .faq-item[open] {
    margin-inline: 0;
    padding-inline: 0.9rem;
    padding-block: 1.05rem 1.1rem;
  }
}

/* Pass 2156 — mobile form-grid / hire-form shell (≤719px)
   Pass 2131 restored note/label; Pass 2033 still owns pad/gap/legend/row-2. */
@media (max-width: 719px) {
  .form-grid,
  .form-grid--convert,
  .hire-form {
    gap: 1.15rem;
    padding: 1.5rem 1.25rem 1.55rem;
  }
  .form-grid .form-row-2,
  .form-grid--convert .form-row-2,
  .hire-form .form-row-2 {
    gap: 1rem;
  }
  .form-grid > fieldset > legend,
  .hire-form > fieldset > legend,
  .form-grid--convert > fieldset > legend {
    padding-bottom: 0.55rem;
    margin-bottom: 0.35rem;
    font-size: 1rem;
  }
}

/* Pass 2157 — mobile non-home trust shell (≤719px)
   Pass 2135 restored card type; Pass 2035 still owns section pad + grid gap. */
@media (max-width: 719px) {
  .trust-strip:not(.trust-strip--home),
  #trust.trust-strip:not(.trust-strip--home),
  main:has(#path) > .trust-strip:not(.trust-strip--home),
  main:has(#camino) > .trust-strip:not(.trust-strip--home) {
    padding-top: 2.35rem;
    padding-bottom: 2rem;
  }
  .trust-strip:not(.trust-strip--home) .trust-strip__grid,
  #trust.trust-strip:not(.trust-strip--home) .trust-strip__grid,
  main:has(#path) > .trust-strip:not(.trust-strip--home) .trust-strip__grid,
  main:has(#camino) > .trust-strip:not(.trust-strip--home) .trust-strip__grid {
    gap: 1.55rem;
  }
}

/* Pass 2158 — mobile GBB table-wrap shell (≤719px)
   Pass 2136 restored fine-print; Pass 2042 still owns wrap margin + scroll-inline. */
@media (max-width: 719px) {
  .gbb-table-wrap,
  #gbb .gbb-table-wrap {
    margin-block: 1.65rem 0.35rem;
    scroll-margin-inline: 0.5rem;
  }
  #gbb .gbb-table-wrap {
    margin-top: 1.65rem;
  }
}

/* Pass 2159 — mobile town-list rhythm (≤719px)
   Pass 2144 restored linked taps; Pass 2049 still owns gap + li pad. */
@media (max-width: 719px) {
  .town-list {
    gap: 1rem 1.35rem;
  }
  .town-list li {
    padding: 0.5rem 0;
  }
  #towns .town-list,
  #nearby .town-list {
    gap: 1rem 1.35rem;
  }
  #towns .town-list li,
  #nearby .town-list li {
    padding: 0.5rem 0;
  }
  #nearby .town-list {
    margin-top: 0.85rem;
  }
  #trades .town-list,
  #help .town-list,
  #forms .town-list,
  #towns .town-list--follow,
  #hire .town-list {
    gap: 1rem 1.35rem;
    margin-top: 1.1rem;
  }
  #trades .town-list li,
  #help .town-list li,
  #forms .town-list li,
  #towns .town-list--follow li,
  #hire .town-list li {
    padding: 0.5rem 0;
  }
}

/* Pass 2160 — mobile convert-expect steps stack (≤719px)
   Pass 2153 shell + 2134 type restored; Pass 2031 still owns steps gap + li pad. */
@media (max-width: 719px) {
  .convert-expect .convert-steps,
  #camino .convert-steps,
  #path.convert-expect .convert-steps,
  #steps .convert-steps,
  #steps.convert-expect .convert-steps,
  #partnership .convert-steps {
    gap: 1rem;
  }
  .convert-expect .convert-steps,
  #camino .convert-steps,
  #path.convert-expect .convert-steps,
  #partnership .convert-steps {
    margin-top: 1.2rem;
  }
  #steps .convert-steps,
  #steps.convert-expect .convert-steps {
    margin-top: 0;
  }
  .convert-expect .convert-steps li,
  #camino .convert-steps li,
  #path.convert-expect .convert-steps li,
  #steps .convert-steps li,
  #steps.convert-expect .convert-steps li,
  #partnership .convert-steps li {
    padding: 1.15rem 1.1rem 1.2rem;
  }
}

/* Pass 2161 — mobile convert-expect title stack (≤719px)
   Shell/steps restored; Pass 2031 still densifies eyebrow/title mb + stack-mt. */
@media (max-width: 719px) {
  .convert-expect .section__eyebrow,
  #camino.convert-expect .section__eyebrow,
  #path.convert-expect .section__eyebrow,
  #steps.convert-expect .section__eyebrow {
    margin-bottom: 0.65rem;
  }
  .convert-expect .section__title,
  .convert-expect h2,
  #path.convert-expect .section__title,
  #camino.convert-expect .section__title,
  #steps.convert-expect .section__title,
  #steps.convert-expect h2 {
    margin-bottom: 0.85rem;
  }
  .convert-expect .stack-mt,
  #path.convert-expect .stack-mt,
  #camino .stack-mt,
  #camino.convert-expect .stack-mt,
  #steps.convert-expect .stack-mt {
    margin-top: 1rem;
  }
}
