@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --black: #111111;
  --charcoal: #242424;
  --smoke: #3A3A3A;
  --silver: #C9C9C9;
  --orange: #F97316;
  --warm: #F8F5EF;
  --paper: #FFFDF8;
  --white: #ffffff;
  --ink: #161514;
  --muted: #6f675f;
  --soft: #e7ded2;
  --line-dark: rgba(17, 17, 17, .11);
  --line-light: rgba(248, 245, 239, .14);
  --shadow-soft: 0 18px 60px rgba(17, 17, 17, .08);
  --shadow-strong: 0 28px 90px rgba(17, 17, 17, .18);
  --radius-lg: 26px;
  --radius-md: 18px;
  --radius-sm: 12px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--warm);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
.container { width: min(1168px, calc(100% - 42px)); margin: 0 auto; }
.narrow { width: min(820px, calc(100% - 42px)); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(248, 245, 239, .88);
  backdrop-filter: blur(18px) saturate(145%);
  border-bottom: 1px solid rgba(17, 17, 17, .08);
}
.nav-shell { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 800; letter-spacing: -.035em; color: var(--black); }
.brand span:last-child { display: grid; line-height: 1; }
.brand strong { font-size: 1.18rem; }
.brand em { font-style: normal; font-size: .68rem; color: var(--muted); letter-spacing: .11em; text-transform: uppercase; margin-top: 6px; }
.brand-mark { width: 42px; height: 42px; border: 1px solid rgba(17,17,17,.18); border-radius: 13px; display: grid; place-items: center; background: linear-gradient(145deg, #2a2a2a, #0e0e0e); box-shadow: inset 0 1px rgba(255,255,255,.16), 0 10px 26px rgba(17,17,17,.12); }
.brand-mark svg { width: 27px; height: 27px; fill: var(--orange); }
.main-nav { display: flex; align-items: center; gap: 19px; font-size: .89rem; font-weight: 650; color: rgba(17,17,17,.76); }
.nav-link, .nav-group > a { display: inline-flex; align-items: center; gap: 5px; padding: 28px 0; }
.main-nav a { transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease; }
.main-nav a:hover { color: var(--black); }
.nav-cta { background: var(--black); color: var(--warm) !important; padding: 10px 15px !important; border-radius: 999px; font-weight: 750; box-shadow: 0 10px 26px rgba(17,17,17,.12); }
.nav-cta:hover { background: var(--orange); color: var(--black) !important; }
.nav-group { position: relative; display: flex; align-items: center; }
.nav-group::after { content: ""; position: absolute; left: -34px; right: -34px; top: 100%; height: 20px; }
.nav-services-trigger span { font-size: .72rem; color: rgba(17,17,17,.48); transform: translateY(1px); }
.dropdown {
  position: absolute;
  top: calc(100% + 14px);
  left: 50%;
  width: min(690px, calc(100vw - 42px));
  padding: 13px;
  border: 1px solid rgba(17,17,17,.11);
  background: rgba(255,253,248,.98);
  box-shadow: 0 28px 80px rgba(17,17,17,.16);
  border-radius: 24px;
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 12px;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 8px);
  visibility: hidden;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.nav-group:hover .dropdown,
.nav-group:focus-within .dropdown,
.nav-group.is-open .dropdown { opacity: 1; pointer-events: auto; transform: translate(-50%, 0); visibility: visible; }
.dropdown-feature {
  position: relative;
  display: grid;
  align-content: end;
  min-height: 100%;
  padding: 20px;
  border-radius: 18px;
  background: radial-gradient(circle at 90% 8%, rgba(249,115,22,.18), transparent 34%), linear-gradient(145deg, #242321, #101010);
  color: var(--warm) !important;
  overflow: hidden;
  isolation: isolate;
}
.dropdown-feature::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(17,17,17,.04) 18%, rgba(17,17,17,.42) 58%, rgba(17,17,17,.82) 100%); pointer-events: none; }
.dropdown-feature-copy { position: relative; z-index: 2; display: grid; justify-items: start; }
.dropdown-feature-copy > span { color: #f29b55; font-size: .68rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.dropdown-feature strong { margin: 8px 0 6px; font-size: 1.18rem; line-height: 1.08; letter-spacing: -.04em; color: var(--warm); text-shadow: 0 2px 20px rgba(0,0,0,.28); }
.dropdown-feature em { font-style: normal; color: rgba(248,245,239,.78); font-size: .84rem; line-height: 1.45; }
.dropdown-links { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.dropdown-links a { display: grid; gap: 3px; padding: 12px 13px; border: 1px solid transparent; border-radius: 15px; color: rgba(17,17,17,.78); }
.dropdown-links a strong { color: var(--black); font-size: .91rem; line-height: 1.2; letter-spacing: -.02em; }
.dropdown-links a span { color: rgba(17,17,17,.56); font-size: .78rem; line-height: 1.38; font-weight: 520; }
.dropdown-links a:hover { background: rgba(249,115,22,.08); border-color: rgba(249,115,22,.18); color: var(--black); transform: translateY(-1px); }
.nav-toggle { display: none; align-items: center; gap: 10px; border: 1px solid var(--line-dark); background: rgba(255,255,255,.54); border-radius: 999px; min-width: 92px; height: 46px; padding: 0 13px 0 15px; color: var(--black); font: inherit; font-size: .82rem; font-weight: 800; letter-spacing: -.01em; }
.nav-toggle-bars { display: grid; gap: 4px; width: 18px; }
.nav-toggle-bars span { display: block; height: 2px; background: var(--black); border-radius: 99px; transition: transform .2s ease, opacity .2s ease; }
.mobile-nav-head, .mobile-nav-footer, .nav-scrim { display: none; }
body.nav-open { overflow: hidden; }

h1, h2, h3 { margin: 0 0 16px; line-height: 1.08; letter-spacing: -.045em; color: var(--ink); }
h1 { font-size: clamp(2.65rem, 5.4vw, 4.95rem); max-width: 880px; font-weight: 800; }
h2 { font-size: clamp(1.8rem, 3.2vw, 3.15rem); font-weight: 760; }
h3 { font-size: 1.1rem; font-weight: 760; letter-spacing: -.03em; }
p { margin: 0 0 18px; color: var(--muted); font-size: 1.02rem; }
.lead { font-size: clamp(1.08rem, 1.8vw, 1.28rem); color: rgba(248,245,239,.84); max-width: 760px; }
.eyebrow, .home-kicker { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 15px; color: #b8500d; font-size: .73rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow::before, .home-kicker::before { content: ""; width: 26px; height: 1px; background: currentColor; border-radius: 99px; opacity: .78; }

.btn { display: inline-flex; justify-content: center; align-items: center; min-height: 48px; padding: 13px 20px; border-radius: 999px; font-size: .94rem; font-weight: 760; letter-spacing: -.015em; border: 1px solid transparent; transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease; }
.btn:hover { transform: translateY(-2px); }
.btn.primary { background: var(--orange); color: var(--black); box-shadow: 0 16px 34px rgba(249,115,22,.22); }
.btn.primary:hover { box-shadow: 0 18px 44px rgba(249,115,22,.28); }
.btn.secondary { background: var(--warm); color: var(--black); }
.btn.ghost, .btn.quiet { border-color: rgba(17,17,17,.16); color: var(--black); background: rgba(255,253,248,.62); }
.btn.charcoal { background: var(--black); color: var(--warm); box-shadow: 0 16px 34px rgba(17,17,17,.12); }
.btn.small { min-height: 42px; padding: 10px 15px; font-size: .88rem; }
.home-actions, .hero-actions, .cta-actions { display: flex; flex-wrap: wrap; gap: 13px; align-items: center; margin-top: 26px; }
.hero-actions.center { justify-content: center; }
.text-link { display: inline-flex; align-items: center; gap: 9px; color: #aa4a0e; font-weight: 760; letter-spacing: -.01em; }
.text-link::after { content: "→"; transition: transform .18s ease; }
.text-link:hover::after { transform: translateX(4px); }

/* Premium homepage */
.home-page { background: var(--warm); }
.home-hero { position: relative; overflow: hidden; padding: 82px 0 58px; background: linear-gradient(180deg, #f8f5ef 0%, #fffaf2 100%); }
.home-hero::after { content: ""; position: absolute; right: -18vw; top: -30%; width: 52vw; height: 52vw; border-radius: 50%; background: radial-gradient(circle, rgba(201,201,201,.25), transparent 64%); pointer-events: none; }
.home-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .82fr 1.18fr; gap: 62px; align-items: center; }
.home-hero-copy { max-width: 560px; padding: 22px 0; }
.home-hero h1 { font-size: clamp(2.35rem, 4.35vw, 4.25rem); max-width: 680px; letter-spacing: -.058em; }
.home-lead { max-width: 550px; color: rgba(22,21,20,.74); font-size: clamp(1.1rem, 1.6vw, 1.26rem); line-height: 1.65; }
.hero-note { margin-top: 22px; max-width: 520px; color: rgba(22,21,20,.58); font-size: .98rem; }
.home-hero-image { position: relative; margin: 0; border-radius: 32px; overflow: hidden; min-height: 560px; box-shadow: var(--shadow-strong); background: var(--black); }
.home-hero-image::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, transparent 45%, rgba(17,17,17,.74)); pointer-events: none; }
.home-hero-image img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; }
.home-hero-image figcaption { position: absolute; left: 24px; right: 24px; bottom: 22px; z-index: 2; color: rgba(248,245,239,.82); max-width: 520px; font-size: .95rem; line-height: 1.55; }
.home-hero-image figcaption span { display: block; color: var(--warm); font-weight: 760; margin-bottom: 3px; }
.home-trust { background: var(--black); color: var(--warm); border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); }
.home-trust-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; }
.home-trust-row span { padding: 19px 20px; text-align: center; color: rgba(248,245,239,.78); font-size: .91rem; font-weight: 650; border-left: 1px solid rgba(255,255,255,.08); }
.home-trust-row span:first-child { border-left: 0; }
.home-section { padding: 92px 0; background: var(--warm); }
.home-section:nth-of-type(odd) { background: #fffaf2; }
.proof-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 52px; align-items: center; }
.proof-copy p { font-size: 1.08rem; line-height: 1.72; max-width: 470px; }
.proof-board { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.proof-board figure { margin: 0; position: relative; overflow: hidden; border-radius: var(--radius-lg); aspect-ratio: 9 / 16; background: var(--charcoal); box-shadow: var(--shadow-soft); border: 1px solid var(--line-dark); }
.proof-board img { width: 100%; height: 100%; object-fit: cover; }
.proof-board figcaption { position: absolute; left: 18px; right: 18px; bottom: 18px; padding: 14px 15px; border-radius: 16px; background: rgba(17,17,17,.74); color: rgba(248,245,239,.78); backdrop-filter: blur(10px); font-size: .88rem; line-height: 1.45; }
.proof-board figcaption span { display: block; color: var(--warm); font-weight: 800; margin-bottom: 3px; }
.section-heading { display: grid; grid-template-columns: .82fr .78fr; gap: 42px; align-items: end; margin-bottom: 34px; }
.section-heading p:last-child { font-size: 1.08rem; line-height: 1.7; max-width: 470px; }
.refined-service-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.refined-service-card { position: relative; padding: 24px; border: 1px solid rgba(17,17,17,.1); border-radius: 20px; background: rgba(255,253,248,.78); box-shadow: 0 10px 34px rgba(17,17,17,.045); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease; }
.refined-service-card::before { content: ""; display: block; width: 34px; height: 2px; margin-bottom: 18px; background: linear-gradient(90deg, var(--orange), rgba(201,201,201,.8)); }
.refined-service-card:hover { transform: translateY(-3px); box-shadow: 0 18px 50px rgba(17,17,17,.08); border-color: rgba(249,115,22,.22); background: var(--white); }
.refined-service-card p { margin-bottom: 18px; min-height: 0; font-size: .97rem; line-height: 1.65; }
.refined-service-card a { color: #aa4a0e; font-weight: 760; font-size: .94rem; }
.safety-panel { background: var(--black) !important; color: var(--warm); }
.safety-grid { display: grid; grid-template-columns: 1.02fr .98fr; gap: 58px; align-items: center; }
.editorial-image { margin: 0; border-radius: 30px; overflow: hidden; background: #0f0f0f; box-shadow: 0 24px 80px rgba(0,0,0,.24); border: 1px solid rgba(255,255,255,.12); }
.editorial-image img { width: 100%; height: 570px; object-fit: cover; }
.editorial-image figcaption { padding: 14px 18px 16px; color: rgba(248,245,239,.68); font-size: .9rem; }
.safety-copy h2, .safety-copy h3 { color: var(--warm); }
.safety-copy p { color: rgba(248,245,239,.72); font-size: 1.07rem; line-height: 1.72; }
.refined-checks { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 12px; }
.refined-checks li { position: relative; padding-left: 27px; color: rgba(248,245,239,.84); }
.refined-checks li::before { content: ""; position: absolute; left: 0; top: .68em; width: 13px; height: 1px; background: var(--orange); }
.compact-split { display: grid; grid-template-columns: .62fr 1fr; gap: 48px; align-items: start; }
.compact-split p { max-width: 450px; font-size: 1.06rem; line-height: 1.7; }
.type-list { display: flex; flex-wrap: wrap; gap: 10px; padding-top: 8px; }
.type-list span { border: 1px solid var(--line-dark); border-radius: 999px; padding: 10px 14px; background: rgba(255,255,255,.62); color: rgba(22,21,20,.78); font-size: .93rem; font-weight: 650; box-shadow: 0 8px 22px rgba(17,17,17,.035); }
.area-pricing { background: #fffaf2 !important; }
.area-price-grid { display: grid; grid-template-columns: .96fr 1.04fr; gap: 20px; align-items: stretch; }
.coverage-module, .pricing-module { border: 1px solid rgba(17,17,17,.1); border-radius: var(--radius-lg); padding: 34px; box-shadow: var(--shadow-soft); }
.coverage-module { background: var(--paper); }
.pricing-module { background: linear-gradient(145deg, var(--charcoal), var(--black)); color: var(--warm); }
.pricing-module h2 { color: var(--warm); }
.pricing-module p { color: rgba(248,245,239,.72); }
.price-line { display: flex; justify-content: space-between; gap: 18px; padding: 13px 0; border-top: 1px solid rgba(248,245,239,.14); color: rgba(248,245,239,.75); }
.price-line strong { color: var(--warm); font-size: 1.05rem; }
.pricing-module .btn { margin-top: 20px; background: var(--warm); color: var(--black); }

/* Shared inner pages retained, visually refined */
.hero, .page-hero { position: relative; overflow: hidden; padding: 86px 0 70px; background: linear-gradient(135deg, #151515 0%, #242424 58%, #111 100%); color: var(--warm); }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.02fr .98fr; gap: 54px; align-items: center; }
.page-hero h1, .hero h1, .page-hero h2, .hero h2 { color: var(--warm); }
.page-hero p, .hero p { color: rgba(248,245,239,.78); }
.hero-bullets, .check-list { padding: 0; list-style: none; margin: 26px 0; display: grid; gap: 11px; }
.hero-bullets li, .check-list li { position: relative; padding-left: 28px; color: rgba(248,245,239,.86); }
.hero-bullets li::before, .check-list li::before { content: ""; position: absolute; left: 0; top: .58em; width: 12px; height: 2px; background: var(--orange); border-radius: 99px; }
.hero-visual { background: linear-gradient(145deg, rgba(248,245,239,.08), rgba(248,245,239,.02)); border: 1px solid var(--line-light); border-radius: 28px; padding: 14px; box-shadow: 0 24px 70px rgba(0,0,0,.25); }
.hero-visual img { border-radius: 20px; background: #171717; }
.hero-visual figcaption { padding: 12px 4px 0; color: var(--silver); font-size: .88rem; }
.hero-visual.small { max-width: 520px; justify-self: end; }
.breadcrumbs { padding: 22px 0 0; background: var(--warm); }
.breadcrumbs ol { display: flex; gap: 8px; flex-wrap: wrap; list-style: none; padding: 0; margin: 0; color: var(--muted); font-size: .88rem; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 8px; color: rgba(17,17,17,.35); }
.breadcrumbs a:hover { color: var(--orange); }
.section { position: relative; padding: 84px 0; background: var(--warm); color: var(--black); }
.section:nth-of-type(even) { background: #fffaf2; }
.section h2, .section h3 { color: var(--black); }
.section p, .section li { color: rgba(17,17,17,.72); }
.section .check-list li { color: rgba(17,17,17,.76); }
.section .check-list li::before { background: var(--orange); }
.card-grid { display: grid; gap: 18px; margin-top: 32px; }
.card-grid.three { grid-template-columns: repeat(3, 1fr); }
.service-card, .local-card, .article-card, .plan-card, .price-teaser, .quote-form, .contact-panel, .answer-box, .notice, .price-card { border: 1px solid rgba(17,17,17,.1); border-radius: 20px; padding: 26px; background: rgba(255,253,248,.82); box-shadow: 0 12px 38px rgba(17,17,17,.055); }
.service-card a, .local-card a, .article-card a, .price-teaser a, .article-page a { color: #a9480e; font-weight: 760; }
.before-after-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 34px; }
.before-after-grid.gallery { grid-template-columns: repeat(3, 1fr); }
.ba-card { margin: 0; border-radius: 22px; overflow: hidden; background: #fff; box-shadow: 0 14px 44px rgba(17,17,17,.08); border: 1px solid rgba(17,17,17,.1); }
.ba-card figcaption { padding: 16px 18px; font-weight: 760; color: var(--black); }
.split-section { padding: 84px 0; background: #151515; }
.split, .two-col, .contact-grid, .cta-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; align-items: center; }
.dark-card { border: 1px solid var(--line-light); background: linear-gradient(145deg,#242424,#131313); border-radius: 22px; padding: 30px; box-shadow: 0 24px 70px rgba(0,0,0,.2); color: var(--warm); }
.dark-card h3 { color: var(--warm); }
.dark-card p, .dark-card li { color: rgba(248,245,239,.76); }
.dark-card a { color: var(--orange); font-weight: 760; }
.pill-grid, .city-cloud { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.pill-grid a, .city-cloud a { padding: 11px 15px; border: 1px solid rgba(17,17,17,.12); border-radius: 999px; background: #fff; color: var(--black); font-weight: 700; }
.smoke { overflow: hidden; background: #171717 !important; color: var(--warm); }
.smoke h2 { color: var(--warm); }
.smoke p { color: rgba(248,245,239,.76); }
.smoke .city-cloud a { border-color: var(--line-light); color: var(--warm); background: rgba(255,255,255,.05); }
.process { padding: 84px 0; background: #171717; color: var(--warm); }
.process h2, .process h3 { color: var(--warm); }
.steps { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; margin-top: 32px; }
.steps article { padding: 22px; border: 1px solid var(--line-light); border-radius: 20px; background: rgba(255,255,255,.04); }
.steps b { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--orange); color: var(--black); margin-bottom: 15px; }
.steps p { font-size: .94rem; color: rgba(248,245,239,.7); }
.faq-section { background: #fffaf2 !important; }
.faq-list { display: grid; gap: 12px; margin-top: 28px; }
details { background: rgba(255,255,255,.72); border: 1px solid rgba(17,17,17,.1); border-radius: 18px; padding: 18px 20px; }
summary { cursor: pointer; font-weight: 760; color: var(--black); }
details p { margin: 12px 0 0; color: rgba(17,17,17,.68); }
.cta-band { padding: 76px 0; background: linear-gradient(135deg,#151515,#242424); border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); color: var(--warm); }
.cta-band h2 { color: var(--warm); font-size: clamp(1.9rem, 3.2vw, 3rem); }
.cta-band p { color: rgba(248,245,239,.72); max-width: 650px; }
.trust-row { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 22px 0 0; }
.trust-row li { border: 1px solid var(--line-light); border-radius: 999px; padding: 8px 12px; color: var(--silver); font-size: .88rem; }
.pricing-grid, .city-page-grid, .article-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.pricing-grid { grid-template-columns: repeat(4,1fr); margin-top: 24px; }
.price-card strong { display: inline-block; color: #b8500d; font-size: 1.08rem; margin-bottom: 10px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.plan-card > span { color: #b8500d; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; font-size: .75rem; }
.article-page { padding: 72px 0; background: var(--warm); color: var(--black); }
.article-page h1 { color: var(--black); font-size: clamp(2.25rem, 5vw, 4.2rem); }
.article-page h2 { margin-top: 38px; font-size: clamp(1.55rem, 3vw, 2.35rem); color: var(--black); }
.article-page p, .article-page li { color: rgba(17,17,17,.74); }
.article-page .lead { color: rgba(17,17,17,.78); }
.answer-box { margin: 32px 0; background: #fff; }
.contact-grid { align-items: start; }
.quote-form { display: grid; gap: 15px; }
.quote-form h2 { margin-bottom: 4px; }
label { display: grid; gap: 7px; font-weight: 760; color: var(--black); }
input, select, textarea { width: 100%; border: 1px solid rgba(17,17,17,.16); border-radius: 14px; padding: 13px 14px; font: inherit; background: #fffaf7; color: var(--black); }
textarea { resize: vertical; }
.form-note { font-size: .88rem; margin: 0; }
.contact-panel { position: sticky; top: 102px; }

.site-footer { background: #0c0c0c; padding: 66px 0 100px; border-top: 1px solid var(--line-light); color: var(--warm); }
.footer-grid { display: grid; grid-template-columns: 1.35fr .95fr .95fr .95fr; gap: 34px; }
.footer-grid p { color: rgba(248,245,239,.62); }
.footer-grid h3 { font-size: 1rem; color: var(--white); letter-spacing: 0; }
.footer-grid a { display: block; color: rgba(248,245,239,.72); margin: 8px 0; }
.footer-grid a:hover { color: var(--orange); }
.footer-logo .brand { color: var(--warm); }
.footer-logo .brand em { color: rgba(248,245,239,.58); }
.fineprint { font-size: .85rem; color: rgba(248,245,239,.55); margin-top: 14px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line-light); padding-top: 22px; margin-top: 34px; color: var(--silver); font-size: .9rem; }
.footer-bottom a { color: var(--silver); }
.footer-bottom a:hover { color: var(--orange); }
.mobile-call { display: none; }

/* Premium inner-page system */
.page-hero { padding: 82px 0 68px; background: linear-gradient(135deg, #181716 0%, #252321 58%, #111 100%); }
.page-hero::after { content: ""; position: absolute; right: -14vw; top: -36%; width: 48vw; height: 48vw; border-radius: 50%; background: radial-gradient(circle, rgba(201,201,201,.16), transparent 62%); pointer-events: none; }
.page-hero .container { position: relative; z-index: 1; }
.page-hero h1 { font-size: clamp(2.35rem, 4.6vw, 4.25rem); max-width: 820px; }
.page-hero .lead { color: rgba(248,245,239,.80); line-height: 1.68; max-width: 680px; }
.page-hero-copy { max-width: 690px; }
.hero-note.light { color: rgba(248,245,239,.58); }
.inner-hero-image { position: relative; margin: 0; border-radius: 30px; overflow: hidden; min-height: 430px; background: #111; border: 1px solid rgba(248,245,239,.14); box-shadow: 0 28px 80px rgba(0,0,0,.28); }
.inner-hero-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(17,17,17,.78)); pointer-events: none; }
.inner-hero-image img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; }
.inner-hero-image figcaption { position: absolute; z-index: 1; left: 20px; right: 20px; bottom: 18px; color: rgba(248,245,239,.76); font-size: .9rem; line-height: 1.5; }
.inner-hero-image figcaption span { display: block; color: var(--warm); font-weight: 800; margin-bottom: 3px; }
.editorial-section { background: var(--warm); }
.editorial-two { gap: 48px; align-items: stretch; }
.editorial-copy, .refined-panel { border: 1px solid rgba(17,17,17,.1); border-radius: var(--radius-lg); padding: 34px; background: rgba(255,253,248,.76); box-shadow: var(--shadow-soft); }
.editorial-copy { background: transparent; border-color: transparent; box-shadow: none; padding-left: 0; }
.editorial-copy p, .refined-panel p { font-size: 1.05rem; line-height: 1.72; }
.refined-panel { background: var(--paper); }
.refined-panel.dark { background: linear-gradient(145deg, var(--charcoal), var(--black)); border-color: var(--line-light); color: var(--warm); }
.refined-panel.dark h2, .refined-panel.dark h3 { color: var(--warm); }
.refined-panel.dark p, .refined-panel.dark li { color: rgba(248,245,239,.76); }
.premium-list { margin-bottom: 0; }
.section-heading.inverse h2 { color: var(--warm); }
.section-heading.inverse p { color: rgba(248,245,239,.68); }
.pricing-guidance { background: #fffaf2 !important; }
.pricing-hero-card, .service-area-panel, .guide-panel, .contact-hero-card { border: 1px solid rgba(248,245,239,.14); border-radius: var(--radius-lg); padding: 34px; background: rgba(255,255,255,.055); box-shadow: 0 24px 70px rgba(0,0,0,.22); color: var(--warm); align-self: stretch; display: grid; align-content: center; }
.pricing-hero-card span, .service-area-panel span, .guide-panel span { color: var(--silver); font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; }
.pricing-hero-card strong { display: block; margin: 8px 0 12px; font-size: clamp(2.35rem, 5vw, 4.5rem); line-height: .95; letter-spacing: -.06em; color: var(--warm); }
.pricing-hero-card p, .service-area-panel p, .guide-panel p, .contact-hero-card p { margin: 0; color: rgba(248,245,239,.72); }
.contact-hero-card h2 { color: var(--warm); }
.refined-pricing-grid { grid-template-columns: repeat(4, 1fr); gap: 15px; }
.refined-price-card h2 { font-size: 1.05rem; letter-spacing: -.025em; margin-bottom: 12px; }
.refined-price-card p { font-size: .94rem; line-height: 1.6; }
.refined-notice { margin-top: 24px; padding: 34px; background: linear-gradient(145deg, rgba(255,253,248,.9), rgba(255,250,242,.72)); }
.refined-card-grid { gap: 16px; }
.refined-plan-card h2, .article-card h2, .local-card h2 { font-size: clamp(1.15rem, 1.9vw, 1.5rem); }
.refined-plan-card .btn { margin-top: 8px; }
.refined-city-grid { grid-template-columns: repeat(4, 1fr); gap: 14px; }
.refined-local-card { padding: 22px; box-shadow: 0 10px 30px rgba(17,17,17,.045); }
.refined-local-card p { font-size: .94rem; line-height: 1.58; }
.refined-service-card.service-card { min-height: auto; }
.guide-panel { max-width: 430px; justify-self: end; }
.refined-article-grid { gap: 15px; }
.refined-article-card { padding: 24px; }
.refined-article-card > span { display: inline-block; margin-bottom: 12px; color: #b8500d; font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.refined-article-card h2 { font-size: clamp(1.08rem, 1.8vw, 1.42rem); line-height: 1.15; }
.refined-article-card p { font-size: .94rem; line-height: 1.62; }
.premium-article { background: linear-gradient(180deg, var(--warm), #fffaf2); }
.article-shell { width: min(960px, calc(100% - 42px)); }
.article-hero-text { padding: 28px 0 10px; }
.article-hero-text h1 { font-size: clamp(2.25rem, 4.8vw, 4.35rem); max-width: 880px; }
.article-body-grid { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 44px; align-items: start; }
.article-body-grid p, .article-body-grid li { font-size: 1.03rem; line-height: 1.75; }
.refined-answer { padding: 32px; background: var(--paper); border-left: 3px solid var(--orange); }
.article-aside { position: sticky; top: 104px; border: 1px solid rgba(17,17,17,.1); border-radius: 22px; padding: 24px; background: rgba(255,253,248,.8); box-shadow: var(--shadow-soft); }
.article-aside p { font-size: .95rem; line-height: 1.62; }
.proof-gallery-section { background: #fffaf2 !important; }
.gallery-proof-board { margin-bottom: 22px; }
.refined-gallery-grid { margin-top: 18px; align-items: start; }
.refined-ba-card { background: linear-gradient(180deg, #141312, #0e0e0e); }
.refined-ba-card img {
  display: block;
  width: 100%;
  height: clamp(285px, 26vw, 390px);
  padding: 10px;
  background: #111;
  object-fit: contain;
  object-position: center center;
  box-sizing: border-box;
}
.refined-ba-card figcaption {
  border-top: 1px solid rgba(248,245,239,.12);
  background: var(--paper);
}
.contact-section { background: #fffaf2 !important; }
.refined-form, .refined-contact-panel { padding: 32px; background: var(--paper); border-radius: var(--radius-lg); }
.refined-form { box-shadow: var(--shadow-soft); }
.refined-contact-panel a { color: #a9480e; font-weight: 760; }
input:focus, select:focus, textarea:focus { outline: 2px solid rgba(249,115,22,.28); border-color: rgba(249,115,22,.46); }

/* Premium homepage expansion */
.elevated-hero { padding-top: 92px; }
.premium-image-placeholder { min-height: 100%; width: 100%; display: grid; place-items: center; text-align: center; padding: 28px; background: linear-gradient(145deg, #171717, #252321); border: 1px dashed rgba(248,245,239,.22); color: rgba(248,245,239,.76); }
.premium-image-placeholder.warm { background: linear-gradient(145deg, rgba(255,253,248,.82), rgba(231,222,210,.58)); border-color: rgba(17,17,17,.18); color: rgba(22,21,20,.62); }
.premium-image-placeholder span { max-width: 260px; font-size: .78rem; font-weight: 850; letter-spacing: .14em; line-height: 1.55; text-transform: uppercase; }
.placeholder-figure { position: relative; }
.home-hero-image .premium-image-placeholder { min-height: 560px; height: 100%; }
.proof-placeholder-board figure .premium-image-placeholder { min-height: 100%; aspect-ratio: 9 / 16; }
.brand-proof-strip { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.brand-proof-strip span { padding: 10px 14px; border: 1px solid rgba(17,17,17,.12); border-radius: 999px; background: rgba(255,253,248,.72); color: rgba(22,21,20,.72); font-size: .83rem; font-weight: 800; letter-spacing: .03em; }
.social-proof-section { background: var(--warm); }
.review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.review-card { padding: 28px; border: 1px solid rgba(17,17,17,.1); border-radius: var(--radius-lg); background: rgba(255,253,248,.82); box-shadow: 0 14px 44px rgba(17,17,17,.055); }
.review-card .stars { color: #b8500d; letter-spacing: .12em; font-size: .78rem; margin-bottom: 18px; }
.review-card p { color: rgba(22,21,20,.78); font-size: 1.02rem; line-height: 1.72; }
.review-card footer { display: grid; gap: 2px; margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(17,17,17,.09); }
.review-card strong { color: var(--black); font-size: .98rem; }
.review-card span { color: var(--muted); font-size: .86rem; }
.luxury-process { background: linear-gradient(135deg, #111, #242321 62%, #151515) !important; color: var(--warm); }
.luxury-process h2, .luxury-process h3 { color: var(--warm); }
.luxury-process p { color: rgba(248,245,239,.72); }
.process-grid, .premium-process-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; }
.premium-process-grid article { padding: 24px; border: 1px solid rgba(248,245,239,.13); border-radius: 22px; background: rgba(255,255,255,.045); box-shadow: inset 0 1px rgba(255,255,255,.04); }
.process-index { display: inline-block; margin-bottom: 18px; color: var(--silver); font-size: .72rem; font-weight: 850; letter-spacing: .18em; }
.premium-process-grid p { font-size: .94rem; line-height: 1.62; }
.wide-placeholder-figure { margin: 28px 0 0; border: 1px solid rgba(248,245,239,.13); border-radius: 28px; overflow: hidden; background: #111; box-shadow: 0 24px 72px rgba(0,0,0,.22); }
.wide-placeholder-figure .premium-image-placeholder { min-height: 340px; }
.wide-placeholder-figure figcaption { padding: 14px 18px; color: rgba(248,245,239,.62); font-size: .88rem; }
.technician-cleaning-figure img { width: 100%; aspect-ratio: 1024 / 510; height: auto; object-fit: cover; object-position: center center; }
.stainless-macro-figure img { width: 100%; height: 570px; object-fit: cover; object-position: center center; }
.authority-gallery { background: #fffaf2 !important; }
.authority-gallery-grid { display: grid; grid-template-columns: repeat(7, minmax(210px, 1fr)); gap: 16px; overflow-x: auto; padding: 4px 2px 12px; scroll-snap-type: x proximity; }
.authority-card { min-width: 210px; margin: 0; border: 1px solid rgba(17,17,17,.1); border-radius: 24px; overflow: hidden; background: var(--paper); box-shadow: 0 14px 42px rgba(17,17,17,.06); scroll-snap-align: start; transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.authority-card:hover { transform: translateY(-4px); box-shadow: 0 24px 70px rgba(17,17,17,.12); border-color: rgba(249,115,22,.28); }
.authority-lightbox-trigger { display: block; width: 100%; padding: 0; border: 0; background: transparent; cursor: zoom-in; font: inherit; color: inherit; text-align: left; }
.authority-media { position: relative; display: block; overflow: hidden; background: #111; }
.authority-media .premium-image-placeholder { min-height: 260px; }
.authority-media img { width: 100%; aspect-ratio: 683 / 1024; height: auto; object-fit: cover; object-position: center center; transition: transform .32s ease, filter .32s ease; }
.authority-card:hover .authority-media img { transform: scale(1.035); filter: saturate(1.04) contrast(1.02); }
.authority-overlay { position: absolute; inset: 0; display: grid; place-items: end start; padding: 16px; background: linear-gradient(180deg, rgba(17,17,17,0) 38%, rgba(17,17,17,.74)); opacity: 0; transition: opacity .24s ease; }
.authority-card:hover .authority-overlay, .authority-lightbox-trigger:focus-visible .authority-overlay { opacity: 1; }
.authority-overlay span { display: inline-flex; align-items: center; min-height: 38px; padding: 9px 13px; border: 1px solid rgba(248,245,239,.24); border-radius: 999px; background: rgba(17,17,17,.72); color: var(--warm); font-size: .78rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; backdrop-filter: blur(12px); }
.authority-card figcaption { display: grid; gap: 6px; padding: 17px 17px 19px; }
.authority-card strong { color: var(--black); font-size: 1rem; letter-spacing: -.02em; }
.authority-card span { color: var(--muted); font-size: .82rem; line-height: 1.45; }
.pro-matters .editorial-image { min-height: 570px; }
.editorial-image .premium-image-placeholder { min-height: 520px; }
.risk-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 26px 0; }
.risk-grid span { padding: 13px 14px; border: 1px solid rgba(248,245,239,.13); border-radius: 16px; background: rgba(255,255,255,.045); color: rgba(248,245,239,.8); font-size: .9rem; font-weight: 650; }
.image-story-section { background: var(--warm); }
.image-story-grid { display: grid; grid-template-columns: 1.1fr .9fr 1fr; gap: 16px; align-items: stretch; }
.image-story-grid figure { margin: 0; overflow: hidden; border-radius: var(--radius-lg); border: 1px solid rgba(17,17,17,.1); background: var(--paper); box-shadow: var(--shadow-soft); }
.image-story-grid .premium-image-placeholder { min-height: 300px; }
.image-story-grid figure:nth-child(2) .premium-image-placeholder { min-height: 380px; }
.image-story-grid img { width: 100%; height: 300px; object-fit: cover; }
.image-story-grid figure:nth-child(2) img { height: 380px; }
.outdoor-lifestyle-figure img,
.burner-performance-figure img,
.smoker-restoration-figure img { object-position: center center; }
.image-story-grid figcaption { padding: 14px 16px; color: rgba(17,17,17,.62); font-size: .88rem; }
.restoration-lightbox { position: fixed; inset: 0; z-index: 120; display: none; align-items: center; justify-content: center; padding: 28px; background: rgba(8,8,8,.74); backdrop-filter: blur(18px) saturate(120%); }
.restoration-lightbox.open { display: flex; }
body.lightbox-open { overflow: hidden; }
.lightbox-dialog { position: relative; width: min(1120px, 100%); max-height: min(92vh, 980px); display: grid; grid-template-columns: minmax(0, .92fr) minmax(330px, .48fr); overflow: hidden; border: 1px solid rgba(248,245,239,.16); border-radius: 30px; background: linear-gradient(145deg, #121212, #23211f); box-shadow: 0 34px 120px rgba(0,0,0,.48); color: var(--warm); }
.lightbox-visual { position: relative; min-height: 0; background: #050505; }
.lightbox-visual img { width: 100%; height: 100%; max-height: 92vh; object-fit: contain; background: #070707; }
.lightbox-panel { display: grid; align-content: center; gap: 18px; padding: 38px; border-left: 1px solid rgba(248,245,239,.12); }
.lightbox-kicker { color: var(--orange); font-size: .72rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.lightbox-panel h3 { margin: 0; color: var(--warm); font-size: clamp(1.55rem, 2.6vw, 2.55rem); letter-spacing: -.052em; }
.lightbox-proof { margin: 0; color: rgba(248,245,239,.84); font-weight: 720; line-height: 1.55; }
.lightbox-story { margin: 0; color: rgba(248,245,239,.68); line-height: 1.72; }
.lightbox-microcopy { display: grid; gap: 8px; margin: 8px 0 0; padding: 18px 0; border-top: 1px solid rgba(248,245,239,.12); border-bottom: 1px solid rgba(248,245,239,.12); }
.lightbox-microcopy span { color: rgba(248,245,239,.72); font-size: .9rem; }
.lightbox-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 4px; }
.lightbox-close, .lightbox-nav { position: absolute; z-index: 2; border: 1px solid rgba(248,245,239,.18); background: rgba(17,17,17,.72); color: var(--warm); border-radius: 999px; cursor: pointer; backdrop-filter: blur(14px); transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.lightbox-close:hover, .lightbox-nav:hover { transform: translateY(-1px); background: rgba(249,115,22,.92); color: var(--black); border-color: rgba(249,115,22,.92); }
.lightbox-close { top: 18px; right: 18px; width: 46px; height: 46px; font-size: 1.35rem; line-height: 1; }
.lightbox-nav { top: 50%; width: 46px; height: 46px; transform: translateY(-50%); font-size: 1.55rem; }
.lightbox-nav:hover { transform: translateY(calc(-50% - 1px)); }
.lightbox-prev { left: 18px; }
.lightbox-next { right: calc(38% + 18px); }
.premium-type-list span { background: var(--paper); }
.guarantee-section { background: #fffaf2 !important; }
.guarantee-grid { align-items: stretch; }
.guarantee-card { border: 1px solid rgba(17,17,17,.1); border-radius: var(--radius-lg); padding: 34px; background: linear-gradient(145deg, var(--charcoal), var(--black)); box-shadow: var(--shadow-soft); color: var(--warm); }
.guarantee-card h3 { color: var(--warm); }
.maintenance-home { background: var(--warm); }
.maintenance-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px; margin-bottom: 28px; }
.maintenance-card { padding: 25px; border: 1px solid rgba(17,17,17,.1); border-radius: 22px; background: rgba(255,253,248,.8); box-shadow: 0 12px 34px rgba(17,17,17,.05); }
.maintenance-card::before { content: ""; display: block; width: 32px; height: 2px; margin-bottom: 18px; background: linear-gradient(90deg, var(--orange), rgba(201,201,201,.75)); }
.maintenance-card p { font-size: .95rem; line-height: 1.62; }
.local-map-card { position: relative; overflow: hidden; }
.local-map-card::after { content: ""; position: absolute; right: -90px; bottom: -90px; width: 260px; height: 260px; border: 1px solid rgba(17,17,17,.08); border-radius: 50%; box-shadow: inset 0 0 0 36px rgba(17,17,17,.025), inset 0 0 0 78px rgba(249,115,22,.035); pointer-events: none; }
.local-chip-grid { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 9px; margin: 24px 0; }
.local-chip-grid span { padding: 9px 12px; border: 1px solid rgba(17,17,17,.12); border-radius: 999px; background: rgba(255,255,255,.64); color: rgba(22,21,20,.72); font-size: .86rem; font-weight: 760; }

/* Luxury refinement pass */
body { line-height: 1.62; }
h1 { font-size: clamp(2.5rem, 4.9vw, 4.55rem); letter-spacing: -.056em; }
h2 { font-size: clamp(1.72rem, 2.92vw, 2.82rem); letter-spacing: -.052em; }
p { line-height: 1.68; }
.site-header { background: rgba(248,245,239,.9); box-shadow: 0 1px 0 rgba(255,255,255,.55); }
.nav-cta, .btn { transition: transform .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s cubic-bezier(.2,.8,.2,1), background .24s ease, border-color .24s ease, color .24s ease; }
.btn { min-height: 50px; padding: 13px 22px; box-shadow: inset 0 1px rgba(255,255,255,.18); }
.btn.primary { background: linear-gradient(135deg, #fb8a28, var(--orange)); box-shadow: 0 16px 38px rgba(249,115,22,.20), inset 0 1px rgba(255,255,255,.22); }
.btn.primary:hover { box-shadow: 0 22px 54px rgba(249,115,22,.28), inset 0 1px rgba(255,255,255,.24); }
.btn.ghost:hover, .btn.quiet:hover { border-color: rgba(17,17,17,.28); background: rgba(255,253,248,.9); box-shadow: 0 14px 34px rgba(17,17,17,.075); }
.home-hero { padding: 96px 0 66px; background: linear-gradient(180deg, #f8f5ef 0%, #fffaf2 72%, #f8f5ef 100%); }
.home-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(17,17,17,.025), transparent 38%, rgba(249,115,22,.035)); pointer-events: none; }
.home-hero-grid { grid-template-columns: .76fr 1.24fr; gap: 68px; }
.home-hero-copy { max-width: 535px; padding: 12px 0 18px; }
.home-hero h1 { font-size: clamp(2.24rem, 4.05vw, 3.95rem); line-height: 1.03; letter-spacing: -.064em; margin-bottom: 18px; }
.home-lead { max-width: 520px; font-size: clamp(1.06rem, 1.35vw, 1.18rem); line-height: 1.72; }
.hero-note { max-width: 500px; font-size: .94rem; line-height: 1.66; }
.home-hero-image { min-height: 590px; border-radius: 34px; box-shadow: 0 34px 96px rgba(17,17,17,.2); }
.home-hero-image::before { background: radial-gradient(circle at 28% 18%, rgba(255,255,255,.16), transparent 28%), linear-gradient(180deg, rgba(17,17,17,.03) 0%, rgba(17,17,17,.10) 44%, rgba(17,17,17,.78) 100%); }
.home-hero-image img { min-height: 590px; transition: transform 1.2s cubic-bezier(.2,.8,.2,1), filter .6s ease; }
.home-hero-image:hover img { transform: scale(1.018); filter: saturate(1.03) contrast(1.02); }
.home-hero-image figcaption { bottom: 24px; line-height: 1.52; }
.home-trust-row span { padding: 18px 22px; font-size: .86rem; letter-spacing: .015em; color: rgba(248,245,239,.74); }
.appliance-standard { position: relative; overflow: hidden; padding: 74px 0; background: radial-gradient(circle at 14% 0%, rgba(249,115,22,.12), transparent 28%), linear-gradient(135deg, #12110f, #24221f 58%, #0f0f0f); color: var(--warm); border-top: 1px solid rgba(248,245,239,.1); border-bottom: 1px solid rgba(248,245,239,.1); }
.appliance-standard::after { content: ""; position: absolute; inset: auto -10% -42% auto; width: 460px; height: 460px; border-radius: 50%; border: 1px solid rgba(248,245,239,.08); box-shadow: inset 0 0 0 48px rgba(248,245,239,.025), inset 0 0 0 104px rgba(249,115,22,.035); pointer-events: none; }
.appliance-standard-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .78fr 1.22fr; gap: 54px; align-items: start; }
.appliance-standard h2 { max-width: 500px; color: var(--warm); font-size: clamp(1.92rem, 3vw, 3.05rem); line-height: 1.05; }
.appliance-standard .home-kicker { color: #f29b55; }
.standard-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.standard-points article { min-height: 245px; padding: 24px 22px; border: 1px solid rgba(248,245,239,.13); border-radius: 24px; background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.035)); box-shadow: inset 0 1px rgba(255,255,255,.06), 0 22px 70px rgba(0,0,0,.18); transition: transform .24s cubic-bezier(.2,.8,.2,1), border-color .24s ease, background .24s ease; }
.standard-points article:hover { transform: translateY(-3px); border-color: rgba(249,115,22,.32); background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.045)); }
.standard-points span { display: inline-flex; margin-bottom: 36px; color: var(--orange); font-size: .72rem; font-weight: 850; letter-spacing: .18em; }
.standard-points h3 { color: var(--warm); font-size: 1.05rem; letter-spacing: -.026em; }
.standard-points p { margin: 0; color: rgba(248,245,239,.68); font-size: .93rem; line-height: 1.62; }
.home-section { padding: 98px 0; }
.section-heading { margin-bottom: 40px; }
.section-heading p:last-child { font-size: 1.02rem; line-height: 1.74; }
.proof-grid { gap: 58px; }
.proof-copy p { font-size: 1.03rem; line-height: 1.76; }
.proof-board { gap: 16px; }
.proof-board figure { border-radius: 28px; box-shadow: 0 18px 58px rgba(17,17,17,.09); transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease; }
.proof-board figure:hover { transform: translateY(-3px); box-shadow: 0 28px 80px rgba(17,17,17,.14); }
.proof-board img { transition: transform .55s cubic-bezier(.2,.8,.2,1), filter .35s ease; }
.proof-board figure:hover img { transform: scale(1.025); filter: saturate(1.04) contrast(1.02); }
.refined-service-card, .review-card, .maintenance-card, .coverage-module, .guarantee-card, .service-card, .local-card, .article-card, .plan-card, .price-card { transition: transform .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s ease, border-color .24s ease, background .24s ease; }
.review-card:hover, .maintenance-card:hover, .coverage-module:hover, .service-card:hover, .local-card:hover, .article-card:hover, .plan-card:hover, .price-card:hover { transform: translateY(-3px); box-shadow: 0 22px 64px rgba(17,17,17,.09); border-color: rgba(249,115,22,.20); }
.luxury-process { position: relative; overflow: hidden; background: radial-gradient(circle at 84% 0%, rgba(249,115,22,.13), transparent 26%), linear-gradient(135deg, #0d0d0d, #22201d 62%, #111) !important; }
.luxury-process .section-heading { align-items: start; }
.premium-process-grid { gap: 14px; counter-reset: process; }
.premium-process-grid article { min-height: 260px; display: grid; align-content: start; padding: 26px 24px 24px; border-radius: 24px; background: linear-gradient(180deg, rgba(255,255,255,.065), rgba(255,255,255,.032)); transition: transform .24s cubic-bezier(.2,.8,.2,1), border-color .24s ease, background .24s ease; }
.premium-process-grid article:hover { transform: translateY(-4px); border-color: rgba(249,115,22,.28); background: linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.04)); }
.process-index { margin-bottom: 30px; color: #f29b55; }
.premium-process-grid h3 { font-size: 1.05rem; }
.authority-gallery-grid { gap: 18px; padding: 6px 4px 18px; scroll-snap-type: x mandatory; scroll-padding-left: max(4px, calc((100vw - 1168px) / 2)); -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: rgba(249,115,22,.42) rgba(17,17,17,.08); }
.authority-card { border-radius: 26px; box-shadow: 0 16px 46px rgba(17,17,17,.07); scroll-snap-align: start; }
.authority-card:focus-within { outline: 2px solid rgba(249,115,22,.34); outline-offset: 3px; border-color: rgba(249,115,22,.34); }
.authority-lightbox-trigger:focus-visible { outline: none; }
.authority-media img { transition: transform .5s cubic-bezier(.2,.8,.2,1), filter .32s ease; }
.authority-card figcaption { padding: 18px 18px 20px; min-height: 112px; }
.safety-panel { background: radial-gradient(circle at 10% 16%, rgba(249,115,22,.12), transparent 25%), linear-gradient(145deg, #0f0f0f, #22211f 64%, #111) !important; }
.risk-grid { gap: 12px; }
.risk-grid span { position: relative; padding: 15px 15px 15px 38px; border-radius: 18px; background: rgba(255,255,255,.052); color: rgba(248,245,239,.84); }
.risk-grid span::before { content: ""; position: absolute; left: 16px; top: 23px; width: 10px; height: 2px; border-radius: 99px; background: var(--orange); }
.editorial-image { border-radius: 32px; }
.image-story-grid figure { transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease; }
.image-story-grid figure:hover { transform: translateY(-3px); box-shadow: 0 24px 70px rgba(17,17,17,.11); border-color: rgba(249,115,22,.2); }
.image-story-grid img { transition: transform .55s cubic-bezier(.2,.8,.2,1), filter .35s ease; }
.image-story-grid figure:hover img { transform: scale(1.025); filter: saturate(1.04) contrast(1.02); }
.site-footer { background: radial-gradient(circle at 18% 0%, rgba(249,115,22,.09), transparent 28%), linear-gradient(180deg, #111, #090909); padding-top: 74px; }
.footer-grid { gap: 42px; }
.footer-grid p { color: rgba(248,245,239,.66); font-size: .96rem; line-height: 1.72; }
.footer-grid h3 { color: rgba(248,245,239,.94); font-size: .84rem; letter-spacing: .12em; text-transform: uppercase; }
.footer-grid a { color: rgba(248,245,239,.68); transition: color .18s ease, transform .18s ease; }
.footer-grid a:hover { color: #f29b55; transform: translateX(2px); }
.footer-bottom { border-top-color: rgba(248,245,239,.1); color: rgba(248,245,239,.58); }
.reveal-ready .reveal-item { opacity: 0; transform: translateY(18px); transition: opacity .7s cubic-bezier(.2,.8,.2,1), transform .7s cubic-bezier(.2,.8,.2,1); }
.reveal-ready .reveal-item.is-visible { opacity: 1; transform: translateY(0); }
.reveal-ready .reveal-item:nth-child(2) { transition-delay: .06s; }
.reveal-ready .reveal-item:nth-child(3) { transition-delay: .1s; }
.reveal-ready .reveal-item:nth-child(4) { transition-delay: .14s; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .001ms !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; }
  .reveal-ready .reveal-item { opacity: 1; transform: none; }
}

/* Services framework and premium grill-cleaning pages */
.service-hub-hero,
.grill-cleaning-hero {
  background: radial-gradient(circle at 80% 8%, rgba(249,115,22,.16), transparent 27%), linear-gradient(135deg, #111 0%, #24221f 58%, #101010 100%);
}
.service-hub-hero .hero-grid { grid-template-columns: 1.05fr .62fr; }
.services-hub-card {
  position: relative;
  overflow: hidden;
  min-height: 410px;
  align-self: stretch;
  display: grid;
  align-content: end;
  padding: 34px;
  border: 1px solid rgba(248,245,239,.14);
  border-radius: 30px;
  background: radial-gradient(circle at 30% 18%, rgba(249,115,22,.18), transparent 22%), linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.028));
  box-shadow: 0 30px 88px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.06);
  color: var(--warm);
}
.services-hub-card::before {
  content: "";
  position: absolute;
  inset: 28px 28px auto auto;
  width: 150px;
  height: 150px;
  border: 1px solid rgba(248,245,239,.14);
  border-radius: 50%;
  box-shadow: inset 0 0 0 28px rgba(248,245,239,.035), inset 0 0 0 62px rgba(249,115,22,.04);
}
.services-hub-card span,
.services-hub-tile span,
.appliance-type-grid span,
.included-process-grid b {
  color: #f29b55;
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.services-hub-card strong {
  display: block;
  margin: 10px 0 12px;
  color: var(--warm);
  font-size: clamp(2.5rem, 5vw, 4.6rem);
  line-height: .92;
  letter-spacing: -.07em;
}
.services-hub-card p { margin: 0; color: rgba(248,245,239,.72); }
.services-master-section { background: linear-gradient(180deg, var(--warm), #fffaf2) !important; }
.services-hub-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
}
.services-hub-tile,
.appliance-type-grid article,
.included-process-grid article,
.avoid-grid article {
  position: relative;
  overflow: hidden;
  min-height: 250px;
  padding: 25px;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 24px;
  background: rgba(255,253,248,.84);
  box-shadow: 0 14px 42px rgba(17,17,17,.055);
  transition: transform .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s ease, border-color .24s ease, background .24s ease;
}
.services-hub-tile::before,
.appliance-type-grid article::before,
.included-process-grid article::before,
.avoid-grid article::before {
  content: "";
  display: block;
  width: 34px;
  height: 2px;
  margin-bottom: 22px;
  background: linear-gradient(90deg, var(--orange), rgba(201,201,201,.72));
}
.services-hub-tile:hover,
.appliance-type-grid article:hover,
.included-process-grid article:hover,
.avoid-grid article:hover {
  transform: translateY(-4px);
  border-color: rgba(249,115,22,.24);
  background: var(--paper);
  box-shadow: 0 24px 70px rgba(17,17,17,.1);
}
.services-hub-tile h3,
.appliance-type-grid h3,
.included-process-grid h3,
.avoid-grid h3 { font-size: 1.08rem; letter-spacing: -.03em; }
.services-hub-tile p,
.appliance-type-grid p,
.included-process-grid p,
.avoid-grid p { font-size: .94rem; line-height: 1.64; }
.services-hub-tile .text-link { margin-top: 4px; font-size: .9rem; }
.appliance-care-overview { background: #171717 !important; color: var(--warm); }
.appliance-care-overview h2 { color: var(--warm); }
.appliance-care-overview .editorial-copy p,
.appliance-care-overview .editorial-copy li { color: rgba(248,245,239,.76); }
.appliance-care-overview .editorial-copy .check-list li::before { background: var(--orange); }
.appliance-types-section { background: var(--warm) !important; }
.appliance-type-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(185px, 1fr));
  gap: 14px;
  overflow-x: auto;
  padding: 4px 2px 16px;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: rgba(249,115,22,.42) rgba(17,17,17,.08);
}
.appliance-type-grid article { min-width: 185px; min-height: 260px; scroll-snap-align: start; }
.included-breakdown-section { background: #fffaf2 !important; }
.included-process-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}
.included-process-grid article {
  min-height: 285px;
  display: grid;
  align-content: start;
  background: linear-gradient(180deg, rgba(255,253,248,.9), rgba(248,245,239,.7));
}
.included-process-grid b { display: inline-block; margin-bottom: 34px; }
.proof-reserve-section {
  background: radial-gradient(circle at 12% 14%, rgba(249,115,22,.1), transparent 25%), linear-gradient(135deg, #101010, #24221f 64%, #111) !important;
  color: var(--warm);
}
.proof-reserve-section h2 { color: var(--warm); }
.proof-reserve-section p { color: rgba(248,245,239,.72); }
.proof-reserve-section .text-link { color: #f29b55; }
.proof-placeholder-board { align-items: stretch; }
.proof-placeholder-board figure {
  border-color: rgba(248,245,239,.13);
  background: #111;
  box-shadow: 0 26px 78px rgba(0,0,0,.25);
}
.proof-placeholder-board figcaption { background: rgba(7,7,7,.78); }
.who-service-for { background: var(--warm) !important; }
.avoid-section { background: #fffaf2 !important; }
.avoid-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 15px;
}
.avoid-grid article {
  min-height: 230px;
  background: linear-gradient(145deg, rgba(255,253,248,.9), rgba(231,222,210,.42));
}
.service-group-system {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}
.service-group-card {
  grid-column: span 2;
  display: grid;
  gap: 18px;
  min-height: 100%;
  padding: 26px;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 26px;
  background: linear-gradient(145deg, rgba(255,253,248,.92), rgba(231,222,210,.38));
  box-shadow: 0 18px 54px rgba(17,17,17,.065);
}
.service-group-card:nth-child(1),
.service-group-card:nth-child(6) { grid-column: span 3; }
.service-group-head span,
.service-group-links span,
.standard-system-grid span,
.method-rail b {
  color: #f29b55;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.service-group-head h3 { margin: 8px 0 10px; font-size: clamp(1.42rem, 2.4vw, 2rem); letter-spacing: -.045em; }
.service-group-head p { margin: 0; color: var(--muted); font-size: .94rem; line-height: 1.58; }
.service-group-links { display: grid; gap: 10px; }
.service-group-links a {
  display: grid;
  gap: 7px;
  padding: 18px;
  border: 1px solid rgba(17,17,17,.09);
  border-radius: 18px;
  background: rgba(255,253,248,.72);
  color: var(--black);
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}
.service-group-links a:hover { transform: translateY(-3px); border-color: rgba(249,115,22,.25); background: var(--paper); box-shadow: 0 18px 46px rgba(17,17,17,.09); }
.service-group-links strong { font-size: 1.02rem; letter-spacing: -.025em; }
.service-group-links em { font-style: normal; color: var(--muted); font-size: .9rem; line-height: 1.52; }
.service-group-links b { margin-top: 4px; color: var(--orange); font-size: .78rem; letter-spacing: .04em; }
.method-section {
  background: radial-gradient(circle at 78% 16%, rgba(249,115,22,.13), transparent 28%), linear-gradient(135deg, #101010, #23211f 56%, #111) !important;
  color: var(--warm);
}
.method-section h2,
.method-section h3 { color: var(--warm); }
.method-section .section-heading p,
.method-rail p { color: rgba(248,245,239,.68); }
.method-rail {
  display: grid;
  grid-template-columns: repeat(7, minmax(185px, 1fr));
  gap: 12px;
  overflow-x: auto;
  padding: 4px 2px 18px;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  scrollbar-color: rgba(249,115,22,.5) rgba(255,255,255,.08);
}
.method-rail article {
  min-height: 260px;
  min-width: 185px;
  padding: 22px;
  border: 1px solid rgba(248,245,239,.12);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  box-shadow: inset 0 1px rgba(255,255,255,.05);
  scroll-snap-align: start;
}
.method-rail b { display: inline-block; margin-bottom: 38px; }
.method-rail h3 { margin-bottom: 10px; font-size: 1.08rem; letter-spacing: -.025em; }
.standard-system-section { background: #fffaf2 !important; }
.standard-system-grid,
.expansion-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}
.standard-system-grid article,
.expansion-grid article {
  min-height: 230px;
  padding: 25px;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 24px;
  background: rgba(255,253,248,.86);
  box-shadow: 0 16px 48px rgba(17,17,17,.055);
}
.standard-system-grid span { display: inline-block; margin-bottom: 34px; }
.standard-system-grid h3,
.expansion-grid h3 { font-size: 1.08rem; letter-spacing: -.03em; }
.standard-system-grid p,
.expansion-grid p { font-size: .94rem; line-height: 1.64; }
.equipment-section { background: var(--warm) !important; padding-top: 42px; padding-bottom: 42px; }
.equipment-panel {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 30px;
  align-items: center;
  padding: 32px;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(255,253,248,.94), rgba(231,222,210,.42));
  box-shadow: 0 22px 70px rgba(17,17,17,.07);
}
.equipment-panel h2 { margin: 8px 0 10px; font-size: clamp(1.7rem, 3vw, 2.55rem); }
.equipment-panel p { margin: 0; color: var(--muted); }
.equipment-brand-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.equipment-brand-grid span {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 999px;
  background: rgba(255,253,248,.72);
  color: var(--black);
  font-weight: 850;
  letter-spacing: -.02em;
}
.expansion-section { background: linear-gradient(180deg, var(--warm), #fffaf2) !important; }
.expansion-grid article { background: linear-gradient(145deg, rgba(255,253,248,.94), rgba(231,222,210,.45)); }
.related-service-system { background: var(--warm) !important; }
.related-service-system .service-group-card { background: rgba(255,253,248,.82); }

/* Premium seasonal maintenance plans */
.maintenance-hero {
  background: radial-gradient(circle at 80% 8%, rgba(249,115,22,.15), transparent 28%), linear-gradient(135deg, #111 0%, #24221f 60%, #101010 100%);
}
.maintenance-pain-section,
.maintenance-comparison-section,
.maintenance-inclusions-section,
.maintenance-scope-section { background: var(--warm) !important; }
.maintenance-plan-section,
.maintenance-how-section,
.maintenance-buyer-section { background: linear-gradient(180deg, #fffaf2, var(--warm)) !important; }
.maintenance-reserve-section {
  background: radial-gradient(circle at 16% 18%, rgba(249,115,22,.1), transparent 26%), linear-gradient(135deg, #101010, #23211f 62%, #111) !important;
  color: var(--warm);
}
.maintenance-pain-grid,
.maintenance-scope-grid {
  display: grid;
  grid-template-columns: .84fr 1.16fr;
  gap: 34px;
  align-items: center;
}
.maintenance-pain-cards,
.maintenance-scope-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.maintenance-pain-cards article,
.maintenance-scope-cards article,
.maintenance-buyer-grid article {
  min-height: 116px;
  display: grid;
  align-content: end;
  padding: 20px;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(255,253,248,.9), rgba(231,222,210,.4));
  box-shadow: 0 14px 40px rgba(17,17,17,.055);
}
.maintenance-pain-cards article:first-child { grid-column: span 2; }
.maintenance-pain-cards span,
.maintenance-plan-card > .plan-badge,
.plan-card-head > span,
.maintenance-steps b {
  color: #f29b55;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.maintenance-pain-cards h3,
.maintenance-scope-cards h3,
.maintenance-buyer-grid h3 { margin: 10px 0 0; font-size: 1rem; letter-spacing: -.025em; }
.maintenance-plan-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}
.maintenance-plan-card {
  position: relative;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 20px;
  padding: 28px;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 28px;
  background: rgba(255,253,248,.88);
  box-shadow: 0 20px 64px rgba(17,17,17,.07);
}
.maintenance-plan-card.featured {
  border-color: rgba(249,115,22,.32);
  background: radial-gradient(circle at 82% 0%, rgba(249,115,22,.12), transparent 28%), rgba(255,253,248,.94);
  box-shadow: 0 28px 84px rgba(17,17,17,.1);
}
.maintenance-plan-card .plan-badge {
  position: absolute;
  top: 18px;
  right: 18px;
  padding: 8px 11px;
  border: 1px solid rgba(249,115,22,.24);
  border-radius: 999px;
  background: rgba(249,115,22,.1);
  color: var(--orange);
}
.plan-card-head { padding-bottom: 18px; border-bottom: 1px solid rgba(17,17,17,.08); }
.plan-card-head h3 { margin: 10px 0 0; font-size: clamp(1.62rem, 3vw, 2.18rem); letter-spacing: -.055em; }
.plan-note { margin: 10px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.48; }
.plan-positioning { margin: 0; color: var(--muted); font-size: .96rem; line-height: 1.62; }
.maintenance-plan-card .premium-list { margin: 0; }
.comparison-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 26px;
  background: rgba(255,253,248,.86);
  box-shadow: 0 18px 54px rgba(17,17,17,.065);
}
.maintenance-comparison-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}
.maintenance-comparison-table th,
.maintenance-comparison-table td {
  padding: 18px 16px;
  border-bottom: 1px solid rgba(17,17,17,.075);
  text-align: center;
}
.maintenance-comparison-table thead th {
  background: rgba(231,222,210,.28);
  color: var(--black);
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.maintenance-comparison-table tbody th {
  text-align: left;
  color: var(--black);
  font-size: .94rem;
  font-weight: 760;
}
.maintenance-comparison-table tbody tr:last-child th,
.maintenance-comparison-table tbody tr:last-child td { border-bottom: 0; }
.table-check {
  display: inline-flex;
  width: 28px;
  height: 28px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(249,115,22,.13);
  color: var(--orange);
  font-weight: 900;
}
.table-muted { color: rgba(17,17,17,.32); font-weight: 800; }
.maintenance-steps,
.maintenance-inclusion-grid,
.maintenance-buyer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.maintenance-buyer-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.maintenance-steps article,
.maintenance-inclusion-grid article {
  min-height: 245px;
  padding: 24px;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 24px;
  background: rgba(255,253,248,.86);
  box-shadow: 0 16px 48px rgba(17,17,17,.055);
}
.maintenance-steps b { display: inline-block; margin-bottom: 42px; }
.maintenance-steps h3,
.maintenance-inclusion-grid h3 { font-size: 1.06rem; letter-spacing: -.03em; }
.maintenance-steps p { color: var(--muted); font-size: .94rem; line-height: 1.62; }
.maintenance-inclusion-grid ul { display: grid; gap: 11px; margin: 18px 0 0; padding: 0; list-style: none; }
.maintenance-inclusion-grid li { position: relative; padding-left: 18px; color: var(--muted); font-size: .94rem; line-height: 1.46; }
.maintenance-inclusion-grid li::before { content: ""; position: absolute; left: 0; top: .62em; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); }
.reserve-panel {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 34px;
  align-items: center;
  padding: 34px;
  border: 1px solid rgba(248,245,239,.13);
  border-radius: 30px;
  background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025));
  box-shadow: inset 0 1px rgba(255,255,255,.05), 0 28px 90px rgba(0,0,0,.22);
}
.reserve-panel h2 { color: var(--warm); }
.reserve-panel p { color: rgba(248,245,239,.72); }
.reserve-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: reserve;
}
.reserve-flow li {
  min-height: 118px;
  padding: 18px;
  border: 1px solid rgba(248,245,239,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  color: rgba(248,245,239,.78);
  font-size: .88rem;
  line-height: 1.42;
}
.reserve-flow li::before {
  counter-increment: reserve;
  content: "0" counter(reserve);
  display: block;
  margin-bottom: 26px;
  color: #f29b55;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .16em;
}
.maintenance-final-cta {
  padding: 72px 0;
  background: radial-gradient(circle at 18% 12%, rgba(249,115,22,.16), transparent 28%), linear-gradient(135deg, #111, #24221f 62%, #101010);
  color: var(--warm);
}
.maintenance-final-cta h2 { color: var(--warm); }
.maintenance-final-cta p { color: rgba(248,245,239,.72); }


/* Franchise-grade local service framework */
.local-system-hero,
.premium-city-hero,
.premium-service-city-hero,
.service-city-hero {
  background:
    radial-gradient(circle at 82% 10%, rgba(249,115,22,.13), transparent 30%),
    linear-gradient(135deg, #101010 0%, #24221f 60%, #111 100%);
}
.local-system-hero .hero-grid,
.premium-city-hero .hero-grid,
.premium-service-city-hero .hero-grid,
.service-city-hero .hero-grid { align-items: stretch; }
.hero-variant-1 { background: radial-gradient(circle at 14% 18%, rgba(249,115,22,.13), transparent 26%), linear-gradient(135deg, #111, #272522 58%, #101010); }
.hero-variant-2 { background: radial-gradient(circle at 84% 76%, rgba(201,201,201,.12), transparent 28%), linear-gradient(145deg, #0f0f0f, #25221e 54%, #151515); }
.hero-variant-3 { background: radial-gradient(circle at 48% 0%, rgba(249,115,22,.12), transparent 28%), linear-gradient(135deg, #171513, #242424 60%, #0d0d0d); }
.hero-variant-4 { background: radial-gradient(circle at 92% 18%, rgba(248,245,239,.09), transparent 28%), linear-gradient(155deg, #0d0d0d, #201f1d 48%, #2a241f); }
.local-visual-card {
  position: relative;
  min-height: 430px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(248,245,239,.14);
  border-radius: 32px;
  background: #111;
  box-shadow: 0 30px 90px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.05);
  isolation: isolate;
}
.local-visual-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(17,17,17,.02) 25%, rgba(17,17,17,.42) 58%, rgba(17,17,17,.84) 100%);
  pointer-events: none;
}
.local-visual-card img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1), filter .35s ease; }
.local-visual-card:hover img { transform: scale(1.025); filter: saturate(1.04) contrast(1.02); }
.local-visual-card figcaption {
  position: absolute;
  left: 22px;
  right: 22px;
  bottom: 20px;
  z-index: 2;
  display: grid;
  gap: 6px;
  padding: 18px;
  border: 1px solid rgba(248,245,239,.14);
  border-radius: 22px;
  background: rgba(17,17,17,.62);
  backdrop-filter: blur(14px) saturate(120%);
  color: rgba(248,245,239,.74);
}
.local-visual-card figcaption span,
.local-visual-card figcaption em {
  color: #f29b55;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .15em;
  text-transform: uppercase;
  font-style: normal;
}
.local-visual-card figcaption strong { color: var(--warm); font-size: clamp(1.28rem, 2.5vw, 2rem); line-height: 1; letter-spacing: -.052em; }
.local-visual-card figcaption p { margin: 0; color: rgba(248,245,239,.72); font-size: .88rem; line-height: 1.5; }
.visual-system-1 { border-radius: 22px 38px 22px 38px; }
.visual-system-2 { min-height: 500px; }
.visual-system-2 img { min-height: 500px; }
.visual-system-3 { align-self: center; min-height: 380px; }
.visual-system-3 img { min-height: 380px; }
.visual-system-4 { box-shadow: 0 22px 72px rgba(0,0,0,.28), 18px 18px 0 rgba(249,115,22,.08); }
.local-environment-section,
.city-services-section,
.service-city-scope,
.neighborhood-spotlight-section,
.actual-clean-section,
.restoration-gallery-section,
.local-link-section,
.local-preservation-section { background: var(--warm); }
.local-environment-grid,
.service-city-scope-grid,
.local-link-panel,
.preservation-panel {
  display: grid;
  grid-template-columns: 1.02fr .98fr;
  gap: 34px;
  align-items: center;
}
.local-environment-grid > article,
.service-city-scope-grid > article,
.premium-service-fit,
.preservation-panel {
  padding: 34px;
  border: 1px solid rgba(17,17,17,.09);
  border-radius: 30px;
  background: rgba(255,253,248,.78);
  box-shadow: var(--shadow-soft);
}
.environment-variant-1,
.city-services-variant-1,
.clean-variant-1 { background: linear-gradient(180deg, #fffaf2, var(--warm)) !important; }
.environment-variant-2 .local-environment-grid { grid-template-columns: .92fr 1.08fr; }
.environment-variant-3 { background: radial-gradient(circle at 14% 4%, rgba(249,115,22,.08), transparent 28%), var(--warm) !important; }
.environment-variant-4 .local-visual-card { order: -1; }
.city-services-variant-2 .local-service-grid { grid-template-columns: 1.25fr .9fr .9fr 1.05fr; }
.city-services-variant-3 .local-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.city-services-variant-4 { background: #fffaf2 !important; }
.local-service-grid .service-card span,
.local-luxury-service-card > span {
  display: inline-flex;
  margin-bottom: 10px;
  color: #b8500d;
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.local-luxury-service-card h3 { font-size: clamp(1.18rem, 1.9vw, 1.52rem); }
.local-luxury-service-card p { min-height: 0; }
.service-scope-variant-1 .service-city-scope-grid,
.service-scope-variant-3 .service-city-scope-grid { grid-template-columns: .9fr 1.1fr; }
.premium-service-fit { align-self: stretch; background: linear-gradient(145deg, rgba(255,253,248,.95), rgba(231,222,210,.42)); }
.local-preservation-section { padding-top: 42px; padding-bottom: 42px; }
.preservation-panel { background: radial-gradient(circle at 92% 10%, rgba(249,115,22,.1), transparent 26%), linear-gradient(145deg, #242321, #101010); color: var(--warm); }
.preservation-panel h2 { color: var(--warm); }
.preservation-panel p { color: rgba(248,245,239,.72); }
.preservation-points { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.preservation-points span {
  min-height: 68px;
  display: flex;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(248,245,239,.12);
  border-radius: 18px;
  background: rgba(255,255,255,.045);
  color: rgba(248,245,239,.8);
  font-weight: 760;
  line-height: 1.32;
}
.neighborhood-spotlight-panel {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 34px;
  align-items: center;
  padding: 34px;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 32px;
  background: rgba(255,253,248,.82);
  box-shadow: var(--shadow-soft);
}
.spotlight-variant-1 .neighborhood-spotlight-panel,
.spotlight-variant-4 .neighborhood-spotlight-panel { background: linear-gradient(145deg, rgba(255,253,248,.94), rgba(231,222,210,.42)); }
.spotlight-variant-2 { background: #fffaf2 !important; }
.spotlight-variant-3 .neighborhood-spotlight-panel { grid-template-columns: 1.15fr .85fr; }
.neighborhood-chip-row,
.premium-neighborhoods { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.neighborhood-chip-row span,
.premium-neighborhoods span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 8px 11px;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 999px;
  background: rgba(255,255,255,.6);
  color: rgba(17,17,17,.72);
  font-size: .8rem;
  font-weight: 780;
}
.actual-clean-section { background: radial-gradient(circle at 88% 4%, rgba(249,115,22,.08), transparent 24%), #fffaf2 !important; }
.actual-clean-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.actual-clean-card {
  min-height: 220px;
  padding: 22px;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 22px;
  background: rgba(255,253,248,.88);
  box-shadow: 0 14px 42px rgba(17,17,17,.055);
  transition: transform .24s cubic-bezier(.2,.8,.2,1), border-color .24s ease, box-shadow .24s ease;
}
.actual-clean-card:hover { transform: translateY(-3px); border-color: rgba(249,115,22,.22); box-shadow: 0 22px 62px rgba(17,17,17,.09); }
.actual-clean-card span { display: inline-block; margin-bottom: 28px; color: #b8500d; font-size: .7rem; font-weight: 850; letter-spacing: .16em; }
.actual-clean-card h3 { font-size: 1.02rem; }
.actual-clean-card p { font-size: .9rem; line-height: 1.58; }
.clean-variant-2 .actual-clean-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.clean-variant-2 .actual-clean-card { min-height: 160px; }
.clean-variant-3 .actual-clean-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.clean-variant-4 .actual-clean-card:nth-child(1),
.clean-variant-4 .actual-clean-card:nth-child(8) { grid-column: span 2; }
.restoration-gallery-section { background: linear-gradient(180deg, var(--warm), #fffaf2) !important; }
.proof-layout-1,
.proof-layout-3 { background: radial-gradient(circle at 12% 10%, rgba(249,115,22,.08), transparent 25%), var(--warm) !important; }
.luxury-proof-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}
.luxury-proof-card {
  position: relative;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 28px;
  background: #111;
  box-shadow: 0 18px 58px rgba(17,17,17,.1);
  min-height: 440px;
}
.luxury-proof-card img { width: 100%; height: 100%; min-height: 440px; object-fit: cover; transition: transform .55s cubic-bezier(.2,.8,.2,1), filter .32s ease; }
.luxury-proof-card:hover img { transform: scale(1.026); filter: saturate(1.04) contrast(1.02); }
.luxury-proof-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(17,17,17,0) 34%, rgba(17,17,17,.82)); pointer-events: none; }
.luxury-proof-card figcaption {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 1;
  padding: 16px;
  border: 1px solid rgba(248,245,239,.14);
  border-radius: 18px;
  background: rgba(17,17,17,.66);
  backdrop-filter: blur(12px);
}
.luxury-proof-card span { color: #f29b55; font-size: .68rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.luxury-proof-card strong { display: block; margin: 6px 0; color: var(--warm); font-size: 1.05rem; line-height: 1.12; letter-spacing: -.028em; }
.luxury-proof-card p { margin: 0; color: rgba(248,245,239,.72); font-size: .84rem; line-height: 1.45; }
.proof-layout-1 .luxury-proof-card:first-child,
.proof-layout-4 .luxury-proof-card:nth-child(2) { grid-column: span 2; }
.proof-layout-2 .luxury-proof-gallery { grid-template-columns: 1.2fr .8fr .8fr 1.2fr; }
.proof-layout-3 .luxury-proof-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.local-link-panel {
  padding: 32px;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 32px;
  background: rgba(255,253,248,.82);
  box-shadow: var(--shadow-soft);
}
.local-link-columns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.local-link-columns > div {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(17,17,17,.08);
  border-radius: 20px;
  background: rgba(248,245,239,.6);
}
.local-link-columns h3 { margin-bottom: 8px; font-size: 1rem; }
.local-link-columns a {
  display: grid;
  gap: 1px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(17,17,17,.07);
  color: rgba(17,17,17,.78);
  font-size: .9rem;
  font-weight: 750;
}
.local-link-columns a:last-child { border-bottom: 0; }
.local-link-columns a em { color: var(--muted); font-style: normal; font-size: .76rem; font-weight: 650; }
@media (max-width: 1180px) {
  .actual-clean-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .luxury-proof-gallery,
  .proof-layout-2 .luxury-proof-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .city-services-variant-2 .local-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1020px) {
  .local-environment-grid,
  .service-city-scope-grid,
  .local-link-panel,
  .preservation-panel,
  .neighborhood-spotlight-panel,
  .environment-variant-2 .local-environment-grid,
  .service-scope-variant-1 .service-city-scope-grid,
  .service-scope-variant-3 .service-city-scope-grid,
  .spotlight-variant-3 .neighborhood-spotlight-panel { grid-template-columns: 1fr; }
  .environment-variant-4 .local-visual-card { order: 0; }
  .local-link-columns,
  .preservation-points { grid-template-columns: 1fr; }
  .local-visual-card,
  .local-visual-card img { min-height: 380px; }
}
@media (max-width: 680px) {
  .local-visual-card { min-height: 330px; border-radius: 24px; }
  .local-visual-card img { min-height: 330px; }
  .local-visual-card figcaption { left: 14px; right: 14px; bottom: 14px; padding: 14px; border-radius: 18px; }
  .local-environment-grid > article,
  .service-city-scope-grid > article,
  .premium-service-fit,
  .local-link-panel,
  .preservation-panel,
  .neighborhood-spotlight-panel { padding: 24px; border-radius: 24px; }
  .actual-clean-grid,
  .clean-variant-2 .actual-clean-grid,
  .clean-variant-3 .actual-clean-grid,
  .luxury-proof-gallery,
  .proof-layout-2 .luxury-proof-gallery,
  .proof-layout-3 .luxury-proof-gallery,
  .city-services-variant-3 .local-service-grid { grid-template-columns: 1fr; }
  .clean-variant-4 .actual-clean-card:nth-child(1),
  .clean-variant-4 .actual-clean-card:nth-child(8),
  .proof-layout-1 .luxury-proof-card:first-child,
  .proof-layout-4 .luxury-proof-card:nth-child(2) { grid-column: auto; }
  .actual-clean-card { min-height: auto; }
  .luxury-proof-card,
  .luxury-proof-card img { min-height: 360px; }
}

/* Public-facing service-area page */
.public-area-hero {
  background:
    radial-gradient(circle at 86% 12%, rgba(249,115,22,.12), transparent 28%),
    linear-gradient(135deg, #111 0%, #25231f 58%, #111 100%);
}
.public-area-hero::after { opacity: .62; }
.public-area-hero .hero-grid { align-items: stretch; }
.service-area-coverage-card {
  position: relative;
  min-height: 390px;
  display: grid;
  align-content: end;
  gap: 16px;
  padding: 34px;
  border: 1px solid rgba(248,245,239,.14);
  border-radius: 32px;
  background:
    linear-gradient(145deg, rgba(255,255,255,.08), rgba(255,255,255,.025)),
    radial-gradient(circle at 18% 18%, rgba(249,115,22,.13), transparent 30%);
  box-shadow: inset 0 1px rgba(255,255,255,.06), 0 30px 90px rgba(0,0,0,.24);
  color: var(--warm);
  overflow: hidden;
}
.service-area-coverage-card::before {
  content: "";
  position: absolute;
  inset: 22px;
  border: 1px solid rgba(248,245,239,.07);
  border-radius: 24px;
  pointer-events: none;
}
.service-area-coverage-card::after {
  content: "";
  position: absolute;
  right: -120px;
  top: -120px;
  width: 330px;
  height: 330px;
  border-radius: 50%;
  border: 1px solid rgba(248,245,239,.08);
  box-shadow: inset 0 0 0 44px rgba(248,245,239,.025), inset 0 0 0 96px rgba(249,115,22,.045);
  pointer-events: none;
}
.service-area-coverage-card > * { position: relative; z-index: 1; }
.service-area-coverage-card span {
  color: #f29b55;
  font-size: .7rem;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.service-area-coverage-card strong {
  display: block;
  max-width: 430px;
  color: var(--warm);
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: .98;
  letter-spacing: -.06em;
}
.service-area-coverage-card p { max-width: 450px; margin: 0; color: rgba(248,245,239,.68); font-size: .98rem; line-height: 1.65; }
.service-area-coverage-card .btn { justify-self: start; margin-top: 4px; }
.local-care-section,
.primary-service-areas,
.public-services-section { background: var(--warm) !important; }
.nearby-communities-section,
.availability-section { background: #fffaf2 !important; }
.local-care-panel,
.service-availability-panel {
  display: grid;
  grid-template-columns: .78fr 1.22fr;
  gap: 44px;
  align-items: center;
  padding: 34px;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 32px;
  background: linear-gradient(145deg, rgba(255,253,248,.94), rgba(231,222,210,.42));
  box-shadow: 0 22px 70px rgba(17,17,17,.07);
}
.local-care-panel p,
.service-availability-panel p { margin-bottom: 0; font-size: 1.05rem; line-height: 1.76; }
.public-city-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
}
.public-city-card {
  min-height: 218px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: rgba(255,253,248,.88);
}
.public-city-card:nth-child(2),
.public-city-card:nth-child(9) {
  background: linear-gradient(145deg, rgba(36,35,33,.98), rgba(16,16,16,.98));
  color: var(--warm);
  border-color: rgba(248,245,239,.1);
}
.public-city-card:nth-child(2) h3,
.public-city-card:nth-child(9) h3 { color: var(--warm); }
.public-city-card:nth-child(2) p,
.public-city-card:nth-child(9) p { color: rgba(248,245,239,.68); }
.public-city-card h3 { margin-bottom: 12px; font-size: clamp(1.18rem, 2vw, 1.5rem); }
.public-city-card p { font-size: .94rem; line-height: 1.62; }
.nearby-community-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.nearby-community-grid a {
  display: grid;
  gap: 4px;
  min-height: 96px;
  align-content: center;
  padding: 18px 20px;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 20px;
  background: rgba(255,253,248,.76);
  box-shadow: 0 12px 34px rgba(17,17,17,.045);
  transition: transform .24s cubic-bezier(.2,.8,.2,1), box-shadow .24s ease, border-color .24s ease, background .24s ease;
}
.nearby-community-grid a:hover {
  transform: translateY(-3px);
  box-shadow: 0 22px 60px rgba(17,17,17,.085);
  border-color: rgba(249,115,22,.22);
  background: var(--paper);
}
.nearby-community-grid strong { color: var(--black); font-size: 1.02rem; letter-spacing: -.03em; }
.nearby-community-grid span { color: var(--muted); font-size: .82rem; font-weight: 760; }
.public-service-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.public-service-grid .service-card {
  min-height: 235px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.public-service-grid .service-card h3 { font-size: 1.02rem; }
.public-service-grid .service-card p { font-size: .91rem; line-height: 1.58; }
.service-availability-panel {
  grid-template-columns: 1fr auto;
  background: linear-gradient(145deg, #242321, #101010);
  color: var(--warm);
  border-color: rgba(248,245,239,.12);
  box-shadow: 0 28px 84px rgba(17,17,17,.18);
}
.service-availability-panel h2 { color: var(--warm); }
.service-availability-panel p { max-width: 700px; color: rgba(248,245,239,.72); }
.service-availability-panel .cta-actions { margin-top: 0; justify-content: flex-end; }
.final-area-cta {
  padding: 76px 0;
  background: radial-gradient(circle at 18% 12%, rgba(249,115,22,.14), transparent 27%), linear-gradient(135deg,#111,#24221f 62%,#101010);
  color: var(--warm);
}
.final-area-cta h2 { color: var(--warm); font-size: clamp(1.9rem, 3.2vw, 3rem); }
.final-area-cta p { max-width: 660px; color: rgba(248,245,239,.72); }
.final-area-cta .btn.secondary { background: rgba(248,245,239,.96); color: var(--black); }

@media (max-width: 1020px) {
  .local-care-panel,
  .service-availability-panel,
  .public-area-hero .hero-grid { grid-template-columns: 1fr; }
  .service-area-coverage-card { min-height: 310px; }
  .public-city-grid,
  .nearby-community-grid,
  .public-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-availability-panel .cta-actions { justify-content: start; }
}

@media (max-width: 680px) {
  .service-area-coverage-card,
  .local-care-panel,
  .service-availability-panel { padding: 24px; border-radius: 24px; }
  .service-area-coverage-card { min-height: 285px; }
  .public-city-grid,
  .nearby-community-grid,
  .public-service-grid { grid-template-columns: 1fr; }
  .public-city-card,
  .public-service-grid .service-card { min-height: auto; }
  .nearby-community-grid a { min-height: 82px; }
}

@media (min-width: 1021px) {
  .dropdown-feature {
    background: linear-gradient(145deg, rgba(36,35,33,.18), rgba(16,16,16,.28)), url('/static/services-menu-outdoor-kitchen.jpg') center / cover no-repeat;
  }
}

@media (max-width: 1100px) {
  .main-nav { gap: 13px; font-size: .84rem; }
}

@media (max-width: 1020px) {
  .site-header { z-index: 120; }
  .nav-toggle { display: inline-flex; position: relative; z-index: 123; }
  body.nav-open .nav-toggle-bars span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  body.nav-open .nav-toggle-bars span:nth-child(2) { opacity: 0; }
  body.nav-open .nav-toggle-bars span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .nav-scrim { display: none; }
  .main-nav {
    position: absolute;
    left: max(12px, env(safe-area-inset-left));
    right: max(12px, env(safe-area-inset-right));
    top: calc(100% + 10px);
    z-index: 122;
    width: auto;
    max-height: calc(100dvh - 96px);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 18px;
    border: 1px solid rgba(248,245,239,.13);
    border-radius: 28px;
    background: radial-gradient(circle at 88% 6%, rgba(249,115,22,.18), transparent 28%), linear-gradient(145deg, #242321, #0f0f0f 72%);
    box-shadow: 0 28px 90px rgba(0,0,0,.34);
    color: var(--warm);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px) scale(.985);
    transform-origin: top center;
    visibility: hidden;
    transition: transform .24s cubic-bezier(.2,.8,.2,1), opacity .2s ease, visibility .2s ease;
  }
  .main-nav.open,
  body.nav-open .main-nav { opacity: 1; pointer-events: auto; transform: translateY(0) scale(1); visibility: visible; }
  .mobile-nav-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 4px 0 14px; border-bottom: 1px solid rgba(248,245,239,.12); color: var(--warm); }
  .mobile-nav-head span { font-size: .76rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; color: #f29b55; }
  .mobile-nav-close { border: 1px solid rgba(248,245,239,.18); background: rgba(255,255,255,.06); color: var(--warm); border-radius: 999px; min-height: 38px; padding: 0 14px; font: inherit; font-size: .78rem; font-weight: 800; }
  .nav-link, .nav-group > a, .main-nav > a:not(.nav-cta) { min-height: 50px; padding: 13px 2px; border-bottom: 1px solid rgba(248,245,239,.1); color: rgba(248,245,239,.86); font-size: 1.02rem; }
  .main-nav a:hover { color: var(--warm); }
  .nav-services-trigger { justify-content: space-between; color: var(--warm) !important; }
  .nav-services-trigger span { color: #f29b55; }
  .nav-group { display: grid; align-items: stretch; }
  .nav-group::after { display: none; }
  .dropdown {
    position: static;
    width: 100%;
    padding: 12px;
    margin: 3px 0 8px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    visibility: visible;
    border-color: rgba(248,245,239,.12);
    background: rgba(255,255,255,.045);
    box-shadow: inset 0 1px rgba(255,255,255,.05);
    border-radius: 22px;
  }
  .dropdown-feature { min-height: 128px; padding: 17px; border: 1px solid rgba(248,245,239,.1); background: linear-gradient(145deg, rgba(255,255,255,.07), rgba(255,255,255,.025)); }
  .dropdown-feature::after { display: none; }
  .dropdown-links { grid-template-columns: 1fr; gap: 5px; }
  .dropdown-links a { padding: 12px 11px; border-color: rgba(248,245,239,.08); background: rgba(255,255,255,.035); color: rgba(248,245,239,.82); }
  .dropdown-links a strong { color: var(--warm); }
  .dropdown-links a span { color: rgba(248,245,239,.56); }
  .dropdown-links a:hover { background: rgba(249,115,22,.12); border-color: rgba(249,115,22,.25); transform: none; }
  .nav-cta { min-height: 54px; margin-top: 4px; display: flex; align-items: center; justify-content: center; background: var(--orange); color: var(--black) !important; box-shadow: 0 18px 40px rgba(249,115,22,.24); }
  .mobile-nav-footer { display: grid; gap: 12px; margin-top: auto; padding-top: 16px; border-top: 1px solid rgba(248,245,239,.12); }
  .mobile-nav-footer p { margin: 0; color: rgba(248,245,239,.62); font-size: .88rem; line-height: 1.48; }
  .mobile-nav-footer div { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  .mobile-nav-footer a { display: flex; min-height: 44px; align-items: center; justify-content: center; border: 1px solid rgba(248,245,239,.14); border-radius: 999px; color: rgba(248,245,239,.84); font-size: .8rem; font-weight: 800; }
  .home-hero-grid, .proof-grid, .safety-grid, .compact-split, .area-price-grid, .hero-grid, .split, .two-col, .contact-grid, .cta-grid, .section-heading, .image-story-grid, .lightbox-dialog, .appliance-standard-grid, .service-hub-hero .hero-grid { grid-template-columns: 1fr; }
  .home-hero-copy { max-width: 760px; }
  .home-hero-image, .home-hero-image img, .home-hero-image .premium-image-placeholder { min-height: 480px; }
  .hero-visual.small { justify-self: stretch; }
  .refined-service-list, .card-grid.three, .before-after-grid, .before-after-grid.gallery, .steps, .pricing-grid, .city-page-grid, .article-grid, .footer-grid, .refined-pricing-grid, .refined-city-grid, .review-grid, .premium-process-grid, .maintenance-grid, .standard-points, .services-hub-grid, .included-process-grid, .avoid-grid, .standard-system-grid, .expansion-grid, .equipment-panel, .maintenance-plan-grid, .maintenance-steps, .maintenance-inclusion-grid, .maintenance-buyer-grid, .maintenance-pain-grid, .maintenance-scope-grid, .reserve-panel { grid-template-columns: repeat(2,1fr); }
  .reserve-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .service-group-system { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-group-card,
  .service-group-card:nth-child(1),
  .service-group-card:nth-child(6) { grid-column: auto; }
  .equipment-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .article-body-grid { grid-template-columns: 1fr; }
  .article-aside { position: static; }
  .guide-panel { max-width: none; justify-self: stretch; }
  .lightbox-dialog { overflow-y: auto; }
  .lightbox-visual img { max-height: 58vh; }
  .lightbox-panel { border-left: 0; border-top: 1px solid rgba(248,245,239,.12); padding: 30px; }
  .lightbox-next { right: 18px; }
}


@media (max-width: 680px) {
  .container { width: min(100% - 28px, 1160px); }
  .home-hero { padding: 48px 0 34px; }
  .home-section, .hero, .page-hero, .section, .split-section, .process, .article-page { padding: 58px 0; }
  .nav-shell { min-height: 70px; }
  .main-nav { left: 8px; right: 8px; top: calc(100% + 8px); width: auto; max-height: calc(100dvh - 86px); border-radius: 24px; padding: 16px; }
  .brand strong { font-size: 1.08rem; }
  .brand em { display: none; }
  .brand-mark { width: 39px; height: 39px; }
  h1 { font-size: clamp(2.28rem, 11vw, 3.25rem); line-height: 1.05; }
  .home-hero h1 { font-size: clamp(2.05rem, 8.2vw, 2.85rem); max-width: 540px; letter-spacing: -.052em; }
  h2 { font-size: clamp(1.7rem, 8vw, 2.35rem); }
  p, .home-lead { font-size: 1rem; line-height: 1.68; }
  .home-actions, .hero-actions, .cta-actions { display: grid; width: 100%; }
  .btn { width: 100%; min-height: 52px; }
  .home-hero-grid { gap: 30px; }
  .home-hero-image, .home-hero-image img, .home-hero-image .premium-image-placeholder { min-height: 350px; }
  .home-hero-image { border-radius: 24px; }
  .home-hero-image figcaption { left: 16px; right: 16px; bottom: 16px; font-size: .86rem; }
  .home-trust-row { grid-template-columns: 1fr 1fr; }
  .home-trust-row span { padding: 14px 10px; font-size: .84rem; }
  .proof-board { grid-template-columns: 1fr; }
  .proof-board figure { min-height: 0; }
  .proof-board img { height: 100%; }
  .editorial-image img { height: 340px; }
  .coverage-module, .pricing-module { padding: 25px; }
  .refined-service-list, .card-grid.three, .before-after-grid, .before-after-grid.gallery, .steps, .pricing-grid, .city-page-grid, .article-grid, .footer-grid, .form-row, .refined-pricing-grid, .refined-city-grid, .review-grid, .premium-process-grid, .maintenance-grid, .standard-points, .services-hub-grid, .included-process-grid, .avoid-grid, .service-group-system, .standard-system-grid, .expansion-grid, .equipment-panel, .maintenance-plan-grid, .maintenance-steps, .maintenance-inclusion-grid, .maintenance-buyer-grid, .maintenance-pain-grid, .maintenance-scope-grid, .maintenance-pain-cards, .maintenance-scope-cards, .reserve-panel, .reserve-flow { grid-template-columns: 1fr; }
  .page-hero h1, .article-hero-text h1 { font-size: clamp(2.15rem, 10vw, 3.18rem); }
  .inner-hero-image, .inner-hero-image img { min-height: 330px; }
  .editorial-copy, .refined-panel, .pricing-hero-card, .service-area-panel, .guide-panel, .contact-hero-card, .refined-form, .refined-contact-panel { padding: 24px; }
  .article-shell { width: min(100% - 28px, 960px); }
  .refined-ba-card img { height: clamp(230px, 72vw, 320px); padding: 8px; }
  .appliance-standard { padding: 58px 0; }
  .appliance-standard-grid { gap: 28px; }
  .standard-points article, .services-hub-tile, .included-process-grid article, .avoid-grid article, .service-group-card, .standard-system-grid article, .expansion-grid article, .maintenance-plan-card, .maintenance-steps article, .maintenance-inclusion-grid article, .maintenance-pain-cards article, .maintenance-scope-cards article, .maintenance-buyer-grid article { min-height: auto; padding: 22px; }
  .maintenance-pain-cards article:first-child { grid-column: auto; }
  .comparison-table-wrap { margin-right: -14px; border-radius: 20px; }
  .maintenance-comparison-table th, .maintenance-comparison-table td { padding: 15px 12px; }
  .reserve-flow li { min-height: auto; }
  .equipment-panel { padding: 24px; }
  .method-rail { margin-right: -14px; padding-right: 14px; }
  .standard-points span, .included-process-grid b { margin-bottom: 24px; }
  .services-hub-card { min-height: 300px; padding: 26px; }
  .appliance-type-grid { margin-right: -14px; padding-right: 14px; }
  .authority-gallery-grid { grid-template-columns: repeat(7, minmax(235px, 1fr)); gap: 14px; margin-right: -14px; padding-right: 14px; }
  .restoration-lightbox { padding: 12px; align-items: end; }
  .lightbox-dialog { border-radius: 24px; max-height: 94vh; }
  .lightbox-visual img { max-height: 50vh; }
  .lightbox-panel { padding: 24px; gap: 14px; }
  .lightbox-actions { display: grid; }
  .lightbox-close { top: 12px; right: 12px; width: 42px; height: 42px; }
  .lightbox-nav { width: 42px; height: 42px; }
  .lightbox-prev { left: 12px; }
  .lightbox-next { right: 12px; }
  .footer-bottom { display: grid; }
  .mobile-call { display: flex; position: fixed; left: 14px; right: 14px; bottom: 14px; z-index: 80; min-height: 54px; align-items: center; justify-content: center; background: var(--black); color: var(--warm); border: 1px solid rgba(248,245,239,.16); border-radius: 999px; font-weight: 800; box-shadow: 0 16px 44px rgba(0,0,0,.28); }
  .contact-panel { position: static; }
}

/* Location page luxury editorial redesign */
.premium-city-hero {
  padding: 96px 0 78px;
  background:
    radial-gradient(circle at 80% 8%, rgba(249,115,22,.12), transparent 26%),
    linear-gradient(135deg, #0d0d0d 0%, #24221f 56%, #101010 100%);
}
.premium-city-hero .hero-grid { grid-template-columns: .86fr 1.14fr; gap: 68px; align-items: center; }
.premium-city-hero h1 { font-size: clamp(2.55rem, 4.8vw, 4.65rem); line-height: 1.02; letter-spacing: -.065em; max-width: 760px; }
.premium-city-hero .lead { max-width: 630px; font-size: clamp(1.08rem, 1.5vw, 1.22rem); line-height: 1.75; color: rgba(248,245,239,.79); }
.premium-city-hero .local-visual-card { min-height: 560px; border-radius: 36px; box-shadow: 0 36px 110px rgba(0,0,0,.33); }
.premium-city-hero .local-visual-card img { min-height: 560px; }
.premium-city-hero .local-visual-card figcaption { left: 26px; right: 26px; bottom: 24px; }

.editorial-location-section { padding: 104px 0; }
.editorial-location-section .local-environment-grid {
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 70px;
  align-items: center;
}
.location-editorial-copy {
  max-width: 560px;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.location-editorial-copy h2,
.service-atelier-copy h2,
.clean-systems-intro h2,
.proof-editorial-copy h2,
.neighborhood-story h2,
.local-link-copy h2,
.city-final-cta h2 { letter-spacing: -.058em; }
.location-editorial-copy p { font-size: 1.08rem; line-height: 1.78; color: rgba(17,17,17,.72); }
.local-condition-row {
  display: grid;
  gap: 12px;
  margin-top: 30px;
  padding-top: 28px;
  border-top: 1px solid rgba(17,17,17,.12);
}
.local-condition-row span {
  position: relative;
  display: block;
  padding-left: 28px;
  color: rgba(17,17,17,.78);
  font-size: .98rem;
  line-height: 1.6;
}
.local-condition-row span::before { content: ""; position: absolute; left: 0; top: .75em; width: 13px; height: 2px; border-radius: 99px; background: var(--orange); }
.editorial-location-section .local-visual-card { min-height: 600px; border-color: rgba(17,17,17,.1); box-shadow: 0 30px 90px rgba(17,17,17,.12); }
.editorial-location-section .local-visual-card img { min-height: 600px; }

.city-service-atelier {
  overflow: hidden;
  padding: 96px 0;
  background: radial-gradient(circle at 12% 4%, rgba(249,115,22,.08), transparent 26%), linear-gradient(180deg, #fffaf2, var(--warm)) !important;
}
.city-service-atelier-grid {
  display: grid;
  grid-template-columns: .72fr 1.28fr;
  gap: 56px;
  align-items: start;
}
.service-atelier-copy { position: sticky; top: 118px; max-width: 430px; }
.service-atelier-copy p { font-size: 1.06rem; line-height: 1.78; }
.service-feature-rows { display: grid; gap: 0; border-top: 1px solid rgba(17,17,17,.13); }
.service-feature-row {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 24px;
  padding: 30px 0;
  border-bottom: 1px solid rgba(17,17,17,.13);
  transition: transform .24s cubic-bezier(.2,.8,.2,1), border-color .24s ease;
}
.service-feature-row:hover { transform: translateX(8px); border-bottom-color: rgba(249,115,22,.38); }
.service-feature-row > span { color: #b8500d; font-size: .72rem; font-weight: 850; letter-spacing: .18em; }
.service-feature-row h3 { margin-bottom: 10px; font-size: clamp(1.38rem, 2.4vw, 2.12rem); line-height: 1.08; }
.service-feature-row p { max-width: 720px; margin: 0; font-size: 1.01rem; line-height: 1.68; }
.supporting-service-strip {
  grid-column: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: -24px;
}
.supporting-service-strip a,
.nearby-inline-links a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 10px 14px;
  border: 1px solid rgba(17,17,17,.12);
  border-radius: 999px;
  background: rgba(255,253,248,.74);
  color: rgba(17,17,17,.78);
  font-size: .88rem;
  font-weight: 780;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.supporting-service-strip a:hover,
.nearby-inline-links a:hover { transform: translateY(-2px); border-color: rgba(249,115,22,.32); background: var(--paper); }

.clean-systems-section {
  padding: 108px 0;
  background: linear-gradient(135deg, #101010 0%, #24221f 58%, #111 100%) !important;
  color: var(--warm);
}
.clean-systems-wrap { display: grid; grid-template-columns: .74fr 1.26fr; gap: 64px; align-items: start; }
.clean-systems-intro { max-width: 470px; position: sticky; top: 118px; }
.clean-systems-intro h2 { color: var(--warm); font-size: clamp(2rem, 3.5vw, 3.3rem); }
.clean-systems-intro p { color: rgba(248,245,239,.72); font-size: 1.08rem; line-height: 1.78; }
.clean-system-list { display: grid; gap: 0; border-top: 1px solid rgba(248,245,239,.14); }
.clean-system-row {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 26px;
  padding: 30px 0;
  border-bottom: 1px solid rgba(248,245,239,.14);
}
.clean-system-row > span { color: #f29b55; font-size: .72rem; font-weight: 850; letter-spacing: .18em; }
.clean-system-row h3 { color: var(--warm); font-size: clamp(1.3rem, 2.3vw, 2rem); margin-bottom: 8px; }
.clean-system-row strong { display: block; margin-bottom: 8px; color: rgba(248,245,239,.88); font-size: 1rem; line-height: 1.55; }
.clean-system-row p { max-width: 720px; margin: 0; color: rgba(248,245,239,.67); font-size: .98rem; line-height: 1.68; }

.cinematic-proof-section { padding: 110px 0; background: linear-gradient(180deg, var(--warm), #fffaf2) !important; }
.proof-editorial-grid { display: grid; grid-template-columns: .62fr 1.38fr; gap: 56px; align-items: center; }
.proof-editorial-copy p { font-size: 1.07rem; line-height: 1.78; }
.cinematic-proof-board { display: grid; grid-template-columns: 1.22fr .78fr; gap: 18px; align-items: stretch; }
.proof-card-feature { min-height: 660px; }
.proof-card-feature img { min-height: 660px; }
.proof-support-stack { display: grid; gap: 18px; }
.proof-card-support { min-height: 321px; border-radius: 24px; }
.proof-card-support img { min-height: 321px; }
.proof-card-support figcaption p { display: none; }
.cinematic-proof-section .luxury-proof-card { box-shadow: 0 26px 82px rgba(17,17,17,.14); }

.neighborhood-editorial-section { padding: 104px 0; background: var(--warm) !important; }
.neighborhood-editorial-section .neighborhood-spotlight-panel {
  grid-template-columns: .86fr 1.14fr;
  gap: 70px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.neighborhood-story { align-self: center; max-width: 560px; }
.neighborhood-story p { font-size: 1.07rem; line-height: 1.78; }
.neighborhood-editorial-section .local-visual-card { min-height: 520px; border-color: rgba(17,17,17,.1); box-shadow: 0 28px 86px rgba(17,17,17,.12); }
.neighborhood-editorial-section .local-visual-card img { min-height: 520px; }
.premium-neighborhoods { margin-top: 28px; }
.premium-neighborhoods span { min-height: 40px; padding: 9px 13px; background: rgba(255,253,248,.72); }

.refined-local-navigation { padding: 86px 0; background: #fffaf2 !important; }
.refined-local-navigation .local-link-panel {
  grid-template-columns: .82fr 1.18fr;
  gap: 54px;
  padding: 44px;
  background: linear-gradient(145deg, rgba(255,253,248,.96), rgba(231,222,210,.38));
}
.local-link-copy p { max-width: 520px; font-size: 1.05rem; line-height: 1.76; }
.nearby-inline-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.local-service-journal {
  display: grid;
  gap: 0;
  align-self: stretch;
  border-top: 1px solid rgba(17,17,17,.12);
}
.local-service-journal h3 { margin: 0; padding: 0 0 18px; font-size: 1rem; letter-spacing: .02em; text-transform: uppercase; color: rgba(17,17,17,.58); }
.local-service-journal a {
  display: grid;
  gap: 6px;
  padding: 18px 0;
  border-bottom: 1px solid rgba(17,17,17,.11);
}
.local-service-journal a span { color: #b8500d; font-size: .7rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.local-service-journal a strong { color: var(--black); font-size: 1.04rem; line-height: 1.32; letter-spacing: -.025em; }
.local-service-journal a:hover strong { color: #a9480e; }

.faq-section { padding: 96px 0; background: var(--warm) !important; }
.faq-section .narrow { width: min(900px, calc(100% - 42px)); }
.faq-section h2 { margin-bottom: 30px; font-size: clamp(2rem, 3.5vw, 3.25rem); }
.faq-list { gap: 14px; }
.faq-list details { padding: 23px 26px; border-radius: 22px; background: rgba(255,253,248,.82); box-shadow: 0 10px 34px rgba(17,17,17,.04); }
.faq-list summary { font-size: 1.03rem; line-height: 1.45; }
.faq-list details p { margin-top: 16px; font-size: 1rem; line-height: 1.72; }

.city-final-cta {
  position: relative;
  overflow: hidden;
  padding: 104px 0 112px;
  background:
    radial-gradient(circle at 16% 8%, rgba(249,115,22,.18), transparent 28%),
    radial-gradient(circle at 86% 80%, rgba(201,201,201,.10), transparent 30%),
    linear-gradient(135deg, #090909, #23211f 58%, #0e0e0e) !important;
}
.city-final-cta::after { content: ""; position: absolute; inset: 22px; border: 1px solid rgba(248,245,239,.07); border-radius: 36px; pointer-events: none; }
.city-final-cta-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.16fr .84fr; gap: 48px; align-items: end; }
.city-final-cta h2 { max-width: 820px; color: var(--warm); font-size: clamp(2.35rem, 5vw, 4.55rem); line-height: 1.02; }
.city-final-cta p { max-width: 630px; color: rgba(248,245,239,.72); font-size: 1.1rem; line-height: 1.72; }
.city-final-cta .btn.secondary { background: rgba(248,245,239,.96); color: var(--black); }

@media (max-width: 1020px) {
  .premium-city-hero .hero-grid,
  .editorial-location-section .local-environment-grid,
  .city-service-atelier-grid,
  .clean-systems-wrap,
  .proof-editorial-grid,
  .neighborhood-editorial-section .neighborhood-spotlight-panel,
  .refined-local-navigation .local-link-panel,
  .city-final-cta-grid { grid-template-columns: 1fr; }
  .service-atelier-copy,
  .clean-systems-intro { position: static; max-width: 760px; }
  .supporting-service-strip { grid-column: auto; margin-top: 4px; }
  .cinematic-proof-board { grid-template-columns: 1fr; }
  .proof-support-stack { grid-template-columns: 1fr 1fr; }
  .proof-card-feature,
  .proof-card-feature img { min-height: 520px; }
}

@media (max-width: 680px) {
  .premium-city-hero { padding: 58px 0; }
  .premium-city-hero .hero-grid { gap: 34px; }
  .premium-city-hero .local-visual-card,
  .premium-city-hero .local-visual-card img { min-height: 360px; }
  .editorial-location-section,
  .city-service-atelier,
  .clean-systems-section,
  .cinematic-proof-section,
  .neighborhood-editorial-section,
  .refined-local-navigation,
  .faq-section,
  .city-final-cta { padding: 62px 0; }
  .editorial-location-section .local-visual-card,
  .editorial-location-section .local-visual-card img,
  .neighborhood-editorial-section .local-visual-card,
  .neighborhood-editorial-section .local-visual-card img { min-height: 340px; }
  .service-feature-row,
  .clean-system-row { grid-template-columns: 1fr; gap: 12px; padding: 24px 0; }
  .service-feature-row:hover { transform: none; }
  .proof-support-stack { grid-template-columns: 1fr; }
  .proof-card-feature,
  .proof-card-feature img,
  .proof-card-support,
  .proof-card-support img { min-height: 360px; }
  .refined-local-navigation .local-link-panel { padding: 26px; border-radius: 26px; }
  .city-final-cta::after { inset: 12px; border-radius: 24px; }
}

/* Premium services hub gateway redesign */
.services-gateway-hero {
  padding: 102px 0 92px;
  background:
    radial-gradient(circle at 77% 14%, rgba(249,115,22,.16), transparent 28%),
    radial-gradient(circle at 18% 78%, rgba(248,245,239,.06), transparent 30%),
    linear-gradient(135deg, #0b0b0b 0%, #25231f 58%, #101010 100%);
}
.services-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, .78fr);
  gap: 72px;
  align-items: center;
}
.services-hero-copy h1 {
  max-width: 780px;
  color: var(--warm);
  font-size: clamp(3.1rem, 6.4vw, 6.6rem);
  line-height: .94;
  letter-spacing: -.078em;
}
.services-hero-copy .lead {
  max-width: 760px;
  color: rgba(248,245,239,.78);
  font-size: clamp(1.08rem, 1.7vw, 1.34rem);
  line-height: 1.66;
}
.services-hero-copy .hero-note { color: #f29b55; font-size: .86rem; letter-spacing: .14em; text-transform: uppercase; }
.services-hero-visual {
  position: relative;
  overflow: hidden;
  min-height: 610px;
  margin: 0;
  border: 1px solid rgba(248,245,239,.13);
  border-radius: 36px;
  background: #111;
  box-shadow: 0 36px 96px rgba(0,0,0,.35), inset 0 1px rgba(255,255,255,.06);
}
.services-hero-visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.9) contrast(1.06) brightness(.72);
}
.services-hero-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.72)); }
.services-hero-visual figcaption {
  position: absolute;
  z-index: 1;
  left: 30px;
  right: 30px;
  bottom: 30px;
  padding: 28px;
  border: 1px solid rgba(248,245,239,.14);
  border-radius: 26px;
  background: rgba(12,12,12,.72);
  color: var(--warm);
  backdrop-filter: blur(14px);
}
.services-hero-visual figcaption span,
.services-gateway-heading .eyebrow,
.services-method-intro .eyebrow,
.services-clean-copy .eyebrow,
.services-not-wash-section .eyebrow,
.services-final-cta .eyebrow { color: #f29b55; }
.services-hero-visual figcaption strong { display: block; margin: 8px 0 10px; font-size: clamp(1.7rem, 3vw, 2.6rem); line-height: 1; letter-spacing: -.055em; }
.services-hero-visual figcaption p { margin: 0; color: rgba(248,245,239,.72); line-height: 1.62; }

.services-gateway-section { padding: 112px 0; background: var(--warm) !important; }
.services-gateway-heading {
  display: grid;
  grid-template-columns: .76fr .9fr;
  gap: 52px;
  align-items: end;
  margin-bottom: 54px;
}
.services-gateway-heading h2 { max-width: 640px; font-size: clamp(2.35rem, 4.6vw, 4.75rem); line-height: 1; letter-spacing: -.07em; }
.services-gateway-heading p { max-width: 610px; color: var(--muted); font-size: 1.08rem; line-height: 1.78; }
.services-gateway-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 18px;
}
.gateway-service-panel {
  position: relative;
  overflow: hidden;
  display: grid;
  min-height: 510px;
  grid-column: span 2;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 32px;
  background: rgba(255,253,248,.88);
  box-shadow: 0 22px 70px rgba(17,17,17,.075);
}
.gateway-service-panel.featured { grid-column: span 6; grid-template-columns: 1.08fr .92fr; min-height: 590px; }
.gateway-service-panel.medium { grid-column: span 3; min-height: 560px; }
.gateway-service-panel figure { position: relative; min-height: 245px; margin: 0; overflow: hidden; background: #161616; }
.gateway-service-panel.featured figure { min-height: 100%; }
.gateway-service-panel img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; filter: saturate(.95) contrast(1.04); transition: transform .5s cubic-bezier(.2,.8,.2,1); }
.gateway-service-panel:hover img { transform: scale(1.035); }
.gateway-service-copy { display: grid; align-content: end; gap: 16px; padding: 34px; }
.gateway-service-panel.featured .gateway-service-copy { padding: 48px; }
.gateway-service-copy span,
.decision-list span,
.services-method-flow span,
.services-clean-list span {
  color: #b8500d;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.gateway-service-copy h3 { margin: 0; font-size: clamp(1.72rem, 3vw, 3.05rem); line-height: 1.02; letter-spacing: -.06em; }
.gateway-service-panel.featured h3 { font-size: clamp(2.45rem, 4.6vw, 4.85rem); }
.gateway-service-copy p { margin: 0; color: rgba(17,17,17,.72); font-size: 1.02rem; line-height: 1.68; }
.gateway-service-copy ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.gateway-service-copy li { position: relative; padding-left: 18px; color: rgba(17,17,17,.72); font-size: .96rem; line-height: 1.5; }
.gateway-service-copy li::before { content: ""; position: absolute; left: 0; top: .68em; width: 6px; height: 6px; border-radius: 999px; background: var(--orange); }

.services-decision-section { padding: 104px 0; background: #fffaf2 !important; }
.services-decision-grid { display: grid; grid-template-columns: .76fr 1.24fr; gap: 64px; align-items: start; }
.decision-copy { position: sticky; top: 118px; }
.decision-copy h2 { max-width: 560px; font-size: clamp(2.1rem, 4vw, 4rem); line-height: 1.02; letter-spacing: -.065em; }
.decision-copy p { max-width: 520px; color: var(--muted); font-size: 1.05rem; line-height: 1.76; }
.decision-list { display: grid; border-top: 1px solid rgba(17,17,17,.13); }
.decision-list a {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) minmax(180px, .46fr);
  gap: 22px;
  align-items: center;
  padding: 26px 0;
  border-bottom: 1px solid rgba(17,17,17,.13);
  color: var(--black);
}
.decision-list p { margin: 0; color: rgba(17,17,17,.7); font-size: 1.03rem; line-height: 1.5; }
.decision-list strong { font-size: 1.08rem; letter-spacing: -.025em; }
.decision-list a:hover strong { color: #a9480e; }

.services-method-section {
  padding: 112px 0;
  background: radial-gradient(circle at 80% 12%, rgba(249,115,22,.13), transparent 27%), linear-gradient(135deg, #0f0f0f, #24221f 58%, #111) !important;
  color: var(--warm);
}
.services-method-intro { display: grid; grid-template-columns: .86fr 1fr; gap: 58px; align-items: end; margin-bottom: 54px; }
.services-method-intro h2 { max-width: 720px; color: var(--warm); font-size: clamp(2.25rem, 4.6vw, 4.55rem); line-height: 1; letter-spacing: -.07em; }
.services-method-intro p { max-width: 610px; color: rgba(248,245,239,.72); font-size: 1.08rem; line-height: 1.78; }
.services-method-flow { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); border-top: 1px solid rgba(248,245,239,.15); }
.services-method-flow article { min-height: 310px; padding: 28px 22px 28px 0; border-right: 1px solid rgba(248,245,239,.13); }
.services-method-flow article + article { padding-left: 22px; }
.services-method-flow article:last-child { border-right: 0; }
.services-method-flow h3 { margin: 52px 0 12px; color: var(--warm); font-size: 1.28rem; letter-spacing: -.035em; }
.services-method-flow p { margin: 0; color: rgba(248,245,239,.68); font-size: .96rem; line-height: 1.62; }

.services-clean-section { padding: 106px 0; background: var(--warm) !important; }
.services-clean-grid { display: grid; grid-template-columns: .74fr 1.26fr; gap: 66px; align-items: start; }
.services-clean-copy { position: sticky; top: 118px; }
.services-clean-copy h2 { max-width: 560px; font-size: clamp(2.1rem, 4vw, 4rem); line-height: 1.02; letter-spacing: -.065em; }
.services-clean-copy p { max-width: 520px; color: var(--muted); font-size: 1.05rem; line-height: 1.76; }
.services-clean-list { display: grid; gap: 0; border-top: 1px solid rgba(17,17,17,.13); }
.services-clean-list article { display: grid; grid-template-columns: 72px 1fr; gap: 26px; padding: 28px 0; border-bottom: 1px solid rgba(17,17,17,.13); }
.services-clean-list h3 { margin: 0 0 8px; font-size: clamp(1.22rem, 2vw, 1.7rem); letter-spacing: -.045em; }
.services-clean-list p { margin: 0; max-width: 720px; color: rgba(17,17,17,.68); line-height: 1.68; }

.services-equipment-section { padding: 70px 0; background: #fffaf2 !important; }
.services-equipment-panel {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  gap: 42px;
  align-items: center;
  padding: 42px;
  border: 1px solid rgba(17,17,17,.1);
  border-radius: 34px;
  background: linear-gradient(145deg, rgba(255,253,248,.96), rgba(231,222,210,.38));
  box-shadow: 0 24px 76px rgba(17,17,17,.07);
}
.services-equipment-panel h2 { margin: 8px 0 12px; font-size: clamp(1.9rem, 3.4vw, 3.25rem); line-height: 1.04; letter-spacing: -.06em; }
.services-equipment-panel p { margin: 0; color: var(--muted); line-height: 1.72; }
.services-brand-pills { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.services-brand-pills span { display: inline-flex; min-height: 48px; align-items: center; padding: 0 20px; border: 1px solid rgba(17,17,17,.1); border-radius: 999px; background: rgba(255,253,248,.76); color: var(--black); font-weight: 850; letter-spacing: -.02em; }

.services-not-wash-section { padding: 104px 0; background: #141414 !important; color: var(--warm); }
.services-not-wash-grid { display: grid; grid-template-columns: 1fr .82fr; gap: 70px; align-items: center; }
.services-not-wash-grid h2 { max-width: 760px; color: var(--warm); font-size: clamp(2.35rem, 4.6vw, 4.75rem); line-height: 1; letter-spacing: -.07em; }
.services-not-wash-grid p { max-width: 650px; color: rgba(248,245,239,.72); font-size: 1.08rem; line-height: 1.76; }
.services-not-wash-grid ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(248,245,239,.14); }
.services-not-wash-grid li { padding: 22px 0; border-bottom: 1px solid rgba(248,245,239,.14); color: rgba(248,245,239,.78); font-size: 1.04rem; }

.services-final-cta {
  position: relative;
  overflow: hidden;
  padding: 108px 0 116px;
  background:
    radial-gradient(circle at 16% 8%, rgba(249,115,22,.18), transparent 28%),
    radial-gradient(circle at 86% 80%, rgba(201,201,201,.10), transparent 30%),
    linear-gradient(135deg, #090909, #23211f 58%, #0e0e0e) !important;
}
.services-final-cta::after { content: ""; position: absolute; inset: 22px; border: 1px solid rgba(248,245,239,.07); border-radius: 36px; pointer-events: none; }
.services-final-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.16fr .84fr; gap: 48px; align-items: end; }
.services-final-cta h2 { max-width: 820px; color: var(--warm); font-size: clamp(2.4rem, 5vw, 4.75rem); line-height: 1.02; letter-spacing: -.07em; }
.services-final-cta p { max-width: 650px; color: rgba(248,245,239,.72); font-size: 1.1rem; line-height: 1.72; }
.services-final-cta .btn.secondary { background: rgba(248,245,239,.96); color: var(--black); }

@media (max-width: 1080px) {
  .services-hero-grid,
  .services-gateway-heading,
  .services-decision-grid,
  .services-method-intro,
  .services-clean-grid,
  .services-equipment-panel,
  .services-not-wash-grid,
  .services-final-grid { grid-template-columns: 1fr; }
  .services-hero-visual { min-height: 520px; }
  .gateway-service-panel.featured,
  .gateway-service-panel.medium,
  .gateway-service-panel { grid-column: span 6; }
  .gateway-service-panel.featured { grid-template-columns: 1fr; }
  .gateway-service-panel.featured figure { min-height: 330px; }
  .decision-copy,
  .services-clean-copy { position: static; }
  .services-method-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .services-method-flow article:nth-child(3) { border-right: 0; }
  .services-method-flow article:nth-child(n+4) { border-top: 1px solid rgba(248,245,239,.13); }
  .services-brand-pills { justify-content: flex-start; }
}

@media (max-width: 680px) {
  .services-gateway-hero,
  .services-gateway-section,
  .services-decision-section,
  .services-method-section,
  .services-clean-section,
  .services-not-wash-section,
  .services-final-cta { padding: 64px 0; }
  .services-hero-grid { gap: 34px; }
  .services-hero-copy h1 { font-size: clamp(2.75rem, 16vw, 4.3rem); }
  .services-hero-visual { min-height: 430px; border-radius: 26px; }
  .services-hero-visual figcaption { left: 16px; right: 16px; bottom: 16px; padding: 20px; border-radius: 20px; }
  .services-gateway-grid { grid-template-columns: 1fr; }
  .gateway-service-panel,
  .gateway-service-panel.featured,
  .gateway-service-panel.medium { grid-column: auto; min-height: auto; border-radius: 24px; }
  .gateway-service-copy,
  .gateway-service-panel.featured .gateway-service-copy { padding: 24px; }
  .gateway-service-panel figure,
  .gateway-service-panel.featured figure { min-height: 260px; }
  .decision-list a { grid-template-columns: 1fr; gap: 8px; padding: 22px 0; }
  .services-method-flow { grid-template-columns: 1fr; border-top: 0; }
  .services-method-flow article,
  .services-method-flow article + article { min-height: auto; padding: 24px 0; border-right: 0; border-top: 1px solid rgba(248,245,239,.13); }
  .services-method-flow h3 { margin: 24px 0 10px; }
  .services-clean-list article { grid-template-columns: 1fr; gap: 10px; padding: 24px 0; }
  .services-equipment-section { padding: 52px 0; }
  .services-equipment-panel { padding: 26px; border-radius: 26px; }
  .services-brand-pills span { min-height: 42px; padding: 0 15px; font-size: .9rem; }
  .services-final-cta::after { inset: 12px; border-radius: 24px; }
}

/* Final mobile, accessibility, and conversion refinements */
:focus-visible {
  outline: 3px solid rgba(249, 115, 22, .55);
  outline-offset: 4px;
}

button,
a,
summary,
input,
select,
textarea {
  -webkit-tap-highlight-color: rgba(249, 115, 22, .18);
}

.btn,
.nav-toggle,
.mobile-nav-close,
.mobile-call,
.mobile-nav-footer a,
.dropdown-links a,
.pill-grid a,
.city-cloud a,
.nearby-community-grid a,
.supporting-service-strip a,
.nearby-inline-links a {
  touch-action: manipulation;
}

@media (max-width: 680px) {
  body { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
  .mobile-call {
    bottom: max(14px, env(safe-area-inset-bottom));
    min-height: 56px;
  }
  .home-kicker,
  .eyebrow {
    letter-spacing: .105em;
  }
  .faq-list details {
    padding: 20px;
  }
  .footer-bottom {
    padding-bottom: 74px;
  }
}
