/* ============================================================
   GREATER PHOENIX CLEANING — DESIGN SYSTEM v2 (Aug 2026)
   Matched to the live site: white base, native system typography,
   GPC orange #FF6A00, teal #00C4CC accents.
   Logo sits only on pure black or pure white — never tinted.
   ============================================================ */

:root {
  --ink:      #020817;   /* live-site near-black */
  --ink-2:    #2A3342;
  --mute:     #64748B;
  --line:     #E5E9EF;
  --bg:       #FFFFFF;
  --warm:     #FAF9F7;   /* warm alternate sections */
  --gray:     #F6F8FA;
  --card:     #FFFFFF;
  --orange:   #FF6A00;   /* live CTA orange */
  --orange-d: #E55F00;
  --orange-glow: rgba(255,106,0,.24);
  --teal:     #00C4CC;   /* live accent teal */
  --teal-d:   #0AA3AB;   /* readable teal for text/links */
  --teal-ink: #067A80;
  --navy:     #0D2745;   /* brand navy — sparing depth accents */
  --dark:     #0B1220;   /* dark accent bands */
  --cactus:   #1E9E52;
  --sun:      #FFC94D;
  --black:    #000000;

  --f-display: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --f-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

  --r-s: 10px; --r-m: 16px; --r-l: 24px; --r-pill: 999px;

  --sh-1: 0 1px 2px rgba(2,8,23,.05), 0 3px 10px rgba(2,8,23,.05);
  --sh-2: 0 2px 4px rgba(2,8,23,.06), 0 12px 28px rgba(2,8,23,.09);
  --sh-3: 0 6px 14px rgba(2,8,23,.08), 0 28px 56px rgba(2,8,23,.14);
  --sh-cta: 0 2px 6px var(--orange-glow), 0 10px 24px rgba(255,106,0,.20);
  --sh-cta-up: 0 4px 10px var(--orange-glow), 0 16px 32px rgba(255,106,0,.26);

  --ease-enter: cubic-bezier(.2,.8,.2,1);
  --t-hover: 150ms;

  --sec-pad: clamp(42px, 5.4vw, 72px);
  --wrap: 1160px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; font-family: var(--f-body); color: var(--ink);
  background: var(--bg); font-size: 16.5px; line-height: 1.7;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img, iframe { max-width: 100%; }
img { height: auto; display: block; }

/* ---------- Typography ---------- */
h1, h2, h3, .display { font-family: var(--f-display); font-weight: 700; letter-spacing: -0.022em; line-height: 1.08; margin: 0 0 .5em; color: var(--ink); text-wrap: balance; }
h1 { font-size: clamp(2.5rem, 5.4vw, 3.9rem); }
h2 { font-size: clamp(1.85rem, 3.4vw, 2.5rem); letter-spacing: -0.018em; }
h3 { font-size: clamp(1.22rem, 2vw, 1.45rem); letter-spacing: -0.012em; font-weight: 700; }
h4 { font-family: var(--f-display); font-size: 1.04rem; font-weight: 700; margin: 0 0 .4em; }
p { margin: 0 0 1.1em; text-wrap: pretty; }
li, summary, blockquote { text-wrap: pretty; }
.lead { font-size: clamp(1.05rem, 1.5vw, 1.2rem); line-height: 1.65; color: var(--ink-2); }
.eyebrow { display: inline-block; font-size: .78rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; color: var(--teal-ink); margin-bottom: 14px; }
.eyebrow::before { content: "◆ "; color: var(--teal); font-size: .7em; vertical-align: 2px; }
.on-dark .eyebrow { color: var(--teal); }
.on-dark .eyebrow::before { color: var(--sun); }
.num, .price, td.n, .stat-n { font-variant-numeric: tabular-nums; }
a { color: var(--teal-ink); text-decoration: none; transition: color var(--t-hover) ease-out; }
a:hover { color: var(--orange-d); }
.on-dark a { color: var(--teal); }
.on-dark a:hover { color: #7FE7EC; }
::selection { background: rgba(255,106,0,.22); }
.skip-link{position:fixed;z-index:11000;top:8px;left:8px;padding:11px 15px;border-radius:10px;background:#000;color:#fff;font-weight:800;transform:translateY(-160%);transition:transform 150ms ease}.skip-link:focus{transform:none;color:#fff}.foot-heading{font-family:var(--f-display);font-size:1.04rem;font-weight:700;margin:0 0 .4em;color:inherit}.estimator-heading{font-size:1.45rem;letter-spacing:-.012em}.gseal{background:linear-gradient(145deg,#0899a2,#067a80)!important;color:#fff!important;box-shadow:0 12px 28px rgba(6,122,128,.24)!important}.footer-all-areas{color:var(--teal-ink)!important}.note a{text-decoration:underline;text-underline-offset:3px}

/* ---------- Layout ---------- */
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }
.wrap-n { max-width: 880px; margin: 0 auto; padding: 0 24px; }
section { padding: var(--sec-pad) 0; }
.sec-dark { background: linear-gradient(180deg, var(--ink) 0%, var(--dark) 100%); color: #E6EAF2; }
.sec-dark h1, .sec-dark h2, .sec-dark h3 { color: #fff; }
.sec-dark p { color: #ACB6C6; }
.sec-dark .lead { color: #C3CBD9; }
.sec-sand { background: var(--warm); }
.sec-white { background: #fff; }
.sec-seam { height: 4px; background: linear-gradient(90deg, var(--orange), var(--sun) 45%, var(--teal)); }
.grid { display: grid; gap: 26px; }
.grid > *, .hero-grid > * { min-width: 0; }
.g2 { grid-template-columns: repeat(2, 1fr); }
.g3 { grid-template-columns: repeat(3, 1fr); }
.g4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 920px) { .g3, .g4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .g2, .g3, .g4 { grid-template-columns: 1fr; } .g4.duo { grid-template-columns: repeat(2, 1fr); gap: 14px; } .g4.duo .card { padding: 20px 12px; } }

/* ---------- Header (white, like the live site) ---------- */
.top-strip { background: var(--teal); color: #052A2C; font-size: .86rem; font-weight: 600; text-align: center; padding: 8px 14px; }
.top-strip a { color: #052A2C; font-weight: 800; text-decoration: underline; text-underline-offset: 2px; }
.top-strip a:hover { color: #000; }
header.site { background: #fff; position: sticky; top: 0; z-index: 60; border-bottom: 1px solid var(--line); box-shadow: 0 1px 0 rgba(2,8,23,.02); }
.nav { display: flex; align-items: center; gap: 26px; max-width: 1280px; margin: 0 auto; padding: 10px 24px; }
.brand { background: var(--black); border-radius: 14px; padding: 5px 12px; display: inline-flex; box-shadow: var(--sh-1); transition: transform 200ms cubic-bezier(.34,1.56,.64,1), box-shadow var(--t-hover) ease-out; }
.brand:hover { transform: scale(1.03); box-shadow: var(--sh-2); }
.brand { flex-shrink: 0; }
.brand img { height: 62px; width: auto; flex-shrink: 0; }
.hero-grid .photo.tall { aspect-ratio: 615 / 788; }
@media (max-width: 760px) { .brand img { height: 48px; } }
.nav-links { display: flex; gap: 24px; margin-left: auto; align-items: center; }
.nav-links a { color: var(--ink); font-size: .93rem; font-weight: 600; padding: 8px 2px; position: relative; white-space: nowrap; }
.nav-links a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 2px; height: 2px; background: var(--orange); transition: right var(--t-hover) ease-out; }
.nav-links a:hover { color: var(--orange-d); }
.nav-links a:hover::after, .nav-links a[aria-current="page"]::after { right: 0; }
.nav-links a[aria-current="page"] { color: var(--orange-d); }
.services-nav { position: relative; }
.services-nav-trigger {
  display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 8px 2px;
  border: 0; background: transparent; color: var(--ink); font: inherit; font-size: .93rem;
  font-weight: 700; cursor: pointer; position: relative; white-space: nowrap;
}
.services-nav-trigger::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 5px; height: 2px; background: var(--orange); transition: right 180ms ease-out; }
.services-nav-trigger > span { font-size: 1rem; transform: translateY(-1px); transition: transform 180ms ease-out; }
.services-nav.open .services-nav-trigger, .services-nav-trigger:hover, .services-nav-trigger[aria-current="page"] { color: var(--orange-d); }
.services-nav.open .services-nav-trigger::after, .services-nav-trigger:hover::after, .services-nav-trigger[aria-current="page"]::after { right: 0; }
.services-nav.open .services-nav-trigger > span { transform: rotate(180deg) translateY(1px); }
.services-nav-panel {
  position: absolute; z-index: 120; top: calc(100% + 8px); left: 50%; width: min(780px, calc(100vw - 48px));
  transform: translateX(-28%); padding: 18px; border: 1px solid rgba(15,23,42,.12); border-radius: 20px;
  background: rgba(255,255,255,.985); box-shadow: 0 24px 64px rgba(2,8,23,.2), 0 2px 8px rgba(2,8,23,.08);
}
.services-nav.open .services-nav-panel { animation: services-panel-in 210ms cubic-bezier(.2,.8,.2,1) both; transform-origin: 38% top; }
@keyframes services-panel-in { from { opacity: 0; transform: translateX(-28%) translateY(-7px) scale(.985); } to { opacity: 1; transform: translateX(-28%) translateY(0) scale(1); } }
.services-nav-panel[hidden] { display: none; }
.services-nav-columns { display: grid; grid-template-columns: 1.3fr 1fr; gap: 14px; }
.services-nav-group { padding: 4px; }
.services-nav-group + .services-nav-group { border-left: 1px solid var(--line); padding-left: 18px; }
.services-nav-group h3 { margin: 0 0 8px; color: var(--teal-ink); font-size: .72rem; letter-spacing: .11em; text-transform: uppercase; }
.services-nav-group a { --accent:0,155,166; position:relative; display: block; min-height: 68px; padding: 11px 42px 11px 16px; overflow:hidden; border: 1px solid transparent; border-radius: 13px; white-space: normal; isolation:isolate; transition:transform 190ms cubic-bezier(.2,.8,.2,1),border-color 190ms ease,background 190ms ease,box-shadow 190ms ease; }
.services-nav-group a::before { content:""; position:absolute; z-index:-1; inset:7px auto 7px 0; width:3px; border-radius:99px; background:rgb(var(--accent)); opacity:.34; transform:scaleY(.45); transition:opacity 180ms ease,transform 210ms cubic-bezier(.2,.8,.2,1),width 180ms ease; }
.services-nav-group a::after { content:"→"; display:grid; position:absolute; left:auto; right:14px; top:50%; width:25px; height:25px; place-items:center; border-radius:50%; color:rgb(var(--accent)); background:rgba(var(--accent),.09); opacity:.58; transform:translate(-4px,-50%); transition:opacity 180ms ease,transform 210ms cubic-bezier(.2,.8,.2,1),background 180ms ease,color 180ms ease; }
.services-nav-group a strong, .services-nav-group a span { display: block; }
.services-nav-group a strong { color: var(--ink); font-size: 1rem; line-height:1.25; }
.services-nav-group a span { margin-top: 4px; color: var(--ink-2); font-size: .88rem; line-height: 1.4; font-weight:600; }
.services-nav-group a:hover, .services-nav-group a:focus-visible { z-index:2; border-color:rgba(var(--accent),.34); background:linear-gradient(100deg,rgba(var(--accent),.11),rgba(var(--accent),.035)); box-shadow:0 9px 24px rgba(var(--accent),.14),0 2px 7px rgba(2,8,23,.07); transform:translateX(4px); }
.services-nav-group a:hover::before, .services-nav-group a:focus-visible::before { width:5px; opacity:1; transform:scaleY(1); }
.services-nav-group a:hover::after, .services-nav-group a:focus-visible::after { color:#fff; background:rgb(var(--accent)); opacity:1; transform:translate(0,-50%); }
.services-nav-group a:hover strong, .services-nav-group a:focus-visible strong { color:rgb(var(--accent)); }
.services-nav-group a[data-priority="true"] { border-color:rgba(var(--accent),.2); background:rgba(var(--accent),.045); }
.services-nav-group a[data-tone="orange"]{--accent:230,87,0}.services-nav-group a[data-tone="violet"]{--accent:124,58,237}.services-nav-group a[data-tone="blue"]{--accent:18,105,181}.services-nav-group a[data-tone="navy"]{--accent:25,52,84}.services-nav-group a[data-tone="teal"]{--accent:0,127,136}.services-nav-group a[data-tone="purple"]{--accent:126,54,184}.services-nav-group a[data-tone="amber"]{--accent:190,92,0}
.services-nav-all { display: flex !important; align-items: center; justify-content: space-between; min-height: 48px; margin-top: 12px; padding: 10px 14px !important; border-radius: 12px; background: var(--ink); color: #fff !important; font-weight: 800 !important; }
.services-nav-all::after { display: none; }
.services-nav-all:hover, .services-nav-all:focus-visible { background: var(--teal-ink); color: #fff !important; }
.nav-cta { display: flex; gap: 12px; align-items: center; }
.nav-phone { color: var(--ink); font-weight: 700; font-size: .95rem; white-space: nowrap; border: 2px solid rgba(2,8,23,.4); border-radius: var(--r-pill); padding: 10px 18px; box-shadow: var(--sh-1); transition: all var(--t-hover) ease-out; }
.nav-phone:hover { border-color: var(--orange); color: var(--orange-d); }
.menu-btn { display: none; background: none; border: 0; color: var(--ink); font-size: 1.6rem; padding: 8px 10px; cursor: pointer; border-radius: var(--r-s); min-width: 44px; min-height: 44px; }
@media (max-width: 1260px) {
  .nav-links { display: none; }
  .menu-btn { display: block; margin-left: auto; }
  .nav-cta .btn, .nav-cta .nav-phone { display: none; }
}
.m-nav { display: none; background: #fff; border-top: 1px solid var(--line); }
.m-nav.open { display: block; max-height: calc(100dvh - 76px); overflow-y: auto; overscroll-behavior: contain; }
.m-nav a { display: block; padding: 15px 24px; color: var(--ink); font-weight: 600; border-bottom: 1px solid var(--gray); min-height: 44px; }
.m-nav a:active { background: var(--gray); }
.m-services { display: block; grid-column: 1 / -1; }
.m-services-trigger {
  display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 52px;
  padding: 12px 15px; border: 1px solid rgba(15,23,42,.14); border-radius: 12px;
  background: #fff; color: var(--ink); font: inherit; font-weight: 800; cursor: pointer;
  box-shadow: 0 2px 7px rgba(2,8,23,.06);
}
.m-services-trigger b { color: var(--orange-d); font-size: 1.25rem; line-height: 1; }
.m-services-trigger:focus-visible { outline: 3px solid rgba(0,196,204,.5); outline-offset: 2px; }
.m-services.open .m-services-trigger { border-color: rgba(255,106,0,.5); background: rgba(255,106,0,.055); color: var(--orange-d); }
.m-services-panel { margin-top: 10px; padding: 12px; border: 1px solid rgba(15,23,42,.12); border-radius: 16px; background: #f8fafc; }
.m-services-panel[hidden] { display: none; }
.m-services-panel .services-nav-group + .services-nav-group { margin-top: 14px; padding-top: 14px; padding-left: 4px; border-top: 1px solid var(--line); border-left: 0; }
.m-services-panel .services-nav-group h3 { margin-left: 4px; }
.m-services-panel .services-nav-group a { display: flex; align-items: center; min-height: 50px; margin-top: 7px; padding: 10px 42px 10px 14px; border: 1px solid rgba(15,23,42,.11); background: #fff; box-shadow: 0 2px 6px rgba(2,8,23,.04); }
.m-services-panel .services-nav-group a strong { font-size: .84rem; line-height: 1.25; }
.m-services-panel .services-nav-group a[data-priority="true"] { border-color: rgba(0,196,204,.42); background: rgba(0,196,204,.08); }
.m-services-panel .services-nav-group a:active { border-color:rgba(var(--accent),.4); background:rgba(var(--accent),.1); transform:scale(.985); }
.m-services-all { display: flex !important; align-items: center; justify-content: space-between; min-height: 50px; margin-top: 12px; padding: 11px 13px !important; border: 0 !important; border-radius: 12px !important; background: var(--ink) !important; color: #fff !important; }
@media (prefers-reduced-motion:reduce){.services-nav.open .services-nav-panel{animation:none}.services-nav-group a,.services-nav-group a::before,.services-nav-group a::after{transition:none}}

/* ---------- Buttons — five states ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font-family: var(--f-body); font-weight: 700; font-size: .98rem; letter-spacing: .01em;
  padding: 14px 30px; min-height: 48px; border-radius: var(--r-pill); border: 0; cursor: pointer;
  text-decoration: none; position: relative; overflow: hidden; white-space: nowrap;
  transition: transform 220ms cubic-bezier(.34,1.56,.64,1), box-shadow var(--t-hover) ease-out, background var(--t-hover) ease-out, color var(--t-hover) ease-out, border-color var(--t-hover) ease-out;
}
.btn-primary { background: linear-gradient(135deg, #FF7A18, var(--orange) 55%, #F05A00); color: #fff; box-shadow: var(--sh-cta); }
.btn-primary::before { content: ""; position: absolute; inset: 0; background: linear-gradient(115deg, transparent 30%, rgba(255,255,255,.4) 50%, transparent 70%); transform: translateX(-140%); transition: transform 650ms ease-out; pointer-events: none; }
.btn-primary:hover { transform: translateY(-2px) scale(1.03); box-shadow: 0 6px 14px var(--orange-glow), 0 18px 40px rgba(255,106,0,.32), 0 0 0 3px rgba(255,106,0,.14); }
.btn-primary:hover::before { transform: translateX(140%); }
.btn-primary:active { transform: translateY(0) scale(.96); box-shadow: 0 1px 4px var(--orange-glow); }
.btn .rip { position: absolute; border-radius: 50%; background: rgba(255,255,255,.45); transform: scale(0); animation: rip 520ms ease-out forwards; pointer-events: none; }
@keyframes rip { to { transform: scale(3.2); opacity: 0; } }
.btn-teal { background: var(--teal-d); color: #fff; box-shadow: 0 2px 6px rgba(10,163,171,.3), 0 10px 24px rgba(10,163,171,.18); }
.btn-teal:hover { background: var(--teal-ink); transform: translateY(-1px); }
.btn-teal:active { transform: translateY(0); }
.btn-ghost { background: rgba(255,255,255,.09); color: #fff; border: 2px solid rgba(255,255,255,.85); box-shadow: 0 2px 10px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.14); }
.btn-ghost:hover { background: #fff; border-color: #fff; color: var(--ink); transform: translateY(-2px); box-shadow: 0 8px 22px rgba(0,0,0,.3); }
.btn-ghost:active { transform: translateY(0) scale(.97); }
.btn-ghost-dark { background: #fff; color: var(--ink); border: 2px solid var(--ink); box-shadow: var(--sh-1), 0 4px 14px rgba(2,8,23,.1); }
.btn-ghost-dark:hover { background: var(--ink); border-color: var(--ink); color: #fff; transform: translateY(-2px); box-shadow: 0 8px 24px rgba(2,8,23,.3); }
.btn-ghost-dark:active { transform: translateY(0) scale(.97); }
a.btn-primary, .on-dark a.btn-primary, a.btn-primary:hover, .on-dark a.btn-primary:hover { color: #fff; }
a.btn-teal, a.btn-teal:hover { color: #fff; }
a.btn-ghost, .on-dark a.btn-ghost { color: #fff; }
a.btn-ghost:hover, .on-dark a.btn-ghost:hover { color: var(--ink); }
a.btn-ghost-dark { color: var(--ink); }
a.btn-ghost-dark:hover { color: #fff; }
.m-cta a.call { color: #fff; } .m-cta a.book { color: #fff; }
.btn:focus-visible, a:focus-visible, button:focus-visible, [tabindex]:focus-visible, input:focus-visible, select:focus-visible {
  outline: 2px solid var(--teal-d); outline-offset: 2px; border-radius: 6px;
}
.btn:focus-visible { border-radius: var(--r-pill); }
.btn[disabled], .btn.is-disabled { opacity: .45; pointer-events: none; box-shadow: none; }
.btn-lg { padding: 17px 36px; font-size: 1.04rem; }

/* ---------- Hero / page heads (white, like the live site) ---------- */
.hero, .page-head { background: #fff; padding: clamp(38px, 4.8vw, 64px) 0 clamp(32px, 4.1vw, 54px); }
.hero h1, .page-head h1 { max-width: 17ch; }
.hero .lead, .page-head .lead { max-width: 54ch; }
.hero-grid { display: grid; grid-template-columns: .95fr 1.05fr; gap: 52px; align-items: center; }
@media (max-width: 920px) { .hero-grid { grid-template-columns: 1fr; } .hero-grid .ph { order: 2; } }
.hero-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 28px; }
.hero-proof { display: flex; gap: 10px 26px; flex-wrap: wrap; margin-top: 30px; padding-top: 22px; border-top: 1px solid var(--line); }
.proof-item { font-size: .9rem; color: var(--mute); display: flex; align-items: center; gap: 8px; font-weight: 500; }
.proof-item strong { color: var(--ink); font-variant-numeric: tabular-nums; font-weight: 700; }
.star { color: var(--orange); }

/* Google review badge (SCS pattern) */
/* gbadge: see redesigned rules at end of file */

/* Trust ticks row (SCS pattern) */
.ticks-row { display: flex; gap: 8px 28px; flex-wrap: wrap; margin-top: 22px; }
.ticks-row span { font-size: .88rem; color: var(--ink-2); font-weight: 600; }
.ticks-row span::before { content: "✓ "; color: var(--cactus); font-weight: 800; }

/* ---------- Cards ---------- */
.card {
  background: var(--card); border-radius: var(--r-l); padding: 32px 28px;
  box-shadow: var(--sh-1); border: 1px solid var(--line); position: relative;
  transition: transform var(--t-hover) ease-out, box-shadow var(--t-hover) ease-out, border-color var(--t-hover) ease-out;
}
.service-photo-card { padding-top: 0; overflow: hidden; display: flex !important; flex-direction: column; }
.service-card-photo { display: block; width: calc(100% + 56px); height: 238px; margin: 0 -28px 20px; object-fit: cover; object-position: center bottom; border-bottom: 1px solid var(--line); background: #f4f7f7; }
.service-photo-card[href*="move-inmove-out"] .service-card-photo,
.service-photo-card[href*="construction"] .service-card-photo { object-position: center 64%; }
@media (max-width: 760px) { .service-card-photo { height: 220px; } }
a.card { display: block; color: inherit; }
a.card:hover { color: inherit; }
.card.hov { transition: transform 240ms cubic-bezier(.34,1.56,.64,1), box-shadow var(--t-hover) ease-out, border-color var(--t-hover) ease-out; }
.card.hov::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(340px circle at var(--mx, 50%) var(--my, 40%), rgba(255,122,24,.10), rgba(0,196,204,.05) 45%, transparent 70%); opacity: 0; transition: opacity 200ms ease-out; pointer-events: none; }
.card.hov:hover { transform: translateY(-4px) scale(1.012); box-shadow: var(--sh-2), 0 0 0 2px rgba(255,106,0,.18); border-color: rgba(255,106,0,.45); }
.card.hov:hover::after { opacity: 1; }
.card.hov:hover .card-flag { transform: translateY(-1px); }
.card-flag { transition: transform 200ms cubic-bezier(.34,1.56,.64,1); }
.contact-action-card { cursor: pointer; color: var(--ink); text-decoration: none; }
.contact-action-card:hover { color: var(--ink); border-color: rgba(0,128,128,.42); transform: translateY(-4px) scale(1.012) !important; }
.contact-action-card:focus-visible { outline: 3px solid var(--teal); outline-offset: 4px; box-shadow: 0 0 0 7px rgba(0,196,204,.16),var(--sh-2); }
.contact-action-card:active { transform: translateY(-1px) scale(.99); }
.contact-email { overflow-wrap: anywhere; color: var(--teal-ink); font-weight: 750; }
.contact-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.contact-primary-action,.contact-secondary-action{display:flex;flex-direction:column;min-width:0;min-height:330px;padding:30px;border-radius:24px;color:var(--ink);text-decoration:none;transition:transform 220ms var(--ease-enter),box-shadow 220ms ease,border-color 220ms ease}.contact-primary-action{border:2px solid var(--orange);background:linear-gradient(145deg,#fff 50%,#fff4ea);box-shadow:0 16px 36px rgba(255,106,0,.13)}.contact-secondary-action{border:1px solid #d8e3e6;background:#fff;box-shadow:0 10px 28px rgba(2,8,23,.07)}.contact-primary-action>span,.contact-secondary-action>span{color:#006d73;font-size:.76rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.contact-primary-action h2,.contact-secondary-action h3{display:flex;align-items:center;min-height:3.4rem;margin:14px 0 10px;line-height:1.08}.contact-primary-action h2{font-size:clamp(2.05rem,2.5vw,2.8rem);white-space:nowrap;letter-spacing:-.035em}.contact-secondary-action h3{font-size:1.48rem}.contact-primary-action p,.contact-secondary-action p{margin-top:0;color:#4f5d70;line-height:1.58}.contact-primary-action strong,.contact-secondary-action strong{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:auto;color:#a84000;font-size:1.02rem}.contact-primary-action strong b,.contact-secondary-action strong b{font-size:1.28rem;line-height:1}.contact-primary-action:hover,.contact-secondary-action:hover{transform:translateY(-6px);box-shadow:0 20px 44px rgba(2,8,23,.13)}.contact-secondary-action:hover{border-color:var(--teal)}
.contact-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:34px}.contact-info-panel{padding:32px;border:1px solid #d8e3e6;border-radius:24px;background:#fff;box-shadow:0 9px 25px rgba(2,8,23,.06)}.contact-info-panel h2{margin:7px 0 12px;font-size:clamp(1.7rem,2.6vw,2.55rem)}.contact-info-panel p{color:#506075;line-height:1.62}.contact-info-panel>a{color:#006d73;font-weight:850}.contact-hours{display:grid;grid-template-columns:1fr auto;margin-top:20px;overflow:hidden;border:1px solid #dbe4e7;border-radius:14px}.contact-hours span,.contact-hours strong{padding:15px 17px;border-bottom:1px solid #dbe4e7}.contact-hours strong{text-align:right}.contact-hours span:nth-last-child(-n+2),.contact-hours strong:nth-last-child(-n+2){border-bottom:0}.contact-specialty{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:34px;padding:34px;border-radius:24px;background:var(--ink);color:#fff}.contact-specialty h2{margin:6px 0 10px;font-size:clamp(1.8rem,3vw,2.8rem)}.contact-specialty p{max-width:690px;margin:0;color:#c6cfdd;line-height:1.6}.contact-specialty-links{display:grid;min-width:260px}.contact-specialty-links a{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.14);color:#fff;font-weight:800;text-decoration:none}.contact-specialty-links a:last-child{border-bottom:0}.contact-specialty-links a:hover{color:#ffb077}.contact-email-line{text-align:center;margin:24px 0 0;color:#536278}.contact-email-line a{overflow-wrap:anywhere;color:#006d73;font-weight:850}
@media(max-width:980px){.contact-action-grid{grid-template-columns:1fr 1fr}.contact-primary-action{grid-column:1/-1;min-height:300px}.contact-secondary-action{min-height:300px}.contact-specialty{align-items:flex-start;flex-direction:column}.contact-specialty-links{width:100%}}
@media(max-width:650px){.contact-action-grid,.contact-info-grid{grid-template-columns:1fr}.contact-primary-action,.contact-secondary-action{grid-column:auto;min-height:0;padding:24px}.contact-primary-action h2{font-size:9vw}.contact-info-panel{padding:24px}.contact-hours{grid-template-columns:1fr}.contact-hours span{padding-bottom:4px;border-bottom:0}.contact-hours strong{padding-top:0;text-align:left}.contact-hours strong:not(:last-child){border-bottom:1px solid #dbe4e7}.contact-specialty{padding:25px 22px}}
.card.hov:active { transform: translateY(-1px) scale(1); }
.card .card-flag { position: static!important; inset:auto!important; display:inline-flex!important; align-self:flex-start; width:fit-content; max-width:100%; margin:0 0 18px!important; transform:none; background:linear-gradient(135deg,var(--teal-ink),#095c63)!important; color:#fff; font-size:.75rem; line-height:1.3; font-weight:800; letter-spacing:.045em; text-transform:capitalize; padding:8px 14px; border-radius:var(--r-pill); box-shadow:0 4px 12px rgba(6,122,128,.2); white-space:normal; text-align:left; }
.card.card-priority{border:2px solid rgba(255,106,0,.52);box-shadow:0 16px 38px rgba(255,106,0,.13)}
.card.card-business-priority{border:2px solid rgba(9,24,47,.42);box-shadow:0 16px 38px rgba(9,24,47,.12)}
.card.card-airbnb-priority{border:2px solid rgba(0,167,177,.48);box-shadow:0 16px 38px rgba(0,167,177,.13)}
.card .card-flag-popular{background:linear-gradient(135deg,#ff7b1a,#f05a00)!important;box-shadow:0 5px 16px rgba(240,90,0,.28)}
.card .card-flag-airbnb{background:linear-gradient(135deg,#10ccd3,#06858e)!important;box-shadow:0 5px 16px rgba(6,133,142,.25)}
.card .card-flag-move{background:linear-gradient(135deg,#2479a8,#175477)!important;box-shadow:0 5px 16px rgba(23,84,119,.23)}
.card .card-flag-business{background:linear-gradient(135deg,#183b56,#071b2d)!important;box-shadow:0 5px 16px rgba(7,27,45,.23)}
.card .card-flag-project{background:linear-gradient(135deg,#5d6b7a,#344252)!important;box-shadow:0 5px 16px rgba(52,66,82,.22)}
#services .grid.g3>.card{display:flex;flex-direction:column;align-items:stretch}
#services .grid.g3>.card .card-flag{flex:0 0 auto}
#services .grid.g3>.card h3{min-height:3.55em;margin-bottom:14px}
#services .grid.g3>.card>p:not(.card-cta){flex:1;margin-top:0}
#services .grid.g3>.card .price-from{min-height:70px;margin-top:auto;padding-top:22px;display:flex;flex-direction:column;justify-content:flex-end}
#services .grid.g3>.card .card-cta{margin-top:0;padding-top:16px}
@media(max-width:640px){#services .grid.g3>.card h3{min-height:0}#services .grid.g3>.card .price-from{min-height:0;margin-top:18px}}
.service-photo-card .card-cta { margin-top: auto; padding-top: 18px; }
.branded-photo img,
.service-card-photo[src*="/real-"] { object-position: center; }
.service-photo-card[href*="move-inmove-out"] .service-card-photo { height:auto; max-height:380px; object-fit:contain; background:#f4f7f7; }
.service-grid-residential { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.service-grid-residential > .service-photo-card { grid-column: span 2; }
.service-grid-residential > .service-photo-card:nth-child(4) { grid-column: 2 / span 2; }
@media (max-width: 980px) {
  .service-grid-residential { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-grid-residential > .service-photo-card,
  .service-grid-residential > .service-photo-card:nth-child(4) { grid-column: auto; }
  .service-grid-residential > .service-photo-card:last-child { grid-column: 1 / -1; width: min(100%, 520px); justify-self: center; }
}
@media (max-width: 620px) {
  .service-grid-residential { grid-template-columns: 1fr; }
  .service-grid-residential > .service-photo-card:last-child { grid-column: auto; width: 100%; }
}
.card .price-from { font-family: var(--f-display); font-size: 2.15rem; font-weight: 800; letter-spacing: -0.02em; color: var(--ink); }
.price-from small, .from-label { font-family: var(--f-body); font-size: .78rem; font-weight: 700; color: var(--mute); letter-spacing: .06em; text-transform: uppercase; display: block; }
.card-dark { background: linear-gradient(180deg, var(--ink), var(--navy)); border: 0; color: #DDE5F2; }
.card-dark h3, .card-dark h4 { color: #fff; }

/* ---------- Tabs & tables ---------- */
.tabs-hint { font-size: .85rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--teal-ink); margin: 0 0 14px; }
.tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 28px; }
.tab { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; font-family: var(--f-display); font-weight: 850; font-size: clamp(1.08rem,2vw,1.28rem); color: var(--ink); background: #fff; border: 2px solid var(--ink); border-radius: 16px; padding: 18px 20px; min-height: 78px; cursor: pointer; box-shadow: var(--sh-1); transition: all var(--t-hover) ease-out; }
.tab .tab-n { display: block; font-size: .76rem; font-weight: 650; letter-spacing: .03em; opacity: .68; }
.tab:hover { border-color: var(--orange); color: var(--orange-d); transform: translateY(-2px); }
.tab:active { transform: translateY(0); }
.tab[aria-selected="true"] { background: linear-gradient(135deg, #FF7A18, var(--orange) 55%, #F05A00); border-color: transparent; color: #fff; box-shadow: 0 4px 10px var(--orange-glow), 0 14px 32px rgba(255,106,0,.28); }
.tab[aria-selected="true"] .tab-n { opacity: .92; }
.tab[aria-selected="true"]:hover { color: #fff; transform: none; }
@media (max-width: 640px) { .tabs { grid-template-columns: 1fr; gap: 10px; } .tab { flex-direction: row; justify-content: center; min-height: 62px; padding: 15px 20px; text-align: center; gap: 12px; } }
.gpc th .th-price { display: block; font-weight: 650; font-size: .72rem; letter-spacing: .02em; opacity: .78; margin-top: 2px; }
/* These progressive comparison components are mobile-only. Keep them out of
   desktop layout and accessibility flow unless the mobile presentation applies. */
.check-value-path, .check-mobile-ladder { display: none; }
.check-help-wrap { display: block; text-align: center; }
.check-help-wrap > .check-help-cta { display: grid; grid-template-columns: 36px minmax(0, 1fr) 30px; align-items: center; gap: 12px; width: min(100%, 680px) !important; margin-inline: auto; padding: 14px 18px !important; text-align: left !important; white-space: normal !important; border-radius: 18px !important; }
.check-help-cta > .bicon { width: 22px; height: 22px; margin: 0; justify-self: center; }
.check-help-copy { display: flex; align-items: baseline; justify-content: center; gap: 7px; min-width: 0; line-height: 1.25; }
.check-help-copy small { color: rgba(255,255,255,.82); font-size: .75rem; font-weight: 750; letter-spacing: .025em; text-transform: uppercase; }
.check-help-copy strong { font-size: .96rem; }
.check-help-number { font-size: 1.02rem; font-weight: 900; white-space: nowrap; }
.check-help-arrow { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,.18); font-size: 1.05rem; }
/* Checklist comparison tables (.chk): all three tiers visible on every screen, no sideways scroll */
table.gpc.chk { min-width: 0; }
table.gpc.chk .item-col { min-width: 280px; }
table.gpc.chk tbody td:first-child { text-transform: capitalize; font-weight: 650; letter-spacing: .01em; }
table.gpc.chk td:last-child { background: rgba(16,150,90,.07); }
table.gpc.chk tr:nth-child(even) td:last-child { background: rgba(16,150,90,.12); }
@media (max-width: 700px) {
  table.gpc.chk { table-layout: auto; min-width: 680px; font-size: .94rem; }
  table.gpc.chk .item-col { min-width: 260px; width: auto; }
  table.gpc.chk th { padding: 12px 10px; font-size: .82rem; }
  table.gpc.chk td { padding: 12px 10px; }
  table.gpc.chk th .th-price { font-size: .72rem; }
  /* areas hub table: drop the flavor column on phones so the rest fits without sideways scroll */
  table.gpc.areas-tbl { min-width: 0; font-size: .84rem; }
  table.gpc.areas-tbl th:nth-child(2), table.gpc.areas-tbl td:nth-child(2) { display: none; }
  table.gpc.areas-tbl th, table.gpc.areas-tbl td { padding: 11px 8px; }
}
.tbl-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--r-m); box-shadow: var(--sh-1); background: #fff; border: 1px solid var(--line); }
table.gpc { border-collapse: collapse; width: 100%; min-width: 560px; font-size: .94rem; }
table.gpc.fit { min-width: 0; }
table.gpc th { background: var(--ink); color: #fff; font-weight: 650; text-align: left; padding: 13px 18px; font-size: .88rem; letter-spacing: .02em; position: sticky; top: 0; }
table.gpc th.c, table.gpc td.c { text-align: center; }
table.gpc td { padding: 12px 18px; border-top: 1px solid var(--line); transition: background 130ms ease-out; }
table.gpc tr:nth-child(even) td { background: var(--gray); }
table.gpc tbody tr:hover td { background: rgba(255,122,24,.07); }
table.gpc td.n { text-align: right; white-space: nowrap; font-weight: 700; }
table.gpc.fit th:first-child,table.gpc.fit td:first-child{white-space:nowrap}
table.gpc.fit th:last-child,table.gpc.fit td:last-child{white-space:nowrap}
.yes { color: var(--cactus); font-weight: 800; }
.no { color: #C7CFDA; font-weight: 700; }
caption { caption-side: bottom; font-size: .84rem; color: var(--mute); padding: 12px 14px; text-align: left; }

/* ---------- Stats (dark accent band) ---------- */
.stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
@media (max-width: 920px) { .stat-row { grid-template-columns: repeat(2, 1fr); } }
.stat { text-align: center; padding: 24px 12px; }
.stat-n { font-family: var(--f-display); font-size: clamp(2.2rem, 4vw, 3rem); font-weight: 800; letter-spacing: -0.02em; color: #fff; display: block; line-height: 1; }
.stat-n .plus { color: var(--orange); }
.stat-l { font-size: .88rem; color: #9AA6B8; margin-top: 10px; display: block; }
.stat-rating-line { display:flex; align-items:center; justify-content:center; gap:12px; white-space:nowrap; }
.stat-rating-line .stat-n { flex:0 0 auto; }
.score-google-g { width:1.8rem; height:1.8rem; flex:0 0 auto; }
.score-stars { --score-fill:98%; position:relative; display:inline-block; font-size:clamp(1.15rem,1.8vw,1.55rem); line-height:1; letter-spacing:.08em; white-space:nowrap; }
.score-stars-base { color:#465267; }
.score-stars-fill { position:absolute; inset:0 auto 0 0; width:var(--score-fill); overflow:hidden; color:#fbbf24; white-space:nowrap; filter:drop-shadow(0 0 5px rgba(251,191,36,.2)); }
.google-proof-link{cursor:pointer}
.stat.google-proof-link,.rev.google-proof-link{transition:transform 180ms var(--ease-enter),border-color 180ms ease,box-shadow 180ms ease,background 180ms ease}
.stat.google-proof-link:hover,.stat.google-proof-link:focus-visible,.rev.google-proof-link:hover,.rev.google-proof-link:focus-visible{transform:translateY(-3px);border-color:rgba(251,191,36,.55);box-shadow:0 12px 28px rgba(2,8,23,.2),0 0 0 3px rgba(251,191,36,.12)}
.google-proof-link:focus-visible{outline:3px solid rgba(251,191,36,.72);outline-offset:4px}
.on-light .stat-n { color: var(--ink); }
.stat-n.on-light{color:#bf4700!important}
.on-light .stat-l { color: var(--mute); }

/* ---------- Reviews ---------- */
.rev-rail { display: grid; grid-auto-flow: column; grid-auto-columns: min(270px, 70vw); gap: 7px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 8px 2px 16px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.reviews-auto .rev-rail{scroll-snap-type:none;overscroll-behavior-inline:contain}
.reviews-auto .rev{scroll-snap-align:none}
.rev-rail::-webkit-scrollbar { display: none; }
.rev { scroll-snap-align: start; margin: 0; border:1px solid rgba(7,16,31,.09); box-shadow:0 12px 28px rgba(7,16,31,.1); transition:transform 190ms ease,box-shadow 190ms ease,border-color 190ms ease; }
.rev:hover,.rev:focus-visible{transform:translateY(-3px);border-color:rgba(0,151,167,.32);box-shadow:0 18px 36px rgba(7,16,31,.14)}
.rev .stars { color: #FBBC05; letter-spacing: 3px; font-size: 1.05rem; margin-bottom: 12px; }
.rev-src { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--gray); }
.rev-src svg { width: 20px; height: 20px; flex: 0 0 auto; filter: drop-shadow(0 1px 2px rgba(2,8,23,.12)); }
.review-source-logo{display:inline-grid;flex:0 0 22px;width:22px;height:22px;place-items:center}.review-source-logo svg{display:block;width:22px;height:22px}.google-source-logo{padding:1px;border-radius:50%;background:#fff}.thumbtack-source-logo svg{border-radius:50%}
.rev-src strong { font-size: .86rem; color: var(--ink); letter-spacing: .01em; }
.rev-src .rev-stars { margin-left: auto; color: #FBBC05; letter-spacing: 2px; font-size: .98rem; text-shadow: 0 1px 4px rgba(251,188,5,.4); }
.rev blockquote { margin: 0 0 16px; font-size: 1rem; line-height: 1.65; color: var(--ink-2); }
.rev cite { font-style: normal; font-weight: 700; color: var(--ink); font-size: .92rem; }
.rev cite span { display: block; font-weight: 500; color: var(--mute); font-size: .82rem; margin-top: 2px; }
.rail-btns { display: flex; gap: 10px; justify-content: flex-end; margin-top: 4px; }
.rail-btn { width: 46px; height: 46px; border-radius: 50%; border: 1.5px solid var(--line); background: #fff; color: var(--ink); font-size: 1.1rem; cursor: pointer; transition: all var(--t-hover) ease-out; }
.rail-pause{display:inline-grid;place-items:center;width:46px;min-width:46px;padding:0}.rail-pause svg{display:block;width:20px;height:20px;fill:currentColor}
.rail-btn:hover { border-color: var(--orange); color: var(--orange-d); transform: translateY(-1px); }
.review-kicker{max-width:42rem;margin:8px auto 0;color:var(--mute)}
.rev-dots{display:flex;justify-content:center;gap:7px;margin:2px 0 10px}.rev-dots span{width:7px;height:7px;border-radius:50%;background:#cbd5d8;transition:width 240ms ease,background 240ms ease}.rev-dots span.active{width:22px;border-radius:999px;background:var(--orange)}
@media(max-width:700px){
  .shared-reviews{padding-block:48px}.review-kicker{font-size:.9rem;line-height:1.45}.rev-rail{grid-auto-columns:min(260px,72vw);gap:6px;padding:6px 1px 11px;scroll-padding-left:1px}.rev{display:flex;flex-direction:column;min-height:196px;padding:14px!important}.rev-src{margin-bottom:8px;padding-bottom:8px}.rev blockquote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;margin-bottom:10px;font-size:.88rem;line-height:1.4}.rev cite{margin-top:auto}.reviews-auto .rail-btns{display:flex;justify-content:center;gap:8px;margin-top:8px}.reviews-auto .rail-btn{min-width:44px;min-height:44px}.reviews-auto .rail-pause{width:44px;min-width:44px;padding:0}.reviews-auto+.note,.reviews-auto~.note{font-size:.75rem;margin-top:8px}
}
/* Recurring house cleaning: premium, time-back conversion system. */
.recurring-hero{overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f8fbfb 55%,#edf8f8 100%)}
.recurring-hero{padding:70px 0 76px}
.recurring-hero-grid{display:grid;grid-template-columns:minmax(0,1.13fr) minmax(410px,.87fr);align-items:center;gap:64px}
.recurring-hero h1{max-width:760px;margin-bottom:0;font-size:clamp(3rem,4.65vw,4.7rem);line-height:.98;letter-spacing:-.048em}
.recurring-hero-promise{max-width:690px;margin:22px 0 13px;color:var(--teal-d);font-size:clamp(1.4rem,2.3vw,2.05rem);font-weight:900;line-height:1.18;letter-spacing:-.025em}
.recurring-hero .lead{max-width:690px}
.recurring-hero-actions{display:grid;grid-template-columns:minmax(240px,auto) minmax(190px,auto);width:max-content;max-width:100%}
.recurring-hero-actions .btn{min-height:60px}
.recurring-text-option{display:inline-flex;min-height:44px;align-items:center;gap:5px;margin-top:9px;color:var(--teal-d);font-weight:750;text-decoration:none}
.recurring-text-option strong{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.recurring-text-option:hover,.recurring-text-option:focus-visible{color:var(--orange-d)}
.recurring-proof{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.recurring-proof span{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid rgba(0,151,167,.25);border-radius:999px;background:#fff;color:var(--navy);font-size:.79rem;font-weight:850;box-shadow:0 8px 20px rgba(7,19,40,.055)}
.recurring-proof span::before{content:"✓";margin-right:7px;color:#159c58;font-weight:950}
.recurring-hero-photo{min-height:0;box-shadow:0 28px 70px rgba(7,19,40,.16)}
.recurring-hero-photo img{object-position:center}
.recurring-proof-band{border-top:1px solid rgba(7,19,40,.08);border-bottom:1px solid rgba(7,19,40,.08);background:var(--navy);color:#fff}
.recurring-proof-band .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-top:0;padding-bottom:0}
.recurring-proof-band span{display:flex;min-width:0;min-height:66px;align-items:center;justify-content:center;gap:7px;padding:12px 18px;border-right:1px solid rgba(255,255,255,.13);text-align:center;font-size:.91rem;font-weight:700;overflow-wrap:anywhere}
.recurring-proof-band span:last-child{border-right:0}
.recurring-proof-band strong{color:#54dfe3;font-weight:950}
@media(max-width:1020px){
  .recurring-hero-grid{grid-template-columns:1fr;gap:34px}
  .recurring-hero-copy{text-align:center}
  .recurring-hero h1,.recurring-hero .lead,.recurring-hero-promise{margin-inline:auto}
  .recurring-hero-actions{margin-inline:auto}
  .recurring-text-option{justify-content:center;width:100%}
  .recurring-proof{justify-content:center}
  .recurring-hero-photo{min-height:0}
  .recurring-proof-band .wrap{grid-template-columns:1fr 1fr}
  .recurring-proof-band span:nth-child(2){border-right:0}
  .recurring-proof-band span:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}
}
@media(max-width:700px){
  .recurring-hero{padding-top:46px}
  .recurring-hero-copy{text-align:left}
  .recurring-hero h1{font-size:clamp(2.35rem,10vw,3.2rem)}
  .recurring-hero-promise{font-size:1.38rem}
  .recurring-hero-actions{grid-template-columns:1fr;width:100%;gap:10px}
  .recurring-text-option{justify-content:center}
  .recurring-proof{display:grid;grid-template-columns:1fr;width:100%}
  .recurring-proof span{border-radius:14px}
  .recurring-hero-photo{min-height:0;aspect-ratio:4/3}
  .recurring-proof-band .wrap{grid-template-columns:1fr 1fr}
  .recurring-proof-band span{min-height:58px;padding:10px 8px;font-size:.78rem}
}
@media(max-width:1120px) and (max-height:500px){
  .recurring-hero{padding:18px 0 26px}
  .recurring-hero-grid{gap:18px}
  .recurring-hero h1{max-width:760px;font-size:clamp(2.1rem,5vw,2.65rem);line-height:1}
  .recurring-hero-promise{margin:12px auto 0;font-size:1.22rem}
  .recurring-hero .lead{display:none}
  .recurring-hero-actions{margin-top:16px}
  .recurring-proof,.recurring-text-option,.recurring-hero-photo{margin-top:12px}
}
/* Airbnb & STR: host-control, five-star-protection conversion system. */
.airbnb-hero{overflow:hidden;padding:70px 0 76px;background:linear-gradient(135deg,#fff 0%,#f7fbfc 52%,#eaf8f8 100%)}
.airbnb-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);align-items:center;gap:64px}
.airbnb-hero h1{max-width:780px;margin-bottom:0;font-size:clamp(3rem,4.7vw,4.8rem);line-height:.98;letter-spacing:-.048em}
.airbnb-hero-promise{max-width:720px;margin:22px 0 13px;color:var(--teal-d);font-size:clamp(1.42rem,2.35vw,2.1rem);font-weight:900;line-height:1.16;letter-spacing:-.025em}
.airbnb-hero .lead{max-width:710px}
.airbnb-hero-actions{display:grid;grid-template-columns:minmax(220px,auto) minmax(220px,auto);width:max-content;max-width:100%}
.airbnb-hero-actions .btn{min-height:60px}
.airbnb-text-option{display:inline-flex;min-height:44px;align-items:center;gap:5px;margin-top:9px;color:var(--teal-d);font-weight:750;text-decoration:none}
.airbnb-text-option strong{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.airbnb-text-option:hover,.airbnb-text-option:focus-visible{color:var(--orange-d)}
.airbnb-proof{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.airbnb-proof span{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid rgba(0,151,167,.25);border-radius:999px;background:#fff;color:var(--navy);font-size:.79rem;font-weight:850;box-shadow:0 8px 20px rgba(7,19,40,.055)}
.airbnb-proof span::before{content:"✓";margin-right:7px;color:#159c58;font-weight:950}
.airbnb-hero-photo{min-height:0;box-shadow:0 28px 70px rgba(7,19,40,.16)}
.airbnb-hero-photo img{display:block;width:100%;height:auto;object-position:center}
.airbnb-hero-photo figcaption{position:static;display:block;width:100%;max-width:none;margin:0;padding:13px 16px;background:var(--navy);color:#fff;text-align:center;font-size:.79rem;font-weight:850;letter-spacing:.025em}
.airbnb-proof-band{border-top:1px solid rgba(7,19,40,.08);border-bottom:1px solid rgba(7,19,40,.08);background:var(--navy);color:#fff}
.airbnb-proof-band .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-top:0;padding-bottom:0}
.airbnb-proof-band span{display:flex;min-height:66px;align-items:center;justify-content:center;gap:7px;padding:12px 18px;border-right:1px solid rgba(255,255,255,.13);text-align:center;font-size:.91rem;font-weight:700}
.airbnb-proof-band span:last-child{border-right:0}
.airbnb-proof-band strong{color:#54dfe3;font-weight:950}
@media(max-width:1020px){
  .airbnb-hero-grid{grid-template-columns:1fr;gap:34px}
  .airbnb-hero-copy{text-align:center}
  .airbnb-hero h1,.airbnb-hero .lead,.airbnb-hero-promise{margin-inline:auto}
  .airbnb-hero-actions{margin-inline:auto}
  .airbnb-text-option{justify-content:center;width:100%}
  .airbnb-proof{justify-content:center}
  .airbnb-hero-photo{min-height:0}
  .airbnb-proof-band .wrap{grid-template-columns:1fr 1fr}
  .airbnb-proof-band span:nth-child(2){border-right:0}
  .airbnb-proof-band span:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}
}
@media(max-width:700px){
  .airbnb-hero{padding-top:38px}
  .airbnb-hero-copy{text-align:left}
  .airbnb-hero h1{font-size:clamp(2.35rem,10vw,3.2rem)}
  .airbnb-hero-promise{font-size:1.38rem}
  .airbnb-hero .lead{line-height:1.52}
  .airbnb-hero .hero-ctas{margin-top:18px}
  .airbnb-hero-actions{grid-template-columns:1fr;width:100%;gap:10px}
  .airbnb-text-option{justify-content:center;text-align:center;white-space:nowrap;font-size:.9rem}
  .airbnb-proof{display:grid;grid-template-columns:1fr;width:100%}
  .airbnb-proof span{border-radius:14px}
  .airbnb-hero-photo{min-height:0;aspect-ratio:auto}
  .airbnb-proof-band .wrap{grid-template-columns:1fr 1fr}
  .airbnb-proof-band span{min-height:58px;padding:10px 8px;font-size:.78rem}
}
@media(max-width:360px){
  .airbnb-hero{padding-top:30px}
  .airbnb-hero h1{font-size:2.18rem}
  .airbnb-hero-promise{margin-top:17px;font-size:1.27rem;line-height:1.14}
  .airbnb-hero .lead{font-size:.96rem;line-height:1.48}
}
@media(max-width:1120px) and (max-height:500px){
  .airbnb-hero{padding:18px 0 26px}
  .airbnb-hero-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:24px}
  .airbnb-hero-copy{text-align:left}
  .airbnb-hero h1{font-size:clamp(2.05rem,4.7vw,2.6rem);line-height:1}
  .airbnb-hero-promise{margin:12px 0 0;font-size:1.18rem}
  .airbnb-hero .lead,.airbnb-proof,.airbnb-text-option{display:none}
  .airbnb-hero-actions{margin:15px 0 0}
  .airbnb-hero-photo{min-height:0;aspect-ratio:auto}
  body:has(.airbnb-hero) chat-widget{display:none!important}
}
/* Post-construction: project handoff and scope clarity. */
.construction-hero{overflow:hidden;padding:70px 0 76px;background:linear-gradient(135deg,#fff 0%,#faf8f4 52%,#edf8f8 100%)}
.construction-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);align-items:center;gap:64px}
.construction-hero h1{max-width:790px;margin-bottom:0;font-size:clamp(3rem,4.65vw,4.75rem);line-height:.98;letter-spacing:-.048em}
.construction-hero-promise{max-width:720px;margin:22px 0 13px;color:var(--teal-d);font-size:clamp(1.42rem,2.3vw,2.08rem);font-weight:900;line-height:1.16;letter-spacing:-.025em}
.construction-hero .lead{max-width:710px}
.construction-hero-actions{display:grid;grid-template-columns:minmax(210px,auto) minmax(220px,auto);width:max-content;max-width:100%}
.construction-hero-actions .btn{min-height:60px}
.construction-text-option{display:inline-flex;min-height:44px;align-items:center;gap:5px;margin-top:9px;color:var(--teal-d);font-weight:750;text-decoration:none}
.construction-text-option strong{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.construction-text-option:hover,.construction-text-option:focus-visible{color:var(--orange-d)}
.construction-proof{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.construction-proof span{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid rgba(0,151,167,.25);border-radius:999px;background:#fff;color:var(--navy);font-size:.79rem;font-weight:850;box-shadow:0 8px 20px rgba(7,19,40,.055)}
.construction-proof span::before{content:"✓";margin-right:7px;color:#159c58;font-weight:950}
.construction-hero-photo{min-height:0;overflow:hidden;box-shadow:0 28px 70px rgba(7,19,40,.16)}
.construction-hero-photo img{display:block;width:100%;height:auto;object-position:center}
.construction-hero-photo figcaption{position:static;display:block;width:100%;max-width:none;margin:0;padding:13px 16px;background:var(--navy);color:#fff;text-align:center;font-size:.79rem;font-weight:850;letter-spacing:.025em}
.construction-process{border-top:1px solid rgba(7,19,40,.08);border-bottom:1px solid rgba(7,19,40,.08);background:var(--navy);color:#fff}
.construction-process .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-top:0;padding-bottom:0}
.construction-process span{display:flex;min-height:68px;align-items:center;justify-content:center;gap:9px;padding:12px 18px;border-right:1px solid rgba(255,255,255,.13);text-align:center;font-size:.9rem;font-weight:750}
.construction-process span:last-child{border-right:0}
.construction-process b{display:grid;width:28px;height:28px;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#54dfe3;font-size:.77rem}
.construction-outcome .center{max-width:850px;margin-inline:auto}
.construction-scope .center{max-width:820px;margin-inline:auto}
.construction-scope .card{position:relative;padding:34px;overflow:hidden}
.construction-scope .card h3{margin:8px 0 10px;font-size:1.4rem}
.construction-scope .card p{color:var(--mute)}
.construction-scope .scope-number{color:var(--teal-d);font-size:.82rem;font-weight:950;letter-spacing:.14em}
.construction-boundaries .card{border-top:4px solid var(--teal)}
.construction-boundaries .card:last-child{border-top-color:var(--orange)}
.construction-boundaries .card h3{font-size:1.08rem}
.construction-boundaries .card p{margin-bottom:0;font-size:.93rem}
body:has(.construction-hero) #walkthrough{scroll-margin-top:92px}
@media(max-width:1020px){
  .construction-hero-grid{grid-template-columns:1fr;gap:34px}
  .construction-hero-copy{text-align:center}
  .construction-hero h1,.construction-hero .lead,.construction-hero-promise{margin-inline:auto}
  .construction-hero-actions{margin-inline:auto}
  .construction-text-option{justify-content:center;width:100%}
  .construction-proof{justify-content:center}
  .construction-process .wrap{grid-template-columns:1fr 1fr}
  .construction-process span:nth-child(2){border-right:0}
  .construction-process span:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.13)}
  .construction-boundaries{grid-template-columns:1fr}
}
@media(max-width:700px){
  .construction-hero{padding-top:38px}
  .construction-hero-copy{text-align:left}
  .construction-hero h1{font-size:clamp(2.28rem,10vw,3.15rem)}
  .construction-hero-promise{font-size:1.36rem}
  .construction-hero .lead{line-height:1.52}
  .construction-hero-actions{grid-template-columns:1fr;width:100%;gap:10px}
  .construction-text-option{justify-content:center;text-align:center;font-size:.9rem}
  .construction-proof{display:grid;grid-template-columns:1fr;width:100%}
  .construction-proof span{border-radius:14px}
  .construction-process .wrap{grid-template-columns:1fr 1fr}
  .construction-process span{min-height:60px;padding:10px 7px;font-size:.75rem}
  .construction-process b{width:24px;height:24px}
  .construction-scope .card{padding:26px 22px}
  body:has(.construction-hero) chat-widget{display:none!important}
}
@media(max-width:360px){
  .construction-hero{padding-top:30px}
  .construction-hero h1{font-size:2.12rem}
  .construction-hero-promise{font-size:1.25rem;line-height:1.15}
  .construction-hero .lead{display:none}
  .construction-hero-actions{margin-top:18px}
  .construction-process span{font-size:.7rem}
}
@media(max-width:1120px) and (max-height:500px){
  .construction-hero{padding:18px 0 26px}
  .construction-hero-grid{grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:24px}
  .construction-hero-copy{text-align:left}
  .construction-hero h1{font-size:clamp(2.05rem,4.6vw,2.55rem);line-height:1}
  .construction-hero-promise{margin:12px 0 0;font-size:1.16rem}
  .construction-hero .lead,.construction-proof,.construction-text-option{display:none}
  .construction-hero-actions{margin:15px 0 0}
  body:has(.construction-hero) chat-widget{display:none!important}
}
.rail-btn:active { transform: translateY(0); }
.rail-btn[disabled] { opacity: .3; pointer-events: none; }

.embed-help{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0 4px 10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--mute);font-size:.84rem}
.embed-help span{margin-right:auto}.embed-help button,.embed-help a{min-height:40px;padding:9px 13px;border:1px solid rgba(6,122,128,.3);border-radius:10px;background:#fff;color:var(--teal-ink);font:700 .82rem/1 var(--f-body);text-decoration:none;cursor:pointer}
.embed-help a{display:inline-flex;align-items:center;background:var(--teal-ink);color:#fff;border-color:var(--teal-ink)}
.embed-help button:focus-visible,.embed-help a:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
@media(max-width:560px){.embed-help{display:grid;grid-template-columns:1fr 1fr}.embed-help span{grid-column:1/-1;margin:0;text-align:center}.embed-help button,.embed-help a{justify-content:center;min-height:44px}}

/* ---------- Lists ---------- */
ul.ticks { list-style: none; margin: 0 0 1.2em; padding: 0; }
ul.ticks li { padding: 7px 0 7px 32px; position: relative; }
ul.ticks li::before { content: "✓"; position: absolute; left: 2px; top: 7px; color: var(--cactus); font-weight: 800; }
.on-dark ul.ticks li::before { color: #4ADE80; }

/* ---------- Photo placeholders ---------- */
.ph { border-radius: var(--r-l); background: linear-gradient(135deg, rgba(0,196,204,.06), rgba(255,106,0,.06)), var(--gray); border: 1.5px dashed rgba(2,8,23,.18); display: flex; align-items: center; justify-content: center; color: var(--mute); font-size: .82rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; text-align: center; padding: 20px; min-height: 250px; }
.ph.tall { min-height: 380px; }
.ph.dark-ph { background: linear-gradient(135deg, rgba(0,196,204,.05), rgba(255,106,0,.05)), var(--gray); }

/* ---------- FAQ ---------- */
details.faq { background: #fff; border-radius: var(--r-m); box-shadow: var(--sh-1); margin-bottom: 14px; border: 1px solid var(--line); overflow: hidden; }
details.faq summary { cursor: pointer; list-style: none; font-weight: 650; font-size: 1.02rem; padding: 19px 54px 19px 24px; position: relative; color: var(--ink); min-height: 44px; transition: color var(--t-hover) ease-out; }
details.faq summary::-webkit-details-marker { display: none; }
details.faq summary::after { content: "+"; position: absolute; right: 22px; top: 50%; transform: translateY(-50%); font-size: 1.5rem; font-weight: 400; color: var(--orange); transition: transform 200ms var(--ease-enter); }
details.faq[open] summary::after { transform: translateY(-50%) rotate(45deg); }
details.faq summary { transition: color var(--t-hover) ease-out, background var(--t-hover) ease-out; }
details.faq summary:hover { color: var(--orange-d); background: rgba(0,196,204,.05); }
.estimator input[type=range] { cursor: grab; }
.estimator input[type=range]:active { cursor: grabbing; }
.estimator input[type=range]::-webkit-slider-thumb { transition: transform 150ms ease-out, box-shadow 150ms ease-out; }
.estimator input[type=range]:hover::-webkit-slider-thumb { transform: scale(1.25); box-shadow: 0 0 0 8px rgba(255,106,0,.15); }
.est-price { transition: transform 180ms cubic-bezier(.34,1.56,.64,1); }
.est-price.bump { transform: scale(1.06); }
details.faq .faq-a { padding: 0 24px 22px; color: var(--ink-2); }

/* ---------- Estimator ---------- */
.estimator { background: #fff; border: 1px solid var(--line); border-radius: var(--r-l); box-shadow: var(--sh-2); padding: 30px 28px; }
.est-row { display: flex; gap: 18px; flex-wrap: wrap; align-items: center; margin: 14px 0 6px; }
.est-row select { font-family: var(--f-body); font-weight: 600; font-size: .95rem; color: var(--ink); padding: 12px 16px; border: 1.5px solid var(--line); border-radius: var(--r-s); background: #fff; min-height: 46px; }
.estimator input[type=range] { flex: 1; min-width: 200px; accent-color: var(--orange); height: 6px; }
.est-out { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin-top: 10px; }
.est-price { font-family: var(--f-display); font-weight: 800; font-size: 2.6rem; letter-spacing: -0.02em; color: var(--ink); }
.est-note { font-size: .85rem; color: var(--mute); }
.est-sqft { font-weight: 700; color: var(--teal-ink); font-variant-numeric: tabular-nums; min-width: 90px; }

/* ---------- 24-Hour Make-It-Right Promise ---------- */
.care-promise{position:relative;isolation:isolate;display:grid;grid-template-columns:164px minmax(300px,1fr) auto;gap:clamp(22px,3vw,42px);align-items:center;overflow:hidden;padding:clamp(28px,4vw,46px);border:1px solid rgba(0,155,166,.24);border-radius:30px;background:linear-gradient(120deg,#f4fdfe 0%,#fff 48%,#f5f8fc 100%);box-shadow:0 20px 55px rgba(5,26,48,.11)}
.care-promise:before{content:"";position:absolute;z-index:-1;inset:auto -80px -120px auto;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(0,196,204,.16),transparent 67%)}
.care-seal{position:relative;display:flex;width:154px;height:154px;flex-direction:column;align-items:center;justify-content:center;border:5px solid #fff;border-radius:50%;color:#08aeb6;background:radial-gradient(circle at 35% 25%,#153952 0%,#071b2d 58%,#020b15 100%);box-shadow:0 0 0 3px #08aeb6,0 0 0 10px rgba(8,174,182,.13),0 18px 36px rgba(5,29,48,.25);text-align:center;text-transform:uppercase}
.care-seal:before,.care-seal:after{content:"";position:absolute;top:50%;width:24px;height:52px;background:#08aeb6;clip-path:polygon(0 0,100% 12%,76% 100%,50% 76%,24% 100%)}
.care-seal:before{right:100%;transform:translate(3px,-50%) rotate(-8deg)}
.care-seal:after{left:100%;transform:translate(-3px,-50%) scaleX(-1) rotate(-8deg)}
.care-seal svg{position:absolute;top:12px;width:42px;height:48px;color:#08aeb6;filter:drop-shadow(0 3px 8px rgba(0,196,204,.28))}
.care-seal-time{margin-top:43px;color:#fff;font:800 .93rem/1 var(--f-display);letter-spacing:.08em}
.care-seal-name{margin-top:5px;color:#fff;font:800 .68rem/1.05 var(--f-display);letter-spacing:.025em}
.care-seal-label{margin-top:6px;color:#67e6e9;font:800 .61rem/1 var(--f-body);letter-spacing:.18em}
.care-promise-copy{min-width:0}
.care-promise-eyebrow{display:block;margin-bottom:8px;color:var(--teal-ink);font-size:.77rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.care-promise h3{margin:0;color:var(--ink);font-size:clamp(1.45rem,2.4vw,2.05rem);letter-spacing:-.025em;line-height:1.12}
.care-promise-copy>p{max-width:760px;margin:12px 0 0;color:#344458;font-size:1.02rem;line-height:1.65}
.care-promise .care-promise-reassurance{display:flex;gap:8px;align-items:center;margin-top:12px;color:#087e85;font-size:.9rem;font-weight:800;line-height:1.35}
.care-promise-reassurance span{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;border-radius:50%;color:#fff;background:#089da6}
.care-promise-actions{display:flex;min-width:190px;flex-direction:column;align-items:center;gap:12px}
.care-promise-actions .btn{width:100%;justify-content:center;white-space:nowrap}
.care-promise-link{display:inline-flex;min-height:44px;align-items:center;gap:8px;color:var(--teal-ink);font-weight:850;text-decoration:none}
.care-promise-link:hover,.care-promise-link:focus-visible{color:#005f65;text-decoration:underline;text-underline-offset:4px}
@media(max-width:980px){.care-promise{grid-template-columns:142px 1fr}.care-seal{width:132px;height:132px}.care-seal svg{top:7px;width:38px}.care-seal-time{margin-top:39px;font-size:.82rem}.care-seal-name{font-size:.6rem}.care-promise-actions{grid-column:2;min-width:0;flex-direction:row;justify-content:flex-start}.care-promise-actions .btn{width:auto}}
@media(max-width:620px){.care-promise{grid-template-columns:1fr;gap:20px;padding:28px 20px;text-align:center;border-radius:24px}.care-seal{width:132px;height:132px;margin:auto}.care-promise-eyebrow{margin-bottom:7px}.care-promise-copy>p{font-size:.96rem;line-height:1.55}.care-promise .care-promise-reassurance{justify-content:center;text-align:left}.care-promise-actions{grid-column:1;flex-direction:column;width:100%}.care-promise-actions .btn{width:100%}.care-promise-link{justify-content:center;width:100%}}
.trust-honors{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.gpc-standard{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.4fr);gap:34px;padding:36px;border:1px solid #cfe3e6;border-radius:28px;background:linear-gradient(135deg,#fff 0%,#f4fbfb 58%,#eef8f8 100%);box-shadow:0 18px 48px rgba(7,16,31,.09)}
.gpc-standard-intro{align-self:center}
.gpc-standard-intro h2{margin-bottom:14px;font-size:clamp(2rem,3.2vw,3.25rem);line-height:1.02}
.gpc-standard-intro>p{max-width:52ch;color:var(--muted);font-size:1.04rem;line-height:1.65}
.gpc-standard .gpc-standard-statement{margin-top:20px;padding:14px 16px;border-left:4px solid var(--aqua);border-radius:0 12px 12px 0;background:#e7f8f8;color:var(--ink);font-weight:850;line-height:1.45}
.gpc-standard-grid{display:grid;gap:10px;margin:0;padding:0;list-style:none;counter-reset:none}
.gpc-standard-grid li{display:grid;grid-template-columns:52px 1fr;gap:15px;align-items:start;padding:16px 18px;border:1px solid #dbe7ea;border-radius:17px;background:rgba(255,255,255,.92);box-shadow:0 6px 18px rgba(7,16,31,.045)}
.gpc-standard-grid li>span{display:grid;width:46px;height:46px;place-items:center;border-radius:14px;background:var(--dark);color:#67e6e9;font:900 .83rem/1 var(--f-display);letter-spacing:.08em}
.gpc-standard-grid h3{margin:1px 0 4px;font-size:1rem;line-height:1.25}
.gpc-standard-grid p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}
.gpc-standard-grid-compact{align-content:center}
@media(max-width:900px){.gpc-standard{grid-template-columns:1fr;padding:28px}.gpc-standard-intro>p{max-width:none}}
@media(max-width:620px){.gpc-standard{gap:24px;padding:24px 18px;border-radius:22px}.gpc-standard-intro h2{font-size:2rem}.gpc-standard-grid li{grid-template-columns:44px 1fr;gap:12px;padding:15px 13px}.gpc-standard-grid li>span{width:40px;height:40px;border-radius:12px}.gpc-standard-grid h3{font-size:.96rem}.gpc-standard-grid p{font-size:.84rem}}
.trust-honor{display:grid;grid-template-columns:86px 1fr;gap:16px;align-items:center;min-height:132px;padding:20px;border:1px solid #dbe5eb;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(5,26,48,.07)}
.trust-honor-medal{position:relative;display:grid;width:78px;height:78px;place-items:center;border:4px solid #fff;border-radius:50%;color:#08aeb6;background:#071b2d;box-shadow:0 0 0 2px #071b2d,0 8px 20px rgba(5,29,48,.2)}
.trust-honor-medal-aqua{align-content:center;color:#fff;background:linear-gradient(145deg,#09b9c2,#087f89);box-shadow:0 0 0 2px #087f89,0 8px 20px rgba(8,127,137,.25)}
.trust-honor-medal svg{width:44px;height:44px}
.trust-honor-medal strong{font:850 1.7rem/.8 var(--f-display)}
.trust-honor-medal span{margin-top:5px;font-size:.57rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.trust-honor-medal b{position:absolute;right:-4px;bottom:1px;display:grid;width:25px;height:25px;place-items:center;border:3px solid #fff;border-radius:50%;color:#071b2d;background:#67e6e9;font-size:.73rem}
.trust-honor h3{margin:0;color:var(--ink);font-size:1rem;line-height:1.2}
.trust-honor p{margin:7px 0 0;color:#536276;font-size:.82rem;line-height:1.45}
@media(max-width:980px){.trust-honors{grid-template-columns:1fr}.trust-honor{min-height:110px}}
@media(max-width:620px){.trust-honors{gap:12px}.trust-honor{grid-template-columns:72px 1fr;gap:14px;min-height:104px;padding:16px;text-align:left}.trust-honor-medal{width:64px;height:64px}.trust-honor-medal svg{width:36px;height:36px}.trust-honor-medal strong{font-size:1.4rem}.trust-honor-medal span{font-size:.5rem}.trust-honor-medal b{width:22px;height:22px}.trust-honor h3{font-size:.96rem}.trust-honor p{font-size:.79rem}}

/* ---------- Footer (white, ink text — matches live) ---------- */
footer.site { background: #fff; border-top: 1px solid var(--line); color: var(--ink-2); padding: 64px 0 30px; font-size: .92rem; }
footer.site .brand { margin-bottom: 16px; }
footer.site .brand img { height: 84px; }
.foot-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.2fr; gap: 40px; }
@media (max-width: 920px) { .foot-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .foot-grid { grid-template-columns: 1fr; } }
footer.site h4 { color: var(--ink); font-size: .82rem; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 16px; font-family: var(--f-body); font-weight: 700; }
footer.site ul { list-style: none; margin: 0; padding: 0; }
footer.site li { margin-bottom: 9px; }
footer.site a { color: var(--ink-2); }
footer.site a:hover { color: var(--orange-d); }
.foot-bottom { border-top: 1px solid var(--line); margin-top: 44px; padding-top: 22px; display: flex; justify-content: space-between; gap: 14px; flex-wrap: wrap; font-size: .84rem; color: var(--mute); }
.foot-cta { background: var(--ink); border-radius: var(--r-l); padding: 30px 32px; margin-bottom: 52px; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.foot-cta strong { color: #fff; font-size: 1.2rem; font-family: var(--f-display); letter-spacing: -0.01em; }
/* footer link rules below would otherwise repaint these buttons — pin them */
footer.site .foot-cta a.btn-primary, footer.site .foot-cta a.btn-primary:hover { color: #fff; }
footer.site .foot-cta a.btn-ghost { color: #fff; border-color: rgba(255,255,255,.85); }
footer.site .foot-cta a.btn-ghost:hover { color: var(--ink); border-color: #fff; }

/* ---------- Sticky mobile CTA ---------- */
.m-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 70; display: none; gap:8px; padding:8px 9px calc(8px + env(safe-area-inset-bottom,0px)); transform: translateY(110%); transition: transform 320ms var(--ease-enter); border-top:1px solid rgba(255,255,255,.72); background:rgba(250,252,253,.92); box-shadow:0 -8px 28px rgba(2,8,23,.16); backdrop-filter:blur(18px) saturate(145%); -webkit-backdrop-filter:blur(18px) saturate(145%); }
.m-cta.show { transform: translateY(0); }
.m-cta a { position:relative;isolation:isolate;overflow:hidden;flex:1;gap:6px;text-align:center;padding:12px 8px;border:1px solid transparent;border-radius:16px;font-weight:850;font-size:.92rem;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;transition:transform 150ms ease,box-shadow 180ms ease,filter 150ms ease; }
.m-cta a::after{content:"";position:absolute;z-index:-1;inset:1px 8px auto;height:44%;border-radius:14px 14px 50% 50%;background:linear-gradient(180deg,rgba(255,255,255,.3),rgba(255,255,255,0));pointer-events:none}
.m-cta .call { border-color:#f45d00;background:linear-gradient(145deg,#ff8428 0%,#ff6908 55%,#e95000 100%);box-shadow:0 2px 0 #b93e00,0 7px 15px rgba(237,83,0,.34),inset 0 1px 0 rgba(255,255,255,.38);text-shadow:0 1px 1px rgba(112,39,0,.24); }
.m-cta .text-btn { background: #fff; color: var(--ink); border-top: 1px solid var(--line); }
.m-cta .book { border-color:#067f87;background:linear-gradient(145deg,#25cbd0 0%,#0ca3aa 52%,#067b83 100%);box-shadow:0 2px 0 #045b61,0 7px 15px rgba(5,134,142,.3),inset 0 1px 0 rgba(255,255,255,.36);text-shadow:0 1px 1px rgba(0,65,70,.22); }
.m-cta-icon{width:19px;height:19px;flex:0 0 auto;filter:drop-shadow(0 1px 1px rgba(0,0,0,.18))}
.m-cta a:hover{transform:translateY(-2px);filter:saturate(1.08) brightness(1.03)}
.m-cta a:active{transform:translateY(2px) scale(.975);box-shadow:0 1px 2px rgba(2,8,23,.2),inset 0 2px 6px rgba(2,8,23,.16)}
.btn-online,.btn-online:visited{background:linear-gradient(135deg,#17c5c9,#078b94);border:2px solid #078b94;color:#fff;box-shadow:0 9px 22px rgba(8,145,153,.24);-webkit-tap-highlight-color:transparent}
.btn-online:hover{background:linear-gradient(135deg,#25d1d4,#067a82);border-color:#067a82;color:#fff;box-shadow:0 14px 30px rgba(8,145,153,.32);transform:translateY(-2px)}
.btn-online:active{background:linear-gradient(135deg,#12afb4,#067a82);color:#fff;transform:translateY(0) scale(.98)}
.btn-online:focus-visible{outline:3px solid rgba(7,151,161,.32);outline-offset:3px}
.btn-text-uniform,.btn-text-uniform:visited{min-height:58px;background:#fff;border:2px solid #0797a1;color:#076f76;box-shadow:0 7px 18px rgba(8,145,153,.12);-webkit-tap-highlight-color:transparent}
.btn-text-uniform:hover{background:#e8fbfb;border-color:#078b94;color:#05666d;box-shadow:0 12px 26px rgba(8,145,153,.22);transform:translateY(-2px)}
.btn-text-uniform:active{background:#d7f6f7;color:#05666d;transform:translateY(0) scale(.98)}
.hero-ctas a.btn-online,.hero-ctas a.btn-online:visited,.on-dark .hero-ctas a.btn-online,.on-dark .hero-ctas a.btn-online:visited{background:linear-gradient(135deg,#17c5c9,#078b94);border-color:#078b94;color:#fff}
.hero-ctas a.btn-online:hover,.on-dark .hero-ctas a.btn-online:hover{background:linear-gradient(135deg,#25d1d4,#067a82);border-color:#067a82;color:#fff}
.hero-ctas a.btn-text-uniform,.hero-ctas a.btn-text-uniform:visited,.on-dark .hero-ctas a.btn-text-uniform,.on-dark .hero-ctas a.btn-text-uniform:visited{background:#fff;border-color:#0797a1;color:#076f76}
.hero-ctas a.btn-text-uniform:hover,.on-dark .hero-ctas a.btn-text-uniform:hover{background:#e8fbfb;border-color:#078b94;color:#05666d}
.hero-ctas>.btn{min-height:58px;align-items:center;justify-content:center}
body.menu-open .m-cta, body.ui-consent-open .m-cta, body.ui-coupon-open .m-cta, body.ui-chat-open .m-cta, body.ui-form-success .m-cta { display: none !important; }
body.menu-open chat-widget, body.ui-consent-open chat-widget, body.ui-coupon-open chat-widget, body.ui-form-success chat-widget, body.ui-chat-loading chat-widget { display: none !important; }
body.ui-coupon-open { overflow: hidden; }
.m-nav-socials { padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px)); }
/* Keep the fastest conversion path dominant on mobile: call first, web form second. */
@media (max-width: 760px) {
  .m-nav.open { max-height: calc(100dvh - 108px); }
  .m-cta { display: flex; bottom: 0; }
  .m-cta .text-btn { display: none; }
  .m-cta .call, .m-cta .book { min-height: 56px; display: flex; align-items: center; justify-content: center; }
  .m-cta .call { flex: 1.25; }
  .m-cta .book { flex: 1; }
  body.has-mcta { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
}

/* ---------- Coupon modal (light) ---------- */
.coupon-veil { position: fixed; inset: 0; background: rgba(2,8,23,.5); backdrop-filter: blur(3px); z-index: 90; opacity: 0; pointer-events: none; transition: opacity 240ms ease-out; }
.coupon-veil.show { opacity: 1; pointer-events: auto; }
.coupon { position: fixed; z-index: 91; left: 50%; top: 50%; transform: translate(-50%,-50%) scale(.96); opacity: 0; width: min(520px, calc(100vw - 24px)); max-height: calc(100vh - 24px); overflow-y: auto; background: #fff; color: var(--ink); border-radius: var(--r-l); padding: 34px 30px 28px; box-shadow: var(--sh-3); border-top: 5px solid var(--orange); text-align: center; transition: opacity 240ms var(--ease-enter), transform 240ms var(--ease-enter); pointer-events: none; }
.coupon.show { opacity: 1; transform: translate(-50%,-50%) scale(1); pointer-events: auto; }
.coupon h3 { font-size: 1.55rem; }
.coupon .x { position: absolute; top: 10px; right: 10px; background: none; border: 0; color: var(--mute); font-size: 1.5rem; cursor: pointer; width: 44px; height: 44px; border-radius: 50%; transition: color var(--t-hover) ease-out; }
.coupon .x:hover { color: var(--ink); }
.coupon-form { display: grid; gap: 10px; margin-top: 18px; text-align: left; }
.coupon-form > label:not(.coupon-consent) span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.coupon-form input { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #cbd5e1; border-radius: 10px; background: #f8fafc; color: var(--ink); font: inherit; }
.coupon-form input:focus { outline: 3px solid rgba(255,105,0,.2); border-color: var(--orange); }
.coupon-form .coupon-consent { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; color: #334155; font-size: .72rem; line-height: 1.4; }
.coupon-form .coupon-consent input { width: 18px; min-height: 18px; height: 18px; padding: 0; margin: 2px 0 0; accent-color: var(--orange); }
.wt-consent { display: grid; gap: 10px; margin-top: 14px; text-align: left; }
.sms-consent { display: grid !important; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; color: #475569; font-size: .74rem; font-weight: 500 !important; line-height: 1.45; }
.sms-consent input { width: 18px !important; min-height: 18px !important; height: 18px; padding: 0 !important; margin: 2px 0 0; accent-color: var(--orange); }
.sms-legal { color: #64748b; font-size: .74rem; line-height: 1.4; }
.sms-legal a { color: #065f63; font-weight: 750; text-decoration: underline; text-underline-offset: 2px; }

/* Privacy-aware analytics choice */
.analytics-consent { position: fixed; z-index: 10020; left: 20px; bottom: 20px; width: min(620px,calc(100vw - 40px)); margin: 0; padding: 15px 16px; background: rgba(255,255,255,.98); color: #17242a; border: 1px solid rgba(23,36,42,.14); border-radius: 18px; box-shadow: 0 20px 52px rgba(2,8,23,.20),0 4px 14px rgba(2,8,23,.09); display: flex; gap: 20px; align-items: center; justify-content: space-between; font-size: 13px; line-height: 1.35; backdrop-filter: blur(14px); }
.analytics-slot { height:0; overflow:hidden; }
html.analytics-known .analytics-slot { display:none; }
.menu-open .analytics-consent { display: none; }
.analytics-consent p { display:flex; flex-wrap:wrap; align-items:baseline; gap:2px 8px; margin:0; }
.analytics-consent p strong { display:block; width:100%; color:var(--ink); font-family:var(--f-display); font-size:.92rem; line-height:1.2; }
.analytics-consent p span { color:#475569; }
.analytics-consent a { color: #006d70; font-weight:750; text-decoration: underline; text-underline-offset:2px; }
.analytics-consent div { display: flex; gap: 8px; flex: 0 0 auto; }
.analytics-consent button { min-height:42px; border: 1px solid #006d70; border-radius: 999px; background: #fff; color: #006d70; padding: 9px 14px; font: inherit; font-weight: 800; cursor: pointer; transition:transform 160ms ease,box-shadow 180ms ease,background 180ms ease; }
.analytics-consent button.allow { background: #006d70; color: #fff; }
.analytics-consent button:hover { transform:translateY(-1px); box-shadow:0 6px 15px rgba(0,109,112,.18); }
.analytics-consent button:active { transform:scale(.97); }
@media (max-width: 650px) {
  .analytics-consent { left:10px; bottom:calc(10px + env(safe-area-inset-bottom,0px)); width:calc(100vw - 20px); padding:13px 14px; align-items:stretch; flex-direction:column; gap:10px; border-radius:16px; font-size:.79rem; }
  .analytics-consent div { display: grid; grid-template-columns: 1fr 1fr; }
  .analytics-consent button { min-height: 44px; padding: 8px 12px; }
  .coupon { top: auto; bottom: 0; width: 100%; max-height: 82dvh; border-radius: 22px 22px 0 0; padding: 26px 20px calc(20px + env(safe-area-inset-bottom, 0px)); transform: translate(-50%,24px); }
  .coupon.show { transform: translate(-50%,0); }
  .coupon h3 { font-size: 1.4rem; margin-bottom: .35em; }
  .coupon > p:not(.eyebrow):not(.note) { font-size: .9rem; line-height: 1.5; }
  .coupon-form { margin-top: 12px; gap: 8px; }
  .coupon-form input { min-height: 46px; }
  .coupon-form .coupon-consent { font-size: .7rem; line-height: 1.35; }
  .coupon .note { font-size: .72rem; margin-top: 8px; }
}
body.menu-open { overflow: hidden; }

/* Calm visual hierarchy: movement is reserved for direct interaction. */
body.anim .m-call,
body.anim .m-cta .call,
body.anim .photo.kb img,
body.anim .gband .gstars svg,
body.anim .gbadge .bstars,
body.anim .hero-ctas .btn-primary,
body.anim .btn-primary,
body.anim .btn-primary::before,
body.anim .spark-wrap .tw { animation: none !important; }

/* Cross-site QA refinements: clearer tablets, larger touch targets, calmer consent. */
@media (min-width: 641px) and (max-width: 920px) {
  .g3 > :last-child:nth-child(odd) { grid-column: 1 / -1; width: min(100%, 560px); justify-self: center; }
}
@media (max-width: 900px) {
  .tbl-wrap:has(table.gpc.chk)::before { content: "Swipe to compare all services →"; display: block; position: sticky; left: 0; padding: 10px 12px; background: #fff7f0; color: var(--orange-d); font-size: .86rem; font-weight: 750; border-bottom: 1px solid var(--line); }
table.gpc.chk { min-width: 760px; }
.check-help-wrap{display:flex;justify-content:center}.check-help-wrap>.check-help-cta{display:grid;grid-template-columns:44px minmax(0,1fr) 32px;align-items:center;gap:13px;width:100%!important;max-width:520px;padding:14px 16px!important;text-align:left!important;white-space:normal!important;border-radius:18px!important}.check-help-cta>.bicon{width:24px;height:24px;margin:0;justify-self:center}.check-help-copy{display:grid;gap:2px;min-width:0}.check-help-copy small{color:rgba(255,255,255,.82);font-size:.72rem;font-weight:750;letter-spacing:.035em;line-height:1.2;text-transform:uppercase}.check-help-copy strong{font-size:1rem;line-height:1.2}.check-help-number{font-size:1.12rem;font-weight:900;line-height:1.2;white-space:nowrap}.check-help-arrow{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.18);font-size:1.1rem}
.check-help-wrap{display:block!important}.check-help-wrap>.check-help-cta{margin-inline:auto}
@media(max-width:700px){
  .check-value-path{display:grid;gap:10px;margin:0 0 22px}
  .check-value-path>div{position:relative;display:grid;grid-template-columns:40px 1fr;gap:0 12px;align-items:center;padding:14px 16px;border:1px solid #d9e2e4;border-radius:16px;background:#fff;box-shadow:0 7px 22px rgba(13,44,48,.07)}
  .check-value-path>div+div:before{content:"+";position:absolute;top:-18px;left:50%;width:26px;height:26px;display:grid;place-items:center;transform:translateX(-50%);border-radius:50%;background:#ec6b22;color:#fff;font-weight:900;z-index:1}
  .check-value-path span{grid-row:1/3;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#073f46;color:#fff;font-weight:900;font-size:1.05rem}.check-value-path>div:nth-child(2) span{background:#ec6b22}.check-value-path>div:nth-child(3) span{background:#11806f}.check-value-path strong{font-size:1rem;line-height:1.2;color:#102f34}.check-value-path small{margin-top:3px;color:#52676b;font-size:.78rem;line-height:1.35}
  .tabs-hint{text-align:center;font-size:.9rem;line-height:1.4;margin-bottom:12px}.tabs{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.tab{min-width:0;min-height:52px;padding:10px 8px;border:1px solid #ccd9db;border-radius:12px;line-height:1.2;overflow-wrap:anywhere}.tab:last-child{grid-column:1/-1}.tab-n{display:block;margin-top:4px;font-size:.72rem}
  .checklist-ladder-ready .tbl-wrap:has(table.gpc.chk){display:none}.check-mobile-ladder{display:grid;gap:0;margin-top:18px}
  .check-tier{overflow:hidden;padding:0;border:1px solid #dce5e6;border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(10,45,49,.08)}.check-tier-head{display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:15px 14px;background:#eef5f5}.check-tier-step{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#073f46;color:#fff;font-size:1.1rem;font-weight:900}.check-tier-title{margin:0;color:#102f34;font-family:var(--f-display);font-size:1.05rem;font-weight:800;line-height:1.15}.check-tier-head p{margin:4px 0 0;color:#52676b;font-size:.75rem;line-height:1.25}.check-tier-head>strong{padding:6px 8px;border-radius:999px;background:#fff;color:#073f46;font-size:.72rem;white-space:nowrap}
  .check-tier-2 .check-tier-head{background:#fff2e9}.check-tier-2 .check-tier-step{background:#ec6b22}.check-tier-2 .check-tier-head>strong{color:#b64100}.check-tier-3 .check-tier-head{background:#eaf7f3}.check-tier-3 .check-tier-step{background:#11806f}.check-tier-3 .check-tier-head>strong{color:#086354}
  .check-tier ul{list-style:none;margin:0;padding:5px 14px 10px}.check-tier li{display:grid;grid-template-columns:27px 1fr;gap:9px;align-items:start;min-height:44px;padding:10px 0;border-bottom:1px solid #e7eded;color:#183a3f;font-size:.96rem;line-height:1.42;text-transform:capitalize}.check-tier li:last-child{border-bottom:0}.check-mark{display:grid;place-items:center;width:25px;height:25px;margin-top:1px;border-radius:50%;background:#e5f6ef;color:#08765f;font-size:.9rem;font-weight:900}.check-tier-connector{justify-self:center;display:grid;place-items:center;min-height:34px;margin:6px 0;padding:7px 14px;border:3px solid #fff;border-radius:999px;background:#ec6b22;color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.055em;line-height:1;text-transform:uppercase;box-shadow:0 5px 14px rgba(236,107,34,.2);z-index:1}
  .check-help-wrap{margin-top:28px!important}.check-help-cta{grid-template-columns:42px minmax(0,1fr) 30px;width:100%;min-height:86px;padding:13px 12px!important;gap:10px}.check-help-copy small{font-size:.67rem}.check-help-copy strong{font-size:.92rem}.check-help-number{font-size:1.06rem}
}
  table.gpc.chk th:first-child, table.gpc.chk td:first-child { position: sticky; left: 0; z-index: 2; background: #fff; box-shadow: 5px 0 10px rgba(2,8,23,.06); }
  table.gpc.chk th:first-child { background: var(--ink); z-index: 3; }
}
@media (min-width: 651px) { .analytics-consent button { min-height:44px; } }
@media (max-width: 760px) {
  .top-strip { display: block; padding: 5px 12px; min-height: 30px; line-height: 1.2; }
  .top-strip .strip-msg, .top-strip .strip-msg a { font-size: .78rem; white-space: nowrap; }
  .top-strip .strip-msg a { min-height: 0; }
  .top-strip a, footer.site a:not(.btn), .m-nav a { display: inline-flex; align-items: center; min-height: 44px; }
  .m-call { min-width: 46px; }
  footer.site .socials .social { min-width: 44px; min-height: 44px; justify-content: center; }
  footer.site { font-size: .92rem; }
  .hero-ctas:has(> :nth-child(3)) { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .hero-ctas:has(> :nth-child(3)) > :first-child { grid-column: 1 / -1; }
  .hero-ctas:has(> :nth-child(3)) .btn { width: 100%; min-width: 0; min-height:58px; padding-inline: 10px; font-size: .88rem; text-align:center; }
  footer.site .foot-grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; }
  footer.site .foot-grid > div:first-child, footer.site .foot-grid > div:last-child { grid-column: 1 / -1; }
  footer.site .foot-grid > div:last-child ul { columns: 2 !important; column-gap: 22px; }
  footer.site .foot-grid h4 { margin-bottom: 8px; }
  footer.site .foot-grid li { break-inside: avoid; }
  footer.site .socials .social { color: #fff !important; border-color: transparent; }
  footer.site .socials .social.ig { background: radial-gradient(circle at 30% 110%, #FEDA75 0%, #FA7E1E 30%, #D62976 55%, #962FBF 80%, #4F5BD5 100%); }
  footer.site .socials .social.tt { background: #010101; box-shadow: -2px 0 0 1px #25F4EE, 2px 2px 0 1px #FE2C55, var(--sh-1); }
  footer.site .socials .social.li { background: #0A66C2; }
  footer.site .socials .social.fb { background: #1877F2; }
  footer.site .footer-all-areas { display: inline-flex; min-height: 44px; align-items: center; margin-top: 8px; color: var(--teal-d); font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
  .wrap[style*="margin-top:-46px"]>.hero-ctas .btn:nth-child(2) { color:#043a40!important;border-color:#6de5ea;background:linear-gradient(145deg,#a8f7f8,#48d8de);box-shadow:0 7px 18px rgba(0,143,151,.24) }
  .wrap[style*="margin-top:-46px"]>.hero-ctas .btn:nth-child(3) { color:#fff!important;border-color:#172843;background:linear-gradient(145deg,#172843,#071326);box-shadow:0 7px 18px rgba(2,8,23,.28) }
  .wrap[style*="margin-top:-46px"]>.hero-ctas .btn:nth-child(2):hover,.wrap[style*="margin-top:-46px"]>.hero-ctas .btn:nth-child(2):focus-visible { color:#032f34!important;background:linear-gradient(145deg,#c4fbfc,#5ee4e9);box-shadow:0 0 0 4px rgba(72,216,222,.2),0 10px 24px rgba(0,143,151,.32) }
  .wrap[style*="margin-top:-46px"]>.hero-ctas .btn:nth-child(3):hover,.wrap[style*="margin-top:-46px"]>.hero-ctas .btn:nth-child(3):focus-visible { color:#fff!important;background:linear-gradient(145deg,#263b5b,#0a192f);box-shadow:0 0 0 4px rgba(23,40,67,.16),0 10px 24px rgba(2,8,23,.38) }
  .wrap[style*="margin-top:-46px"]>.hero-ctas .btn:nth-child(2):active,.wrap[style*="margin-top:-46px"]>.hero-ctas .btn:nth-child(3):active { transform:translateY(1px) scale(.97) }
}
@media (max-width: 520px) {
  .stat-rating-line { gap:8px; }
  .score-google-g { width:1.4rem; height:1.4rem; }
  .score-stars { font-size:1.05rem; letter-spacing:.04em; }
  h1 { font-size: clamp(2rem, 9.5vw, 2.35rem); line-height: 1.04; letter-spacing: -.035em; }
}
@media (max-width: 360px) {
  .hero-ctas .btn.num { padding-inline: 8px; font-size: .82rem; white-space: nowrap; }
}

.coupon-form > label:not(.coupon-consent) span { position: static; width: auto; height: auto; overflow: visible; clip: auto; display: block; margin: 0 0 4px 2px; color: var(--ink); font-size: .78rem; font-weight: 750; }

/* Content should never disappear while waiting for a scroll animation. */
.rv { opacity: 1 !important; transform: none !important; }
.coupon-form .btn { width: 100%; margin-top: 2px; }
.coupon-ok { margin: 4px 0 0; padding: 14px; border-radius: 10px; background: #ecfdf5; color: #065f46; text-align: center; font-weight: 700; }
.coupon-err { margin: 4px 0 0; color: #b91c1c; text-align: center; font-weight: 700; }

/* ---------- Breadcrumbs ---------- */
.crumbs { font-size: .84rem; color: var(--mute); padding: 18px 0 0; }
.crumbs a { color: var(--mute); }
.crumbs a:hover { color: var(--orange-d); }
.crumbs span[aria-current] { color: var(--ink); font-weight: 600; }

/* ---------- Reveal on scroll ---------- */
html:not(.js) .rv { opacity: 1; transform: none; }
html.rv-all .rv { opacity: 1; transform: none; }
.rv { opacity: 0; transform: translateY(16px); transition: opacity 400ms var(--ease-enter), transform 400ms var(--ease-enter); transition-delay: var(--rv-d, 0ms); will-change: opacity, transform; }
.rv.in { opacity: 1; transform: none; }

/* ---------- Utility ---------- */
.center { text-align: center; }
.center > p,
.center > .lead { max-width: 68ch; margin-inline: auto; }

/* Editorial typography: book-like rhythm belongs in long-form reading,
   not in cards, forms, navigation, or narrow phone columns. */
.wrap-n > article { max-width: 72ch; margin-inline: auto; }
.wrap-n > article > p { line-height: 1.78; }
@media (min-width: 900px) {
  .wrap-n > article > p:not(.lead) {
    text-align: justify;
    text-justify: inter-word;
    hyphens: auto;
  }
}
.mt-0{margin-top:0}.mt-2{margin-top:16px}.mt-3{margin-top:28px}.mt-4{margin-top:44px}.mt-5{margin-top:60px}.mb-3{margin-bottom:28px}
.h2-sub { font-family: var(--f-display); font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 800; letter-spacing: -0.02em; margin: 6px 0 0; }
.card .price-from.txt { font-size: 1.5rem; letter-spacing: -0.01em; }
.pill { display: inline-flex; align-items: center; gap: 8px; background: rgba(0,196,204,.08); color: var(--teal-ink); border: 1px solid rgba(0,196,204,.35); font-size: .84rem; font-weight: 650; border-radius: var(--r-pill); padding: 7px 16px; }
.on-dark .pill { background: rgba(0,196,204,.12); color: var(--teal); border-color: rgba(0,196,204,.35); }
.note { font-size: .87rem; color: var(--mute); }
.note[style*="#8593AB"] { color: #52627A !important; }
.spark { display: none; }

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

/* ---------- Google review banner — signature bottom band ---------- */
.gband { background: radial-gradient(1100px 420px at 50% -60%, rgba(0,196,204,.16), transparent 60%), radial-gradient(900px 380px at 85% 130%, rgba(255,106,0,.14), transparent 55%), linear-gradient(180deg, #0A1020, var(--ink)); padding: 58px 0 62px; text-align: center; position: relative; overflow: hidden; }
.gband::before { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 42%, rgba(255,255,255,.045) 50%, transparent 58%); transform: translateX(-160%); pointer-events: none; }
body.anim .gband::before { animation: gband-sheen 7s ease-in-out infinite; }
@keyframes gband-sheen { 0%, 55% { transform: translateX(-160%); } 75%, 100% { transform: translateX(160%); } }
.gband .glogo { display: inline-flex; align-items: center; gap: 10px; font-family: var(--f-display); font-weight: 700; font-size: 1.5rem; color: #fff; }
.gband .glogo svg { width: 44px; height: 44px; filter: drop-shadow(0 3px 10px rgba(66,133,244,.35)); }
.gband .gscore { font-family: var(--f-display); font-weight: 800; font-size: clamp(3.2rem, 7vw, 4.6rem); letter-spacing: -0.03em; color: #fff; line-height: 1; margin: 10px 0 4px; }
.gband .gstars { display: inline-flex; gap: 6px; margin: 6px 0 12px; }
.gband .gstars svg { width: 34px; height: 34px; fill: #FBBC05; filter: drop-shadow(0 2px 8px rgba(251,188,5,.45)); transform: scale(0); animation: star-pop 480ms cubic-bezier(.34,1.56,.64,1) forwards; }
.gband .gstars svg:nth-child(1){animation-delay:.05s}.gband .gstars svg:nth-child(2){animation-delay:.15s}.gband .gstars svg:nth-child(3){animation-delay:.25s}.gband .gstars svg:nth-child(4){animation-delay:.35s}.gband .gstars svg:nth-child(5){animation-delay:.45s}
@keyframes star-pop { to { transform: scale(1); } }
.gband p { color: #AAB6CB; max-width: 520px; margin: 0 auto 22px; }
.gband .btn-ghost { border-color: rgba(255,255,255,.85); }
.gband a.btn-ghost, .gband a.btn-ghost:visited { color: #fff; }
.gband a.btn-ghost:hover { color: var(--ink); border-color: #fff; }
@media (prefers-reduced-motion: reduce) { .gband::before { animation: none; } .gband .gstars svg { animation: none; transform: scale(1); } }

/* compact Google badge (hero) — logo + stars, no counts */
.gbadge { display: inline-flex; align-items: center; gap: 9px; background: #fff; border: 1.5px solid rgba(2,8,23,.12); border-radius: var(--r-pill); padding: 8px 18px 8px 12px; box-shadow: 0 2px 6px rgba(2,8,23,.08), 0 10px 26px rgba(2,8,23,.12); font-weight: 700; color: var(--ink); transition: transform 200ms cubic-bezier(.34,1.56,.64,1), box-shadow var(--t-hover) ease-out; }
a.gbadge, a.gbadge:hover { color: var(--ink); }
.gbadge:hover { transform: translateY(-2px) scale(1.02); box-shadow: var(--sh-2); }
.gbadge svg.g { width: 22px; height: 22px; }
.gbadge .bstars { color: transparent; letter-spacing: 2px; font-size: 1.02rem; background: linear-gradient(90deg,#FBBC05 0 98%,#465267 98% 100%); background-clip: text; -webkit-background-clip: text; filter: drop-shadow(0 1px 4px rgba(251,188,5,.35)); }
.hero-rating{display:flex;justify-content:center;align-items:center;margin-top:20px;width:100%}
.hero-rating .gbadge{margin:0;justify-content:center;width:max-content;max-width:100%}
.gband .gstars svg:nth-child(5) { clip-path: inset(0 10% 0 0); }

/* ---------- Cards: equal-height + CTA baseline ---------- */
a.card { display: flex; flex-direction: column; }
.card-cta { margin-top: auto; padding-top: 14px; color: var(--orange-d); font-weight: 700; display: inline-flex; align-items: center; gap: 6px; }
.card-cta::after { content: "→"; transition: transform 200ms cubic-bezier(.34,1.56,.64,1); }
.card.hov:hover .card-cta::after { transform: translateX(5px); }

/* ---------- Real photos ---------- */
.photo { border-radius: var(--r-l); overflow: hidden; box-shadow: var(--sh-2); position: relative; }
.photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.photo:has(> img[src*="/real-"]) { align-self:start; aspect-ratio:auto; background:#f4f7f7; }
.photo > img[src*="/real-"] { height:auto; object-fit:contain; object-position:center; }
.photo.tall { aspect-ratio: 4 / 4.6; }
.photo.wide { aspect-ratio: 16 / 10; }
.photo.hov { transition: transform 260ms cubic-bezier(.34,1.56,.64,1), box-shadow var(--t-hover) ease-out; }
.photo.hov:hover { transform: translateY(-4px) scale(1.008); box-shadow: var(--sh-3); }
.photo .badge { position: absolute; left: 16px; bottom: 16px; background: rgba(2,8,23,.78); backdrop-filter: blur(6px); color: #fff; font-size: .8rem; font-weight: 650; padding: 8px 14px; border-radius: var(--r-pill); }
.pricing-intro{padding:clamp(34px,5vw,64px) 0}.pricing-intro-grid{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:clamp(28px,5vw,62px);align-items:center}.pricing-showcase-photo{width:100%;max-width:560px;margin:0;aspect-ratio:4 / 3!important}.pricing-showcase-photo>img{width:100%;height:100%!important;object-fit:cover!important;object-position:center 48%}.pricing-intro-copy h2{max-width:13ch;margin:.2em 0;font-size:clamp(2rem,3.7vw,3.7rem);line-height:1.02;letter-spacing:-.04em}.pricing-intro-copy>p{max-width:560px;color:#536176;font-size:1.04rem;line-height:1.6}.pricing-jump-nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.pricing-jump-nav a{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:12px 15px;border:1px solid #d4e2e4;border-radius:13px;background:#fff;color:var(--ink);font-weight:820;text-decoration:none;transition:transform 180ms var(--ease-enter),border-color 180ms ease,background 180ms ease,box-shadow 180ms ease}.pricing-jump-nav a span{color:var(--teal-d);font-size:1.15rem}.pricing-jump-nav a:hover,.pricing-jump-nav a:focus-visible{transform:translateY(-2px);border-color:var(--teal);background:#f5fffe;box-shadow:0 9px 22px rgba(2,8,23,.08)}.sqft-range{white-space:nowrap}.anchor-target{scroll-margin-top:92px}
@media(max-width:760px){.pricing-intro-grid{grid-template-columns:1fr}.pricing-showcase-photo{max-width:none;aspect-ratio:16 / 10!important}.pricing-intro-copy h2{max-width:none}.pricing-jump-nav{grid-template-columns:1fr}.pricing-jump-nav a{min-height:52px}}
.pricing-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #d9e1e7;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 12px 34px rgba(7,16,31,.07)}.pricing-plan{position:relative;display:flex;flex-direction:column;min-height:390px;padding:32px;background:#fff;color:var(--ink);text-decoration:none;border-right:1px solid #d9e1e7;transition:background-color 180ms ease,box-shadow 180ms ease}.pricing-plan:last-child{border-right:0}.pricing-plan-label{display:block;color:#087b83;font-size:.75rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.pricing-plan-label::before{content:"";display:inline-block;width:22px;height:2px;margin:0 9px 3px 0;background:var(--teal)}.pricing-plan h3{margin:18px 0 10px;font-size:clamp(1.4rem,2vw,1.8rem);line-height:1.12}.pricing-plan p{margin:0;color:#4f5d70;line-height:1.58}.pricing-plan-price{margin-top:auto;padding-top:26px;border-top:1px solid #e6ebef}.pricing-plan-price small,.pricing-plan-price strong{display:block}.pricing-plan-price small{color:#607087;font-size:.75rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.pricing-plan-price strong{margin-top:6px;font-size:2.45rem;line-height:1}.pricing-plan-action{display:inline-flex;align-items:center;min-height:44px;margin-top:16px;color:#a84000;font-weight:800}.pricing-plan:hover{background:#fbfcfc;box-shadow:inset 0 4px 0 var(--teal)}.pricing-plan:focus-visible{z-index:1;outline:3px solid rgba(0,184,196,.28);outline-offset:-3px}.pricing-plan:active{background:#f7fafb}
.pricing-table-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.pricing-table-card{padding:25px;border:1px solid #d9e3e6;border-radius:22px;background:#fff;box-shadow:0 9px 26px rgba(2,8,23,.07)}.pricing-table-card h3{margin:6px 0 18px;font-size:clamp(1.35rem,2vw,1.8rem)}.pricing-table-card .tbl-wrap{box-shadow:none}.pricing-table-card table.gpc{font-size:.92rem}.pricing-table-card table.gpc th,.pricing-table-card table.gpc td{padding:14px 16px}
.addon-included-note{margin:16px 0 0;padding:14px 16px;border:1px solid #b9e4e2;border-radius:14px;background:#edfafa;color:#24405b;font-weight:700;line-height:1.55}
@media(max-width:900px){.pricing-plans{grid-template-columns:1fr}.pricing-plan,.pricing-plan:last-child{grid-column:auto;min-height:0;max-width:none;width:100%;border-right:0;border-bottom:1px solid #d9e1e7}.pricing-plan:last-child{border-bottom:0}.pricing-table-grid{grid-template-columns:1fr}}
@media(max-width:600px){.pricing-plans{border-radius:12px}.pricing-plan,.pricing-plan:last-child{padding:24px 20px}.pricing-plan h3{margin-top:12px}.pricing-plan p{font-size:1rem}.pricing-plan-price{margin-top:20px;padding-top:18px}.pricing-plan-price strong{font-size:2.15rem}.pricing-plan-action{margin-top:10px}.pricing-table-card{padding:16px}.pricing-table-card table.gpc{table-layout:fixed}.pricing-table-card table.gpc th,.pricing-table-card table.gpc td{padding:13px 8px;font-size:.84rem}.pricing-table-card table.gpc th:first-child,.pricing-table-card table.gpc td:first-child{width:68%;text-align:left}.pricing-table-card table.gpc th:last-child,.pricing-table-card table.gpc td:last-child{width:32%;white-space:nowrap}.sqft-range{font-size:.82rem;letter-spacing:-.015em}}
@media(max-width:600px){#add-ons .tbl-wrap{overflow-x:hidden}#add-ons table.gpc.fit{width:100%;min-width:100%;max-width:100%;table-layout:fixed;font-size:.83rem}#add-ons table.gpc.fit th,#add-ons table.gpc.fit td{box-sizing:border-box;padding:12px 9px}#add-ons table.gpc.fit th:first-child,#add-ons table.gpc.fit td:first-child{width:62%;white-space:normal}#add-ons table.gpc.fit th:last-child,#add-ons table.gpc.fit td:last-child{width:38%;white-space:nowrap;font-size:.79rem}.addon-included-note{font-size:.88rem}}
@media(max-width:600px){.tbl-wrap table.gpc.fit{width:100%;min-width:100%;max-width:100%;table-layout:fixed}.tbl-wrap table.gpc.fit th,.tbl-wrap table.gpc.fit td{box-sizing:border-box;white-space:normal}.tbl-wrap table.gpc.fit th:first-child,.tbl-wrap table.gpc.fit td:first-child{width:62%;white-space:normal}.tbl-wrap table.gpc.fit th:last-child,.tbl-wrap table.gpc.fit td:last-child{width:38%;white-space:normal}}
.card .card-photo { margin: -28px -28px 18px; border-radius: var(--r-m) var(--r-m) 0 0; overflow: hidden; aspect-ratio: 16/9; }
.card .card-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 400ms var(--ease-enter); }
.card .card-photo img[src*="/real-"] { object-fit: contain; object-position: center; background: linear-gradient(145deg,#f7fafb,#e7eff0); }
.card.hov:hover .card-photo img { transform: scale(1.05); }

/* narrow screens: buttons may wrap + hero CTAs go full-width */
@media (max-width: 500px) {
  .btn { white-space: normal; }
  .hero-ctas .btn, .btn-lg { width: 100%; }
  .hero-ctas + .mt-3 { display: flex; justify-content: center; width: 100%; }
  .hero-ctas + .mt-3 .gbadge { margin-inline: auto; justify-content: center; }
}

/* ---------- Social icons — Instagram / TikTok / Facebook ---------- */
.socials { display: flex; gap: 12px; margin-top: 18px; }
.social { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; border: 1px solid var(--line); background: #fff; color: var(--ink-2) !important; box-shadow: var(--sh-1); transition: transform 220ms cubic-bezier(.34,1.56,.64,1), box-shadow var(--t-hover) ease-out, color var(--t-hover) ease-out, background var(--t-hover) ease-out, border-color var(--t-hover) ease-out; }
.social svg { width: 22px; height: 22px; }
.social:hover { transform: translateY(-3px) scale(1.08); box-shadow: var(--sh-2); color: #fff !important; }
.social.ig:hover { background: radial-gradient(circle at 30% 110%, #FEDA75 0%, #FA7E1E 30%, #D62976 55%, #962FBF 80%, #4F5BD5 100%); border-color: transparent; }
.social.tt:hover { background: #010101; border-color: transparent; box-shadow: -2px 0 0 1px #25F4EE, 2px 2px 0 1px #FE2C55, var(--sh-2); }
.social.fb:hover { background: #1877F2; border-color: transparent; }

/* ---------- GLOW LAYER — every interactive icon lights up ---------- */
.social { position: relative; }
.social:hover { transform: translateY(-4px) scale(1.12); }
.social.ig:hover { box-shadow: 0 0 0 3px rgba(214,41,118,.25), 0 6px 22px rgba(214,41,118,.55), 0 2px 40px rgba(250,126,30,.45); }
.social.tt:hover { box-shadow: -3px 0 12px rgba(37,244,238,.65), 3px 3px 12px rgba(254,44,85,.6), 0 8px 28px rgba(0,0,0,.35); }
.social.fb:hover { box-shadow: 0 0 0 3px rgba(24,119,242,.25), 0 6px 24px rgba(24,119,242,.6); }
.gbadge:hover { box-shadow: 0 0 0 3px rgba(251,188,5,.28), 0 8px 26px rgba(251,188,5,.4), var(--sh-2); }
.gseal { transition: transform 240ms cubic-bezier(.34,1.56,.64,1), box-shadow var(--t-hover) ease-out; }
.gbar:hover .gseal { transform: scale(1.06); box-shadow: 0 0 0 4px rgba(13,191,194,.18), 0 10px 28px rgba(6,122,128,.30); }
.tab { transition: box-shadow var(--t-hover) ease-out, background var(--t-hover) ease-out, color var(--t-hover) ease-out, transform 200ms cubic-bezier(.34,1.56,.64,1); }
.tab:hover { transform: translateY(-2px); box-shadow: 0 0 0 2px rgba(255,106,0,.25), 0 6px 18px rgba(255,106,0,.28); }
.rail-btn:hover { box-shadow: 0 0 0 3px rgba(0,196,204,.25), 0 6px 20px rgba(0,196,204,.4); transform: scale(1.1); }
.nav-phone:hover { box-shadow: 0 0 0 3px rgba(255,106,0,.15), 0 6px 18px rgba(255,106,0,.25); }
.brand:hover { box-shadow: 0 0 0 3px rgba(0,196,204,.2), 0 8px 26px rgba(2,8,23,.3); }
.m-nav a:hover { background: rgba(255,106,0,.06); color: var(--orange-d); }
/* Footer social rail — recognizable brand color before interaction, premium lift after it. */
footer.site .socials { gap: 10px; margin-top: 22px; }
footer.site .socials .social { width: 48px; height: 48px; border: 0; border-radius: 14px; color: #fff !important; box-shadow: 0 6px 16px rgba(2,8,23,.16); }
footer.site .socials .social svg { width: 23px; height: 23px; }
footer.site .socials .social.ig { background: radial-gradient(circle at 24% 115%,#FEDA75 0%,#FA7E1E 28%,#D62976 53%,#962FBF 78%,#4F5BD5 100%); }
footer.site .socials .social.tt { background: #050505; box-shadow: -2px 0 0 1px rgba(37,244,238,.7),2px 2px 0 1px rgba(254,44,85,.7),0 6px 16px rgba(2,8,23,.2); }
footer.site .socials .social.li { background: #0A66C2; }
footer.site .socials .social.fb { background: #1877F2; }
footer.site .socials .social:hover { transform: translateY(-5px) scale(1.1); }
footer.site .socials .social.li:hover { box-shadow: 0 0 0 3px rgba(10,102,194,.22),0 8px 26px rgba(10,102,194,.55); }
footer.site .socials .social:active { transform: translateY(-1px) scale(.96); }

/* ---------- "The Difference" comparison ---------- */
.vs-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 26px; align-items: stretch; }
@media (max-width: 860px) { .vs-grid { grid-template-columns: 1fr; } }
.vs-col { border-radius: var(--r-l); padding: 34px 32px; }
.vs-us { background: linear-gradient(180deg, #FFF7F0, #fff); border: 2px solid var(--orange); box-shadow: 0 0 0 4px rgba(255,106,0,.08), var(--sh-2); position: relative; }
.vs-us::before { content: "Greater Phoenix Cleaning"; position: absolute; top: -16px; left: 26px; background: linear-gradient(135deg, #FF7A18, var(--orange) 60%, #F05A00); color: #fff; font-family: var(--f-display); font-weight: 700; font-size: .85rem; letter-spacing: .06em; padding: 7px 18px; border-radius: var(--r-pill); box-shadow: var(--sh-cta); }
.vs-them { background: var(--gray); border: 1px solid var(--line); position: relative; }
.vs-them::before { content: "The Typical Cleaning Company"; position: absolute; top: -16px; left: 26px; background: var(--mute); color: #fff; font-family: var(--f-display); font-weight: 700; font-size: .85rem; letter-spacing: .06em; padding: 7px 18px; border-radius: var(--r-pill); }
.vs-col ul { list-style: none; margin: 14px 0 0; padding: 0; }
.vs-col li { padding: 13px 0 13px 40px; position: relative; border-bottom: 1px solid rgba(2,8,23,.06); line-height: 1.5; }
.vs-col li:last-child { border-bottom: 0; }
.vs-us li::before { content: "✓"; position: absolute; left: 0; top: 11px; width: 26px; height: 26px; border-radius: 50%; background: rgba(30,158,82,.12); color: var(--cactus); font-weight: 800; display: flex; align-items: center; justify-content: center; font-size: .95rem; transition: transform 200ms cubic-bezier(.34,1.56,.64,1), box-shadow var(--t-hover) ease-out; }
.vs-us li:hover::before { transform: scale(1.25); box-shadow: 0 0 0 4px rgba(30,158,82,.15), 0 4px 14px rgba(30,158,82,.35); }
.vs-them li::before { content: "✕"; position: absolute; left: 0; top: 11px; width: 26px; height: 26px; border-radius: 50%; background: rgba(2,8,23,.07); color: var(--mute); font-weight: 700; display: flex; align-items: center; justify-content: center; font-size: .85rem; }
.vs-them li { color: var(--mute); }
.vs-us li strong { color: var(--ink); }

/* ---------- MOBILE-FIRST POLISH — thumb-first, touch light-up ---------- */
/* always-visible call button in mobile header */
.m-call { display: none; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: linear-gradient(135deg, #FF7A18, var(--orange) 55%, #F05A00); color: #fff !important; box-shadow: var(--sh-cta); }
body.anim .m-call[href^="tel:"] { animation: call-breathe 3.2s ease-in-out 2; }
.m-call svg { width: 22px; height: 22px; flex: 0 0 auto; }
.m-call:active { transform: scale(.94) translateY(1px); }
@keyframes call-breathe { 0%,100% { box-shadow: 0 2px 6px var(--orange-glow), 0 6px 18px rgba(255,106,0,.25); } 50% { box-shadow: 0 2px 6px var(--orange-glow), 0 6px 26px rgba(255,106,0,.55), 0 0 0 6px rgba(255,106,0,.12); } }
@media (max-width: 1260px) { .m-call { display: inline-flex; margin-left: auto; } .menu-btn { margin-left: 8px; } }
@media (max-width: 520px) {
  .nav { gap: 7px; padding: 8px 12px; }
  .brand { padding: 4px 8px; border-radius: 12px; }
  .brand img { height: 46px; }
  .m-call[href^="tel:"] { position:relative; width:auto; min-width:116px; height:46px; gap:7px; padding:0 14px; border-radius:999px; border:1px solid #f15a00; background:linear-gradient(135deg,#ff7a18,#ff6200); box-shadow:0 6px 16px rgba(255,98,0,.28); font-size:15px; font-weight:900; letter-spacing:.01em; line-height:1; text-shadow:none; transition:transform 140ms ease,filter 140ms ease,box-shadow 140ms ease; }
  .m-call[href^="tel:"] svg { width:18px; height:18px; padding:0; border:0; border-radius:0; background:none; filter:none; transition:transform 140ms ease; }
  .m-call[href^="tel:"]::after { content:"Call Now"; white-space:nowrap; text-transform:none; }
  .m-call[href^="tel:"]:focus-visible { outline:3px solid rgba(0,196,204,.38); outline-offset:3px; }
  .m-call[href^="tel:"]:hover,.m-call[href^="tel:"].touch-hover { color:#fff!important; background:linear-gradient(135deg,#ff8428,#ff6908); filter:brightness(1.02); transform:translateY(-1px); box-shadow:0 0 0 4px rgba(255,106,0,.12),0 9px 20px rgba(255,98,0,.34); }
  .m-call[href^="tel:"]:hover svg,.m-call[href^="tel:"].touch-hover svg { transform:rotate(-5deg); }
  .m-call[href^="tel:"]:active { transform:translateY(1px) scale(.97); filter:brightness(.96); box-shadow:0 3px 9px rgba(255,98,0,.25); }
  .menu-btn { margin-left: 0; }
}
@media (max-width: 345px) { .m-call[href^="tel:"] { min-width: 108px; padding-inline: 10px; font-size: 15px; }.brand img { height: 42px; } }
@media (prefers-reduced-motion: reduce) { .m-call { animation: none; } }

/* mobile hero: message + CTA before the photo */
@media (max-width: 820px) {
  .hero-grid { display: flex; flex-direction: column; }
  .hero-grid > .photo { order: 2; margin-top: 26px; }
  .page-head .hero-ctas .text-link { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; padding: 10px 14px; border: 1px solid #bed0d3; border-radius: 12px; background: #fff; color: var(--teal-d); font-weight: 850; text-align: center; text-decoration: none; }
  .page-head .hero-ctas .text-link:active { background: #edf8f7; transform: scale(.985); }
  footer.site.footer-accordion-ready { padding-top: 36px; }
  footer.site.footer-accordion-ready .foot-grid { display: block; }
  footer.site.footer-accordion-ready .foot-grid > div:first-child { margin-bottom: 24px; }
  footer.site.footer-accordion-ready .footer-collapsible { border-top: 1px solid var(--line); }
  footer.site.footer-accordion-ready .footer-collapsible:last-child { border-bottom: 1px solid var(--line); }
  footer.site.footer-accordion-ready .footer-collapsible > ul,
  footer.site.footer-accordion-ready .footer-collapsible > .footer-all-areas { display: none; }
  footer.site.footer-accordion-ready .footer-collapsible.open > ul { display: block; padding: 2px 12px 12px; }
  footer.site.footer-accordion-ready .footer-collapsible.open > .footer-all-areas { display: inline-flex; margin: 0 12px 14px; }
  .footer-group-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 54px; padding: 10px 8px; border: 0; background: transparent; color: var(--ink); font: 800 .92rem/1.2 var(--f-body); text-align: left; cursor: pointer; }
  .footer-group-toggle b { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #edf7f6; color: var(--teal-d); font-size: 1.25rem; }
  .footer-group-toggle:focus-visible { outline: 3px solid rgba(0,196,204,.5); outline-offset: 2px; }
}

body.has-review-rail .gband { display: none; }
.reviews-google-link { margin: 18px 0 0; }

@media (min-width: 921px) {
  body:has(.service-launch) .page-head .wrap { max-width: 940px; text-align: center; }
  body:has(.service-launch) .page-head .lead { margin-inline: auto; }
  body:has(.service-launch) .page-head .hero-ctas { justify-content: center; }
}

/* upgraded mobile menu */
.m-nav { box-shadow: 0 18px 30px rgba(2,8,23,.12); }
.m-nav.open { animation: menu-drop 260ms var(--ease-enter); }
@keyframes menu-drop { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.m-nav-call { display: block; padding: 18px 24px; background: linear-gradient(135deg, #FF7A18, var(--orange) 55%, #F05A00); color: #fff !important; }
.m-nav-call strong { display: block; font-family: var(--f-display); font-size: 1.15rem; letter-spacing: -0.01em; }
.m-nav-call span { font-size: .82rem; opacity: .92; }
.m-nav-call:active { filter: brightness(1.08); }
.m-nav-socials { display: flex; gap: 12px; padding: 16px 24px 20px; }

@media (max-width: 1260px) {
  .top-strip { padding: 2px 12px; min-height: 44px; line-height: 1.2; }
  .top-strip .strip-msg, .top-strip .strip-msg a { font-size: .78rem; white-space: nowrap; }
  .top-strip .strip-msg a { display: inline-flex; align-items: center; min-height: 44px; padding-inline: 4px; }
  /* Treat the destination list as a real touch menu instead of a paragraph of
     links. Call, text and the branded social block keep their existing visual
     treatments and span the full drawer width. */
  .m-nav.open { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 0 16px 18px; }
  .m-nav .m-nav-call { display: grid; grid-template-columns:46px 1fr; align-items:center; gap:0 13px; width:100%; min-height:76px; margin:12px 0 0; padding:12px 16px; border:1px solid rgba(255,255,255,.52); border-radius:18px; background:linear-gradient(145deg,#ff8730 0%,#ff6900 52%,#d94a00 100%); color:#fff!important; box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 -3px 8px rgba(116,31,0,.18) inset,0 9px 24px rgba(255,106,0,.28); transition:transform 150ms ease,box-shadow 180ms ease,filter 180ms ease; }
  .m-nav .m-nav-call, .m-nav .m-nav-text, .m-nav .m-nav-socials { grid-column: 1 / -1; }
  .m-nav .m-nav-call::before{content:"";grid-row:1/3;display:block;width:46px;height:46px;border-radius:15px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.69 2.8a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.91.33 1.85.56 2.81.69A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center/22px no-repeat,linear-gradient(145deg,rgba(111,29,0,.28),rgba(255,255,255,.13));border:1px solid rgba(255,255,255,.38);box-shadow:0 4px 12px rgba(92,24,0,.2),0 1px 0 rgba(255,255,255,.24) inset}
  .m-nav > a:not(.m-nav-call):not(.m-nav-text) {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 0; min-height: 50px; padding: 11px 10px;
    text-align: center; line-height: 1.2; border: 1px solid rgba(15,23,42,.14);
    border-radius: 12px; background: #fff; box-shadow: 0 2px 7px rgba(2,8,23,.06);
    transition: color 180ms ease-out, border-color 180ms ease-out,
                background-color 180ms ease-out, box-shadow 180ms ease-out,
                transform 100ms ease-out;
  }
  .m-nav > .m-nav-text + a { margin-top: 4px; }
  .m-nav > a:not(.m-nav-call):not(.m-nav-text):hover,
  .m-nav > a:not(.m-nav-call):not(.m-nav-text):focus-visible {
    color: var(--orange-d); background: rgba(255,106,0,.055);
    border-color: rgba(255,106,0,.52); box-shadow: 0 4px 12px rgba(255,106,0,.12);
  }
  .m-nav > a:not(.m-nav-call):not(.m-nav-text):active {
    transform: scale(.975); background: rgba(255,106,0,.11);
    border-color: var(--orange);
  }
  .m-nav > a:not(.m-nav-call):not(.m-nav-text)[aria-current="page"] {
    color: var(--orange-d); border-color: rgba(255,106,0,.62);
    background: rgba(255,106,0,.08); box-shadow: inset 3px 0 0 var(--orange), 0 3px 10px rgba(255,106,0,.1);
  }
  .m-nav .m-nav-text { display:grid;grid-template-columns:46px 1fr;align-items:center;gap:13px;width:100%;min-height:72px;margin:0 0 2px;padding:11px 16px;border:1px solid rgba(255,255,255,.68);border-radius:18px;background:linear-gradient(145deg,#21d9df 0%,var(--teal) 52%,#08aeb6 100%);color:#052a2c!important;box-shadow:0 1px 0 rgba(255,255,255,.68) inset,0 -3px 8px rgba(0,89,94,.15) inset,0 9px 24px rgba(0,196,204,.25);font-weight:800;line-height:1.3;transition:transform 150ms ease,box-shadow 180ms ease,filter 180ms ease }
  .m-nav .m-nav-text>span { display:block;min-width:0;text-align:left }
  .m-nav .m-nav-text strong,.m-nav .m-nav-text small { display:block }
  .m-nav .m-nav-text strong { font-family:var(--f-display);font-size:1.02rem;letter-spacing:-.01em }
  .m-nav .m-nav-text small { margin-top:2px;font-size:.76rem;font-weight:650;opacity:.91 }
  .m-nav .m-nav-text::before{content:"";display:block;width:46px;height:46px;border-radius:15px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23052A2C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a4 4 0 0 1-4 4H8l-5 3V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z'/%3E%3Cpath d='M8 9h8M8 13h5'/%3E%3C/svg%3E") center/23px no-repeat,linear-gradient(145deg,rgba(255,255,255,.48),rgba(255,255,255,.2));border:1px solid rgba(5,42,44,.18);box-shadow:0 4px 12px rgba(0,95,100,.2),0 1px 0 rgba(255,255,255,.5) inset}
  .m-nav .m-nav-call:focus-visible{outline:3px solid rgba(255,151,78,.72);outline-offset:3px}
  .m-nav .m-nav-text:focus-visible{outline:3px solid rgba(0,196,204,.48);outline-offset:3px}
  .m-nav .m-nav-call:hover,.m-nav .m-nav-call.touch-hover{color:#fff!important;background:linear-gradient(145deg,#ff9a4c 0%,#ff730f 50%,#e65200 100%);filter:saturate(1.08);transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.58) inset,0 -3px 8px rgba(116,31,0,.16) inset,0 0 0 4px rgba(255,106,0,.13),0 12px 30px rgba(255,106,0,.42)}
  .m-nav .m-nav-text:hover,.m-nav .m-nav-text.touch-hover{color:#052a2c!important;background:linear-gradient(145deg,#43e5e9 0%,#12cdd4 52%,#00b5bd 100%);filter:saturate(1.08);transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.72) inset,0 -3px 8px rgba(0,89,94,.12) inset,0 0 0 4px rgba(0,196,204,.14),0 12px 30px rgba(0,155,162,.36)}
  .m-nav .m-nav-call:active{color:#fff!important;transform:translateY(1px) scale(.985);filter:brightness(.98)}
  .m-nav .m-nav-text:active{color:#052a2c!important;transform:translateY(1px) scale(.985);filter:brightness(.98)}
  .m-nav > a:not(.m-nav-call):not(.m-nav-text).touch-hover{color:var(--orange-d);background:linear-gradient(145deg,#fff7f0,#fff);border-color:var(--orange);transform:translateY(-2px) scale(1.015);box-shadow:0 0 0 4px rgba(255,106,0,.12),0 12px 25px rgba(255,106,0,.24),inset 0 1px 0 #fff}
  .m-nav .m-nav-call strong { white-space: nowrap; font-size: 1.05rem; }
  .m-nav .m-nav-call span { display: block; line-height: 1.35; }
  .m-nav-socials { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .m-nav .m-nav-socials .social { width: 100%; height: 48px; padding: 0 12px; gap: 8px; border-bottom: 1px solid var(--line); color: var(--ink) !important; }
  .m-nav .m-nav-socials .social svg { display: block; flex: 0 0 20px; width: 20px; height: 20px; }
  .m-nav .m-nav-socials .social::after { font-size: .78rem; font-weight: 750; }
  .m-nav .m-nav-socials .social.ig::after { content: "Instagram"; }
  .m-nav .m-nav-socials .social.tt::after { content: "TikTok"; }
  .m-nav .m-nav-socials .social.li::after { content: "LinkedIn"; }
  .m-nav .m-nav-socials .social.fb::after { content: "Facebook"; }
  /* Phones do not have a dependable hover state: make every network recognizable
     before the tap, and keep the label high-contrast throughout the interaction. */
  .m-nav .m-nav-socials .social { color: #fff !important; border: 0; box-shadow: 0 5px 14px rgba(2,8,23,.16); }
  .m-nav .m-nav-socials .social.ig { background: radial-gradient(circle at 24% 115%, #FEDA75 0%, #FA7E1E 28%, #D62976 53%, #962FBF 78%, #4F5BD5 100%); }
  .m-nav .m-nav-socials .social.tt { background: linear-gradient(135deg, #25F4EE 0 8%, #111 8% 88%, #FE2C55 88% 100%); }
  .m-nav .m-nav-socials .social.li { background: #0A66C2; }
  .m-nav .m-nav-socials .social.fb { background: #1877F2; }
}
@media (min-width: 761px) and (max-width: 1260px) and (orientation: landscape) {
  .m-nav.open { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .m-nav.open { max-height: calc(100dvh - 129px); }
}

/* touch light-up: every tappable element flashes on press */
@media (hover: none) {
  .btn:active { transform: scale(.96); box-shadow: 0 0 0 4px rgba(255,106,0,.18), 0 4px 16px rgba(255,106,0,.35); }
  .card.hov:active { transform: scale(.985); box-shadow: 0 0 0 2px rgba(255,106,0,.35), var(--sh-2); border-color: var(--orange); }
  /* A tap should feel like a physical press. Scaling up made touch-hover stick
     and left buttons visually raised after navigation was cancelled. */
  .social:hover { transform: none; }
  .social:active { transform: scale(.96); transition-duration: 90ms; }
  .m-nav .m-nav-socials .social:hover { color: #fff !important; }
  .m-nav .m-nav-socials .social.ig:hover { background: radial-gradient(circle at 24% 115%, #FEDA75 0%, #FA7E1E 28%, #D62976 53%, #962FBF 78%, #4F5BD5 100%); }
  .m-nav .m-nav-socials .social.tt:hover { background: linear-gradient(135deg, #25F4EE 0 8%, #111 8% 88%, #FE2C55 88% 100%); }
  .m-nav .m-nav-socials .social.li:hover { background: #0A66C2; }
  .m-nav .m-nav-socials .social.fb:hover { background: #1877F2; }
  .social.ig:active { box-shadow: 0 0 18px rgba(214,41,118,.55); }
  .social.tt:active { box-shadow: -3px 0 10px rgba(37,244,238,.6), 3px 3px 10px rgba(254,44,85,.55); }
  .social.fb:active { box-shadow: 0 0 18px rgba(24,119,242,.55); }
  .tab:active { transform: scale(.96); box-shadow: 0 0 0 3px rgba(255,106,0,.3); }
  details.faq summary:active { background: rgba(255,106,0,.07); }
  body.anim body.anim .m-cta .call { animation: call-breathe 2.6s ease-in-out infinite; }
  .m-cta a:active { filter: brightness(1.1); }
}

/* bigger touch targets on mobile for estimator + rail arrows */
@media (max-width: 760px) {
  .estimator input[type=range] { height: 30px; }
  .rail-btn { width: 48px; height: 48px; }
  .foot-cta { text-align: center; justify-content: center; }
  .foot-cta > span { justify-content: center; width: 100%; }
  .foot-cta .btn { width: 100%; }
  /* Keep long legal/contact addresses inside narrow cards. */
  .sec-sand .card a[href^="mailto:"] { overflow-wrap: anywhere; word-break: break-word; }
  /* The entire communication card is the action target, not only its text. */
  body:has(.page-head .eyebrow:first-child) .grid.g3 .card h3 a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 7px 4px; }
  /* Recruiting stays visible without making the strip visually heavy; the
     Apply link's invisible hit area spans the compact strip on touchscreens. */
  .top-strip { position: relative; }
  .top-strip .strip-msg a::before { content: ""; position: absolute; inset: 0; }
}

/* ---------- Top-strip social icons (Elite-counter: theirs are gray + dead, ours glow) ---------- */
.strip-inner { display: flex; align-items: center; justify-content: center; gap: 18px; max-width: 1280px; margin: 0 auto; }
.strip-socials { display: inline-flex; gap: 8px; align-items: center; }
.ssoc { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(255,255,255,.85); color: #052A2C !important; transition: transform 200ms cubic-bezier(.34,1.56,.64,1), box-shadow var(--t-hover) ease-out, background var(--t-hover) ease-out, color var(--t-hover) ease-out; }
.ssoc svg { width: 14px; height: 14px; }
.ssoc:hover { transform: translateY(-2px) scale(1.22); color: #fff !important; }
.ssoc.ig:hover { background: radial-gradient(circle at 30% 110%, #FEDA75 0%, #FA7E1E 30%, #D62976 55%, #962FBF 80%, #4F5BD5 100%); box-shadow: 0 4px 14px rgba(214,41,118,.6); }
.ssoc.tt:hover { background: #010101; box-shadow: -2px 0 8px rgba(37,244,238,.7), 2px 2px 8px rgba(254,44,85,.65); }
.ssoc.fb:hover { background: #1877F2; box-shadow: 0 4px 14px rgba(24,119,242,.6); }
.ssoc.li:hover { background: #0A66C2; box-shadow: 0 4px 14px rgba(10,102,194,.6); }
@media (max-width: 760px) { .strip-socials { display: none; } }

/* LinkedIn glow */
.social.li:hover, .social.li:active { background: #0A66C2; border-color: transparent; box-shadow: 0 0 0 3px rgba(10,102,194,.25), 0 6px 24px rgba(10,102,194,.6); }

/* ---------- ATTENTION LAYER — motion that pulls the eye, never the rug ---------- */
/* scroll progress: goal-gradient effect along the brand seam */
.scroll-progress { position: fixed; top: 0; left: 0; height: 3px; width: 100%; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, var(--orange), var(--sun) 45%, var(--teal)); z-index: 100; pointer-events: none; }

/* hero photos breathe (slow Ken Burns) */
body.anim .photo.kb img { animation: kb 22s ease-in-out infinite alternate; }
@keyframes kb { from { transform: scale(1); } to { transform: scale(1.07); } }
.photo.kb:hover img { animation-play-state: paused; }

/* gold stars re-glint periodically (gband + hero badge) */
body.anim .gband .gstars svg { animation: star-pop 480ms cubic-bezier(.34,1.56,.64,1) forwards, star-glint 7s ease-in-out 3s infinite; }
@keyframes star-glint { 0%, 88%, 100% { filter: drop-shadow(0 2px 8px rgba(251,188,5,.45)); } 93% { filter: drop-shadow(0 2px 14px rgba(251,188,5,.95)) brightness(1.25); } }
body.anim .gbadge .bstars { animation: badge-glint 8s ease-in-out 4s infinite; }
@keyframes badge-glint { 0%, 90%, 100% { text-shadow: 0 1px 4px rgba(251,188,5,.35); } 95% { text-shadow: 0 1px 10px rgba(251,188,5,.9); } }

/* hero primary CTA: soft double-pulse every ~9s */
body.anim .hero-ctas .btn-primary { animation: cta-pulse 9s ease-in-out 6s infinite; }
@keyframes cta-pulse { 0%, 86%, 100% { box-shadow: var(--sh-cta); } 90% { box-shadow: 0 0 0 6px rgba(255,106,0,.18), var(--sh-cta-up); } 94% { box-shadow: var(--sh-cta); } 97% { box-shadow: 0 0 0 5px rgba(255,106,0,.14), var(--sh-cta-up); } }

/* header compact mode after scroll */
header.site { transition: box-shadow 200ms ease-out; }
header.site.scrolled { box-shadow: 0 4px 18px rgba(2,8,23,.08); }
header.site.scrolled .brand img { height: 46px; }
header.site.scrolled .nav { padding-top: 6px; padding-bottom: 6px; }
.brand img { transition: height 240ms var(--ease-enter); }

@media (prefers-reduced-motion: reduce) {
  .photo.kb img, .gband .gstars svg, .gbadge .bstars, .hero-ctas .btn-primary { animation: none !important; }
  .scroll-progress { display: none; }
}

/* ---------- CTA MAGIC — periodic auto-sheen + sparkles + louder primaries ---------- */
body.anim .btn-primary { animation: cta-glow 6s ease-in-out infinite; }
@keyframes cta-glow {
  0%, 78%, 100% { box-shadow: var(--sh-cta); }
  86% { box-shadow: 0 4px 12px var(--orange-glow), 0 14px 34px rgba(255,106,0,.4), 0 0 0 5px rgba(255,106,0,.14); }
}
body.anim .btn-primary::before { animation: cta-sheen 6s ease-in-out infinite; }
@keyframes cta-sheen {
  0%, 74% { transform: translateX(-140%); }
  88%, 100% { transform: translateX(140%); }
}
.btn-primary:hover::before { animation: none; transform: translateX(140%); }
.btn-lg { font-size: 1.08rem; padding: 17px 36px; min-height: 56px; }
.btn .bicon { width: 19px; height: 19px; flex: 0 0 auto; }
/* sparkles on hero + sticky primaries */
.spark-wrap { position: relative; display: inline-flex; }
.spark-wrap .tw { position: absolute; font-size: 13px; color: var(--sun); text-shadow: 0 0 6px rgba(255,201,77,.9); opacity: 0; pointer-events: none; }
body.anim .spark-wrap .tw { animation: twinkle 5.2s ease-in-out infinite; }
.spark-wrap .tw.t1 { top: -7px; right: 8px; animation-delay: .4s; }
.spark-wrap .tw.t2 { bottom: -6px; left: 12px; animation-delay: 2.1s; font-size: 10px; }
.spark-wrap .tw.t3 { top: 40%; right: -10px; animation-delay: 3.4s; font-size: 11px; }
@keyframes twinkle { 0%, 100% { opacity: 0; transform: scale(.4) rotate(0deg); } 8% { opacity: 1; transform: scale(1.15) rotate(18deg); } 16% { opacity: 0; transform: scale(.5) rotate(30deg); } }
body.anim .m-cta .call { animation: call-breathe 2.6s ease-in-out infinite; }
/* focus visibility for keyboard users */
.btn:focus-visible, a:focus-visible { outline: 3px solid rgba(0,196,204,.6); outline-offset: 2px; }
/* mobile sticky: call side dominates */
.m-cta .call { flex: 1.25; }
@media (prefers-reduced-motion: reduce) {
  .btn-primary, .btn-primary::before, .spark-wrap .tw { animation: none; }
}

/* ---------- Dark-band seam: collapse the void between CTA band and Google band ---------- */
section.sec-dark:has(+ section.gband) { padding-bottom: 52px; }
.gband { padding: 44px 0 60px; border-top: 1px solid rgba(255,255,255,.07); position: relative; }
.gband::after { content: ""; position: absolute; top: -1px; left: 50%; transform: translateX(-50%); width: 220px; height: 2px; background: linear-gradient(90deg, transparent, var(--orange) 30%, var(--sun) 50%, var(--teal) 70%, transparent); }
.gband .glogo { margin-top: 6px; }
/* breathing room under the CTA trio's reassurance note */
.hero-ctas + .note { margin-top: 18px; }

/* ---------- Footer address + stacked hours ---------- */
.foot-addr { font-weight: 650; color: var(--ink); margin-bottom: 10px; }
.foot-hours { display: grid; grid-template-columns: auto 1fr; gap: 4px 18px; margin: 14px 0 0; font-size: .92rem; }
.foot-hours span:nth-child(odd) { font-weight: 700; color: var(--ink); }
.foot-hours span:nth-child(even) { color: var(--ink-2); font-variant-numeric: tabular-nums; }

/* ---------- Footer links: honest tap targets ---------- */
footer.site .foot-grid li a { display: inline-block; padding: 4px 0; }

/* ---------- Walkthrough form (commercial / Airbnb / post-construction) ---------- */
.commercial-hero{padding:70px 0 64px;background:linear-gradient(135deg,#fff 0%,#f7fbfb 58%,#edf8f8 100%);border-bottom:1px solid #dce8e8}
.commercial-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(400px,.98fr);gap:clamp(38px,6vw,80px);align-items:center}
.commercial-hero-copy h1{max-width:780px;margin:14px 0 18px;font-size:clamp(2.9rem,5.4vw,5.6rem);line-height:.96;letter-spacing:-.055em}
.commercial-hero-promise{max-width:680px;margin:0 0 14px;color:var(--ink);font-size:clamp(1.34rem,2.2vw,2rem);font-weight:850;line-height:1.2}
.commercial-hero-copy .lead{max-width:62ch;margin-bottom:26px;color:#465467}
.commercial-hero-actions{margin:0;gap:12px}.commercial-hero-actions .btn{min-height:52px}
.commercial-text-option{display:inline-flex;align-items:center;gap:7px;min-height:44px;margin-top:8px;color:#087d84;text-decoration:none}.commercial-text-option:hover,.commercial-text-option:focus-visible{color:#005d63;text-decoration:underline}
.commercial-proof{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:22px;color:#314154;font-size:.9rem;font-weight:800}
.commercial-proof span{display:inline-flex;align-items:center;gap:8px}.commercial-proof span:before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e6f7ef;color:#137849;font-size:.8rem}
.commercial-hero-photo{min-height:520px;border-radius:28px;box-shadow:0 26px 58px rgba(7,16,31,.18)}.commercial-hero-photo img{height:100%;min-height:520px;object-fit:cover;object-position:center}
.commercial-proof-band{background:var(--navy);color:#fff}.commercial-proof-band .wrap{display:grid;grid-template-columns:repeat(4,1fr);padding-top:18px;padding-bottom:18px}.commercial-proof-band span{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:0 18px;border-right:1px solid rgba(255,255,255,.18);font-weight:800;text-align:center}.commercial-proof-band span:last-child{border-right:0}.commercial-proof-band b{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:50%;background:var(--teal);font-size:.8rem}
.commercial-icp-card{border-top:4px solid var(--teal)}.commercial-icp-card h3{font-size:1.25rem;line-height:1.2}.commercial-icp-card p{color:#536174;line-height:1.6}
.commercial-detail-photo img{object-position:68% center}body:has(.commercial-hero) .coupon,body:has(.commercial-hero) .coupon-veil{display:none!important}
@media(max-width:900px){.commercial-hero{padding:50px 0}.commercial-hero-grid{grid-template-columns:1fr}.commercial-hero-copy{order:1}.commercial-hero-photo{order:2;min-height:400px}.commercial-hero-photo img{min-height:400px}.commercial-proof-band .wrap{grid-template-columns:1fr 1fr}.commercial-proof-band span:nth-child(2){border-right:0}.commercial-proof-band span:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}}
@media(max-width:520px){.commercial-hero{padding:36px 0 40px}.commercial-hero-copy h1{font-size:clamp(2.38rem,12vw,3.25rem)}.commercial-hero-promise{font-size:1.3rem}.commercial-hero-actions{display:grid}.commercial-hero-actions .btn{width:100%}.commercial-proof{display:grid;gap:10px}.commercial-hero-photo,.commercial-hero-photo img{min-height:300px}.commercial-proof-band .wrap{grid-template-columns:1fr;padding-top:0;padding-bottom:0}.commercial-proof-band span{justify-content:flex-start;border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:10px 8px}.commercial-proof-band span:last-child{border-bottom:0}}
@media(max-width:900px) and (max-height:500px) and (orientation:landscape){.commercial-hero{padding:26px 0}.commercial-hero-grid{grid-template-columns:1.1fr .9fr;gap:24px}.commercial-hero-copy h1{font-size:2.3rem;margin:8px 0}.commercial-hero-promise{font-size:1.05rem;margin-bottom:10px}.commercial-hero-copy .lead,.commercial-proof,.commercial-text-option{display:none}.commercial-hero-actions{display:flex}.commercial-hero-actions .btn{min-height:44px;padding:10px 14px;font-size:.86rem}.commercial-hero-photo,.commercial-hero-photo img{min-height:250px;height:250px}.commercial-proof-band{display:none}}
#walkthrough { scroll-margin-top: 82px; }

/* Fast service routing: immediate clarity without another long sales section. */
.service-launch { padding: 38px 0; background: #fff; border-block: 1px solid var(--line); }
.service-launch-head { max-width: 760px; margin: 0 auto 22px; text-align: center; }
.service-launch-head h2 { margin: 0; font-size: clamp(1.65rem,2.6vw,2.25rem); }
.service-launch-head p { max-width: 58ch; margin: 8px auto 0; color: var(--mute); font-size: 1rem; }
.anchor-target { scroll-margin-top: 110px; }
.service-launch-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.service-choice { --choice:#0b7285; min-height: 220px; display: grid; grid-template-columns: 1fr 24px; grid-template-rows:128px auto; gap: 14px 12px; align-items: center; padding: 0 0 18px; border: 1px solid #d9e1e7; border-radius: 12px; background:#fff; color: var(--ink); box-shadow:0 8px 24px rgba(7,16,31,.06); transition:transform 180ms var(--ease-enter),box-shadow 180ms ease,border-color 180ms ease; overflow:hidden; }
.service-choice-photo { grid-column:1/-1; width:100%; height:128px; object-fit:cover; border-radius:0; box-shadow:none; transition:filter 180ms ease; }
.service-choice-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; background:linear-gradient(145deg,color-mix(in srgb,var(--choice) 16%,white),color-mix(in srgb,var(--choice) 7%,white)); color:var(--choice); font-size:0; border:1px solid color-mix(in srgb,var(--choice) 20%,white); box-shadow:0 1px 0 rgba(255,255,255,.8) inset,0 5px 12px color-mix(in srgb,var(--choice) 12%,transparent); }
.service-choice-icon::before { content:"";width:24px;height:24px;background:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat;transition:transform 180ms cubic-bezier(.2,.8,.2,1) }
.home-choice .service-choice-icon::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10.5 12 3l9 7.5V21h-6v-6H9v6H3z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 10.5 12 3l9 7.5V21h-6v-6H9v6H3z' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.business-choice .service-choice-icon::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V5a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v16M17 9h3v12M8 7h2M13 7h1M8 11h2M13 11h1M8 15h2M13 15h1M2 21h20'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 21V5a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v16M17 9h3v12M8 7h2M13 7h1M8 11h2M13 11h1M8 15h2M13 15h1M2 21h20'/%3E%3C/g%3E%3C/svg%3E")}
.rental-choice .service-choice-icon::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15' r='4'/%3E%3Cpath d='m11 12 9-9M17 6l2 2M14 9l2 2'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='15' r='4'/%3E%3Cpath d='m11 12 9-9M17 6l2 2M14 9l2 2'/%3E%3C/g%3E%3C/svg%3E")}
.project-choice .service-choice-icon::before{-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15a8 8 0 0 1 16 0M2 15h20M8 15V9M16 15V9M6 19h12'/%3E%3C/g%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15a8 8 0 0 1 16 0M2 15h20M8 15V9M16 15V9M6 19h12'/%3E%3C/g%3E%3C/svg%3E")}
.service-choice strong,.service-choice small { display: block; }
.service-choice span{padding-left:18px}.service-choice strong { font-size: 1.02rem; line-height: 1.2; }
.service-choice small { margin-top: 6px; color: var(--mute); font-size: .84rem; line-height:1.3 }
.service-choice b { margin-right:16px;color:#a84000;font-size: 1.35rem; transition: transform 180ms ease; }
.home-choice { --choice:#f26722; }.business-choice { --choice:#0b7285; }.rental-choice { --choice:#7c3aed; }.project-choice { --choice:#b45309; }
@media (hover:hover) and (pointer:fine) { .service-choice:hover { transform: translateY(-3px); border-color:#aebbc4;box-shadow:0 15px 32px rgba(7,16,31,.11) }.service-choice:hover b { transform: translateX(3px); }.service-choice:hover .service-choice-photo{filter:brightness(1.035)} }
.service-choice:focus-visible { outline: 3px solid color-mix(in srgb,var(--choice) 28%,transparent); outline-offset: 3px; border-color:var(--choice); }
.service-choice:active { transform: translateY(1px) scale(.985); box-shadow: 0 3px 8px rgba(2,8,23,.1); }
.hero-promise{max-width:36ch;margin-bottom:8px;font-size:clamp(1.08rem,1.6vw,1.28rem)}
.hero-promise strong{color:var(--ink);font-weight:850}
.hero-payoff{max-width:42ch;margin:0 0 22px;color:var(--teal-ink);font-weight:850;line-height:1.45}
.hero-actions{align-items:stretch;margin-top:0}
.hero-call{min-width:250px;text-align:center}
.hero-call>span{display:grid;gap:1px;line-height:1.1}
.hero-call strong{font-size:1rem}
.hero-call small{font-size:.77rem;font-weight:750;opacity:.9}
.hero-text-link{display:inline-flex;min-height:44px;align-items:center;gap:7px;margin-top:8px;color:var(--teal-ink);font-size:.93rem;font-weight:850;text-decoration:none}
.hero-text-link:hover{color:var(--orange-d)}
.hero-text-link span{transition:transform 180ms ease}
.hero-text-link:hover span{transform:translateX(4px)}
.hero-proof{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:18px;overflow:hidden;border:1px solid #d9e5e8;border-radius:16px;background:#d9e5e8;box-shadow:0 8px 22px rgba(2,8,23,.06)}
.hero-proof span{display:flex;min-height:72px;flex-direction:column;justify-content:center;padding:11px 13px;background:#fff}
.hero-proof strong{color:var(--ink);font-size:.88rem;line-height:1.25}
.hero-proof small{margin-top:3px;color:var(--mute);font-size:.7rem;font-weight:650;line-height:1.35}
@media(max-width:760px){.hero-promise{max-width:none;margin-bottom:18px}.hero-actions{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);gap:9px}.hero-call{min-width:0;width:100%;min-height:60px;justify-content:center;font-size:.98rem;letter-spacing:0;padding-inline:10px}.hero-call strong{font-size:0}.hero-call strong::after{content:"Call Now";font-size:.98rem}.hero-call .bicon{width:19px;height:19px}.hero-actions>.btn{width:100%;min-width:0}.hero-book-online{min-height:60px;padding-inline:7px;font-size:.84rem;white-space:nowrap}.hero-book-online .bicon{width:17px;height:17px;flex:0 0 auto}.hero-text-link{width:100%;justify-content:center}.hero-proof{grid-template-columns:1fr;margin-top:14px}.hero-proof span{min-height:55px;align-items:center;text-align:center}.hero-proof small{font-size:.74rem}}
@media(max-width:345px){.hero h1{font-size:1.95rem}.hero-promise{font-size:1rem;line-height:1.5}.hero .eyebrow{margin-bottom:10px;font-size:.72rem}.hero-actions{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:7px}.hero-call,.hero-book-online{min-height:54px;padding-inline:7px}.hero-book-online{font-size:.82rem;white-space:nowrap}.hero-call .bicon,.hero-book-online .bicon{display:none}.hero-text-link{margin-top:4px}}

#onlineQuote{scroll-margin-top:92px}
.decision-proof { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1px; margin-top:18px; overflow:hidden; border:1px solid #dbe4ea; border-radius:14px; background:#dbe4ea; }
.decision-proof > span { display:flex; min-height:64px; align-items:center; justify-content:center; gap:3px; padding:13px 16px; background:#fff; color:var(--ink); text-align:center; font-size:1rem; line-height:1.3; font-weight:800; letter-spacing:-.01em; }
.decision-proof b { color:#b94700; }
.decision-proof .decision-google{cursor:pointer}
.decision-google .score-google-g{width:1.55rem;height:1.55rem}
.decision-google > span{display:grid;grid-template-columns:auto 1fr;align-items:center;justify-items:start;gap:3px 5px;min-width:0;padding:0;background:transparent;text-align:left}
.decision-google .num{font-size:1.03rem;line-height:1}
.decision-google .score-stars{font-size:.8rem;letter-spacing:0}
.decision-google small{grid-column:1/-1;color:var(--ink);font-size:.72rem;line-height:1.1;font-weight:800;white-space:nowrap}

/* High-contrast conversion details and compact mobile market discovery. */
.sec-sand .stat-n.on-light { color:#b94700 !important; }
body.has-review-rail section.gband { display:none !important; }
.home-compare-toggle { display:none; margin:24px auto 0; }
@media (max-width:760px) {
  body:has(.service-launch) main .grid.g4.duo > a:nth-child(n+5) { display:none; }
  .home-compare-toggle { display:flex; }
  .home-compare-details[hidden] { display:none; }
}
@media (min-width:761px) { .home-compare-details[hidden] { display:block; } }
@media(max-width:900px){.service-launch-head{display:block}.service-launch-head p{margin-top:6px}.service-launch-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.decision-proof{grid-template-columns:repeat(2,minmax(0,1fr))}.decision-proof > span{aspect-ratio:1/1;min-height:0;padding:10px 8px;font-size:.86rem}.decision-proof .decision-google{display:grid;grid-template-columns:24px minmax(0,1fr);gap:6px;padding:9px}.decision-google .score-google-g{width:24px;height:24px}.decision-google > span{align-content:center}.decision-google .num{font-size:1rem}.decision-google .score-stars{font-size:clamp(.64rem,3vw,.8rem)}.decision-google small{font-size:.68rem}}
@media(max-width:520px){.service-launch{padding:28px 0}.service-launch-grid{grid-template-columns:1fr;gap:10px}.service-choice{min-height:88px;padding:0;grid-template-columns:88px 1fr 34px;grid-template-rows:auto;border-radius:10px;box-shadow:0 5px 16px rgba(7,16,31,.055)}.service-choice-photo{grid-column:auto;width:88px;height:86px}.service-choice span{padding-left:4px}.service-choice b{margin-right:12px}.service-choice strong{font-size:1rem}.service-choice small{font-size:.85rem}.service-choice-icon{width:42px;height:42px}.service-launch-head{margin-bottom:16px}.service-launch-head h2{font-size:1.5rem}}

/* ---------- Services hub: premium decision architecture ---------- */
.services-hub-hero{padding:clamp(48px,6vw,82px) 0;background:linear-gradient(135deg,#fff 0%,#fff 58%,#f0fbfa 100%);border-bottom:1px solid var(--line)}
.services-hub-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);gap:clamp(38px,6vw,82px);align-items:center}
.services-hub-copy{text-align:center}
.services-hub-copy h1{max-width:13ch;margin:.2em auto;font-size:clamp(2.8rem,4.4vw,4.65rem);line-height:.98;letter-spacing:-.055em}
.services-hub-copy .lead{max-width:62ch;margin-inline:auto;color:#354052;line-height:1.68}
.services-hub-copy .hero-ctas{justify-content:center}
.services-text-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:12px;color:var(--teal-d);font-weight:850;text-decoration:none}
.services-text-link:hover{text-decoration:underline;text-underline-offset:4px}
.services-path-panel{padding:26px;border:1px solid #cfe2e4;border-radius:24px;background:rgba(255,255,255,.94);box-shadow:0 22px 60px rgba(2,8,23,.11)}
.services-path-panel h2{margin:4px 0 18px;font-size:clamp(1.7rem,2.5vw,2.35rem)}
.services-path-panel>a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px;padding:13px 16px;margin-top:10px;border:1px solid #d7e3e5;border-radius:15px;background:#fff;color:var(--ink);text-decoration:none;transition:transform 200ms var(--ease-enter),border-color 200ms ease,box-shadow 200ms ease,background 200ms ease}
.services-path-panel>a strong,.services-path-panel>a small{display:block}.services-path-panel>a strong{font-size:1.05rem}.services-path-panel>a small{margin-top:3px;color:#66758b;font-weight:650}.services-path-panel>a b{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#edf8f7;color:var(--teal-d);font-size:1.2rem}
.services-path-panel>a:hover{transform:translateX(5px);border-color:var(--teal);background:#f8fffe;box-shadow:0 10px 24px rgba(2,8,23,.09)}
.services-path-panel>a:hover b{background:var(--teal);color:#fff}
.services-proof-strip{background:var(--ink);color:#fff}.services-proof-strip .wrap{display:grid;grid-template-columns:repeat(4,1fr)}.services-proof-strip span{display:flex;align-items:center;justify-content:center;min-height:64px;padding:12px 18px;border-right:1px solid rgba(255,255,255,.14);font-weight:750;text-align:center}.services-proof-strip span:last-child{border-right:0}.services-proof-strip strong{color:#ffbc28;margin-right:4px}
.services-section-head{max-width:760px;margin:0 auto 34px;text-align:center}.services-section-head h2{margin:.2em 0;font-size:clamp(2.2rem,4vw,4rem);line-height:1.04;letter-spacing:-.04em}.services-section-head p{color:#526176;font-size:1.05rem;line-height:1.65}
.services-priority-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.priority-service{position:relative;display:flex;flex-direction:column;overflow:hidden;min-height:650px;border:1px solid #d9e2e6;border-radius:25px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 12px 32px rgba(2,8,23,.08);transition:transform 240ms var(--ease-enter),box-shadow 240ms ease,border-color 240ms ease}
.priority-service img{width:100%;height:270px;object-fit:cover}.priority-service>div{display:flex;flex:1;flex-direction:column;padding:27px}.priority-service h3{margin:12px 0;font-size:clamp(1.55rem,2.25vw,2.2rem);line-height:1.08}.priority-service p{color:#48566a;line-height:1.58}.service-kicker{display:inline-flex;align-self:flex-start;padding:7px 11px;border-radius:999px;background:#fff1e8;color:#9c3b00;font-size:.76rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase}.priority-service.airbnb .service-kicker{background:#e8f8f7;color:#006c72}.priority-service.commercial .service-kicker{background:#edf1f5;color:#27384c}.service-action{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:22px;color:#a84000;font-size:1.02rem}.service-action b{font-size:1.35rem}.priority-service:hover{transform:translateY(-7px);border-color:var(--orange);box-shadow:0 22px 48px rgba(2,8,23,.14)}.priority-service.airbnb:hover{border-color:var(--teal)}.priority-service.commercial:hover{border-color:#33485f}
.services-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.secondary-service{display:grid;grid-template-columns:minmax(190px,42%) minmax(0,1fr);min-height:290px;overflow:hidden;border:1px solid #dae3e6;border-radius:22px;background:#fff;color:var(--ink);text-decoration:none;box-shadow:0 10px 28px rgba(2,8,23,.08);transition:transform 220ms var(--ease-enter),border-color 220ms ease,box-shadow 220ms ease}.secondary-service img{width:100%;height:100%;min-height:290px;object-fit:cover}.secondary-service>div{display:flex;min-width:0;flex-direction:column;padding:25px 24px}.secondary-service span{color:#006d73;font-size:.75rem;font-weight:900;line-height:1.45;letter-spacing:.06em;text-transform:uppercase}.secondary-service h3{margin:9px 0;font-size:1.42rem;line-height:1.12}.secondary-service p{margin:0;color:#516074;font-size:.96rem;line-height:1.52}.secondary-service strong{margin-top:auto;padding-top:18px;color:#a84000;font-size:.94rem}.secondary-service:hover{transform:translateY(-5px);border-color:var(--teal);box-shadow:0 16px 34px rgba(2,8,23,.12)}
.services-help{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-top:54px;padding:32px 36px;border:1px solid #cde3e4;border-radius:24px;background:linear-gradient(115deg,#f4fffe,#fff7f0)}.services-help h2{margin:5px 0;font-size:clamp(1.8rem,3vw,2.8rem)}.services-help p{max-width:670px;margin:0;color:#526176;line-height:1.55}.services-help .btn{flex:0 0 auto;white-space:nowrap}
@media(max-width:1020px){.services-hub-hero-grid{grid-template-columns:1fr}.services-hub-copy{text-align:center}.services-hub-copy .lead{margin-inline:auto}.services-hub-copy .hero-ctas{justify-content:center}.services-path-panel{max-width:720px;width:100%;margin:auto}.services-priority-grid{grid-template-columns:1fr 1fr}.priority-service:last-child{grid-column:1/-1;max-width:560px;width:100%;justify-self:center}.services-secondary-grid{grid-template-columns:1fr 1fr}.secondary-service{display:flex;flex-direction:column;min-height:0}.secondary-service img{width:100%;height:220px;min-height:220px}.services-proof-strip .wrap{grid-template-columns:1fr 1fr}.services-proof-strip span:nth-child(2){border-right:0}.services-proof-strip span:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}}
@media(max-width:650px){.services-hub-hero{padding:28px 0 34px}.services-hub-copy h1{font-size:clamp(2.05rem,9.8vw,2.8rem);line-height:1.01}.services-hub-copy .lead{font-size:1rem}.services-hub-copy .hero-ctas{display:grid;grid-template-columns:1fr}.services-hub-copy .hero-ctas .btn{width:100%}.services-hub-copy .hero-ctas .btn.num{white-space:normal}.services-text-link{justify-content:center;width:100%;min-height:44px;align-items:center}.services-path-panel{padding:18px;border-radius:19px}.services-path-panel>a{min-height:68px}.services-proof-strip .wrap{grid-template-columns:1fr}.services-proof-strip span{min-height:50px;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.14)}.services-proof-strip span:last-child{border-bottom:0}.services-section-head{margin-bottom:24px;text-align:left}.services-section-head h2{font-size:2.25rem}.services-priority-grid,.services-secondary-grid{grid-template-columns:1fr}.priority-service,.priority-service:last-child{grid-column:auto;min-height:0;max-width:none}.priority-service img{height:220px}.priority-service>div{padding:22px}.priority-service h3{font-size:1.65rem}.secondary-service{display:block;min-height:0}.secondary-service img{width:100%;height:190px;min-height:190px;object-fit:cover}.secondary-service>div{padding:21px}.secondary-service h3{font-size:1.35rem}.secondary-service p{font-size:.95rem}.services-help{align-items:stretch;flex-direction:column;padding:25px 22px}.services-help .btn{width:100%;white-space:normal}}

/* Compact phone journeys: preserve the information, remove repeated chrome. */
@media(max-width:820px){
  footer.site.footer-accordion-ready{padding:24px 0 18px}
  footer.site.footer-accordion-ready .foot-cta{display:none}
  footer.site.footer-accordion-ready .foot-grid>div:first-child{margin-bottom:12px;text-align:center}
  footer.site.footer-accordion-ready .foot-grid>div:first-child .brand{display:inline-flex}
  footer.site.footer-accordion-ready .foot-grid>div:first-child>p{margin:8px auto;max-width:32ch;font-size:.82rem;line-height:1.45}
  footer.site.footer-accordion-ready .socials{justify-content:center;margin-top:10px}
  footer.site.footer-accordion-ready .footer-group-toggle{min-height:48px;padding:7px 8px}
  footer.site.footer-accordion-ready .legal{margin-top:16px;padding-top:14px}
  .faq-page .faq-section{padding:24px 0}
  .faq-page .faq-section-head{margin:0;align-items:center}
  .faq-page .faq-section-head h2{font-size:1.55rem;line-height:1.12}
  .faq-page .faq-section-head>span{width:44px;height:44px}
  .faq-page .faq-section-head .eyebrow{margin-bottom:3px}
  .faq-page .faq-section-head div>p:last-child{font-size:.88rem;line-height:1.45}
  .faq-topic-toggle{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;margin-top:14px;padding:10px 13px;border:1px solid #c8dddf;border-radius:12px;background:#fff;color:#075e64;font:850 .9rem/1.2 var(--f-body);cursor:pointer}
  .faq-topic-toggle b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8f7f6;font-size:1.15rem}
  .faq-page .faq-list[hidden],.faq-page .faq-specialty-grid[hidden]{display:none!important}
  .faq-topic-open .faq-list,.faq-topic-open .faq-specialty-grid{margin-top:14px}
  .faq-jump .wrap{padding-top:8px;padding-bottom:8px}
  .faq-jump a{min-height:40px;padding:8px 6px;font-size:.78rem}
  .home-compare .center.mt-4{display:none}
  .gpc-standard-grid[hidden]{display:none!important}
  .gpc-standard{padding:24px 20px}
  .gpc-standard-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:50px;margin-top:18px;padding:10px 13px;border:1px solid #b9d9dc;border-radius:13px;background:#fff;color:#075e64;font:850 .88rem/1.2 var(--f-body);cursor:pointer}
  .gpc-standard-toggle b{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8f7f6;font-size:1.15rem}
  #services .grid.g3>.card{padding:20px}
  #services .grid.g3>.card>p:not(.card-cta){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;overflow:hidden;line-height:1.48}
  #services .grid.g3>.card .card-flag{margin-bottom:11px!important}
  #services .grid.g3>.card h3{margin:6px 0 9px}
}
@media(prefers-reduced-motion:reduce){.services-path-panel>a,.priority-service,.secondary-service{transition:none}}

.photo-caption { position:absolute; right:10px; bottom:10px; margin:0; padding:5px 9px; border-radius:999px; background:rgba(2,8,23,.78); color:#fff; font-size:.68rem; font-weight:700; letter-spacing:.02em; backdrop-filter:blur(6px); }

/* Text enlargement must reflow rather than widen the document. */
.foot-grid>*,.stat-row>*,.hero-ctas>*,.service-launch-grid>* { min-width: 0; }
.foot-grid a,.foot-addr,.foot-bottom,.hero-ctas .btn { overflow-wrap: anywhere; }
.foot-grid a,
.foot-grid p,
.foot-grid span,
.foot-grid li,
.page-head p,
.card p { min-width: 0; overflow-wrap: anywhere; }
.top-strip { overflow: hidden; }
[data-rail] { max-width: 100%; overflow: hidden; }
.checklist-gateway>.wrap { display:block!important;max-width:840px;text-align:center }
.checklist-gateway .card { display:none!important }
.checklist-gateway .ticks { display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0 }
.checklist-gateway .ticks li { margin:0;padding:15px 14px 15px 42px;text-align:left;border:1px solid rgba(6,122,128,.16);border-radius:14px;background:#fff;box-shadow:0 5px 16px rgba(2,8,23,.05) }
.checklist-gateway .ticks li::before { left:12px;top:14px }
@media(max-width:700px){.checklist-gateway .ticks{grid-template-columns:1fr;gap:8px}.checklist-gateway .ticks li{min-height:54px}.checklist-gateway .btn{width:100%}}
@media(max-width:520px){
  .stat-row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .stat-row .stat { display:flex;min-width:0;min-height:136px;padding:16px 7px;align-items:center;justify-content:center;flex-direction:column;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:rgba(255,255,255,.035);overflow:hidden; }
  .stat-row .stat-n { font-size:clamp(1.85rem,10vw,2.35rem); }
  .stat-row .stat-l { max-width:100%;margin-top:9px;padding-inline:3px;font-size:.74rem;line-height:1.3;overflow-wrap:normal;word-break:normal; }
  .stat-row .stat-rating-line { display:grid;grid-template-columns:auto auto;grid-template-areas:"google rating" "stars stars";gap:6px 7px;max-width:100%;white-space:normal; }
  .stat-row .score-google-g { grid-area:google;width:1.35rem;height:1.35rem;align-self:center; }
  .stat-row .stat-rating-line .stat-n { grid-area:rating; }
  .stat-row .score-stars { grid-area:stars;justify-self:center;font-size:.92rem;letter-spacing:.015em; }
  .grid.g4,.grid.g4.duo { grid-template-columns: 1fr; }
  h1,h2,h3 { overflow-wrap: anywhere; }
  .hero-ctas .btn { white-space: normal; max-width: 100%; }
  .top-strip .wrap { max-width: 100%; }
}

/* Short phones and enlarged text: preserve the action before decorative imagery. */
@media (max-height: 500px) and (orientation: landscape) {
  .top-strip { min-height: 32px; padding-block: 5px; }
  .nav { min-height: 66px; padding-block: 5px; }
  .brand img { max-height: 58px; }
  .hero, .page-head { padding-top: 12px; padding-bottom: 24px; }
  .hero-grid { grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
  .hero-grid .ph { max-height: 230px; overflow: hidden; border-radius: var(--r-m); }
  .hero-grid .ph img { width: 100%; height: 230px; object-fit: cover; object-position: center 62%; }
  .hero h1, .page-head h1 { font-size: clamp(2rem, 5vw, 3rem); }
  .hero .lead, .page-head .lead { line-height: 1.45; }

  /* The homepage is a conversion screen on short phones. Keep the primary
     action visible instead of spending the first viewport on a tall photo. */
  body:has(.service-launch) .hero-grid { display: block; }
  body:has(.service-launch) .hero-grid > .photo { display: none; }
  body:has(.service-launch) .hero h1 { max-width: 720px; margin-bottom: 10px; }
  body:has(.service-launch) .hero-promise { max-width: 720px; margin-bottom: 12px; }
  body:has(.service-launch) .hero-actions { grid-template-columns: minmax(250px, 1fr) minmax(210px, .8fr); max-width: 650px; }
  body:has(.service-launch) .hero-text-link,
  body:has(.service-launch) .rating,
  body:has(.service-launch) .hero-proof { display: none; }
}

@media (max-width: 520px) {
  .top-strip { padding-inline: 8px; }
  .strip-inner { min-width: 0; }
  .strip-msg { min-width: 0; overflow-wrap: anywhere; }
  .nav { gap: 8px; padding-inline: 12px; }
  .brand { min-width: 0; padding-inline: 8px; }
  .brand img { max-width: min(108px, 30vw); object-fit: contain; }
  .m-call, .menu-btn { flex: 0 0 44px; }
  .foot-grid a[href^="mailto:"] { word-break: break-word; overflow-wrap: anywhere; }
}

/* Important destination links behave like real touch controls without making body-copy links bulky. */
@media (pointer: coarse), (max-width: 760px) {
  .strip-msg a { display: inline-flex; align-items: center; min-height: 44px; padding-inline: 6px; }
  footer.site .foot-grid li a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; }
  .area-table a, .areas-table a, table a { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; }
}
.wt-form { padding: 30px 28px; }
.wt-form label { display: block; font-size: .82rem; font-weight: 700; color: var(--ink); margin: 0 0 14px; letter-spacing: .02em; }
.wt-form input, .wt-form select, .wt-form textarea { display: block; width: 100%; margin-top: 6px; font-family: var(--f-body); font-size: .95rem; font-weight: 500; color: var(--ink); background: #fff; border: 1.5px solid var(--line); border-radius: var(--r-s); padding: 12px 14px; min-height: 46px; transition: border-color var(--t-hover) ease-out, box-shadow var(--t-hover) ease-out; }
.wt-form textarea { min-height: 84px; resize: vertical; }
.wt-form .btn { min-height: 56px; height: auto; white-space: normal; line-height: 1.25; }
.wt-form input:focus, .wt-form select:focus, .wt-form textarea:focus { outline: none; border-color: var(--orange); box-shadow: 0 0 0 3px rgba(255,106,0,.14); }
.wt-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 560px) { .wt-duo { grid-template-columns: 1fr; gap: 0; } }
.wt-consent { font-size: .74rem; color: var(--mute); line-height: 1.55; margin: 12px 0 0; }
.wt-ok { background: rgba(30,158,82,.1); border: 1px solid rgba(30,158,82,.35); border-radius: var(--r-m); padding: 16px 18px; color: var(--ink-2); margin: 6px 0 0; }
.wt-err { background: rgba(255,106,0,.08); border: 1px solid rgba(255,106,0,.3); border-radius: var(--r-m); padding: 14px 16px; margin: 12px 0 0; }

/* ---------- H1 second line (keyword headline + positioning line, one H1) ---------- */
h1 .h1-line2 { display: block; font-size: .44em; line-height: 1.3; letter-spacing: -0.012em; margin-top: 12px; color: var(--ink-2); }

/* ---------- Logo glint — silver sheen + tiny sparkle, random organic timing ---------- */
.brand { position: relative; overflow: hidden; }
.brand::before { content: ""; position: absolute; inset: -2px; background: linear-gradient(115deg, transparent 34%, rgba(255,255,255,.34) 46%, rgba(226,238,255,.85) 50%, rgba(255,255,255,.34) 54%, transparent 66%); transform: translateX(-135%); opacity: 0; pointer-events: none; z-index: 2; }
.brand.glint::before { animation: logo-sheen 1150ms ease-in-out; }
@keyframes logo-sheen { 0% { transform: translateX(-135%); opacity: 0; } 12% { opacity: 1; } 88% { opacity: 1; } 100% { transform: translateX(135%); opacity: 0; } }
.brand::after { content: "\2726"; position: absolute; top: var(--tw-y, 16%); left: var(--tw-x, 74%); font-size: 12px; line-height: 1; color: #F2F7FF; text-shadow: 0 0 5px rgba(214,232,255,.95), 0 0 14px rgba(150,195,255,.65); opacity: 0; transform: scale(.3); pointer-events: none; z-index: 3; }
.brand.glint::after { animation: logo-twinkle 950ms ease-out 240ms; }
@keyframes logo-twinkle { 0% { opacity: 0; transform: scale(.3) rotate(0deg); } 38% { opacity: 1; transform: scale(1.25) rotate(18deg); } 100% { opacity: 0; transform: scale(.45) rotate(38deg); } }
@media (prefers-reduced-motion: reduce) { .brand::before, .brand::after { animation: none !important; opacity: 0 !important; } }

/* ---------- Careers application ---------- */
.career-hero-actions { margin-top: -46px; position: relative; z-index: 2; }
.career-hero-actions .btn-ghost-dark { border-color: var(--ink); color: var(--ink); background: #fff; box-shadow: 0 8px 24px rgba(21,32,43,.08); }
.career-hero-actions .btn-ghost-dark:hover { color: #fff; background: var(--ink); border-color: var(--ink); }
.career-application { padding: 64px 0 82px; background: #fff; scroll-margin-top: 92px; }
.career-form-wrap { display: grid; grid-template-columns: minmax(0,.72fr) minmax(480px,1.28fr); gap: 56px; align-items: start; }
.career-form-intro { position: sticky; top: 110px; }
.career-form-intro h2 { margin-bottom: 16px; }
.career-form-points { margin-top: 24px; }
.career-form-card { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: var(--r-l); box-shadow: var(--shadow-lg); }
.career-screen { padding: 36px; }
.career-screen h3 { margin: 8px 0 10px; font-size: clamp(1.6rem,3vw,2.2rem); }
.career-screen > p { color: var(--muted); }
.career-screen fieldset { margin: 26px 0 0; padding: 0; border: 0; }
.career-screen legend { margin-bottom: 13px; color: var(--ink); font-weight: 800; }
.career-screen legend span { color: var(--muted); font-size: .82em; font-weight: 500; }
.career-screen label { display: flex; gap: 11px; align-items: flex-start; padding: 11px 12px; border-radius: 10px; color: var(--ink); font-weight: 650; line-height: 1.4; cursor: pointer; }
.career-screen label:hover { background: var(--sand); }
.career-screen input[type="checkbox"] { width: 20px; height: 20px; margin-top: 1px; flex: 0 0 auto; accent-color: var(--orange); }
.career-experience-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 10px; }
.career-screen .btn { width: 100%; margin-top: 24px; }
.career-screen .career-screen-error { margin: 18px 0 0; padding: 12px 14px; border-left: 4px solid #b42318; background: #fff1f0; color: #8f1d16; font-weight: 750; }
.career-screen .career-screen-note { margin: 12px 0 0; text-align: center; font-size: .82rem; }
.career-qualified { padding: 16px 22px; background: #eaf8f2; border-bottom: 1px solid #b9e1d1; color: #155b45; }
.career-application-frame { scroll-margin-top: 100px; }
.career-form-frame { display: block !important; position: static !important; visibility: visible !important; opacity: 1 !important; pointer-events: auto !important; width: 100% !important; min-height: 1160px !important; border: 0; background: #fff; }

/* Quote request: call first, text second, short website form third. */
.quote-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:980px;margin:0 auto}
.quote-action{display:flex;min-height:116px;padding:24px 28px;border-radius:22px;flex-direction:column;justify-content:center;text-decoration:none;transition:box-shadow .2s ease,border-color .2s ease,background .2s ease}
.quote-action strong{font-size:clamp(1.2rem,2vw,1.65rem);line-height:1.15}
.quote-action span{margin-top:7px;font-size:1rem;font-weight:650}
.quote-action-primary{color:#fff;background:linear-gradient(135deg,#ff7a14,#ff5a00);box-shadow:0 14px 34px rgba(255,107,0,.25)}
.quote-action-primary:hover,.quote-action-primary:focus-visible{color:#fff;box-shadow:0 18px 42px rgba(255,107,0,.36)}
.quote-action-text{color:#fff;background:linear-gradient(135deg,#009fd4,#007fc8);box-shadow:0 14px 34px rgba(0,128,255,.2)}
.quote-action-text:hover,.quote-action-text:focus-visible{color:#fff;box-shadow:0 18px 42px rgba(0,128,255,.32)}
.quote-action-form{color:var(--ink);background:#fff;border:2px solid var(--ink);box-shadow:0 10px 26px rgba(2,8,23,.08)}
.quote-action-form:hover,.quote-action-form:focus-visible{color:var(--ink);background:#f4f8fb;box-shadow:0 15px 34px rgba(2,8,23,.14)}
.quote-text-fallback{margin:16px auto 0;text-align:center;color:var(--mute);font-weight:650}
.quote-text-fallback a{color:var(--teal);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.quote-divider{display:flex;align-items:center;gap:18px;max-width:820px;margin:34px auto 22px;color:#536276;font-weight:800;text-transform:uppercase;letter-spacing:.11em;font-size:.78rem}
.quote-divider:before,.quote-divider:after{content:"";height:1px;background:#d7dde5;flex:1}
.quote-form{max-width:820px;margin:0 auto;padding:clamp(22px,4vw,42px)}
.quote-form textarea{resize:vertical;min-height:110px}
.booking-frame-shell{padding:10px;overflow:hidden;background:#fff}
.booking-frame{display:block;width:100%;height:1320px;border:0;border-radius:14px;background:#fff}
.booking-frame-status{display:none;align-items:center;justify-content:center;gap:14px;min-height:132px;padding:22px;text-align:left;color:var(--muted)}
.booking-frame-status strong,.booking-frame-status span{display:block}.booking-frame-status strong{color:var(--ink);font-size:1rem}.booking-frame-status span{margin-top:3px;font-size:.9rem}
.booking-frame-status p{display:none;margin:8px 0 0;font-size:.82rem}.booking-frame-status a{font-weight:800;color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.booking-spinner{width:30px;height:30px;flex:0 0 30px;border:3px solid #d9e8e8;border-top-color:var(--teal);border-radius:50%;animation:booking-spin .75s linear infinite}
.booking-frame-shell.is-loading .booking-frame-status{display:flex}.booking-frame-shell.is-loading .booking-frame{height:360px;opacity:.22;transition:height .3s ease,opacity .2s ease}
.booking-frame-shell.is-slow .booking-frame-status p{display:block}.booking-frame-shell.is-loaded .booking-frame{opacity:1}
@keyframes booking-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.booking-spinner{animation:none;border-top-color:#d9e8e8}}
.booking-frame-fallback{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px 6px 2px;padding:11px 14px;border-radius:12px;background:#f3f8f8;text-align:center;font-size:.88rem;color:var(--muted)}
.booking-frame-fallback strong{color:var(--ink);white-space:nowrap}
.booking-frame-fallback span{line-height:1.4}
.booking-frame-fallback a{font-weight:800}

/* Release gate: every standalone mobile action has a dependable 44px hit area.
   Checkbox controls use the full visible label as the target. */
.analytics-consent a,
.coupon-consent a,
.sms-consent a,
.sms-legal a,
.booking-frame-fallback a,
.booking-frame-status a,
.note > a,
.note a:last-child {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding-block:10px;
}
.coupon-form .coupon-consent,
.sms-consent,
.career-experience-grid label {
  min-height:44px;
  align-items:center;
  cursor:pointer;
}
.coupon-form .coupon-consent input,
.sms-consent input,
.career-experience-grid input[type="checkbox"] {
  width:24px !important;
  min-width:24px;
  height:24px !important;
  min-height:24px !important;
  margin:0;
}
.career-experience-grid label {
  display:flex;
  gap:10px;
  padding:8px 10px;
  border-radius:10px;
}
.career-experience-grid label:hover { background:#f1f7f7; }
.estimator input,
.estimator select { min-height:48px; }
@media(max-width:700px){.quote-actions{grid-template-columns:1fr;gap:12px}.quote-action{min-height:96px;padding:20px}.quote-form{padding:20px 16px}.quote-divider{margin-top:26px}.quote-intake{padding-bottom:72px}}
@media(max-width:700px){.booking-frame{height:1500px}.booking-frame-shell{padding:6px}.booking-frame-status{min-height:148px;padding:18px 14px}.booking-frame-shell.is-loading .booking-frame{height:280px}.booking-frame-fallback{align-items:stretch;flex-direction:column;gap:4px;margin:6px 2px 2px;padding:11px 10px;font-size:.84rem}.booking-frame-fallback strong{white-space:normal}}

/* Final visual-resilience pass: the quote region is useful before the
   third-party frame responds, and repeated phone sections stay concise. */
.booking-frame-shell:not(.is-loaded) .booking-frame {
  height: 360px;
  opacity: .18;
}
.booking-frame-shell:not(.is-loaded) .booking-frame-status {
  display: flex;
}
@media (max-width: 760px) {
  :root { --sec-pad: 36px; }
  .booking-frame-shell:not(.is-loaded) .booking-frame { height: 220px; }
  .booking-frame-status { min-height: 132px; }
  .shared-reviews { padding-block: 38px; }
  .gband { padding-block: 38px 44px; }
  .gband .gscore { font-size: 3rem; margin-top: 6px; }
  .gband .gstars svg { width: 29px; height: 29px; }
  .gband p { margin-bottom: 16px; font-size: .88rem; line-height: 1.48; }
  .grid { gap: 18px; }
  .card { padding: 22px; }
}
@media(max-width:760px){
  main p a:not(.btn), main li a:not(.btn) {
    display:inline-flex;
    align-items:center;
    min-height:44px;
    margin-block:-12px;
    padding-block:12px;
    vertical-align:middle;
  }
}
.career-legal-links { display: flex; justify-content: center; gap: 10px; margin: 0; padding: 2px 20px 22px; color: var(--mute); font-size: .85rem; }
.career-legal-links a { color: var(--teal); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
body:has(#career-application) chat-widget { display: none !important; }
body:has(#career-application) .m-cta { display: none !important; }
body:has(#career-application) footer.site .foot-cta,
body:has(#career-application) footer.site .foot-grid { display: none; }
body:has(#career-application) footer.site { padding-top: 22px; }
@media (max-width: 900px) {
  .career-form-wrap { grid-template-columns: 1fr; gap: 28px; }
  .career-form-intro { position: static; }
  .career-form-frame { min-height: 1660px !important; }
}
@media (max-width: 560px) {
  .career-hero-actions { margin-top: -28px; }
  .career-hero-actions .hero-ctas { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .career-hero-actions .btn { width: 100%; justify-content: center; padding-inline: 12px; }
  .career-application { padding: 42px 0 86px; }
  .career-form-card { margin-inline: -8px; border-radius: var(--r-m); }
  .career-screen { padding: 26px 20px; }
  .career-experience-grid { grid-template-columns: 1fr; }
  .career-form-frame { min-height: 1800px !important; }
}
@media (max-width: 360px) {
  .career-form-frame { min-height: 1900px !important; }
}
/* Bot trap: present in form markup but never visible or reachable by customers. */
.lead-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}

/* Core copy is never animation-dependent; this prevents delayed LCP on long
   templates while retaining meaningful button state transitions. */
.rv{opacity:1!important;transform:none!important;transition:none!important;will-change:auto!important}
.check-tier-connector{background:#a83f00!important;box-shadow:0 5px 14px rgba(168,63,0,.2)!important}

/* Phase 4: pricing + checklist clarity */
.anchor-target{scroll-margin-top:124px}
.check-value-path{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 26px}
.check-value-path>div{display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 12px;align-items:center;padding:18px;border:1px solid #d9e3e6;border-radius:18px;background:#fff;box-shadow:0 9px 24px rgba(2,8,23,.07)}
.check-value-path span{grid-row:1/3;display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--teal-ink);color:#fff;font-weight:900}
.check-value-path>div:nth-child(2) span{background:var(--orange-d)}
.check-value-path>div:nth-child(3) span{background:#087c68}
.check-value-path strong{font-size:1rem;line-height:1.25;color:var(--ink)}
.check-value-path small{color:#5a687a;font-size:.8rem;line-height:1.35}
.checklist-guarantee{padding-top:clamp(40px,6vw,72px);padding-bottom:clamp(40px,6vw,72px)}
.pricing-table-card table.gpc td:last-child,.pricing-table-card table.gpc th:last-child,#add-ons table.gpc td:last-child,#add-ons table.gpc th:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.pricing-table-card .sqft-range{display:inline-block;white-space:nowrap}
#add-ons .addon-included-note{margin:16px 0 0;padding:14px 16px;border-left:4px solid var(--teal);border-radius:0 12px 12px 0;background:#effbfa;color:#274656;font-weight:750;line-height:1.5}
@media(max-width:700px){
  .check-value-path{grid-template-columns:1fr}
  .check-tier li{text-transform:none}
  .tabs-hint{font-size:.82rem;letter-spacing:.12em}
  .tab{font-size:1rem;font-weight:900}
  .pricing-table-card table.gpc th,.pricing-table-card table.gpc td{font-size:.88rem}
  .pricing-table-card .sqft-range{font-size:.86rem;letter-spacing:-.02em}
  #add-ons table.gpc.fit th:first-child,#add-ons table.gpc.fit td:first-child{width:59%}
  #add-ons table.gpc.fit th:last-child,#add-ons table.gpc.fit td:last-child{width:41%;font-size:.8rem}
}
@media(min-width:701px){.check-value-path{display:grid}}
.quote-text-fallback a{color:var(--teal-ink)}
.contact-specialty .eyebrow{color:#42d7dc}

/* ---------- FAQ hub: decision-first architecture ---------- */
.faq-hero h1{color:#fff}
.faq-list .faq-a a{color:#006d73;font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.faq-hero{padding:78px 0;background:linear-gradient(135deg,#0d2745 0%,#081a2e 72%);color:#fff}.faq-hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.7fr);align-items:center;gap:72px}.faq-hero h1{max-width:860px;margin:12px 0 20px;font-size:clamp(3rem,6vw,6.15rem);line-height:.98;letter-spacing:-.045em}.faq-hero .lead{max-width:690px;color:#d6e0ea}.faq-hero .eyebrow{color:#42d7dc}.faq-hero-card{padding:30px;border:1px solid rgba(255,255,255,.2);border-radius:24px;background:rgba(255,255,255,.08);box-shadow:0 22px 50px rgba(0,0,0,.2)}.faq-hero-card span{display:block;color:#7ee4e8;font-size:.77rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.faq-hero-card strong{display:block;margin:12px 0;font-size:1.75rem}.faq-hero-card p{color:#d6e0ea;line-height:1.65}.faq-hero-card a{display:inline-block;margin-top:8px;color:#fff;font-weight:850}.faq-jump{position:sticky;top:70px;z-index:30;border-bottom:1px solid #dbe4e7;background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(2,8,23,.06);backdrop-filter:blur(12px)}.faq-jump .wrap{display:flex;justify-content:center;gap:10px;padding-top:12px;padding-bottom:12px}.faq-jump a{min-height:44px;padding:12px 16px;border-radius:999px;color:#24405b;font-size:.86rem;font-weight:850;text-decoration:none;transition:background 180ms ease,color 180ms ease}.faq-jump a:hover,.faq-jump a:focus-visible{background:#e6f7f7;color:#006d73}.faq-section{padding:76px 0;scroll-margin-top:145px}.faq-section.alt{background:#f7f8fa}.faq-section-head{display:grid;grid-template-columns:74px 1fr;gap:24px;margin-bottom:30px}.faq-section-head>span{display:grid;width:64px;height:64px;place-items:center;border-radius:20px;background:#0d2745;color:#fff;font-size:1.2rem;font-weight:950;box-shadow:0 12px 28px rgba(13,39,69,.18)}.faq-section-head h2{margin:4px 0 8px;font-size:clamp(2rem,4vw,3.5rem)}.faq-section-head p{max-width:720px;margin:0;color:#526278}.faq-section-head .eyebrow{color:#006d73}.faq-list{display:grid;gap:12px}.faq-list .faq{margin:0;border:1px solid #d9e3e7;border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(2,8,23,.045)}.faq-list .faq[open]{border-color:#8edadd;box-shadow:0 14px 30px rgba(0,128,136,.1)}.faq-list .faq summary{padding:23px 68px 23px 24px;font-size:1.08rem}.faq-list .faq-a{padding:0 24px 23px}.faq-list .faq-a p{max-width:850px;margin:0;color:#445268;line-height:1.72}.faq-specialty-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.faq-specialty-grid article{display:flex;flex-direction:column;min-height:270px;padding:28px;border:1px solid #d8e3e7;border-radius:22px;background:#fff;box-shadow:0 10px 28px rgba(2,8,23,.06)}.faq-specialty-grid article>span{color:#006d73;font-size:.76rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.faq-specialty-grid h3{margin:11px 0 10px;font-size:1.35rem}.faq-specialty-grid p{margin:0 0 20px;color:#526278;line-height:1.65}.faq-specialty-grid a{margin-top:auto;color:#a84000;font-weight:850;text-decoration:none}.faq-specialty-grid article:hover{border-color:#8edadd;box-shadow:0 17px 38px rgba(2,8,23,.1)}
@media(max-width:900px){.faq-hero-grid{grid-template-columns:1fr;gap:34px}.faq-hero-card{max-width:650px}.faq-jump{top:68px}.faq-jump .wrap{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.faq-jump a{white-space:nowrap}.faq-specialty-grid{grid-template-columns:1fr}}
@media(max-width:600px){.faq-jump{position:relative;top:auto}.faq-jump .wrap{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:visible}.faq-jump a{display:flex;align-items:center;justify-content:center;padding:10px 8px;white-space:normal;text-align:center}.faq-jump a:last-child{grid-column:1/-1}.faq-section{scroll-margin-top:80px}}
@media(max-width:600px){.faq-hero{padding:52px 0}.faq-hero h1{font-size:2.65rem}.faq-hero-grid{gap:26px}.faq-hero-card{padding:23px}.faq-section{padding:54px 0}.faq-section-head{grid-template-columns:52px 1fr;gap:14px}.faq-section-head>span{width:48px;height:48px;border-radius:15px;font-size:.95rem}.faq-section-head h2{font-size:2rem}.faq-list .faq summary{padding:20px 56px 20px 18px;font-size:1rem}.faq-list .faq-a{padding:0 18px 20px}.faq-specialty-grid article{min-height:0;padding:22px}}

/* ============================================================
   UNIFORMITY GOVERNANCE — ONE GPC PRODUCT, EVERY VIEWPORT
   Specialty pages may change content and imagery, never the core
   color, radius, elevation, CTA, or interaction language.
   ============================================================ */
:root {
  --ink: #07101F;
  --dark: #07101F;
  --navy: #07101F;
  --orange: #FF6A00;
  --orange-d: #E55F00;
  --teal: #00C4CC;
  --teal-d: #078B94;
  --teal-ink: #006D73;
  --mute: #667085;
  --line: #DBE4EA;
  --gray: #F6F8FA;
  --warm: #FAF9F7;
  --r-s: 10px;
  --r-m: 16px;
  --r-l: 24px;
  --r-pill: 999px;
  --sh-1: 0 2px 7px rgba(7,16,31,.07);
  --sh-2: 0 8px 22px rgba(7,16,31,.10);
  --sh-3: 0 18px 44px rgba(7,16,31,.15);
  --sh-cta: 0 3px 7px rgba(112,31,0,.22), 0 12px 26px rgba(255,106,0,.28), inset 0 1px 0 rgba(255,255,255,.55);
  --sh-digital: 0 3px 7px rgba(0,80,86,.20), 0 12px 26px rgba(0,196,204,.22), inset 0 1px 0 rgba(255,255,255,.45);
}

/* The logo alone owns true black; every structural dark surface is midnight navy. */
.sec-dark,
.dark-cta,
.foot-cta,
.scoreboard,
.commercial-proof-band,
.construction-process,
.airbnb-proof-band {
  background-color: var(--ink);
}

/* One conversion hierarchy: orange phone, aqua digital, outline information. */
.btn {
  min-height: 52px;
  border-radius: var(--r-pill);
  transition: transform 190ms cubic-bezier(.2,.8,.2,1), box-shadow 190ms ease, background-color 190ms ease, border-color 190ms ease, color 190ms ease;
}
.btn-primary {
  background: linear-gradient(135deg, #FF7A18 0%, var(--orange) 56%, #F05A00 100%);
  box-shadow: var(--sh-cta);
}
.btn-teal,
a.btn[href="/booking/"],
a.btn[href^="/booking/#"] {
  color: #fff !important;
  border: 2px solid #057A82 !important;
  background: linear-gradient(135deg, #12C8D0 0%, var(--teal-d) 62%, #067A80 100%) !important;
  box-shadow: var(--sh-digital) !important;
}
.btn-teal:hover,
a.btn[href="/booking/"]:hover,
a.btn[href^="/booking/#"]:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #20D3DA 0%, #07838B 64%, #05666D 100%) !important;
  transform: translateY(-2px) scale(1.015);
}
.btn-teal:active,
a.btn[href="/booking/"]:active,
a.btn[href^="/booking/#"]:active {
  transform: translateY(1px) scale(.975);
  box-shadow: 0 2px 5px rgba(0,80,86,.22), inset 0 2px 5px rgba(0,50,54,.16) !important;
}
.commercial-hero-actions .btn:last-child,
.airbnb-hero-actions .btn:last-child,
.construction-hero-actions .btn:last-child {
  color: #fff;
  border: 2px solid #057A82;
  background: linear-gradient(135deg, #12C8D0, #078B94 62%, #067A80);
  box-shadow: var(--sh-digital);
}

/* Navigation accents remain expressive without becoming a seven-color rainbow. */
.services-nav-group a,
.m-services-panel .services-nav-group a { --accent: 0,139,148 !important; }
.services-nav-group a[data-priority="true"],
.m-services-panel .services-nav-group a[data-priority="true"] { --accent: 229,95,0 !important; }

/* Three card families share one material language. */
.card,
.price-card,
.choice-card,
.contact-card,
.commercial-icp-card,
.faq-specialty-grid article,
.faq-list .faq,
.pricing-table-card,
.check-value-path > div,
.quote-action,
.career-form-card {
  border-color: var(--line);
  border-radius: var(--r-m);
  box-shadow: var(--sh-1);
}
.card:hover,
.choice-card:hover,
.commercial-icp-card:hover,
.faq-specialty-grid article:hover {
  border-color: rgba(0,139,148,.42);
  box-shadow: var(--sh-2);
}
.photo,
.photo img,
.hero-grid .ph,
.commercial-hero-photo,
.airbnb-hero-photo,
.construction-hero-photo {
  border-radius: var(--r-l);
}

/* Proof reads as one family even when the proof itself changes by service. */
.hero-proof,
.commercial-proof,
.airbnb-proof,
.construction-proof,
.decision-proof,
.trust-grid,
.stat-row {
  border-color: var(--line);
}
.commercial-proof > span,
.airbnb-proof > span,
.construction-proof > span,
.proof-item {
  color: var(--ink-2);
  font-weight: 700;
}

/* Shared desktop rhythm: specialty content can differ, baselines cannot. */
.hero-ctas,
.commercial-hero-actions,
.airbnb-hero-actions,
.construction-hero-actions,
.recurring-hero-actions {
  gap: 12px;
  align-items: stretch;
}
.hero-ctas > .btn,
.commercial-hero-actions > .btn,
.airbnb-hero-actions > .btn,
.construction-hero-actions > .btn,
.recurring-hero-actions > .btn {
  min-height: 54px;
}

/* Identical social geometry in the strip, drawer, and footer; brand colors remain official. */
.ssoc,
.social {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  border-radius: 12px;
  box-shadow: var(--sh-1);
}

@media (max-width: 760px) {
  section { padding-block: clamp(36px, 10vw, 56px); }
  .wrap, .wrap-n { padding-inline: 16px; }
  .hero, .page-head { padding-block: 34px 40px; }
  .hero-ctas,
  .commercial-hero-actions,
  .airbnb-hero-actions,
  .construction-hero-actions,
  .recurring-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .hero-ctas > .btn,
  .commercial-hero-actions > .btn,
  .airbnb-hero-actions > .btn,
  .construction-hero-actions > .btn,
  .recurring-hero-actions > .btn {
    width: 100%;
    min-height: 54px;
    padding-inline: 18px;
  }
  .card,
  .price-card,
  .choice-card,
  .contact-card,
  .commercial-icp-card,
  .faq-specialty-grid article,
  .pricing-table-card {
    border-radius: var(--r-m);
  }
  .m-nav a,
  .m-services-trigger,
  .m-services-panel .services-nav-group a,
  .m-services-all {
    border-radius: 12px !important;
  }
}
/* Premium residences: one authoritative apartment, condo, penthouse and
   private high-rise experience. The visual language is restrained and proof-led. */
.luxury-residence-hero{overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f7fbfb 58%,#eef8f8 100%)}
.luxury-residence-hero .grid{align-items:center}
.luxury-residence-hero h1{max-width:760px;font-size:clamp(3rem,5.2vw,5.5rem);line-height:.98;letter-spacing:-.045em}
.luxury-hero-promise{max-width:680px;margin:18px 0 12px;color:var(--teal-d);font-size:clamp(1.35rem,2.2vw,2rem);font-weight:900;line-height:1.18;letter-spacing:-.02em}
.luxury-hero-actions{display:grid;grid-template-columns:minmax(250px,1fr) minmax(290px,1fr);align-items:stretch;width:min(100%,590px);max-width:100%}
.luxury-hero-actions .btn{min-height:58px;padding-inline:18px;white-space:normal;text-align:center}
.luxury-text-option{display:inline-flex;min-height:44px;align-items:center;gap:5px;margin-top:10px;color:var(--teal-d);font-weight:700;text-decoration:none}
.luxury-text-option strong{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.luxury-text-option:hover,.luxury-text-option:focus-visible{color:var(--orange-d)}
.luxury-residence-hero .photo{min-height:0;box-shadow:0 28px 70px rgba(7,19,40,.16)}
.luxury-residence-hero .photo img{object-position:center}
.luxury-proof{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.luxury-proof span{display:inline-flex;align-items:center;min-height:38px;padding:8px 13px;border:1px solid rgba(0,151,167,.24);border-radius:999px;background:#fff;color:var(--navy);font-size:.82rem;font-weight:800;box-shadow:0 8px 22px rgba(7,19,40,.06)}
.luxury-proof span::before{content:"✓";margin-right:7px;color:#159c58;font-weight:900}
.luxury-value-grid .card{position:relative;overflow:hidden;border-top:3px solid var(--teal)}
.luxury-card-number{display:block;margin-bottom:14px;color:var(--teal);font-size:.78rem;font-weight:900;letter-spacing:.16em}
.luxury-residence-types .card{min-height:210px;border:1px solid rgba(7,19,40,.1);background:linear-gradient(150deg,#fff,#f8fafc)}
.luxury-residence-types .card h3{margin-bottom:10px}
.scope-stack{display:grid;gap:16px;margin-top:22px}
.scope-stack>div{padding:18px 20px;border:1px solid rgba(7,19,40,.1);border-radius:18px;background:#fff}
.scope-stack h3{margin:0 0 8px;font-size:1.05rem}
.scope-stack p,.scope-stack ul{margin-bottom:0}
.process-premium .card{position:relative;padding-top:72px}
.process-premium .card>span{position:absolute;top:22px;left:24px;display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--navy);color:#fff;font-weight:900}
.luxury-service-card{grid-column:auto}
.luxury-service-card img{aspect-ratio:16/9}
@media(max-width:900px){
  .luxury-residence-hero .photo{min-height:0}
  .luxury-hero-actions{grid-template-columns:1fr;width:100%}
  .luxury-service-card{grid-column:auto}
}
@media(max-width:700px){
  .luxury-residence-hero .wrap{display:flex;flex-direction:column}
  .luxury-residence-hero figure.photo{width:100%;min-height:0;aspect-ratio:auto;margin:26px 0 0}
  .luxury-residence-hero h1{font-size:clamp(2.35rem,10vw,3.15rem)}
  .luxury-hero-promise{font-size:1.35rem}
  .luxury-hero-actions{grid-template-columns:1fr;gap:10px}
  .luxury-text-option{justify-content:center;width:100%}
  .luxury-proof{display:grid;grid-template-columns:1fr;width:100%}
  .luxury-proof span{border-radius:14px}
  .luxury-residence-types .card{min-height:0}
}

/* Conversion labels must remain fully readable at every width. A taller
   button is preferable to clipped phone numbers or hidden actions. */
.btn{max-width:100%;white-space:normal;text-align:center}
/* Final spatial QA: prominent text actions retain comfortable phone hit areas. */
.faq-hero-card a,
.faq-specialty-grid article > a,
.quote-text-fallback a,
.reviews-google-link a,
.contact-info-panel > a,
.text-link { display:inline-flex; align-items:center; min-height:44px; }

@media (max-width:760px) {
  .card p > a:not(.btn),
  .center > a[href="/faqs/"],
  .faq-a p > a,
  .note > a { display:inline-flex; align-items:center; min-height:44px; }
  .area-table a,
  .areas-table a,
  table a { min-width:44px; }
}

/* Density governance: preserve visual hierarchy without making customers
   scroll through oversized padding or deliberately empty cards. */
.pricing-plan{min-height:340px;padding:24px}
.priority-service{min-height:520px}
.contact-primary-action,.contact-secondary-action{min-height:310px;padding:28px}
.faq-hero{padding:60px 0}
.faq-section{padding:58px 0}
.faq-specialty-grid article{min-height:230px;padding:24px}

@media (max-width:980px){
  .contact-primary-action,.contact-secondary-action{min-height:280px}
}
@media (max-width:650px){
  .contact-primary-action,.contact-secondary-action{min-height:0;padding:22px}
  .priority-service{min-height:0}
  .pricing-plan{min-height:0;padding:23px}
  .faq-hero{padding:42px 0}
  .faq-section{padding:42px 0}
}
/* About page: concise customer outcome and scannable trust proof. */
.about-purpose-grid{align-items:center;gap:clamp(2rem,5vw,5rem)}
.about-purpose-copy{max-width:41rem}
.about-purpose-copy h2{max-width:18ch;margin-bottom:1rem}
.about-purpose-lead{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.7;color:var(--ink)}
.about-proof-list{list-style:none;margin:1.75rem 0 0;padding:0;display:grid;gap:.75rem}
.about-proof-list li{position:relative;padding:.85rem 1rem .85rem 3rem;border:1px solid rgba(7,16,31,.1);border-radius:14px;background:rgba(255,255,255,.72)}
.about-proof-list li::before{content:"✓";position:absolute;left:1rem;top:.85rem;color:#16a05d;font-weight:900}
.about-proof-list strong,.about-proof-list span{display:block}
.about-proof-list strong{font-size:1rem;color:var(--ink)}
.about-proof-list span{margin-top:.15rem;color:var(--muted);line-height:1.45}
.about-purpose-photo{margin:0;aspect-ratio:4/5;max-height:680px;background:#fff}
.about-purpose-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:700px){
  .about-purpose-grid{gap:1.75rem}
  .about-purpose-copy h2{max-width:none}
  .about-purpose-photo{order:-1;aspect-ratio:4/3;max-height:none}
  .about-purpose-photo img{object-position:center 42%}
}

/* Contact-page phone number must remain contained inside its action card at
   laptop and desktop widths, not collide with the neighboring text card. */
.contact-primary-action h2{font-size:clamp(2rem,2.8vw,2.45rem);letter-spacing:-.045em}
.contact-cta-hours{color:#b9c6d8;font-weight:700;letter-spacing:.01em;margin-top:18px}
@media(max-width:650px){
  .contact-primary-action h2{white-space:normal}
  .contact-cta-hours{max-width:26rem;margin-inline:auto;line-height:1.6}
}

/* Premium tactile control system — one elevation and press language across
   conversion, navigation, disclosure, and social controls. */
:root{
  --control-ease:cubic-bezier(.22,.8,.22,1);
  --control-shadow:0 2px 3px rgba(2,8,23,.10),0 9px 20px rgba(2,8,23,.13),inset 0 1px 0 rgba(255,255,255,.72);
  --control-shadow-raised:0 3px 5px rgba(2,8,23,.12),0 14px 29px rgba(2,8,23,.18),inset 0 1px 0 rgba(255,255,255,.82);
}
.btn{
  border:1px solid rgba(255,255,255,.36);
  box-shadow:var(--control-shadow);
  isolation:isolate;
  touch-action:manipulation;
  transition:transform 180ms var(--control-ease),box-shadow 180ms ease,filter 180ms ease,background 180ms ease,color 180ms ease,border-color 180ms ease;
}
.btn:hover{transform:translateY(-3px);box-shadow:var(--control-shadow-raised)}
.btn:active{transform:translateY(2px) scale(.985);box-shadow:0 1px 2px rgba(2,8,23,.16),inset 0 2px 5px rgba(2,8,23,.16)}
.btn-primary{border-color:rgba(255,255,255,.45);box-shadow:0 2px 3px rgba(111,31,0,.24),0 10px 24px rgba(255,106,0,.3),inset 0 1px 0 rgba(255,255,255,.55),inset 0 -3px 5px rgba(139,42,0,.16)}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 3px 5px rgba(111,31,0,.22),0 16px 34px rgba(255,106,0,.39),0 0 0 4px rgba(255,106,0,.11),inset 0 1px 0 rgba(255,255,255,.68)}
.btn-online,.btn-teal{border-color:rgba(255,255,255,.42);box-shadow:0 2px 3px rgba(0,80,86,.22),0 10px 24px rgba(8,145,153,.28),inset 0 1px 0 rgba(255,255,255,.58),inset 0 -3px 5px rgba(0,77,82,.14)}
.btn-ghost-dark,.btn-text-uniform{box-shadow:0 2px 3px rgba(2,8,23,.1),0 10px 22px rgba(2,8,23,.12),inset 0 1px 0 #fff,inset 0 -2px 4px rgba(2,8,23,.06)}

.menu-btn{
  position:relative;display:none;place-items:center;width:46px;height:46px;min-width:46px;min-height:46px;padding:0;
  border:1px solid rgba(8,118,126,.24);border-radius:15px;background:linear-gradient(145deg,#fff,#eaf8f8);
  color:#076f76;box-shadow:0 2px 3px rgba(2,8,23,.1),0 8px 18px rgba(8,118,126,.16),inset 0 1px 0 #fff,inset 0 -2px 4px rgba(5,80,85,.08);
  transition:transform 170ms var(--control-ease),box-shadow 170ms ease,background 170ms ease,color 170ms ease;
}
.menu-btn svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;pointer-events:none}
.menu-btn:hover,.menu-btn:focus-visible{color:#fff;background:linear-gradient(145deg,#20d8de,#078b94);transform:translateY(-2px);box-shadow:0 3px 4px rgba(0,72,78,.18),0 12px 25px rgba(0,155,163,.3),0 0 0 4px rgba(0,196,204,.11),inset 0 1px 0 rgba(255,255,255,.48)}
.menu-btn:active{transform:translateY(1px) scale(.96);box-shadow:0 1px 2px rgba(2,8,23,.16),inset 0 2px 5px rgba(0,70,75,.2)}
.menu-btn[aria-expanded="true"]{color:#fff;background:linear-gradient(145deg,#12334b,#061528);border-color:#061528;box-shadow:0 2px 3px rgba(2,8,23,.2),0 9px 20px rgba(2,8,23,.25),inset 0 1px 0 rgba(255,255,255,.18)}
@media(max-width:1260px){.menu-btn{display:grid}}

@media(max-width:520px){
  .m-call[href^="tel:"]{
    display:grid;grid-auto-flow:column;place-content:center;place-items:center;min-width:116px;padding:0 15px 0 13px;
    border:1px solid rgba(255,255,255,.5);box-shadow:0 2px 3px rgba(112,31,0,.22),0 9px 20px rgba(255,98,0,.32),inset 0 1px 0 rgba(255,255,255,.62),inset 0 -3px 5px rgba(129,37,0,.16);
  }
  .m-call[href^="tel:"]:hover,.m-call[href^="tel:"].touch-hover{transform:translateY(-2px);box-shadow:0 3px 4px rgba(112,31,0,.2),0 13px 27px rgba(255,98,0,.4),0 0 0 4px rgba(255,106,0,.11),inset 0 1px 0 rgba(255,255,255,.7)}
  .m-call[href^="tel:"]:active{transform:translateY(1px) scale(.975);box-shadow:0 1px 2px rgba(112,31,0,.24),inset 0 2px 5px rgba(112,31,0,.22)}
}

@media(max-width:1260px){
  .m-nav.open{gap:11px;padding-top:2px;background:linear-gradient(180deg,#fff,#f8fbfc)}
  .m-services-trigger,
  .m-nav>a:not(.m-nav-call):not(.m-nav-text),
  .m-services-panel .services-nav-group a,
  .m-services-all{
    border-radius:14px!important;box-shadow:0 2px 3px rgba(2,8,23,.08),0 7px 15px rgba(2,8,23,.1),inset 0 1px 0 rgba(255,255,255,.86),inset 0 -2px 4px rgba(2,8,23,.04);
    transition:transform 170ms var(--control-ease),box-shadow 170ms ease,background 170ms ease,border-color 170ms ease,color 170ms ease;
  }
  .m-services-trigger:hover,.m-services-trigger:focus-visible,
  .m-nav>a:not(.m-nav-call):not(.m-nav-text):hover,
  .m-nav>a:not(.m-nav-call):not(.m-nav-text):focus-visible,
  .m-services-panel .services-nav-group a:hover,
  .m-services-panel .services-nav-group a:focus-visible{
    transform:translateY(-2px);box-shadow:0 3px 4px rgba(2,8,23,.09),0 12px 23px rgba(0,143,151,.16),0 0 0 3px rgba(0,196,204,.1),inset 0 1px 0 #fff;
  }
  .m-services-trigger:active,
  .m-nav>a:not(.m-nav-call):not(.m-nav-text):active,
  .m-services-panel .services-nav-group a:active,
  .m-services-all:active{transform:translateY(1px) scale(.98);box-shadow:0 1px 2px rgba(2,8,23,.13),inset 0 2px 5px rgba(2,8,23,.12)}
  .m-nav .m-nav-call,.m-nav .m-nav-text{box-shadow:0 2px 3px rgba(2,8,23,.13),0 11px 25px rgba(2,8,23,.2),inset 0 1px 0 rgba(255,255,255,.66),inset 0 -3px 5px rgba(2,8,23,.14)}
  .m-nav .m-nav-socials .social{
    position:relative;min-height:52px;border:1px solid rgba(255,255,255,.3);border-radius:15px;
    box-shadow:0 2px 3px rgba(2,8,23,.18),0 9px 19px rgba(2,8,23,.2),inset 0 1px 0 rgba(255,255,255,.38),inset 0 -3px 5px rgba(0,0,0,.15);
  }
  .m-nav .m-nav-socials .social:hover,.m-nav .m-nav-socials .social:focus-visible{transform:translateY(-3px) scale(1.015)}
  .m-nav .m-nav-socials .social:active{transform:translateY(1px) scale(.97);box-shadow:0 1px 2px rgba(2,8,23,.2),inset 0 2px 5px rgba(0,0,0,.2)}
  .m-services-trigger.touch-hover{color:#076f76;border-color:#09aeb7;background:linear-gradient(145deg,#f1ffff,#fff);transform:translateY(-2px) scale(1.01);box-shadow:0 0 0 4px rgba(0,196,204,.12),0 12px 25px rgba(0,155,163,.24),inset 0 1px 0 #fff}
  .m-services-panel .services-nav-group a.touch-hover{color:rgb(var(--accent));border-color:rgba(var(--accent),.55);background:linear-gradient(100deg,rgba(var(--accent),.14),#fff 82%);transform:translateX(4px) translateY(-2px) scale(1.01);box-shadow:0 0 0 3px rgba(var(--accent),.1),0 12px 24px rgba(var(--accent),.2),inset 0 1px 0 #fff}
  .m-services-panel .services-nav-group a.touch-hover::before{width:5px;opacity:1;transform:scaleY(1)}
  .m-services-panel .services-nav-group a.touch-hover::after{color:#fff;background:rgb(var(--accent));opacity:1;transform:translate(0,-50%)}
  .m-nav .m-nav-socials .social.touch-hover{filter:brightness(1.12) saturate(1.12);transform:translateY(-3px) scale(1.035)}
  .m-nav .m-nav-socials .social.ig.touch-hover{box-shadow:0 0 0 4px rgba(214,41,118,.2),0 13px 27px rgba(214,41,118,.44),inset 0 1px 0 rgba(255,255,255,.48)}
  .m-nav .m-nav-socials .social.tt.touch-hover{box-shadow:-3px 0 11px rgba(37,244,238,.55),3px 3px 11px rgba(254,44,85,.5),0 13px 27px rgba(2,8,23,.35),inset 0 1px 0 rgba(255,255,255,.3)}
  .m-nav .m-nav-socials .social.li.touch-hover{box-shadow:0 0 0 4px rgba(10,102,194,.19),0 13px 27px rgba(10,102,194,.46),inset 0 1px 0 rgba(255,255,255,.4)}
  .m-nav .m-nav-socials .social.fb.touch-hover{box-shadow:0 0 0 4px rgba(24,119,242,.19),0 13px 27px rgba(24,119,242,.46),inset 0 1px 0 rgba(255,255,255,.4)}
}

.social,.ssoc{touch-action:manipulation;box-shadow:0 2px 3px rgba(2,8,23,.12),0 8px 17px rgba(2,8,23,.15),inset 0 1px 0 rgba(255,255,255,.58),inset 0 -2px 4px rgba(2,8,23,.1)}
.social:active,.ssoc:active{transform:translateY(1px) scale(.94);box-shadow:0 1px 2px rgba(2,8,23,.2),inset 0 2px 5px rgba(2,8,23,.2)}
.ssoc{width:32px;height:32px;border:1px solid rgba(255,255,255,.55)}
.ssoc svg{width:16px;height:16px}

@media(prefers-reduced-motion:reduce){
  .btn,.menu-btn,.m-call,.m-nav a,.m-services-trigger,.social,.ssoc{transition-duration:.001ms!important;animation:none!important}
}

/* Final cascade lock: later tactile enhancements inherit the same brand system. */
.services-nav-group a,
.m-services-panel .services-nav-group a { --accent: 0,139,148 !important; }
.services-nav-group a[data-priority="true"],
.m-services-panel .services-nav-group a[data-priority="true"] { --accent: 229,95,0 !important; }

a.btn[href="/booking/"],
a.btn[href^="/booking/#"],
.commercial-hero-actions .btn:last-child,
.airbnb-hero-actions .btn:last-child,
.construction-hero-actions .btn:last-child {
  color:#fff!important;
  border-color:#057a82!important;
  background:linear-gradient(135deg,#12c8d0 0%,#078b94 62%,#067a80 100%)!important;
  box-shadow:var(--sh-digital)!important;
}
a.btn[href="/booking/"]:hover,
a.btn[href^="/booking/#"]:hover,
.commercial-hero-actions .btn:last-child:hover,
.airbnb-hero-actions .btn:last-child:hover,
.construction-hero-actions .btn:last-child:hover {
  color:#fff!important;
  background:linear-gradient(135deg,#20d3da 0%,#07838b 64%,#05666d 100%)!important;
  transform:translateY(-3px) scale(1.015);
  box-shadow:0 3px 5px rgba(0,80,86,.2),0 16px 34px rgba(0,196,204,.27),0 0 0 4px rgba(0,196,204,.1),inset 0 1px 0 rgba(255,255,255,.55)!important;
}
a.btn[href="/booking/"]:active,
a.btn[href^="/booking/#"]:active,
.commercial-hero-actions .btn:last-child:active,
.airbnb-hero-actions .btn:last-child:active,
.construction-hero-actions .btn:last-child:active {
  transform:translateY(1px) scale(.975);
  box-shadow:0 2px 5px rgba(0,80,86,.22),inset 0 2px 5px rgba(0,50,54,.16)!important;
}

.card,
.price-card,
.choice-card,
.contact-card,
.commercial-icp-card,
.faq-specialty-grid article,
.faq-list .faq,
.pricing-table-card,
.check-value-path>div,
.quote-action,
.career-form-card {
  border-color:var(--line);
  border-radius:var(--r-m);
  box-shadow:var(--sh-1);
}
.card:hover,
.choice-card:hover,
.commercial-icp-card:hover,
.faq-specialty-grid article:hover { border-color:rgba(0,139,148,.42);box-shadow:var(--sh-2); }

@media(max-width:760px){
  .hero-ctas,
  .commercial-hero-actions,
  .airbnb-hero-actions,
  .construction-hero-actions,
  .recurring-hero-actions { display:grid;grid-template-columns:1fr;gap:10px; }
  .hero-ctas>.btn,
  .commercial-hero-actions>.btn,
  .airbnb-hero-actions>.btn,
  .construction-hero-actions>.btn,
  .recurring-hero-actions>.btn { width:100%;min-height:54px;padding-inline:18px; }
}
.booking-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:24px 0 10px}
.booking-trust>div,.booking-trust>a{display:flex;min-height:84px;flex-direction:column;justify-content:center;gap:4px;padding:14px 16px;border:1px solid rgba(7,19,40,.12);border-radius:16px;background:#fff;color:#071328;text-decoration:none;box-shadow:0 8px 22px rgba(7,19,40,.06)}
.booking-trust strong{font-size:.94rem;line-height:1.2}.booking-trust span{color:#52627a;font-size:.78rem;line-height:1.35}.booking-trust-rating strong{color:#b94b00}
.booking-trust>a:hover{border-color:#10a9ad;transform:translateY(-2px);box-shadow:0 12px 28px rgba(7,19,40,.1)}
.booking-trust>a:focus-visible{outline:3px solid #10a9ad;outline-offset:3px}
@media(max-width:760px){.booking-trust{grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.booking-trust>div,.booking-trust>a{min-height:92px;padding:13px}.booking-trust strong{font-size:.86rem}.booking-trust span{font-size:.72rem}}
@media(max-width:360px){.booking-trust{grid-template-columns:1fr}.booking-trust>div,.booking-trust>a{min-height:72px}}

@media(max-width:345px){
  .sec-sand .hero-ctas{width:100%;grid-template-columns:minmax(0,1fr)}
  .sec-sand .hero-ctas .btn{width:100%;min-width:0;white-space:normal;line-height:1.2;text-align:center}
}

/* Mobile legibility lock: conversion controls must read instantly without
   relying on tiny responsive type to make the layout fit. */
@media(max-width:760px){
  .btn,
  .btn-lg,
  .hero-call,
  .hero-book-online,
  .hero-call strong::after,
  .m-cta a,
  .hero-ctas:has(> :nth-child(3)) .btn { font-size:16px; }
  .hero-ctas .btn.num { padding-inline:18px;font-size:16px;white-space:normal; }
  .m-services-trigger,
  .m-nav>a,
  .m-services-panel .services-nav-group a strong,
  .m-services-all,
  .footer-group-toggle { font-size:16px; }
  .booking-frame-fallback a,
  .note a { font-size:15px; }
}

/* Custom-priced services stay visible on the pricing page without pretending
   a walkthrough or property-specific quote is a residential price plan. */
.custom-quote-services{margin-top:56px}.custom-quote-heading{max-width:720px;margin:0 auto 24px;text-align:center}.custom-quote-heading h2{margin:10px 0 12px;font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.04}.custom-quote-heading p{max-width:58ch;margin:0 auto;color:#536176;line-height:1.6}.custom-quote-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #d9e1e7;border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 12px 34px rgba(7,16,31,.07)}.custom-quote-list a{display:flex;flex-direction:column;min-height:330px;padding:26px;border-right:1px solid #d9e1e7;color:var(--ink);text-decoration:none;transition:background-color 180ms ease,box-shadow 180ms ease}.custom-quote-list a:last-child{border-right:0}.custom-quote-label{color:#087b83;font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.custom-quote-list h3{margin:15px 0 9px;font-size:1.35rem;line-height:1.15}.custom-quote-list p{margin:0;color:#536176;line-height:1.5}.custom-quote-list a>strong{margin-top:auto;padding-top:22px;border-top:1px solid #e6ebef;color:#607087;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}.custom-quote-list b{display:flex;align-items:center;min-height:44px;margin-top:8px;color:#a84000;font-size:.92rem;transition:transform 180ms ease}.custom-quote-list a:hover,.custom-quote-list a:focus-visible{background:#fbfcfc;box-shadow:inset 0 4px 0 var(--teal)}.custom-quote-list a:hover b,.custom-quote-list a:focus-visible b{transform:translateX(3px)}.custom-quote-list a:focus-visible{z-index:1;outline:3px solid rgba(0,184,196,.24);outline-offset:-3px}@media(max-width:1000px){.custom-quote-list{grid-template-columns:1fr 1fr}.custom-quote-list a{min-height:290px;border-bottom:1px solid #d9e1e7}.custom-quote-list a:nth-child(2){border-right:0}.custom-quote-list a:nth-child(3),.custom-quote-list a:nth-child(4){border-bottom:0}}@media(max-width:620px){.custom-quote-services{margin-top:36px}.custom-quote-heading{text-align:left}.custom-quote-list{grid-template-columns:1fr}.custom-quote-list a{min-height:0;padding:22px 20px;border-right:0;border-bottom:1px solid #d9e1e7!important}.custom-quote-list a:last-child{border-bottom:0!important}.custom-quote-list a>strong{margin-top:18px;padding-top:16px}.custom-quote-list h3{margin-top:10px}}

/* Recurring-first Scottsdale editorial layout */
.seo-reading p,.seo-reading li{line-height:1.75}.seo-reading h2{margin-bottom:1rem}.seo-reading h3{margin-top:1.5rem}.seo-reading p+ p{margin-top:1rem}.seo-reading ul{padding-left:1.5rem}.seo-quote{margin:1.5rem 0;flex-wrap:wrap}.seo-reading h1{max-width:22ch}.neighborhood-nav{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.5rem 0 2rem}.neighborhood-nav a{display:flex;align-items:center;min-height:44px;padding:.55rem .8rem;border:1px solid currentColor;border-radius:8px;font-size:.9rem}.neighborhood-cards h3{margin-top:0}.neighborhood-cards .card{min-width:0}.scottsdale-copy .faq{margin-bottom:.6rem}@media(max-width:600px){.seo-quote .btn{width:100%;white-space:normal}.seo-reading h1{font-size:clamp(2rem,9vw,3rem)}}

/* Direct location discovery, shared across all pages. */
.areas-nav { position: relative; }
.areas-nav > summary { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:44px; padding:8px 2px; cursor:pointer; list-style:none; font-size:.93rem; font-weight:700; color:var(--ink); white-space:nowrap; }
.areas-nav > summary::-webkit-details-marker { display:none; }
.areas-nav > summary:hover,.areas-nav[open] > summary { color:var(--orange-d); }
.areas-nav > summary:focus-visible { outline:3px solid var(--teal-ink); outline-offset:3px; border-radius:4px; }
.areas-chevron { transition:transform 160ms ease; }
.areas-nav[open] > summary .areas-chevron { transform:rotate(180deg); }
.areas-panel { position:absolute; top:calc(100% + 8px); right:-24px; width:440px; padding:16px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 16px 40px rgba(7,16,31,.16); max-height:calc(100dvh - 140px); overflow:auto; }
.areas-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.areas-nav .areas-panel a { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:48px; padding:12px; border-radius:8px; font-size:15px; line-height:1.4; white-space:normal; color:var(--ink); text-decoration:none; border:1px solid transparent; }
.areas-nav .areas-panel a::after { display:none; }
.areas-panel a span { color:var(--teal-ink); flex-shrink:0; }
.areas-nav .areas-panel .area-primary { background:#edf8f8; font-weight:800; }
.areas-nav .areas-panel a:hover,.areas-nav .areas-panel a:focus-visible { background:#edf8f8; border-color:var(--teal-ink); outline-offset:2px; }
.areas-nav .areas-panel a:active { background:#d8eeee; }
.areas-nav .areas-panel a[aria-current="page"] { border-color:var(--teal-ink); }
.areas-nav .areas-panel .areas-all { margin-top:12px; border-top:1px solid var(--line); border-radius:0; padding-top:16px; font-weight:800; }
.areas-nav-mobile { grid-column:1/-1; width:100%; }
.areas-nav-mobile > summary { min-height:52px; padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:#fff; font-size:1rem; }
.areas-nav-mobile .areas-panel { position:static; width:auto; margin-top:8px; padding:8px; box-shadow:none; max-height:none; }
.areas-nav-mobile .areas-panel a { box-shadow:none; transform:none; margin:0; }
.area-directory { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:24px; }
.area-directory a { display:flex; flex-direction:column; gap:6px; padding:22px 24px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); text-decoration:none; }
.area-directory strong { font-size:1.1rem; }
.area-directory span { color:var(--ink-2); font-size:15px; }
.area-directory a:hover,.area-directory a:focus-visible { border-color:var(--teal-ink); background:#f0fafa; }
.area-directory a:active { background:#d8eeee; }
.directory-jumps { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.directory-jumps a { display:flex; align-items:center; min-height:44px; padding:8px 16px; border:1px solid var(--line); border-radius:8px; color:var(--teal-ink); font-weight:700; }
.directory-section { scroll-margin-top:110px; }
@media(max-width:820px) { .area-directory { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) { .area-directory { grid-template-columns:1fr; } .areas-nav-mobile .areas-links { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .areas-chevron { transition:none; } }
@media(min-width:1101px) {
  .nav { gap:18px; }
  .nav-links { gap:18px; }
  .nav-cta { flex-shrink:0; gap:8px; }
  .nav-cta .btn { white-space:nowrap; padding:12px 16px; }
}

/* Short callback request on the booking page. */
.callback-card { margin-top:32px; scroll-margin-top:120px; }
.callback-card h2 { font-size:clamp(1.5rem,3vw,2.1rem); line-height:1.2; }
.callback-card .callback-tool-link { margin-top:24px; margin-bottom:0; }
.callback-card .callback-tool-link a { display:inline-block; padding:10px 0; }
.callback-card [hidden] { display:none!important; }
.callback-card input, .callback-card select { font-size:16px; }

.callback-page .m-cta { display:none!important; }
