:root {
  --navy: #0b0d0f;
  --accent: #c8ff00;
  --surface: #f6f7f3;
  --text: #171a1c;
  --white: #fff;
  --muted: #655f69;
  --line: #ddd8d1;
  --danger: #e95745;
  --success: #166534;
  --font-display: "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif;
  --font-body: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --radius: 1.1rem;
  --shadow: 0 18px 45px rgba(8, 26, 47, .1);
  --page: 1200px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--text); background: var(--white); font-family: var(--font-body); line-height: 1.6; -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
button, input, textarea, select { font: inherit; }
button, [type="submit"] { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3, .brand-name { color: var(--navy); font-family: var(--font-display); line-height: 1.08; letter-spacing: -.04em; }
h1 { font-size: clamp(2.5rem, 7vw, 5.4rem); }
h2 { font-size: clamp(2rem, 4vw, 3.4rem); }
h3 { font-size: clamp(1.15rem, 2vw, 1.5rem); }
p:last-child { margin-bottom: 0; }
[hidden] { display: none !important; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }

:focus-visible { outline: 3px solid #f97316; outline-offset: 3px; border-radius: .2rem; }
.skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 9999; transform: translateY(-180%); background: var(--white); color: var(--navy); padding: .75rem 1rem; border-radius: .5rem; font-weight: 800; }
.skip-link:focus { transform: none; }
.page-width { width: min(calc(100% - 2rem), var(--page)); margin-inline: auto; }
.section { padding: clamp(4rem, 8vw, 7.5rem) 0; }
.section-tight { padding: clamp(2.75rem, 5vw, 4.5rem) 0; }
.section-surface { background: var(--surface); }
.section-navy { color: var(--white); background: var(--navy); }
.section-navy h1, .section-navy h2, .section-navy h3 { color: var(--white); }
.section-header { max-width: 48rem; margin-bottom: 2.5rem; }
.section-header.center { margin-inline: auto; text-align: center; }
.eyebrow { margin-bottom: .85rem; color: #476074; font-size: .78rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.section-navy .eyebrow { color: var(--accent); }
.lede { max-width: 42rem; font-size: clamp(1.08rem, 2vw, 1.3rem); color: var(--muted); }
.section-navy .lede { color: #cbd5e1; }
.section-navy .privacy-note, .split-callout .privacy-note { color: #cbd5e1; }
.muted { color: var(--muted); }
.kicker { display: inline-flex; align-items: center; gap: .55rem; margin-bottom: 1rem; padding: .35rem .7rem; border: 1px solid rgba(200,255,0,.5); border-radius: 999px; color: var(--accent); font-size: .8rem; font-weight: 800; }
.grid-2 { display: grid; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem; }
.card { padding: clamp(1.25rem, 3vw, 2rem); background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 8px 20px rgba(8, 26, 47, .04); }
.card p { color: var(--muted); }
.icon-tile { display: grid; place-items: center; width: 2.8rem; height: 2.8rem; margin-bottom: 1rem; border-radius: .8rem; background: var(--accent); color: var(--navy); font-weight: 900; }
.button { display: inline-flex; min-height: 3.25rem; align-items: center; justify-content: center; gap: .5rem; padding: .8rem 1.2rem; border: 2px solid var(--accent); border-radius: .75rem; background: var(--accent); color: var(--navy); font-weight: 850; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 9px 22px rgba(200,255,0,.24); }
.button-secondary { border-color: currentColor; background: transparent; color: inherit; }
.button-small { min-height: 2.75rem; padding: .55rem .9rem; }
.button-row { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.text-link { font-weight: 750; }
.pill { display: inline-flex; padding: .25rem .6rem; border-radius: 999px; background: #e2f8eb; color: #1e5238; font-size: .78rem; font-weight: 850; }
.pricing-intro { max-width: 52rem; }
.pricing-table-wrap { margin: 2rem 0 1.25rem; overflow-x: auto; border: 1px solid var(--line); border-radius: 1rem; background: var(--white); box-shadow: var(--shadow); }
.pricing-table { width: 100%; min-width: 42rem; border-collapse: collapse; }
.pricing-table th, .pricing-table td { padding: 1rem 1.2rem; border-bottom: 1px solid var(--line); text-align: right; }
.pricing-table th:first-child, .pricing-table td:first-child { text-align: left; }
.pricing-table thead { background: var(--navy); color: var(--white); }
.pricing-table tbody td:not(:first-child) { color: #4f6500; font-size: 1.05rem; font-weight: 900; }
.pricing-explainer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1rem 0; }
.pricing-explainer-grid .card { padding: 1.5rem; }
.pricing-explainer-grid h2 { margin: 1rem 0 .5rem; }
.pricing-disclosure { max-width: 58rem; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.pricing-call { color: var(--navy); }

.announcement { padding: .4rem 0; background: var(--accent); color: var(--navy); text-align: center; font-size: .85rem; font-weight: 800; }
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.header-inner { display: flex; min-height: 4.75rem; align-items: center; justify-content: space-between; gap: 1rem; }
.brand { display: inline-flex; align-items: center; gap: .7rem; font-weight: 900; text-decoration: none; }
.brand img { width: auto; max-height: 3.1rem; }
.brand-mark { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: .9rem; background: var(--accent); box-shadow: 0 7px 18px rgba(11,13,15,.14); font-size: .86rem; letter-spacing: -.03em; }
.brand-mark-svg svg { width: 2.45rem; height: 2.45rem; overflow: visible; }
.brand-mark-svg .cts-house { fill: var(--surface); stroke: var(--navy); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; }
.brand-mark-svg .cts-sofa { fill: white; }
.brand-mark-svg .cts-sofa-line { fill: none; stroke: var(--navy); stroke-width: 2.5; stroke-linecap: round; }
.brand-mark-svg .cts-arrow { fill: var(--danger); stroke: var(--navy); stroke-width: 2.5; stroke-linejoin: round; }
.brand-name { color: var(--navy); line-height: 1.05; }
.brand-name b { font-weight: 950; }
.brand-name em { color: #4f6500; font-style: normal; font-weight: 800; }
.brand-name small { display: block; margin-top: .3rem; color: var(--muted); font-family: var(--font-body); font-size: .54rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.nav-list, .header-actions, .footer-grid ul { display: flex; align-items: center; gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.desktop-nav a { font-size: .94rem; font-weight: 700; text-decoration: none; }
.desktop-nav a:hover, .desktop-nav a[aria-current="page"] { text-decoration: underline; }
.mobile-menu { position: relative; display: none; }
.mobile-menu summary { display: grid; width: 2.8rem; height: 2.8rem; place-content: center; gap: .25rem; border: 1px solid var(--line); border-radius: .65rem; list-style: none; }
.mobile-menu summary::-webkit-details-marker { display: none; }
.mobile-menu summary span { display: block; width: 1.25rem; height: 2px; background: var(--navy); }
.mobile-menu nav { position: absolute; top: calc(100% + .7rem); right: 0; width: min(19rem, calc(100vw - 2rem)); padding: .8rem; background: var(--white); border: 1px solid var(--line); border-radius: .8rem; box-shadow: var(--shadow); }
.mobile-menu ul { margin: 0; padding: 0; list-style: none; }
.mobile-menu a { display: block; padding: .7rem; border-radius: .5rem; font-weight: 750; text-decoration: none; }
.mobile-menu a:hover { background: var(--surface); }

.hero { overflow: hidden; padding: clamp(4.5rem, 9vw, 8rem) 0; background: var(--navy); color: var(--white); }
.hero-grid { display: grid; gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.hero h1 { max-width: 14ch; color: var(--white); }
.hero .lede { color: #d8e1ea; }
.hero-notes { display: flex; flex-wrap: wrap; gap: .65rem 1.2rem; margin: 1.3rem 0 0; padding: 0; color: #d8e1ea; list-style: none; font-size: .9rem; }
.hero-notes li::before { content: "✓"; margin-right: .4rem; color: var(--accent); font-weight: 900; }
.hero-panel { padding: clamp(1.25rem, 4vw, 2.2rem); border: 1px solid rgba(255,255,255,.16); border-radius: 1.4rem; background: rgba(255,255,255,.07); box-shadow: 0 30px 80px rgba(0,0,0,.25); }
.hero-panel h2 { font-size: 1.5rem; }
.hero-photo-panel { position: relative; min-height: 32rem; overflow: hidden; padding: 0; }
.hero-photo-panel > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
.hero-photo-copy { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; display: grid; gap: .55rem; padding: 1rem; border-radius: .8rem; background: rgba(11,13,15,.9); }
.hero-photo-copy strong { font-size: 1.15rem; }
.photo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; margin: 1rem 0; }
.photo-placeholder { display: grid; aspect-ratio: 1; place-items: center; border: 1px dashed rgba(255,255,255,.35); border-radius: .65rem; color: #d8e1ea; font-size: .75rem; }
.demo-output { padding: 1rem; border-radius: .75rem; background: var(--white); color: var(--text); }
.demo-output strong { color: var(--navy); }

.numbered-card { position: relative; padding-top: 4rem; }
.numbered-card .step-number { position: absolute; top: 1.25rem; left: 1.25rem; color: #82909f; font-size: .8rem; font-weight: 900; letter-spacing: .12em; }
.service-card { display: flex; min-height: 100%; overflow: hidden; flex-direction: column; }
.service-card .service-photo { width: calc(100% + 4rem); max-width: none; height: 12rem; margin: -2rem -2rem 1.25rem; object-fit: cover; }
.service-card:nth-child(2) .service-photo { object-position: center 58%; }
.service-card:nth-child(3) .service-photo { object-position: center 35%; }
.service-card .button-link { margin-top: auto; padding-top: .5rem; font-weight: 800; }
.neighborhood-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.neighborhood-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); }
.neighborhood-card > img { width: 100%; height: 16rem; object-fit: cover; }
.neighborhood-card:first-child > img { object-position: center 34%; }
.neighborhood-card:nth-child(3) > img { object-position: center 48%; }
.neighborhood-card > div { display: grid; gap: .45rem; padding: 1.25rem; }
.neighborhood-card strong { color: var(--navy); font-size: 1.12rem; }
.neighborhood-card span { color: var(--muted); font-size: .88rem; }
.neighborhood-card a { color: #513672; font-size: .75rem; font-weight: 800; }
.split-callout { display: grid; gap: 1.5rem; padding: clamp(1.5rem, 5vw, 3rem); border-radius: 1.4rem; background: var(--navy); color: var(--white); }
.split-callout h2, .split-callout h3 { color: var(--white); }
.check-list { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.check-list li { display: grid; grid-template-columns: 1.3rem 1fr; gap: .6rem; }
.check-list li::before { content: "✓"; color: var(--accent); font-weight: 900; }

.zip-card { max-width: 52rem; margin-inline: auto; padding: clamp(1.5rem, 5vw, 3rem); border-radius: 1.4rem; background: var(--white); box-shadow: var(--shadow); text-align: center; }
.zip-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .7rem; max-width: 34rem; margin: 1.5rem auto .8rem; text-align: left; }
.field { display: grid; gap: .45rem; }
.field label { color: var(--navy); font-weight: 800; }
.field input, .field textarea, .field select, .zip-form input { width: 100%; min-height: 3.25rem; padding: .75rem .9rem; border: 1px solid #9aa7b5; border-radius: .65rem; background: var(--white); color: var(--text); }
.field textarea { min-height: 10rem; resize: vertical; }
[aria-invalid="true"] { border-color: var(--danger) !important; box-shadow: 0 0 0 2px rgba(180,35,24,.18); }
.form-error { margin: .35rem 0 0; color: var(--danger); font-weight: 750; }
.form-success { padding: 1rem; border-radius: .7rem; background: #dcfce7; color: var(--success); font-weight: 750; }
.form-grid { display: grid; gap: 1rem; }
.privacy-note { color: var(--muted); font-size: .84rem; }

.ai-chat { max-width: 44rem; padding: 1rem; border: 1px solid var(--line); border-radius: 1.2rem; background: var(--white); box-shadow: var(--shadow); }
.ai-label { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-bottom: .75rem; border-bottom: 1px solid var(--line); font-weight: 850; }
.chat-bubble { max-width: 85%; margin-top: .9rem; padding: .75rem .9rem; border-radius: .8rem; background: var(--surface); }
.chat-bubble.customer { margin-left: auto; background: var(--navy); color: var(--white); }
.example-note { margin-top: 1rem; color: var(--muted); font-size: .82rem; }
.price-lock-diagram { display: grid; gap: .8rem; }
.price-node { padding: 1rem; border-left: 4px solid var(--accent); border-radius: .5rem; background: rgba(255,255,255,.08); }
.price-node strong { display: block; color: var(--white); }

.faq-list { max-width: 52rem; margin-inline: auto; border-top: 1px solid var(--line); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { display: flex; min-height: 3.8rem; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 0; color: var(--navy); font-weight: 850; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; font-size: 1.5rem; }
.faq-list details[open] summary::after { content: "–"; }
.faq-answer { padding: 0 0 1.2rem; color: var(--muted); }

.page-hero { padding: clamp(3.25rem, 7vw, 6rem) 0; background: var(--surface); }
.page-hero h1 { max-width: 18ch; margin-bottom: .8rem; font-size: clamp(2.3rem, 6vw, 4.4rem); }
.rte { max-width: 48rem; }
.rte > * + * { margin-top: 1.2rem; }
.rte h2, .rte h3 { margin-top: 2.2rem; }
.rte a { color: #135e96; }
.rte table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.rte th, .rte td { padding: .7rem; border: 1px solid var(--line); text-align: left; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; color: var(--muted); font-size: .85rem; }
.empty-state { max-width: 46rem; margin-inline: auto; padding: clamp(2rem, 6vw, 4rem); border: 1px dashed #9aa7b5; border-radius: 1.2rem; text-align: center; }
.empty-state .icon-tile { margin-inline: auto; }
.secure-notice { padding: 1rem 1.2rem; border-left: 4px solid var(--accent); border-radius: .4rem; background: var(--surface); }
.contact-layout { display: grid; gap: 2rem; }

.site-footer { padding: 4rem 0 1.5rem; background: var(--navy); color: #d8e1ea; }
.site-footer a { color: inherit; }
.site-footer .brand-name, .site-footer h2 { color: var(--white); }
.site-footer .brand-mark-svg .cts-house { stroke: var(--white); }
.site-footer .brand-name small { color: #d8e1ea; }
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.2fr; gap: 2rem; }
.footer-grid ul { display: grid; gap: .55rem; }
.footer-heading { margin-bottom: 1rem; font-size: 1rem; letter-spacing: 0; }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.15); color: #aebdca; }

@media (min-width: 760px) {
  .grid-2, .hero-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .split-callout { grid-template-columns: 1.1fr .9fr; align-items: center; }
  .contact-layout { grid-template-columns: .75fr 1.25fr; }
}

@media (max-width: 980px) {
  .desktop-nav, .desktop-only { display: none; }
  .mobile-menu { display: block; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .neighborhood-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .pricing-explainer-grid { grid-template-columns: 1fr; }
  .page-width { width: min(calc(100% - 1.25rem), var(--page)); }
  .brand-name { display: none; }
  .header-phone { display: none; }
  .header-actions { gap: .45rem; }
  .header-actions .button { display: inline-flex; min-height: 2.65rem; padding: .5rem .72rem; font-size: .76rem; }
  .zip-form { grid-template-columns: 1fr; }
  .zip-form .button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; }
  .neighborhood-grid { grid-template-columns: 1fr; }
  .service-card .service-photo { width: calc(100% + 2.5rem); margin: -1.25rem -1.25rem 1.25rem; }
  .hero-photo-panel { min-height: 25rem; }
  .footer-bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Trust, careers, rewards, and acquisition components */
.trust-bar { background: #fffaf0; border-bottom: 1px solid #eadfc8; }
.trust-layout { display: grid; gap: 1.25rem; }
.trust-rating { display: flex; align-items: center; gap: 1rem; }
.trust-rating strong { display: block; color: var(--navy); font-size: 1.05rem; }
.trust-rating p { margin: .2rem 0 0; color: var(--muted); font-size: .88rem; }
.gold-stars { color: #d99b00; font-size: 1.55rem; font-weight: 900; letter-spacing: .08em; line-height: 1; text-shadow: 0 1px 0 #7a5600; }
.trust-ribbons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.trust-ribbon { display: flex; align-items: center; gap: .65rem; min-height: 4.4rem; padding: .85rem 1rem; border: 1px solid #e5d7b6; border-radius: .9rem; background: var(--white); box-shadow: 0 7px 18px rgba(11,13,15,.06); }
.trust-ribbon strong { display: block; color: var(--navy); font-size: .88rem; }
.trust-ribbon small { display: block; margin-top: .15rem; color: var(--muted); font-size: .72rem; line-height: 1.35; }
.ribbon-check { display: grid; flex: 0 0 2rem; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; background: #fff3c4; color: #7a5600; font-weight: 950; }
.trust-terms { margin: 0; font-size: .78rem; }
.review-stars { margin: .75rem 0 1rem; }
.footer-hiring { display: inline-flex; margin-left: .35rem; padding: .1rem .35rem; border-radius: 999px; background: var(--accent); color: var(--navy); font-size: .62rem; font-weight: 900; text-transform: uppercase; }
.hiring-badge { display: inline-flex; margin-top: .5rem; padding: .45rem .75rem; border-radius: 999px; background: #dcfce7; color: #166534; font-weight: 850; }
.careers-promise h2 { font-size: 1.6rem; }
.career-card { display: flex; min-height: 100%; flex-direction: column; }
.career-card .pill { align-self: flex-start; }
.career-card .text-link { margin-top: auto; padding-top: .75rem; }
.career-requirements { font-size: .9rem; }
.reward-card { padding: clamp(1.5rem, 5vw, 3rem); border-radius: 1.4rem; background: var(--navy); color: var(--white); box-shadow: var(--shadow); }
.reward-card strong { display: block; margin: 1rem 0 .5rem; font-size: 1.5rem; }
.reward-card p { color: #d8e1ea; }
.reward-step { position: relative; padding-top: 4rem; }
.reward-number { position: absolute; top: 1.2rem; left: 1.2rem; color: #747b70; font-weight: 950; letter-spacing: .12em; }
.rewards-note { margin-top: 1.25rem; border-left: 4px solid #d99b00; }
.offer-open { overflow: hidden; }
.offer-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 1rem; }
.offer-backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(18,10,31,.72); cursor: default; }
.offer-card { position: relative; width: min(100%, 31rem); max-height: min(90vh, 46rem); overflow: auto; padding: clamp(1.5rem, 5vw, 2.4rem); border: 1px solid #eadfc8; border-radius: 1.25rem; background: var(--white); box-shadow: 0 30px 90px rgba(0,0,0,.35); }
.offer-card h2 { margin-bottom: .75rem; font-size: clamp(2rem, 7vw, 3.1rem); }
.offer-stars { margin-bottom: .9rem; }
.offer-close { position: absolute; top: .7rem; right: .7rem; display: grid; width: 2.5rem; height: 2.5rem; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--white); color: var(--navy); font-size: 1.5rem; }
.offer-code-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1.25rem 0 .75rem; padding: .75rem; border: 2px dashed #d99b00; border-radius: .8rem; background: #fffaf0; }
.offer-code-row span { display: grid; }
.offer-code-row small { color: var(--muted); font-size: .72rem; text-transform: uppercase; }
.offer-code-row strong { color: var(--navy); font-size: 1.25rem; letter-spacing: .08em; }
.offer-claim { width: 100%; }

@media (min-width: 900px) {
  .trust-layout { grid-template-columns: .9fr 2.1fr; align-items: center; }
  .trust-terms { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .trust-ribbons { grid-template-columns: 1fr; }
  .offer-code-row { align-items: stretch; flex-direction: column; }
  .offer-code-row .button { width: 100%; }
}


.quote-intake-card{max-width:900px;margin-inline:auto}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;text-align:left}.form-span{grid-column:1/-1}.quote-intake-form label{display:block;font-weight:700;margin-bottom:.35rem}.quote-intake-form input,.quote-intake-form select,.quote-intake-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(11,13,15,.2);border-radius:12px;padding:.85rem 1rem;background:#fff;color:var(--text);font:inherit}.quote-intake-form textarea{resize:vertical}.quote-intake-form [disabled]{opacity:.65;cursor:wait}.quote-success{margin-top:1.25rem;padding:1rem;border-radius:14px;background:rgba(200,255,0,.25);text-align:left}.quote-success strong{font-size:1.15rem}@media(max-width:680px){.form-grid{grid-template-columns:1fr}.form-span{grid-column:auto}}

/* Turnkey v2 additions */
section[id] { scroll-margin-top: 7rem; }
.quote-wizard-section { overflow: clip; }
.quote-shell { max-width: 58rem; margin-inline: auto; border: 1px solid var(--line); border-radius: 1.35rem; background: var(--white); box-shadow: var(--shadow); overflow: hidden; }
.quote-progress { padding: 1.15rem clamp(1rem, 4vw, 2rem); border-bottom: 1px solid var(--line); background: #fff; }
.quote-progress p { display: flex; justify-content: space-between; gap: 1rem; margin: .55rem 0 0; color: var(--muted); font-size: .85rem; }
.quote-progress strong { color: var(--navy); }
.quote-progress-bar { height: .5rem; overflow: hidden; border-radius: 999px; background: #e8ece3; }
.quote-progress-bar span { display: block; width: 20%; height: 100%; border-radius: inherit; background: var(--accent); transition: width .25s ease; }
.quote-step { padding: clamp(1.25rem, 4vw, 2.5rem); }
.quote-step-heading { display: flex; align-items: flex-start; gap: .9rem; margin-bottom: 1.5rem; }
.quote-step-heading h3 { margin-bottom: .35rem; font-size: clamp(1.45rem, 3vw, 2rem); }
.quote-step-heading p { margin: 0; color: var(--muted); }
.step-chip { display: grid; flex: 0 0 2.35rem; width: 2.35rem; height: 2.35rem; place-items: center; border-radius: 50%; background: var(--navy); color: var(--white); font-weight: 900; }
.form-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-span { grid-column: 1 / -1; }
.field small { display: block; color: var(--muted); font-size: .76rem; }
.field-status-good { color: var(--success) !important; font-weight: 750; }
.choice-grid { display: grid; gap: .75rem; }
.choice-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.load-choice-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.choice-card { position: relative; display: block; cursor: pointer; }
.choice-card input { position: absolute; opacity: 0; pointer-events: none; }
.choice-card span { display: block; min-height: 100%; padding: 1rem; border: 2px solid var(--line); border-radius: .85rem; background: #fff; transition: border .15s ease, box-shadow .15s ease, transform .15s ease; }
.choice-card strong, .choice-card small { display: block; }
.choice-card strong { color: var(--navy); }
.choice-card small { margin-top: .25rem; color: var(--muted); font-size: .78rem; }
.choice-card input:checked + span { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(200,255,0,.55); transform: translateY(-1px); }
.choice-card input:focus-visible + span { outline: 3px solid #f97316; outline-offset: 2px; }
.item-picker { display: flex; flex-wrap: wrap; gap: .5rem; }
.item-chip { min-height: 2.65rem; padding: .55rem .8rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--navy); font-weight: 750; }
.item-chip[aria-pressed="true"] { border-color: var(--navy); background: #e2f8eb; }
.check-field { display: flex; align-items: flex-start; gap: .7rem; color: var(--text); font-weight: 650; }
.check-field input { width: 1.2rem; height: 1.2rem; margin-top: .2rem; accent-color: var(--navy); }
.photo-preview-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .55rem; margin-top: .75rem; }
.photo-preview { min-width: 0; }
.photo-preview img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: .65rem; border: 1px solid var(--line); }
.photo-preview small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.review-card { margin: 1.5rem 0; padding: 1.2rem; border: 1px solid var(--line); border-radius: .9rem; background: var(--surface); }
.review-card h3 { margin-bottom: .75rem; font-size: 1.2rem; }
.review-card ul { display: grid; gap: .45rem; margin: 0 0 1rem; padding-left: 1.2rem; }
.terms-check { margin-top: 1rem; }
.quote-actions { display: flex; justify-content: space-between; gap: .75rem; padding: 0 clamp(1.25rem, 4vw, 2.5rem) clamp(1.25rem, 4vw, 2.5rem); }
.quote-global-error { margin: 0 clamp(1.25rem, 4vw, 2.5rem) 1rem; padding: 1rem; border-radius: .7rem; background: #fff1f0; }
.quote-success { padding: clamp(2rem, 6vw, 4rem); text-align: center; }
.quote-success h3 { font-size: 2rem; }
.quote-success .button-row { justify-content: center; }
.success-icon { display: grid; width: 4rem; height: 4rem; margin: 0 auto 1rem; place-items: center; border-radius: 50%; background: #dcfce7; color: var(--success); font-size: 2rem; font-weight: 950; }
.pricing-principles { margin-bottom: 1rem; }
.pricing-promise-banner { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-top: 1.25rem; padding: 1.4rem; border-radius: 1rem; background: var(--navy); color: #fff; }
.pricing-promise-banner strong { display: block; color: #fff; font-size: 1.15rem; }
.pricing-promise-banner p { margin: .25rem 0 0; color: #d8e1ea; }
.compact-empty { margin-top: 1.5rem; padding: 1.5rem; }
.reward-card hr { border: 0; border-top: 1px solid rgba(255,255,255,.2); margin: 1.3rem 0; }
.offer-code-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 1rem 0; padding: .75rem 1rem; border: 1px dashed var(--line); border-radius: .7rem; background: var(--surface); }
.offer-code-row code { color: var(--navy); font-size: 1.1rem; font-weight: 900; }
.button[disabled] { opacity: .55; cursor: wait; transform: none; }
@media (max-width: 760px) {
  .form-grid-2, .choice-grid-2, .load-choice-grid { grid-template-columns: 1fr; }
  .photo-preview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pricing-promise-banner { align-items: stretch; flex-direction: column; }
  .quote-progress p { flex-direction: column; gap: .1rem; }
}

/* Request status lookup */
.status-result{padding:18px;border:1px solid rgba(11,31,51,.14);border-radius:16px;background:#fff}
.status-result h3{margin:0 0 8px}
.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:6px 10px;background:rgba(183,243,74,.25);font-weight:800;font-size:.84rem;text-transform:capitalize}
.status-result dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 14px;margin:16px 0 0}.status-result dt{font-weight:800}.status-result dd{margin:0}
@media(max-width:640px){.status-result dl{grid-template-columns:1fr;gap:3px}.status-result dd{margin-bottom:8px}}

/* 2→0 TRASH v2.6 — integrated Catalyst + secure recruiting */
.portal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.portal-card{display:flex;min-height:100%;flex-direction:column}.portal-card .button,.portal-card button{margin-top:auto}.portal-icon{display:grid;width:2.8rem;height:2.8rem;margin-bottom:1rem;place-items:center;border-radius:.8rem;background:var(--navy);color:#fff;font-weight:950}.portal-card-primary{border-top:4px solid var(--accent)}.portal-card-admin{border-top:4px solid #f97316}.portal-card-finance{border-top:4px solid #c99728}.portal-card-recruiting{border-top:4px solid #7c3aed}.portal-security-card h2{font-size:1.65rem}.portal-setup-note{margin-top:1.5rem}.career-application-form{grid-template-columns:repeat(2,minmax(0,1fr))}.career-checkboxes{display:grid;gap:.75rem}.career-success{padding:1rem;border-radius:.85rem;background:#ecfdf5;border:1px solid #a7f3d0}.career-success p{margin:.35rem 0}.career-success code{font-weight:900}.honeypot-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.policy-copy{max-width:56rem}.policy-copy h2{margin-top:0}.policy-copy h3{margin-top:1.65rem}.policy-copy li{margin:.35rem 0}.policy-layout{max-width:70rem}.brand-name small{letter-spacing:.06em;text-transform:uppercase}.brand-mark{min-width:2.8rem}
@media(max-width:900px){.portal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.portal-grid,.career-application-form{grid-template-columns:1fr}.career-application-form .form-span{grid-column:auto}}

/* 2→0 TRASH wordmark */
.zero-mark{font-family:var(--font-display);font-weight:950;font-size:.78rem;letter-spacing:-.07em;white-space:nowrap}.site-header .zero-mark{color:var(--navy)}.site-footer .zero-mark{color:var(--navy)}

/* =========================================================
   2→0 TRASH v2.8 — sales-first visual refresh
   Brand: black / electric lime / white / silver
   Goal: clearer booking CTA without changing operational logic
   ========================================================= */
:root {
  --navy: #0b0d0f;
  --accent: #c8ff00;
  --surface: #f6f7f3;
  --text: #171a1c;
  --white: #ffffff;
  --muted: #616861;
  --line: #dce1d7;
  --success: #206b35;
  --radius: 1rem;
  --shadow: 0 18px 50px rgba(11,13,15,.10);
}

body { background: #fff; color: var(--text); }
:focus-visible { outline-color: #7ca800; }
.section { position: relative; }
.section-surface { background: #f6f7f3; }
.section-navy { background: #0b0d0f; }
.eyebrow { color: #56631f; }
.section-navy .eyebrow { color: var(--accent); }

/* Buttons: one unmistakable conversion language */
.button {
  min-height: 3.35rem;
  border: 2px solid #0b0d0f;
  border-radius: .72rem;
  background: var(--accent);
  color: #0b0d0f;
  box-shadow: 0 7px 0 rgba(11,13,15,.12);
  font-weight: 950;
  letter-spacing: .015em;
  text-transform: uppercase;
}
.button:hover { background: #dcff5f; box-shadow: 0 10px 24px rgba(129,166,0,.24); }
.button-secondary { background: #fff; border-color: #0b0d0f; color: #0b0d0f; box-shadow: none; }
.button-secondary:hover { background: #f7f8f4; }
.section-navy .button-secondary, .split-callout .button-secondary { border-color: #fff; background: transparent; color: #fff; }
.section-navy .button-secondary:hover, .split-callout .button-secondary:hover { background: rgba(255,255,255,.08); }
.text-link { text-decoration-thickness: .08em; }

/* Header */
.announcement {
  padding: .42rem 0;
  background: #0b0d0f;
  color: #fff;
  border-bottom: 3px solid var(--accent);
  font-size: .79rem;
  letter-spacing: .02em;
}
.site-header { background: rgba(255,255,255,.97); border-bottom: 1px solid #d8ddd3; box-shadow: 0 4px 18px rgba(11,13,15,.05); }
.header-inner { min-height: 5.25rem; gap: 1.2rem; }
.brand { flex: 0 0 auto; }
.brand img, .brand-logo { display: block; width: auto; max-height: 4.15rem; }
.brand-logo-theme { width: clamp(9.8rem, 15vw, 13.2rem); object-fit: contain; }
.desktop-nav { margin-inline: auto; }
.nav-list { gap: 1.05rem; }
.desktop-nav a { position: relative; font-size: .88rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
.desktop-nav a::after { content: ""; position: absolute; right: 0; bottom: -.45rem; left: 0; height: 3px; transform: scaleX(0); transform-origin: left; background: var(--accent); transition: transform .15s ease; }
.desktop-nav a:hover::after { transform: scaleX(1); }
.desktop-nav a:hover { text-decoration: none; }
.header-actions { gap: .65rem; }
.header-phone-cta { display: grid; gap: .02rem; color: #0b0d0f; line-height: 1.02; text-decoration: none; white-space: nowrap; }
.header-phone-cta span { color: var(--muted); font-size: .63rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.header-phone-cta strong { font-size: .85rem; font-weight: 950; }
.header-book-button { min-height: 2.8rem; padding-inline: .9rem; font-size: .76rem; }
.mobile-menu summary { border: 2px solid #0b0d0f; background: #fff; }
.mobile-menu summary span { background: #0b0d0f; }
.mobile-menu nav { border-top: 4px solid var(--accent); }
.mobile-menu a:hover { background: #eff5da; }

/* Hero: authentic service photo + aggressive clarity, not a brand takeover */
.hero {
  position: relative;
  padding: clamp(3.7rem, 7.5vw, 6.8rem) 0;
  background:
    radial-gradient(circle at 4% 10%, rgba(200,255,0,.18), transparent 30rem),
    linear-gradient(135deg, #f6f8f2 0%, #ffffff 58%, #f2f5ec 100%);
  color: var(--text);
}
.hero::before { content: ""; position: absolute; inset: auto 0 0; height: 5px; background: linear-gradient(90deg, #0b0d0f 0 40%, var(--accent) 40% 68%, #0b0d0f 68%); }
.hero-grid { grid-template-columns: minmax(0, .95fr) minmax(24rem, 1.05fr); gap: clamp(2.2rem, 5vw, 5.2rem); }
.hero-copy { position: relative; z-index: 2; }
.hero .kicker { border: 2px solid #0b0d0f; background: #0b0d0f; color: var(--accent); font-weight: 950; letter-spacing: .08em; }
.hero h1 { max-width: 10.5ch; margin-bottom: 1.1rem; color: #0b0d0f; font-size: clamp(3rem, 7vw, 6rem); line-height: .96; letter-spacing: -.055em; }
.hero .lede { max-width: 37rem; color: #4e5650; font-size: clamp(1.08rem, 1.8vw, 1.26rem); }
.hero-actions { margin-top: 1.45rem; }
.hero-actions .button { min-height: 3.7rem; padding-inline: 1.2rem; }
.button-book { min-width: min(100%, 13.5rem); }
.button-call { text-transform: none; font-weight: 900; }
.button-call span { font-size: .72rem; letter-spacing: .09em; }
.hero-microcopy { max-width: 38rem; margin: .95rem 0 0; color: #666e67; font-size: .76rem; line-height: 1.45; }
.hero-notes { margin-top: 1.2rem; color: #3f4741; font-weight: 700; }
.hero-notes li::before { color: #6f8f00; }
.hero-panel { border: 2px solid #0b0d0f; background: #0b0d0f; box-shadow: 18px 18px 0 rgba(200,255,0,.72), 0 28px 75px rgba(11,13,15,.18); }
.hero-photo-panel { min-height: 34rem; border-radius: 1.1rem; }
.hero-photo-panel > img { filter: saturate(.92) contrast(1.03); }
.hero-photo-panel::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(11,13,15,.02) 35%, rgba(11,13,15,.76) 100%); }
.hero-photo-copy { z-index: 2; right: 1.05rem; bottom: 1.05rem; left: 1.05rem; background: rgba(11,13,15,.92); border: 1px solid rgba(255,255,255,.16); color: #fff; }
.hero-photo-copy .pill { width: max-content; background: var(--accent); color: #0b0d0f; }
.hero-photo-copy strong { color: #fff; }
.hero-photo-badge { position: absolute; z-index: 2; top: 1rem; left: 1rem; display: flex; flex-wrap: wrap; gap: .35rem; max-width: calc(100% - 2rem); }
.hero-photo-badge span { padding: .35rem .55rem; border-radius: .35rem; background: #0b0d0f; color: #fff; border-bottom: 2px solid var(--accent); font-size: .65rem; font-weight: 900; letter-spacing: .06em; }

/* Trust bar */
.trust-bar { background: #fff; border-bottom: 1px solid var(--line); }
.trust-rating { padding: .95rem 1rem; border-left: 5px solid var(--accent); background: #0b0d0f; border-radius: .8rem; }
.trust-rating strong, .trust-rating p { color: #fff; }
.gold-stars { color: #d5ff00; text-shadow: 0 1px 0 #506000; }
.trust-ribbon { border: 1px solid #d7ddd1; border-radius: .75rem; box-shadow: 0 6px 18px rgba(11,13,15,.05); }
.ribbon-check { background: var(--accent); color: #0b0d0f; }
.trust-ribbon strong { color: #0b0d0f; }

/* Core sections / cards */
.section-header h2 { max-width: 18ch; }
.section-header.center h2 { margin-inline: auto; }
.card { border-color: #d9ded4; box-shadow: 0 8px 22px rgba(11,13,15,.045); }
.card:hover { border-color: #b9c4a8; }
.icon-tile { border-radius: .55rem; background: var(--accent); color: #0b0d0f; box-shadow: inset 0 -3px 0 rgba(11,13,15,.12); }
.numbered-card { border-top: 4px solid #0b0d0f; }
.step-number { color: #637000; }
.service-card { overflow: hidden; }
.service-card .button-link { color: #0b0d0f; }
.service-card .button-link::after { content: ""; display: block; width: 2.6rem; height: 3px; margin-top: .25rem; background: var(--accent); }
.neighborhood-card { border-color: #d9ded4; }
.neighborhood-card a { color: #4f6500; }

/* Quote/booking section — moved high on home page, logic untouched */
.quote-wizard-section { background: #f2f4ee; }
.quote-wizard-section::before { content: ""; position: absolute; top: 0; right: 0; left: 0; height: 6px; background: var(--accent); }
.quote-wizard-section .section-header { margin-bottom: 2rem; }
.quote-wizard-section .section-header .eyebrow { display: inline-flex; padding: .3rem .55rem; border-radius: .35rem; background: #0b0d0f; color: var(--accent); }
.quote-wizard-section .section-header h2,
.quote-wizard-section .section-header h1 { color: #0b0d0f; }
.quote-shell { border: 2px solid #0b0d0f; border-radius: 1rem; box-shadow: 14px 14px 0 rgba(200,255,0,.62); }
.quote-progress { background: #0b0d0f; border-bottom: 0; color: #fff; }
.quote-progress p, .quote-progress strong { color: #fff; }
.quote-progress-bar { background: #30343a; }
.quote-progress-bar span { background: var(--accent); }
.step-chip { background: #0b0d0f; color: var(--accent); }
.choice-card span { border-color: #d6ddd0; border-radius: .72rem; }
.choice-card input:checked + span { border-color: #0b0d0f; box-shadow: 0 0 0 4px rgba(200,255,0,.45); }
.choice-card input:focus-visible + span { outline-color: #6e9400; }
.item-chip[aria-pressed="true"] { border-color: #0b0d0f; background: #ecffc2; }
.check-field input { accent-color: #0b0d0f; }
.field input, .field textarea, .field select, .zip-form input { border-color: #9da59b; border-radius: .6rem; }
.field input:focus, .field textarea:focus, .field select:focus, .zip-form input:focus { outline: 0; border-color: #0b0d0f; box-shadow: 0 0 0 3px rgba(200,255,0,.38); }
.quote-actions { background: #fff; }
.quote-actions [data-submit] { flex: 1 1 18rem; }
.quote-success { background: #fff; }
.success-icon { background: var(--accent); color: #0b0d0f; }

/* Pricing */
.pricing-promise-banner { background: #0b0d0f; border-bottom: 5px solid var(--accent); }
.pricing-table thead { background: #0b0d0f; }
.pricing-table tbody td:not(:first-child) { color: #4f6500; }

/* Final conversion */
.final-sales-cta { overflow: hidden; }
.final-sales-cta::before { content: "20"; position: absolute; right: -1rem; bottom: -5rem; color: rgba(200,255,0,.08); font-family: var(--font-display); font-size: min(34vw, 30rem); font-weight: 950; line-height: .8; letter-spacing: -.12em; }
.final-sales-cta .split-callout { position: relative; z-index: 1; border: 1px solid rgba(255,255,255,.15); background: #111418; }
.final-cta-actions { display: grid; gap: .7rem; align-content: center; }
.final-cta-actions .button { width: 100%; }
.final-cta-actions small { color: #bfc6bd; line-height: 1.4; }

/* Footer */
.site-footer { background: #08090a; border-top: 5px solid var(--accent); }
.footer-brand { display: inline-block; }
.footer-logo { width: min(100%, 18rem); max-height: 12rem; object-fit: contain; object-position: left center; }
.site-footer .button { border-color: var(--accent); }
.footer-phone { display: grid; gap: .2rem; }
.footer-phone span { color: #aeb6ae; font-size: .75rem; }
.footer-phone a { color: #fff; font-size: 1.05rem; font-weight: 950; text-decoration-color: var(--accent); }
.footer-hiring { background: var(--accent); color: #0b0d0f; }

/* Mobile conversion bar */
.mobile-booking-bar { display: none; }
@media (max-width: 760px) {
  body { padding-bottom: 4.65rem; }
  .mobile-booking-bar { position: fixed; z-index: 90; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1.1fr .9fr; gap: .45rem; padding: .55rem max(.55rem, env(safe-area-inset-right)) calc(.55rem + env(safe-area-inset-bottom)) max(.55rem, env(safe-area-inset-left)); background: rgba(11,13,15,.98); border-top: 2px solid var(--accent); box-shadow: 0 -10px 30px rgba(0,0,0,.18); }
  .mobile-booking-bar a { display: flex; min-height: 3.15rem; align-items: center; justify-content: center; padding: .55rem .5rem; border-radius: .52rem; font-size: .72rem; font-weight: 950; line-height: 1.15; text-align: center; text-decoration: none; }
  .mobile-booking-primary { background: var(--accent); color: #0b0d0f; }
  .mobile-booking-call { border: 1px solid #fff; color: #fff; }
  .header-phone-cta { display: none; }
  .header-book-button { display: none; }
  .header-inner { min-height: 4.6rem; }
  .brand-logo-theme { width: 9.5rem; max-height: 3.8rem; }
  .hero { padding-top: 2.8rem; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero h1 { max-width: 9.5ch; font-size: clamp(3rem, 15vw, 4.7rem); }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button { width: 100%; }
  .hero-panel { box-shadow: 9px 9px 0 rgba(200,255,0,.70), 0 20px 45px rgba(11,13,15,.16); }
  .hero-photo-panel { min-height: 28rem; }
  .quote-shell { box-shadow: 7px 7px 0 rgba(200,255,0,.62); }
  .quote-actions { flex-wrap: wrap; }
  .quote-actions .button { width: 100%; }
  .trust-rating { align-items: flex-start; flex-direction: column; }
  .footer-logo { width: 15rem; }
}

@media (min-width: 761px) and (max-width: 1120px) {
  .desktop-nav { display: none; }
  .mobile-menu { display: block; }
  .header-phone-cta strong { font-size: .78rem; }
}

@media (prefers-reduced-motion: reduce) {
  .desktop-nav a::after { transition: none; }
}

/* v2.8 conversion simplification — fewer choices, one dominant action */
.conversion-header { max-width: 42rem; margin-inline: auto; }
.conversion-header .lede { max-width: 38rem; margin-inline: auto; }
.conversion-reassurance { margin: .8rem 0 0; color: #596159; font-size: .82rem; font-weight: 800; }
.compact-form-grid { gap: .85rem; }
.quote-step > .field + .field, .quote-step > .field + .optional-details, .quote-step > .optional-details { margin-top: 1.1rem; }
.optional-details { margin-top: 1.1rem; border: 1px solid #cbd2c6; border-radius: .75rem; background: #f8faf6; }
.optional-details summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .95rem 1rem; color: #0b0d0f; cursor: pointer; font-weight: 900; list-style: none; }
.optional-details summary::-webkit-details-marker { display: none; }
.optional-details summary::after { content: "+"; display: grid; width: 1.75rem; height: 1.75rem; flex: 0 0 1.75rem; place-items: center; border-radius: 50%; background: #0b0d0f; color: var(--accent); font-size: 1.15rem; }
.optional-details[open] summary::after { content: "–"; }
.optional-details summary span { color: #687168; font-size: .72rem; font-weight: 700; }
.optional-details-grid { padding: 0 1rem 1rem; }
.photo-field { padding: 1rem; border: 1px dashed #aeb8a6; border-radius: .75rem; background: #fff; }
.compact-review { margin-top: 1rem; }
.compact-review h3 { font-size: 1rem; }
.compact-review ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .35rem 1rem; margin-bottom: .75rem; }
.pricing-conversion { background: #0b0d0f; color: #fff; }
.pricing-conversion-inner { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(15rem,.9fr) auto; gap: clamp(1.25rem,4vw,3rem); align-items: center; }
.pricing-conversion h2 { color: #fff; max-width: 15ch; }
.pricing-conversion .lede { margin-bottom: 0; color: #d8dfd7; }
.pricing-conversion .eyebrow { color: var(--accent); }
.conversion-points { display: grid; gap: .55rem; font-weight: 850; }
.conversion-points span { color: #fff; }
.conversion-points span::first-letter { color: var(--accent); }
.pricing-conversion .button { white-space: nowrap; }
#services .section-header { margin-bottom: 1.7rem; }
#services .card-grid { gap: 1rem; }
#services .card { padding-bottom: 1.2rem; }
#services .card p { margin-bottom: .7rem; }
.final-sales-cta .split-callout { padding: clamp(1.5rem,4vw,2.5rem); }
.final-sales-cta h2 { margin-bottom: .5rem; }
.final-sales-cta p { margin-bottom: 0; }

@media (max-width: 900px) {
  .pricing-conversion-inner { grid-template-columns: 1fr; }
  .pricing-conversion .button { width: 100%; }
}
@media (max-width: 680px) {
  .load-choice-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .compact-review ul { grid-template-columns: 1fr; }
  .optional-details summary { align-items: flex-start; }
  .optional-details summary span { display: block; margin-top: .15rem; }
  .conversion-reassurance { font-size: .75rem; }
}

/* v2.8 mobile conversion: keep the form close to the first CTA */
@media (max-width: 760px) {
  .hero { padding-bottom: 2.3rem; }
  .hero-photo-panel { display: none; }
  .hero-notes { gap: .45rem .85rem; font-size: .8rem; }
  .trust-layout { gap: .65rem; }
  .trust-rating { display: grid; grid-template-columns: auto 1fr; gap: .65rem; padding: .7rem .8rem; }
  .trust-rating .gold-stars { font-size: 1.05rem; }
  .trust-rating p { display: none; }
  .trust-ribbons { display: flex; gap: .5rem; overflow-x: auto; padding-bottom: .2rem; scroll-snap-type: x proximity; }
  .trust-ribbon { min-width: 14rem; min-height: 3.5rem; padding: .65rem .75rem; scroll-snap-align: start; }
  .trust-ribbon small { display: none; }
  .quote-wizard-section { padding-top: 2.8rem; }
  .quote-wizard-section .section-header { margin-bottom: 1.2rem; }
  .quote-step { padding: 1.1rem; }
  .quote-step-heading { margin-bottom: 1.1rem; }
}
/* price tiers */
.price-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10.5rem),1fr));gap:.75rem;margin:1.25rem 0 .75rem}
.price-tier{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem}
.price-tier p{margin:0;font-size:.92rem}
.price-tier .price-amount{font-size:2rem;font-weight:900;letter-spacing:-.02em;line-height:1.1}
.price-tier-popular{border:2px solid var(--accent,#c8ff00);box-shadow:0 10px 26px rgba(11,13,15,.08)}
.price-note{font-size:.9rem;opacity:.85;margin:0 0 1rem}
.price-heading{margin-top:2rem}
.pricing-conversion-inner .price-tiers{grid-column:1/-1}
.pricing-conversion-inner .price-note{grid-column:1/-1}
.price-tier,.price-tier p,.price-tier .price-amount{color:#171a1c}
