/* ============================================================
   MaidJet v2.0 — Green / Amber design system
   ============================================================ */

:root {
	--green:      #0A4DA0;
	--green2:     #1B6BC4;
	--mint:       #E0EEFF;
	--cream:      #FAFCFF;
	--cream2:     #F0F5FC;
	--sand:       #E4EDF8;
	--amber:      #C47A1A;
	--amber2:     #F5A623;
	--ink:        #1A1917;
	--ink2:       #4A453D;
	--border:     rgba(26,25,23,.1);
	--card:       #ffffff;
	--r:          10px;
	--font:       'DM Sans', ui-sans-serif, system-ui, sans-serif;

	/* Legacy aliases kept for compatibility */
	--brand:           #0A4DA0;
	--brand-bright:    #1B6BC4;
	--brand-deep:      #0A4DA0;
	--brand-gold:      #C47A1A;
	--brand-soft:      #D4EDDA;
	--brand-tint:      #B0CFEF;
	--on-deep:         #FEFDF8;
	--on-deep-muted:   rgba(254,253,248,.65);
	--background:      #FEFDF8;
	--foreground:      #1A1917;
	--muted-foreground:#4A453D;
	--radius:          var(--r);
	--font-display:    var(--font);
	--font-sans:       var(--font);
}

/* ── Reset ─────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--font); font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; }
a { color:var(--green2); text-decoration:none; }
a:hover { text-decoration:underline; }
h1,h2,h3,h4 { font-family:var(--font); margin:0; }
p { margin:0; }
ul { margin:0; padding:0; list-style:none; }
.site-shell { display:flex; flex-direction:column; min-height:100vh; }
.site-main { flex:1; }
.container { max-width:72rem; margin:0 auto; padding-left:1rem; padding-right:1rem; }
.section { padding-top:4rem; padding-bottom:4rem; }
.icon { width:18px; height:18px; flex-shrink:0; }
.icon-sm { width:16px; height:16px; }

/* ── Buttons ────────────────────────────────────────────── */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; font-family:var(--font); font-weight:600; border-radius:9px; cursor:pointer; text-decoration:none; transition:opacity .15s,transform .1s; border:none; line-height:1.4; }
.btn:hover { text-decoration:none; opacity:.9; }
.btn:active { transform:scale(.98); }
.btn-primary { background:var(--green); color:#fff; padding:.7rem 1.5rem; font-size:.9375rem; }
.btn-primary:hover { background:var(--green2); opacity:1; }
.btn-amber { background:var(--amber2); color:var(--ink); padding:.7rem 1.5rem; font-size:.9375rem; }
.btn-amber:hover { background:#e8981a; opacity:1; }
.btn-outline-brand { background:transparent; color:var(--green); border:2px solid var(--green); padding:.65rem 1.5rem; font-size:.9375rem; }
.btn-outline-brand:hover { background:var(--mint); opacity:1; }
.btn-outline-light { background:rgba(255,255,255,.1); color:#fff; border:1.5px solid rgba(255,255,255,.3); padding:.65rem 1.5rem; font-size:.9375rem; }
.btn-outline-light:hover { background:rgba(255,255,255,.18); opacity:1; }
.btn-lg { padding:.875rem 1.875rem; font-size:.9375rem; }
.btn-block { width:100%; display:flex; }
.btn-wrap { margin-top:1.25rem; }

/* ── Header ─────────────────────────────────────────────── */
.site-header { background:var(--green); position:sticky; top:0; z-index:9999; }
.header-inner { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 1.5rem; height:84px; }
.header-logo img { height:56px; width:auto; display:block; }
.header-nav { display:flex; gap:1.75rem; }
.header-nav a { font-size:.9rem; font-weight:500; color:rgba(255,255,255,.8); padding:.35rem 0; border-bottom:2px solid transparent; transition:color .15s,border-color .15s; }
.header-nav a:hover { color:#fff; text-decoration:none; border-color:var(--amber2); }
.header-actions { display:flex; align-items:center; gap:1.25rem; }
.header-phone { font-size:.875rem; font-weight:500; color:rgba(255,255,255,.75); display:flex; align-items:center; gap:.4rem; }
.header-phone:hover { color:#fff; text-decoration:none; }
.header-phone .icon { color:var(--amber2); }
.header-actions .btn-primary { background:var(--amber2); color:var(--ink); font-weight:700; }
.header-actions .btn-primary:hover { background:#e8981a; opacity:1; }

.menu-toggle { display:none; background:none; border:none; cursor:pointer; padding:.25rem; color:#fff; }
.mobile-menu { background:var(--green); padding:1rem 1.5rem 1.5rem; border-top:1px solid rgba(255,255,255,.1); }
.mobile-nav a { display:block; padding:.75rem 0; font-size:1rem; color:rgba(255,255,255,.85); font-weight:500; border-bottom:1px solid rgba(255,255,255,.08); }
.mobile-nav a:hover { color:#fff; text-decoration:none; }
.mobile-menu-actions { margin-top:1rem; display:flex; flex-direction:column; gap:.75rem; }
.mobile-menu-actions .header-phone { justify-content:center; }

/* ── Hero ────────────────────────────────────────────────── */
.hero { display:grid; grid-template-columns:1.1fr 1fr; min-height:88vh; overflow:hidden; }
.hero-content { background:var(--green); padding:5rem 3rem 5rem 4rem; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }
.hero-content::before { content:''; position:absolute; top:-100px; left:-100px; width:400px; height:400px; border-radius:50%; background:radial-gradient(circle,rgba(245,166,35,.08) 0%,transparent 70%); pointer-events:none; }
.hero-img { position:relative; overflow:hidden; background:#c8d8c0; }
.hero-img .hero-bg { width:100%; height:100%; object-fit:cover; display:block; }
.hero-img::before { content:''; position:absolute; inset:0; background:rgba(9,33,79,.15); z-index:1; }

.hero-badge { display:inline-flex; align-items:center; gap:.5rem; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.2); border-radius:999px; padding:.35rem .875rem; font-size:.8125rem; font-weight:600; color:var(--amber2); margin-bottom:1.75rem; width:fit-content; letter-spacing:.02em; }
.hero-badge .icon { width:14px; height:14px; }
.hero-az-map { width:18px; height:20px; flex-shrink:0; }

.hero h1 { font-size:clamp(2.4rem,4.5vw,3.75rem); font-weight:800; line-height:1.1; letter-spacing:-.035em; color:#fff; margin-bottom:1.25rem; }
.hero-accent { color:var(--amber2); display:block; }
.hero .lede { font-size:1.0625rem; color:rgba(255,255,255,.7); line-height:1.7; max-width:40ch; margin-bottom:2.5rem; }
.hero-ctas { display:flex; gap:.875rem; flex-wrap:wrap; }
.hero-ctas .btn-primary { background:#fff; color:var(--green); font-weight:700; border:2px solid #fff; }
.hero-ctas .btn-primary:hover { background:rgba(255,255,255,.9); opacity:1; }
.hero-ctas .btn-outline-light { background:rgba(255,255,255,.1); color:#fff; border:1.5px solid rgba(255,255,255,.3); }

.hero-proof { display:flex; gap:2rem; margin-top:3rem; padding-top:2.5rem; border-top:1px solid rgba(255,255,255,.12); }
.proof-stat { }
.proof-num { font-size:1.75rem; font-weight:900; color:#fff; letter-spacing:-.035em; line-height:1; }
.proof-lbl { font-size:.8125rem; color:rgba(255,255,255,.55); margin-top:.25rem; font-weight:500; }

.hero-float-card { position:absolute; bottom:2rem; left:1.5rem; background:#fff; border-radius:14px; padding:1.125rem 1.375rem; box-shadow:0 16px 48px rgba(9,33,79,.3); z-index:2; min-width:210px; }
.float-badge { background:var(--mint); color:var(--green2); font-size:.75rem; font-weight:700; padding:.2rem .6rem; border-radius:999px; display:inline-block; margin-bottom:.5rem; }
.hero-float-card .float-title { font-size:.875rem; font-weight:700; color:var(--ink); }
.hero-float-card .float-sub { font-size:.8125rem; color:var(--ink2); margin-top:2px; }
.float-stars { color:var(--amber2); font-size:.875rem; }

/* ── Trust strip ─────────────────────────────────────────── */
.trust-strip { background:var(--sand); padding:1.25rem 2rem; display:flex; gap:2.5rem; justify-content:center; align-items:center; flex-wrap:wrap; border-bottom:1px solid rgba(26,25,23,.08); }
.trust-item { display:flex; align-items:center; gap:.6rem; font-size:.875rem; font-weight:600; color:var(--ink); }
.trust-item .icon { color:var(--green2); }
.trust-item-sub { font-weight:400; color:var(--ink2); margin-left:.2rem; }

/* ── Stats strip ─────────────────────────────────────────── */
.stats-strip { background:var(--green); color:var(--on-deep); }
.stats-grid { display:flex; justify-content:center; gap:3rem; padding:2.5rem 1rem; flex-wrap:wrap; }
.stat-item { text-align:center; min-width:120px; }
.stat-num { display:block; font-size:2.25rem; font-weight:900; color:#fff; letter-spacing:-.04em; line-height:1.1; }
.stat-stars { display:flex; justify-content:center; gap:2px; margin-top:.25rem; color:var(--amber2); }
.stat-stars .icon { width:16px; height:16px; }
.stat-label { display:block; font-size:.8125rem; color:rgba(255,255,255,.6); margin-top:.375rem; font-weight:500; }

/* ── Section labels ─────────────────────────────────────── */
.eyebrow,.sec-tag { font-size:.8125rem; font-weight:700; color:var(--green2); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.75rem; display:flex; align-items:center; gap:.5rem; }
.eyebrow::before,.sec-tag::before { content:''; width:24px; height:2px; background:var(--green2); flex-shrink:0; }
.eyebrow-gold,.sec-tag-gold { color:var(--amber); }
.eyebrow-gold::before,.sec-tag-gold::before { background:var(--amber); }
.eyebrow-light { color:var(--amber2); }
.eyebrow-light::before { background:var(--amber2); }

/* Hero sections use eyebrow without line */
.page-hero .eyebrow::before { display:none; }

/* ── Cards ──────────────────────────────────────────────── */
.cards-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
@media (max-width:900px) { .cards-3 { grid-template-columns:1fr; } }

.service-card { border-radius:16px; padding:2rem; border:2px solid var(--border); background:var(--card); position:relative; overflow:hidden; transition:border-color .2s,transform .2s; display:flex; flex-direction:column; }
.service-card:hover { border-color:var(--green2); transform:translateY(-2px); }
.service-card.featured { background:var(--green); border-color:var(--green); }
.service-card-num { font-size:3rem; font-weight:900; color:rgba(9,33,79,.07); line-height:1; margin-bottom:.75rem; letter-spacing:-.04em; }
.service-card.featured .service-card-num { color:rgba(255,255,255,.1); }
.card-title { font-size:1.25rem; font-weight:700; color:var(--ink); margin-bottom:.625rem; letter-spacing:-.02em; }
.service-card.featured .card-title { color:#fff; }
.card-body { font-size:.875rem; color:var(--ink2); line-height:1.65; margin-bottom:1.25rem; }
.service-card.featured .card-body { color:rgba(255,255,255,.7); }

.badge { display:inline-block; background:var(--mint); color:var(--green2); font-size:.75rem; font-weight:700; padding:.2rem .6rem; border-radius:999px; margin-bottom:1rem; }
.badge-solid { background:var(--green); color:#fff; }
.service-card.featured .badge { background:rgba(255,255,255,.15); color:#fff; }

.check-list { list-style:none; display:flex; flex-direction:column; gap:.4rem; margin:0; }
.check-list li { font-size:.875rem; color:var(--ink2); display:flex; align-items:flex-start; gap:.5rem; }
.check-list li svg { color:var(--green2); flex-shrink:0; margin-top:1px; }
.service-card.featured .check-list li { color:rgba(255,255,255,.8); }
.service-card.featured .check-list li svg { color:var(--amber2); }

.card-link { font-size:.875rem; font-weight:700; color:var(--green2); text-decoration:none; display:flex; align-items:center; gap:.25rem; margin-top:auto; padding-top:1.5rem; }
.service-card.featured .card-link { color:var(--amber2); }
.card-link:hover { text-decoration:underline; }
.card-foot { font-size:.8125rem; color:var(--ink2); margin-top:auto; padding-top:1rem; }

/* ── Page hero ──────────────────────────────────────────── */
.page-hero { background:linear-gradient(135deg,#1f4a32 0%,#2d5a3e 100%); color:var(--on-deep); padding:4rem 0; }
.page-hero .eyebrow { color:var(--amber2); justify-content:center; }
.page-hero h1 { font-size:clamp(1.875rem,4vw,2.75rem); font-weight:800; letter-spacing:-.035em; line-height:1.15; color:#fff; text-align:center; margin-bottom:.875rem; }
.page-hero .lede { color:rgba(255,255,255,.7); text-align:center; max-width:52ch; margin:0 auto; font-size:1.0625rem; line-height:1.7; }

/* ── Process ─────────────────────────────────────────────── */
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; }
.process-step { padding:2rem; border-right:1px solid var(--border); position:relative; }
.process-step:last-child { border-right:none; }
.process-num { font-size:4rem; font-weight:900; color:var(--green2); opacity:.12; line-height:1; margin-bottom:1rem; letter-spacing:-.04em; }
.process-icon { width:44px; height:56px; background:var(--green); border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.process-icon svg { width:20px; height:20px; color:#fff; }
.process-step h3 { font-size:1.125rem; font-weight:700; color:var(--ink); margin-bottom:.5rem; letter-spacing:-.02em; }
.process-step p { font-size:.9rem; color:var(--ink2); line-height:1.65; }
@media (max-width:760px) { .process-grid { grid-template-columns:1fr; } .process-step { border-right:none; border-bottom:1px solid var(--border); } .process-step:last-child { border-bottom:none; } }

/* ── Why section ─────────────────────────────────────────── */
.why-section { position:relative; }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.why-img-wrap { position:relative; padding-bottom:1.5rem; padding-right:1.5rem; }
.why-img { border-radius:20px; overflow:hidden; aspect-ratio:4/5; background:var(--mint); }
.why-img img { width:100%; height:100%; object-fit:cover; display:block; }
.why-bg { display:none; }
.why-badge { position:absolute; bottom:0; right:0; background:var(--green); border-radius:16px; padding:1.25rem 1.5rem; color:#fff; box-shadow:0 12px 40px rgba(9,33,79,.25); }
.why-badge-num { font-size:2.25rem; font-weight:900; color:var(--amber2); line-height:1; letter-spacing:-.04em; }
.why-badge-lbl { font-size:.8125rem; color:rgba(255,255,255,.65); margin-top:4px; font-weight:500; }
.why-points { display:flex; flex-direction:column; gap:1.5rem; margin-top:2rem; }
.why-point { display:grid; grid-template-columns:44px 1fr; gap:1rem; align-items:start; }
.why-icon-wrap { width:44px; height:56px; border-radius:12px; background:var(--mint); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.why-icon-wrap svg,.why-icon svg { width:20px; height:20px; color:var(--green2); }
.why-point h4 { font-size:1rem; font-weight:700; color:var(--ink); margin-bottom:.25rem; letter-spacing:-.01em; }
.why-point p { font-size:.875rem; color:var(--ink2); line-height:1.6; }
@media (max-width:860px) { .why-grid { grid-template-columns:1fr; gap:3rem; } .why-img { aspect-ratio:16/9; } }

/* ── Guarantee ───────────────────────────────────────────── */
.guarantee-section { padding:3rem 0; background:var(--cream2); }
.guarantee-card { border:2px solid var(--amber); border-radius:16px; padding:2.5rem; display:grid; grid-template-columns:auto 1fr; gap:1.5rem; align-items:center; background:var(--warm,#fff8ec); max-width:52rem; margin:0 auto; }
.guarantee-icon { color:var(--amber2); }
.guarantee-icon svg { width:40px; height:40px; }
.guarantee-card h2 { font-size:1.375rem; font-weight:800; color:var(--ink); margin-bottom:.375rem; letter-spacing:-.02em; }
.guarantee-card p { font-size:.9375rem; color:var(--ink2); line-height:1.65; }

/* ── Testimonials ────────────────────────────────────────── */
.testimonials-section { background:var(--green); overflow:hidden; }
.testimonials-section .eyebrow { color:var(--amber2); }
.testimonials-section .eyebrow::before { background:var(--amber2); }
.testimonials-section h2 { color:#fff; }
.testimonials-section .section-head p:last-child { color:rgba(255,255,255,.65); }

.testimonial-marquee { overflow:hidden; padding-bottom:3rem; -webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent); }
.testimonial-track { display:flex; gap:1.25rem; width:max-content; animation:testimonial-slide 60s linear infinite; }
.testimonial-marquee:hover .testimonial-track { animation-play-state:paused; }
@keyframes testimonial-slide { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
.testimonial-scroll-card { flex:0 0 340px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:16px; padding:1.75rem; display:flex; flex-direction:column; }
.testimonial-stars { color:var(--amber2); font-size:1rem; margin-bottom:1rem; letter-spacing:.05em; }
.testimonial-text { font-size:.9375rem; color:rgba(255,255,255,.85); line-height:1.7; margin-bottom:1.5rem; flex:1; }
.testimonial-author { display:flex; align-items:center; gap:.75rem; }
.testimonial-avatar { width:36px; height:36px; border-radius:50%; background:var(--mint); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.875rem; color:var(--green2); }
.testimonial-author strong { display:block; font-size:.875rem; font-weight:700; color:#fff; }
.testimonial-author span { display:block; font-size:.8125rem; color:rgba(255,255,255,.5); margin-top:1px; }
@media (prefers-reduced-motion:reduce) { .testimonial-track{animation:none} .testimonial-marquee{overflow-x:auto} }

/* ── FAQ ─────────────────────────────────────────────────── */
.faq-list { display:flex; flex-direction:column; gap:.75rem; max-width:52rem; }
.faq-item { border:1px solid var(--border); border-radius:var(--r); overflow:hidden; background:var(--card); }
.faq-q { width:100%; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.125rem 1.25rem; background:none; border:none; cursor:pointer; font-family:var(--font); font-size:1rem; font-weight:600; color:var(--ink); text-align:left; transition:background .15s; }
.faq-q:hover { background:var(--mint); }
.faq-q[aria-expanded="true"] { background:var(--green); color:#fff; }
.faq-q[aria-expanded="true"] svg { color:var(--amber2); transform:rotate(180deg); }
.faq-q svg { transition:transform .2s; color:var(--ink2); flex-shrink:0; }
.faq-a { display:none; padding:1rem 1.25rem 1.25rem; font-size:.9375rem; color:var(--ink2); line-height:1.7; border-top:1px solid var(--border); }
.faq-item.open .faq-a { display:block; }
.faq-item.open .faq-q { background:var(--green); color:#fff; }
.faq-item.open .faq-q svg { color:var(--amber2); transform:rotate(180deg); }

/* ── CTA panel ───────────────────────────────────────────── */
.cta-panel { background:var(--green); border-radius:16px; padding:3rem; text-align:center; color:#fff; }
.cta-panel h2 { font-size:1.75rem; font-weight:800; color:#fff; margin-bottom:.75rem; letter-spacing:-.03em; }
.cta-panel p { color:rgba(255,255,255,.7); font-size:1rem; line-height:1.65; margin-bottom:1.75rem; max-width:50ch; margin-left:auto; margin-right:auto; }
.cta-panel .hero-ctas { justify-content:center; }

/* ── CTA banner ──────────────────────────────────────────── */
.cta-banner { padding:5rem 0; background:var(--sand); }
.cta-banner-inner { display:grid; grid-template-columns:1fr auto; gap:3rem; align-items:center; }
.cta-banner h2 { font-size:2rem; font-weight:800; letter-spacing:-.03em; color:var(--ink); margin-bottom:.5rem; }
.cta-banner p { font-size:1rem; color:var(--ink2); }
.cta-banner-btns { display:flex; gap:.875rem; align-items:center; }
@media (max-width:700px) { .cta-banner-inner { grid-template-columns:1fr; } .cta-banner-btns { flex-direction:column; } }

/* ── Zip / service area strip ────────────────────────────── */
.zip-strip { background:var(--cream2); text-align:center; padding:3rem 1rem; }
.zip-strip h2 { font-size:1.5rem; font-weight:800; letter-spacing:-.025em; margin-bottom:.625rem; }
.zip-strip .lede { margin:.75rem auto 0; max-width:36rem; color:var(--ink2); }
.zip-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:.5rem; margin-top:1.5rem; }
.zip-pill { background:#fff; border:1px solid var(--border); border-radius:999px; padding:.375rem .875rem; font-size:.875rem; font-weight:600; color:var(--ink); }
.zip-strip .card-link { display:inline-block; margin-top:1.5rem; }

/* ── Blog ────────────────────────────────────────────────── */
.blog-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
@media (max-width:640px) { .blog-grid { grid-template-columns:1fr; } }
.blog-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r); overflow:hidden; display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s; }
.blog-card:hover { transform:translateY(-3px); box-shadow:0 8px 24px rgba(9,33,79,.08); }
.blog-card-img { aspect-ratio:16/9; overflow:hidden; background:var(--mint); }
.blog-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s; }
.blog-card:hover .blog-card-img img { transform:scale(1.03); }
.blog-card-body { padding:1.5rem; flex:1; display:flex; flex-direction:column; }
.blog-date { font-size:.8125rem; color:var(--ink2); display:block; margin-bottom:.5rem; }
.blog-card-body h2 { font-size:1.125rem; font-weight:700; color:var(--ink); margin-bottom:.5rem; line-height:1.35; letter-spacing:-.01em; }
.blog-card-body h2 a { color:inherit; }
.blog-card-body h2 a:hover { color:var(--green2); text-decoration:none; }
.blog-card-body p { font-size:.875rem; color:var(--ink2); line-height:1.65; flex:1; margin-bottom:.875rem; }
.blog-card-body .card-link { margin-top:auto; padding-top:.75rem; }
.blog-pagination { margin-top:2rem; display:flex; justify-content:center; }
.blog-pagination .nav-links { display:flex; gap:.5rem; }
.blog-pagination a,.blog-pagination span { padding:.5rem .75rem; border:1px solid var(--border); border-radius:var(--r); font-size:.875rem; }
.blog-pagination .current { background:var(--green); color:#fff; border-color:var(--green); }

/* ── Blog filters ────────────────────────────────────────── */
.blog-filters { margin-bottom:2rem; }
.blog-search { position:relative; margin-bottom:1rem; }
.blog-search-input { width:100%; padding:.75rem 1rem .75rem 2.75rem; border:1px solid var(--border); border-radius:var(--r); font-family:var(--font); font-size:.9375rem; background:var(--card); color:var(--foreground); transition:border-color .15s; }
.blog-search-input:focus { border-color:var(--green); outline:none; box-shadow:0 0 0 2px rgba(9,33,79,.12); }
.blog-search-input::placeholder { color:var(--ink2); }
.blog-cats { display:flex; gap:.5rem; flex-wrap:wrap; }
.blog-cats .pill { font-size:.8125rem; padding:.375rem .875rem; text-decoration:none; color:var(--ink2); background:#fff; border:1px solid var(--border); border-radius:999px; }
.blog-cats .pill:hover { color:var(--green2); text-decoration:none; }
.blog-cats .pill-active { background:var(--green); color:#fff; border-color:var(--green); }

/* ── Single post ─────────────────────────────────────────── */
.post-hero { background:var(--cream2); padding:3rem 0; }
.post-hero h1 { font-size:clamp(1.75rem,3.5vw,2.5rem); font-weight:800; line-height:1.2; letter-spacing:-.03em; }
.post-meta { font-size:.875rem; color:var(--ink2); display:flex; gap:1.5rem; flex-wrap:wrap; }
.post-content { max-width:44rem; }
.post-content h2 { font-size:1.5rem; font-weight:700; letter-spacing:-.025em; margin:2.5rem 0 .75rem; }
.post-content h3 { font-size:1.25rem; font-weight:700; letter-spacing:-.02em; margin:2rem 0 .625rem; }
.post-content p { font-size:1.0625rem; line-height:1.75; color:var(--ink); margin-bottom:1rem; }
.post-content ul,.post-content ol { margin:1rem 0 1rem 1.5rem; display:flex; flex-direction:column; gap:.375rem; }
.post-content li { font-size:1.0625rem; line-height:1.7; color:var(--ink); }
.post-content a { color:var(--green2); font-weight:600; }

/* ── Pricing ─────────────────────────────────────────────── */
.pricing-card { background:var(--card); border:2px solid var(--border); border-radius:16px; padding:2rem; display:flex; flex-direction:column; }
.pricing-card .badge { margin-bottom:.75rem; }
.pricing-card h2 { font-size:1.125rem; font-weight:700; color:var(--ink); margin-bottom:.25rem; letter-spacing:-.02em; }
.price-big { font-size:1.5rem; font-weight:900; color:var(--green2); margin-top:.5rem; letter-spacing:-.03em; }
.price-note { font-size:.8125rem; color:var(--ink2); }
.pricing-card .check-list { margin:1.25rem 0; flex:1; }
.card-foot { font-size:.8125rem; color:var(--ink2); margin-top:auto; padding-top:1rem; border-top:1px solid var(--border); }

/* Quote calculator */
.quote-box { background:#fff; border:1px solid var(--border); border-radius:16px; padding:2rem; box-shadow:0 4px 24px rgba(9,33,79,.06); }
.quote-fields { display:flex; flex-direction:column; gap:1.5rem; }
.q-label { font-size:.9375rem; font-weight:600; color:var(--ink); margin-bottom:.5rem; display:block; }
.q-label-strong { font-size:1rem; font-weight:700; color:var(--ink); margin-bottom:.25rem; display:block; }
.hint { font-size:.875rem; font-weight:400; color:var(--ink2); }
.pill-row { display:flex; flex-wrap:wrap; gap:.5rem; }
.pill { background:#fff; border:1.5px solid var(--border); border-radius:999px; padding:.4rem .9rem; font-size:.875rem; font-weight:600; color:var(--ink); cursor:pointer; transition:all .15s; font-family:var(--font); }
.pill:hover { border-color:var(--green2); color:var(--green2); }
.pill[aria-pressed="true"] { background:var(--green); border-color:var(--green); color:#fff; }
.pill-soft[aria-pressed="true"] { background:var(--mint); border-color:var(--green2); color:var(--green2); }
.sqft-row { display:flex; align-items:center; gap:.75rem; }
.sqft-input { border:1.5px solid var(--border); border-radius:var(--r); padding:.625rem .875rem; font-size:1rem; font-family:var(--font); color:var(--ink); background:#fff; transition:border-color .15s; }
.sqft-input:focus { border-color:var(--green2); outline:none; box-shadow:0 0 0 2px rgba(9,33,79,.1); }
.sqft-unit { font-size:.9375rem; color:var(--ink2); font-weight:500; }
.sqft-tier-select { border:1.5px solid var(--border); border-radius:var(--r); padding:.625rem .875rem; font-size:.9375rem; font-family:var(--font); color:var(--ink); background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%23666' stroke-width='1.5'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right .875rem center; -webkit-appearance:none; appearance:none; padding-right:2.25rem; cursor:pointer; width:100%; transition:border-color .15s; }
.sqft-tier-select:focus { border-color:var(--green2); outline:none; box-shadow:0 0 0 2px rgba(9,33,79,.1); }
.quote-result { background:var(--green); color:#fff; border-radius:12px; padding:1.25rem 1.5rem; }
.result-label { font-size:.875rem; color:rgba(255,255,255,.7); font-weight:500; }
.result-price { font-size:2.5rem; font-weight:900; color:#fff; line-height:1.1; letter-spacing:-.04em; margin-top:.25rem; }
.result-note { font-size:.8125rem; color:rgba(255,255,255,.6); margin-top:.375rem; }
.price-breakdown { list-style:none; margin:1rem 0; display:flex; flex-direction:column; gap:.375rem; }
.price-breakdown li { display:flex; justify-content:space-between; font-size:.875rem; color:rgba(255,255,255,.8); }
.price-breakdown .total-line { border-top:1px solid rgba(255,255,255,.2); margin-top:.375rem; padding-top:.375rem; font-weight:700; color:#fff; }
.price-breakdown .discount { color:var(--amber2); }
.price-breakdown .amt { font-weight:600; }

/* ── Contact ─────────────────────────────────────────────── */
.contact-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
@media (max-width:900px) { .contact-grid { grid-template-columns:repeat(2,1fr); } }
.contact-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r); padding:1.5rem; display:flex; flex-direction:column; gap:.625rem; }
.contact-card h2 { font-size:1rem; font-weight:700; color:var(--ink); }
.contact-card .line { font-size:.9rem; color:var(--ink2); }
.contact-form-split { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:start; }
.contact-form-left .quote-box { max-width:100%; }
.contact-img-wrap { border-radius:var(--r); overflow:hidden; box-shadow:0 10px 40px rgba(9,33,79,.1); margin-bottom:1.5rem; }
.contact-img-wrap img { width:100%; height:260px; object-fit:cover; display:block; }
.contact-trust { display:flex; flex-direction:column; gap:1rem; }
.contact-trust-item { display:flex; gap:1rem; align-items:flex-start; }
.contact-trust-item .icon { width:22px; height:22px; flex-shrink:0; color:var(--green2); margin-top:2px; }
.contact-trust-item strong { display:block; font-size:.9375rem; color:var(--foreground); margin-bottom:2px; }
.contact-trust-item p { font-size:.875rem; color:var(--muted-foreground); margin:0; }
@media (max-width:860px) { .contact-form-split { grid-template-columns:1fr; } }

/* ── About ───────────────────────────────────────────────── */
.about-split { display:grid; grid-template-columns:1.1fr 1fr; gap:3rem; align-items:center; }
.about-split-reverse .about-split-text { order:2; }
.about-split-reverse .about-split-img { order:1; }
.about-split-text h2 { font-size:1.75rem; font-weight:800; margin-bottom:1rem; letter-spacing:-.025em; }
.about-split-text p { font-size:1.0625rem; line-height:1.75; color:var(--foreground); margin-bottom:1rem; }
.about-split-text p:last-child { margin-bottom:0; }
.about-split-img img { width:100%; height:auto; border-radius:var(--r); box-shadow:0 10px 40px rgba(9,33,79,.1); display:block; }
@media (max-width:820px) { .about-split { grid-template-columns:1fr; gap:2rem; } .about-split-reverse .about-split-text,.about-split-reverse .about-split-img { order:initial; } }

/* ── Why cards ───────────────────────────────────────────── */
.why-grid-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
.why-card { background:var(--green2); border-radius:var(--r); padding:1.5rem; color:#fff; }
.why-card h3 { font-size:1.0625rem; font-weight:700; color:#fff; margin-bottom:.375rem; }
.why-card p { font-size:.9rem; color:rgba(255,255,255,.75); line-height:1.6; }

/* ── Service areas page ──────────────────────────────────── */
.service-areas-layout { display:grid; grid-template-columns:1fr 340px; gap:2.5rem; align-items:start; }
.sa-city-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r); padding:1.5rem; margin-bottom:1.25rem; }
.sa-city-head { display:flex; align-items:center; gap:.75rem; margin-bottom:1.25rem; padding-bottom:1rem; border-bottom:1px solid var(--border); }
.sa-city-head .icon { color:var(--green2); width:20px; height:20px; flex-shrink:0; }
.sa-city-head h3 { font-size:1.25rem; font-weight:700; margin:0; flex:1; letter-spacing:-.02em; }
.sa-zip-count { font-size:.8125rem; background:var(--mint); color:var(--green2); padding:.2rem .65rem; border-radius:999px; font-weight:700; white-space:nowrap; }
.sa-zip-grid { display:flex; flex-direction:column; gap:.5rem; }
.sa-zip-row { display:flex; justify-content:space-between; align-items:center; padding:.5rem .25rem; border-bottom:1px solid var(--border); font-size:.9375rem; }
.sa-zip-row:last-child { border-bottom:none; }
.sa-zip-row .zip { font-weight:800; color:var(--green2); font-size:1rem; }
.sa-zip-row .area { color:var(--ink2); font-size:.875rem; }
.sa-side-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r); padding:1.5rem; }
.sa-side-card h3 { font-size:1.0625rem; font-weight:700; margin-bottom:.625rem; }
.sa-side-card p { font-size:.9375rem; color:var(--ink2); margin:0; line-height:1.6; }
.sa-side-highlights { background:var(--mint); border-radius:var(--r); padding:1.25rem; display:flex; flex-direction:column; gap:1rem; }
.sa-highlight-row { display:flex; gap:.875rem; align-items:flex-start; }
.sa-highlight-icon { color:var(--green2); flex-shrink:0; margin-top:2px; }
.sa-highlight-icon .icon { width:18px; height:18px; }
.sa-highlight-row strong { display:block; font-size:.875rem; font-weight:700; color:var(--ink); }
.sa-highlight-row span { font-size:.8125rem; color:var(--ink2); }
@media (max-width:860px) { .service-areas-layout { grid-template-columns:1fr; } .service-areas-side { display:grid; grid-template-columns:1fr 1fr; gap:1rem; } .sa-side-highlights { grid-column:1/-1; } }
@media (max-width:560px) { .service-areas-side { grid-template-columns:1fr; } }

/* ── Region cards (old, kept for compat) ─────────────────── */
.region-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; }
.region-card { background:var(--card); border:1px solid var(--border); border-radius:var(--r); padding:1.75rem; }
.region-head { display:flex; align-items:center; gap:.75rem; margin-bottom:.875rem; }
.region-head .icon { color:var(--green2); }
.region-head h2 { font-size:1.25rem; font-weight:700; color:var(--ink); margin:0; }
.region-card .blurb { font-size:.9375rem; color:var(--ink2); line-height:1.6; margin-bottom:1.25rem; }
.zip-list li { display:flex; justify-content:space-between; padding:.625rem 0; border-bottom:1px solid var(--border); font-size:.9375rem; }
.zip-list li:last-child { border-bottom:none; }
.zip-list .zip { font-weight:700; color:var(--green2); }
.zip-list .area { color:var(--ink2); font-size:.875rem; }

/* ── Section head ────────────────────────────────────────── */
.section-head { text-align:center; max-width:42rem; margin:0 auto 3rem; }
.section-head h2 { font-size:clamp(1.875rem,3.5vw,2.5rem); font-weight:800; letter-spacing:-.035em; line-height:1.15; margin-bottom:.625rem; }
.section-head p,.lede { font-size:1.0625rem; color:var(--ink2); line-height:1.7; }

/* ── Why section bg ──────────────────────────────────────── */
.section-deep { background:var(--green); color:#fff; }
.section-deep .section-head h2,.section-deep h2 { color:#fff; }
.section-deep .lede,.section-deep p { color:rgba(255,255,255,.75); }
.section-deep .why-grid-cards .why-card { background:rgba(255,255,255,.08); }

/* ── Pricing detail ──────────────────────────────────────── */
.service-detail { padding:2rem; border:1px solid var(--border); border-radius:16px; background:var(--card); margin-bottom:1.5rem; scroll-margin-top:6rem; transition:box-shadow .3s; }
.service-detail:hover { box-shadow:0 8px 32px rgba(9,33,79,.07); }
.service-detail-head { margin-bottom:1.5rem; }
.service-detail-head .title-row { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; margin-bottom:.5rem; }
.service-detail-head h2 { font-size:1.5rem; font-weight:800; color:var(--ink); letter-spacing:-.025em; }
.service-detail-head p { font-size:.9375rem; color:var(--ink2); line-height:1.65; }
.service-detail-body { }
.service-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:2rem; }
.subhead { font-size:.8125rem; font-weight:700; color:var(--green2); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.875rem; }
.fact-list { display:flex; flex-direction:column; gap:.875rem; list-style:none; }
.fact-list li { display:flex; gap:.75rem; align-items:flex-start; }
.fact-list .icon { color:var(--green2); flex-shrink:0; margin-top:2px; }
.fact-list dt { font-size:.875rem; font-weight:600; color:var(--ink); }
.fact-list dd { font-size:.875rem; color:var(--ink2); }
@media (max-width:640px) { .service-detail-grid { grid-template-columns:1fr; } }

/* ── Sticky mobile CTA ───────────────────────────────────── */
.sticky-mobile-cta { display:none; position:fixed; bottom:0; left:0; right:0; background:var(--green); padding:.875rem 1rem; z-index:90; box-shadow:0 -4px 16px rgba(9,33,79,.15); }
.sticky-mobile-cta-inner { display:flex; gap:.75rem; }
.sticky-mobile-cta a { flex:1; display:flex; align-items:center; justify-content:center; gap:.5rem; padding:.75rem; border-radius:9px; font-size:.875rem; font-weight:700; text-decoration:none; font-family:var(--font); }
.sticky-cta-call { background:rgba(255,255,255,.15); color:#fff; border:1.5px solid rgba(255,255,255,.3); }
.sticky-cta-quote { background:var(--amber2); color:var(--ink); }
@media (max-width:768px) { .sticky-mobile-cta { display:block; } body { padding-bottom:72px; } }

/* ── Floating button ─────────────────────────────────────── */
.floating-sms { position:fixed; bottom:5.5rem; right:1.25rem; z-index:89; background:#25d366; color:#fff; border-radius:999px; padding:.625rem 1.125rem; font-size:.875rem; font-weight:700; text-decoration:none; display:flex; align-items:center; gap:.5rem; box-shadow:0 4px 20px rgba(37,211,102,.35); }
.floating-sms:hover { text-decoration:none; background:#20c25e; }
@media (min-width:769px) { .floating-sms { bottom:1.5rem; } }

/* ── Footer ──────────────────────────────────────────────── */
.site-footer { background:var(--ink); color:rgba(255,255,255,.6); }
.footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:2.5rem; padding:3.5rem 0 2.5rem; }
.footer-brand img { height:36px; width:auto; filter:brightness(0) invert(1); opacity:.9; margin-bottom:1rem; }
.footer-brand p { font-size:.875rem; line-height:1.65; max-width:28ch; }
.footer-checks { display:flex; flex-direction:column; gap:.375rem; margin-top:.875rem; }
.footer-checks li { font-size:.8125rem; display:flex; align-items:center; gap:.375rem; }
.footer-checks li::before { content:'✓'; color:var(--amber2); font-weight:700; }
.footer-col h4 { font-size:.875rem; font-weight:700; color:#fff; margin-bottom:.875rem; letter-spacing:.01em; }
.footer-col ul { display:flex; flex-direction:column; gap:.5rem; }
.footer-col a { font-size:.875rem; color:rgba(255,255,255,.55); }
.footer-col a:hover { color:#fff; text-decoration:none; }
.footer-contact-info { display:flex; flex-direction:column; gap:.625rem; }
.footer-contact-info a { font-size:.875rem; color:rgba(255,255,255,.55); display:flex; align-items:center; gap:.5rem; }
.footer-contact-info a:hover { color:#fff; text-decoration:none; }
.footer-contact-info .icon { color:var(--amber2); flex-shrink:0; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding:1.5rem 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.75rem; }
.footer-copy { font-size:.8125rem; }
.footer-legal { font-size:.75rem; color:rgba(255,255,255,.3); max-width:52ch; text-align:right; line-height:1.5; }
@media (max-width:900px) { .footer-grid { grid-template-columns:1fr 1fr; } .footer-brand { grid-column:1/-1; } }
@media (max-width:480px) { .footer-grid { grid-template-columns:1fr; } .footer-bottom { flex-direction:column; align-items:flex-start; } .footer-legal { text-align:left; } }

/* ── Mobile nav ──────────────────────────────────────────── */
@media (max-width:900px) { .header-nav,.header-phone { display:none; } .menu-toggle { display:flex; } }
@media (min-width:901px) { .mobile-menu { display:none !important; } }

/* ── Responsive helpers ──────────────────────────────────── */
@media (max-width:900px) {
  .hero { grid-template-columns:1fr; min-height:auto; }
  .hero-content { padding:3.5rem 1.5rem; }
  .hero-img { height:320px; }
  .hero-proof { gap:1.25rem; }
  .cards-3 { grid-template-columns:1fr; }
  .process-grid { grid-template-columns:1fr; }
  .process-step { border-right:none; border-bottom:1px solid var(--border); }
  .process-step:last-child { border-bottom:none; }
  .why-grid { grid-template-columns:1fr; gap:3rem; }
  .why-img { aspect-ratio:16/9; }
  .contact-grid { grid-template-columns:repeat(2,1fr); }
  .footer-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:600px) {
  .hero h1 { font-size:2.125rem; }
  .hero-proof { flex-wrap:wrap; gap:1rem; }
  .trust-strip { gap:1.25rem; padding:.875rem 1rem; }
  .contact-grid { grid-template-columns:1fr; }
  .region-grid { grid-template-columns:1fr; }
  .service-areas-side { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; }
}

/* ── About page ──────────────────────────────────────────── */
.about-story h2 { font-size:1.75rem; font-weight:800; margin-bottom:1rem; letter-spacing:-.025em; }
.about-story p { font-size:1.0625rem; line-height:1.75; color:var(--foreground); margin-bottom:1rem; }
.about-story p:last-child { margin-bottom:0; }

/* ============================================================
   v2 Fixes — logo, footer, spacing, calculator
   ============================================================ */

/* Header logo — invert to white on green bg */
.header-logo img {
	filter: none;
	opacity: 1;
	height: 76px !important;
}

/* Footer logo text (replaces image) */
.footer-logo-text {
	font-size:1.375rem;
	font-weight:800;
	color:#fff;
	letter-spacing:-.02em;
	margin-bottom:.75rem;
}
.footer-logo-text span { color:var(--amber2); }

/* Footer compact */
.site-footer { background:var(--ink); }
.footer-grid {
	display:grid;
	grid-template-columns:1.4fr 1fr 1fr 1fr;
	gap:2rem;
	padding:2.5rem 0 2rem;
}
.footer-brand p {
	font-size:.875rem;
	color:rgba(255,255,255,.5);
	line-height:1.65;
	max-width:26ch;
	margin-bottom:.875rem;
}
.footer-checks {
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:.3rem;
}
.footer-checks li {
	font-size:.8125rem;
	color:rgba(255,255,255,.5);
	display:flex;
	align-items:center;
	gap:.4rem;
}
.footer-checks li::before {
	content:'✓';
	color:var(--amber2);
	font-weight:700;
}
.footer-col h4 {
	font-size:.875rem;
	font-weight:700;
	color:#fff;
	margin-bottom:.75rem;
}
.footer-col ul {
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:.4rem;
}
.footer-col a {
	font-size:.875rem;
	color:rgba(255,255,255,.5);
	text-decoration:none;
}
.footer-col a:hover { color:#fff; }
.footer-contact-info {
	display:flex;
	flex-direction:column;
	gap:.5rem;
}
.footer-contact-info a {
	font-size:.875rem;
	color:rgba(255,255,255,.5);
	display:flex;
	align-items:center;
	gap:.5rem;
	text-decoration:none;
}
.footer-contact-info a:hover { color:#fff; }
.footer-contact-info .icon { color:var(--amber2); flex-shrink:0; }
.footer-bottom {
	border-top:1px solid rgba(255,255,255,.08);
	padding:1.25rem 0;
	display:flex;
	justify-content:space-between;
	align-items:center;
	flex-wrap:wrap;
	gap:.5rem;
}
.footer-copy { font-size:.8125rem; color:rgba(255,255,255,.4); }
.footer-legal { font-size:.75rem; color:rgba(255,255,255,.25); max-width:52ch; text-align:right; line-height:1.5; }

/* ── Fix hero whitespace ─────────────────────────────────── */
.hero-content { padding:3.5rem 3rem 3.5rem 4rem; }
.hero { min-height:82vh; }
.hero h1 { margin-bottom:1rem; }
.hero .lede { margin-bottom:1.75rem; }
.hero-proof { margin-top:2rem; padding-top:1.75rem; }

/* ── Page hero compact ───────────────────────────────────── */
.page-hero { padding:3rem 0 3rem; }

/* ── Fix section spacing ─────────────────────────────────── */
.section { padding-top:3.5rem; padding-bottom:3.5rem; }

/* ── Calculator redesign ─────────────────────────────────── */
.quote-box {
	background:#fff;
	border:1px solid var(--border);
	border-radius:16px;
	padding:0;
	box-shadow:0 4px 24px rgba(10,77,160,.06);
	overflow:hidden;
}
.quote-fields {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:0;
}
.q-group {
	padding:1.25rem 1.5rem;
	border-bottom:1px solid var(--border);
	border-right:1px solid var(--border);
}
.q-group:nth-child(even) { border-right:none; }
.q-group:last-child,.q-group:nth-last-child(2):nth-child(odd) { border-bottom:none; }
.q-group-full {
	grid-column:1/-1;
	padding:1.25rem 1.5rem;
	border-bottom:1px solid var(--border);
}
.q-group-full:last-child { border-bottom:none; }
.q-label {
	font-size:.8125rem;
	font-weight:700;
	color:var(--ink);
	margin-bottom:.625rem;
	display:block;
	text-transform:uppercase;
	letter-spacing:.04em;
}
.q-label-strong { font-size:.8125rem; font-weight:700; color:var(--ink); margin-bottom:.25rem; display:block; text-transform:uppercase; letter-spacing:.04em; }
.hint { font-size:.8125rem; font-weight:400; color:var(--ink2); text-transform:none; letter-spacing:0; }

/* Result panel */
.quote-result {
	background:var(--green);
	padding:1.5rem;
	grid-column:1/-1;
	border-top:none;
}
.result-label { font-size:.8125rem; color:rgba(255,255,255,.65); font-weight:600; text-transform:uppercase; letter-spacing:.04em; }
.result-price { font-size:2.75rem; font-weight:900; color:#fff; line-height:1; letter-spacing:-.04em; margin:.375rem 0; }
.result-note { font-size:.8125rem; color:rgba(255,255,255,.55); }
.price-breakdown { list-style:none; margin:.875rem 0 0; border-top:1px solid rgba(255,255,255,.15); padding-top:.875rem; display:flex; flex-direction:column; gap:.375rem; }
.price-breakdown li { display:flex; justify-content:space-between; font-size:.875rem; color:rgba(255,255,255,.75); }
.price-breakdown .total-line { border-top:1px solid rgba(255,255,255,.2); margin-top:.375rem; padding-top:.375rem; font-weight:800; color:#fff; font-size:1rem; }
.price-breakdown .discount { color:var(--amber2); }
.price-breakdown .amt { font-weight:600; }

/* Book button in calculator */
#quote-calculator .btn-primary {
	background:var(--amber2);
	color:var(--ink);
	font-weight:800;
	width:100%;
	margin-top:1rem;
	padding:.875rem;
	font-size:1rem;
	border-radius:0;
}
#quote-calculator .btn-primary:hover { background:#e8981a; opacity:1; }

@media (max-width:640px) {
	.quote-fields { grid-template-columns:1fr; }
	.q-group,.q-group-full { border-right:none; }
}

/* Remove old footer legacy styles */
.footer-logo { display:none; }
.footer-blurb { display:none; }
.footer-social { display:none; }
.footer-heading { font-size:.875rem; font-weight:700; color:#fff; margin-bottom:.75rem; }
.footer-list { list-style:none; display:flex; flex-direction:column; gap:.4rem; }
.footer-list a { font-size:.875rem; color:rgba(255,255,255,.5); }
.footer-list a:hover { color:#fff; }
.footer-contact a,.footer-contact span { display:flex; align-items:center; gap:.5rem; }
.footer-contact .icon { color:var(--amber2); }
.footer-contact-item { font-size:.875rem; color:rgba(255,255,255,.5); display:flex; align-items:center; gap:.5rem; }

@media (max-width:860px) {
	.footer-grid { grid-template-columns:1fr 1fr; }
	.footer-brand { grid-column:1/-1; }
}
@media (max-width:480px) {
	.footer-grid { grid-template-columns:1fr; }
	.footer-bottom { flex-direction:column; }
	.footer-legal { text-align:left; }
}

/* ── Trust strip — bigger & bolder ──────────────────────── */
.trust-strip {
	padding:1.5rem 2rem !important;
	gap:3rem !important;
	background:var(--sand) !important;
}
.trust-item {
	font-size:1rem !important;
	font-weight:700 !important;
	color:var(--ink) !important;
	gap:.75rem !important;
}
.trust-item .icon {
	width:24px !important;
	height:24px !important;
	color:var(--green2) !important;
}
.trust-item-sub {
	font-weight:500 !important;
	font-size:.9375rem !important;
}

/* ── Contact form fix — single column, clean ────────────── */
.contact-form-split {
	gap:2.5rem !important;
}
.contact-form-left .quote-box {
	padding:2rem !important;
	border-radius:16px !important;
}
.contact-form-left .quote-fields {
	display:flex !important;
	flex-direction:column !important;
	gap:1.25rem !important;
}
.contact-form-left .q-label {
	text-transform:none !important;
	font-size:.9375rem !important;
	letter-spacing:0 !important;
}
.contact-form-left .sqft-input {
	width:100% !important;
	padding:.75rem 1rem !important;
	border-radius:10px !important;
	border:1.5px solid var(--border) !important;
}
.contact-form-left .sqft-input:focus {
	border-color:var(--green) !important;
	box-shadow:0 0 0 3px rgba(10,77,160,.1) !important;
}
#cf-submit {
	background:var(--green) !important;
	border-radius:10px !important;
	padding:.875rem !important;
	font-size:1rem !important;
}

/* ── Services page — compact checklists ─────────────────── */
.service-detail {
	padding:1.75rem 2rem !important;
	border-radius:16px !important;
	background:var(--card) !important;
	border:1px solid var(--border) !important;
}
.service-detail-head {
	margin-bottom:1.25rem !important;
}
.service-detail-head h2 {
	font-size:1.375rem !important;
}
.service-detail-grid {
	gap:1.5rem !important;
}
.service-detail .check-list {
	columns:2 !important;
	column-gap:1.5rem !important;
	display:block !important;
}
.service-detail .check-list li {
	break-inside:avoid !important;
	margin-bottom:.5rem !important;
	font-size:.8125rem !important;
	line-height:1.5 !important;
}
.service-detail .check-list li svg {
	width:14px !important;
	height:14px !important;
}
.subhead {
	font-size:.75rem !important;
	letter-spacing:.06em !important;
}
.service-detail .btn {
	margin-top:1.25rem !important;
}

/* ── Header refinements ─────────────────────────────────── */
.site-header {
	background: #ffffff !important;
}
.header-inner {
	padding: 0 2rem !important;
}
.header-nav a {
	font-size: .9375rem !important;
	font-weight: 600 !important;
}
.header-phone {
	font-size: .9375rem !important;
}
.header-actions .btn-primary {
	padding: .7rem 1.5rem !important;
	font-size: .9375rem !important;
}

/* ============================================================
   v2.0.4 FIXES — header, zip strip, testimonials, contrast
   ============================================================ */

/* HEADER — much bigger, white background for contrast */
.site-header {
	background: #fff !important;
	border-bottom: 2px solid var(--border) !important;
	box-shadow: 0 2px 12px rgba(0,0,0,.04) !important;
}
.header-inner {
	height: 80px !important;
}
.header-logo img {
	filter: none !important;
	opacity: 1 !important;
	height: 52px !important;
}
.header-nav a {
	color: var(--ink) !important;
	font-weight: 600 !important;
}
.header-nav a:hover {
	color: var(--green) !important;
}
.header-phone {
	color: var(--ink2) !important;
}
.header-phone .icon {
	color: var(--green) !important;
}
.header-actions .btn-primary {
	background: var(--green) !important;
	color: #fff !important;
}
.menu-toggle { color: var(--ink) !important; }

/* BODY — cream stays, header white creates contrast */

/* ZIP STRIP — pill badges instead of raw text */
.zip-grid {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: .5rem !important;
	margin-top: 1.25rem !important;
}
.zip-pill {
	background: #fff !important;
	border: 1.5px solid var(--green) !important;
	border-radius: 8px !important;
	padding: .375rem .75rem !important;
	font-size: .8125rem !important;
	font-weight: 700 !important;
	color: var(--green) !important;
	white-space: nowrap !important;
}
.zip-strip {
	background: var(--mint) !important;
	padding: 2.5rem 1rem !important;
	border-top: 1px solid rgba(10,77,160,.1) !important;
	border-bottom: 1px solid rgba(10,77,160,.1) !important;
}
.zip-strip h2 {
	color: var(--green) !important;
}

/* TESTIMONIALS — fix invisible text */
.testimonials-section {
	background: var(--green) !important;
	padding: 4rem 0 !important;
}
.testimonials-section .section-head {
	margin-bottom: 2rem !important;
}
.testimonials-section h2 {
	color: #fff !important;
}
.testimonials-section .eyebrow {
	color: var(--amber2) !important;
}
.testimonial-scroll-card {
	background: rgba(255,255,255,.1) !important;
	border: 1px solid rgba(255,255,255,.15) !important;
}
.testimonial-text {
	color: rgba(255,255,255,.9) !important;
	font-size: .9375rem !important;
	line-height: 1.7 !important;
}
.testimonial-stars {
	color: var(--amber2) !important;
}
.testimonial-author strong {
	color: #fff !important;
}
.testimonial-author span {
	color: rgba(255,255,255,.55) !important;
}

/* Page hero — darker green for contrast with white header */
.page-hero {
	background: #ffffff !important;
}

/* ============================================================
   v2.0.5 — Blue header, big, city chips
   ============================================================ */

/* HEADER — blue tones, 2x bigger */
.site-header {
	background: #ffffff !important;
	border-bottom: none !important;
	box-shadow: 0 2px 16px rgba(26,61,107,.15) !important;
}
.header-inner {
	height: 104px !important;
	padding: 0 2.5rem !important;
}
.header-logo img {
	filter: none !important;
	height: 76px !important;
	opacity: 1 !important;
}
.header-nav a {
	color: var(--ink) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
}
.header-nav a:hover {
	color: var(--green) !important;
}
.header-nav {
	gap: 2rem !important;
}
.header-phone {
	color: var(--ink2) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
}
.header-phone .icon {
	color: var(--green) !important;
}
.header-actions .btn-primary {
	background: var(--green) !important;
	color: #fff !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	padding: .75rem 1.75rem !important;
	border-radius: 10px !important;
}
.header-actions .btn-primary:hover {
	background: #09214F !important;
	opacity: 1 !important;
}
.menu-toggle {
	color: #fff !important;
}

/* Mobile menu blue */
.mobile-menu {
	background: #09214F !important;
}

/* CITY CHIPS — instead of zip wall */
.city-cards {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .875rem;
	margin-top: 1.75rem;
}
.city-chip {
	display: flex;
	align-items: center;
	gap: .75rem;
	background: #fff;
	border: 1.5px solid var(--border);
	border-radius: 12px;
	padding: .75rem 1.25rem;
	min-width: 160px;
	transition: border-color .2s, box-shadow .2s;
}
.city-chip:hover {
	border-color: var(--green);
	box-shadow: 0 4px 16px rgba(10,77,160,.12);
}
.city-chip .icon {
	width: 20px;
	height: 20px;
	color: var(--green);
	flex-shrink: 0;
}
.city-chip strong {
	display: block;
	font-size: .9375rem;
	font-weight: 700;
	color: var(--ink);
	line-height: 1.2;
}
.city-chip span {
	display: block;
	font-size: .8125rem;
	color: var(--ink2);
	margin-top: 1px;
}

/* ZIP STRIP background */
.zip-strip {
	background: var(--cream2) !important;
}

/* Fix sticky top offset for green header → blue header */
.service-detail {
	scroll-margin-top: 7rem !important;
}

/* Hero top padding adjust for taller header */
.hero-content {
	padding-top: 4rem !important;
	padding-bottom: 4rem !important;
}

/* ── v2.1.1 — hero tight, logo big ──────────────────────── */
.hero {
	gap: 0 !important;
}
.hero-content {
	padding: 3.5rem 2.5rem 3.5rem 4rem !important;
}
.hero-img .hero-bg {
	object-position: center center !important;
}
/* Remove the dark overlay on hero image for cleaner look */
.hero-img::before {
	background: rgba(9,33,79,.08) !important;
}

/* ── v2.1.2 fixes ───────────────────────────────────────── */

/* CTA panel — fix invisible text */
.cta-panel p {
	color: rgba(255,255,255,.75) !important;
}
.cta-panel .hero-trust,
.cta-panel ul {
	color: rgba(255,255,255,.6) !important;
}
.cta-panel li {
	color: rgba(255,255,255,.6) !important;
}

/* Hero — large AZ map watermark */
.hero-content::after {
	content: '';
	position: absolute;
	bottom: -30px;
	right: -20px;
	width: 280px;
	height: 300px;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 110' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 2 L12 24 L2 24 L2 108 L80 108 L100 70 L100 2 Z' stroke='white' stroke-width='2' stroke-linejoin='round' fill='rgba(255,255,255,0.04)'/%3E%3Ccircle cx='32' cy='64' r='4' fill='rgba(255,255,255,0.15)'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain;
	opacity: .5;
	pointer-events: none;
	z-index: 0;
}
.hero-content > * {
	position: relative;
	z-index: 1;
}

/* Services page — remove excessive gap between hero and content */
.page-hero + .section {
	padding-top: 2rem !important;
}
.page-hero + .container.section {
	padding-top: 2rem !important;
}

/* Services page hero — more compact */
.page-hero {
	padding: 2.5rem 0 2.5rem !important;
}
.page-hero h1 {
	margin-bottom: .5rem !important;
}

/* Service detail cards — tighter spacing */
.stack {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

/* Fix page-hero eyebrow color on blue bg */
.page-hero .eyebrow {
	color: var(--amber2) !important;
	justify-content: center !important;
}
.page-hero .eyebrow::before {
	background: var(--amber2) !important;
}

/* ── v2.1.3 — equal service cards, no pushy featured ────── */
.service-card {
	background: #fff !important;
	border: 1px solid var(--border) !important;
	border-top: 3px solid var(--green) !important;
	color: var(--ink) !important;
}
.service-card .card-title,
.service-card h3 {
	color: var(--ink) !important;
}
.service-card .card-body,
.service-card p {
	color: var(--ink2) !important;
}
.service-card .badge {
	background: var(--mint) !important;
	color: var(--green) !important;
}
.service-card .check-list li {
	color: var(--ink2) !important;
}
.service-card .check-list li svg {
	color: var(--green) !important;
}
.service-card .card-link {
	color: var(--green) !important;
}
.service-card .service-card-num {
	color: rgba(10,77,160,.08) !important;
}
.service-card:hover {
	border-top-color: var(--amber) !important;
	box-shadow: 0 8px 32px rgba(10,77,160,.1) !important;
}

/* ============================================================
   v2.1.5 — Fix page hero visibility + AZ map upgrade
   ============================================================ */

/* Page hero — ensure text visible on blue bg */
.page-hero {
	background: linear-gradient(135deg, #09214F 0%, #0A4DA0 100%) !important;
	padding: 2.5rem 0 !important;
	text-align: center;
}
.page-hero h1 {
	color: #fff !important;
	font-size: clamp(1.75rem, 3.5vw, 2.5rem) !important;
	font-weight: 800 !important;
	margin-bottom: .5rem !important;
}
.page-hero .lede {
	color: rgba(255,255,255,.7) !important;
	margin-bottom: 0 !important;
}
.page-hero .eyebrow {
	color: var(--amber2) !important;
	justify-content: center !important;
	margin-bottom: .5rem !important;
}
.page-hero .eyebrow::before {
	display: none !important;
}

/* Remove gap between hero and content */
.page-hero + .section,
.page-hero + .container {
	padding-top: 1.5rem !important;
}

/* Hero AZ map — larger, with city labels */
.hero-content {
	position: relative !important;
	overflow: hidden !important;
}
.hero-content::after {
	content: '' !important;
	position: absolute !important;
	bottom: 10px !important;
	right: 10px !important;
	width: 320px !important;
	height: 350px !important;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 300 340' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3CradialGradient id='glow' cx='50%25' cy='50%25' r='50%25'%3E%3Cstop offset='0%25' stop-color='white' stop-opacity='0.4'/%3E%3Cstop offset='100%25' stop-color='white' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M36 6 L36 72 L6 72 L6 330 L240 330 L300 210 L300 6 Z' stroke='rgba(255,255,255,0.25)' stroke-width='2' stroke-linejoin='round' fill='rgba(255,255,255,0.03)'/%3E%3Cpath d='M36 6 L36 72 L6 72 L6 330 L240 330 L300 210 L300 6 Z' stroke='rgba(255,255,255,0.08)' stroke-width='8' stroke-linejoin='round' fill='none'/%3E%3Ctext x='100' y='30' fill='rgba(255,255,255,0.12)' font-size='22' font-family='system-ui,sans-serif' font-weight='800' letter-spacing='8'%3EARIZONA%3C/text%3E%3Ccircle cx='90' cy='105' r='18' fill='url(%23glow)'/%3E%3Ccircle cx='90' cy='105' r='3' fill='rgba(255,255,255,0.5)'/%3E%3Ctext x='72' y='88' fill='rgba(255,255,255,0.2)' font-size='11' font-family='system-ui,sans-serif' font-weight='500'%3EFlagstaff%3C/text%3E%3Ccircle cx='175' cy='195' r='28' fill='url(%23glow)'/%3E%3Ccircle cx='175' cy='195' r='6' fill='rgba(255,255,255,0.6)'/%3E%3Ccircle cx='175' cy='195' r='12' stroke='rgba(255,255,255,0.15)' stroke-width='1' fill='none'/%3E%3Ctext x='155' y='176' fill='rgba(255,255,255,0.45)' font-size='16' font-family='system-ui,sans-serif' font-weight='700'%3EPhoenix%3C/text%3E%3Ccircle cx='200' cy='182' r='4' fill='rgba(255,255,255,0.4)'/%3E%3Ctext x='209' y='186' fill='rgba(255,255,255,0.3)' font-size='11' font-family='system-ui,sans-serif' font-weight='500'%3EScottsdale%3C/text%3E%3Ccircle cx='162' cy='212' r='3.5' fill='rgba(255,255,255,0.3)'/%3E%3Ctext x='170' y='216' fill='rgba(255,255,255,0.25)' font-size='10' font-family='system-ui,sans-serif'%3ETempe%3C/text%3E%3Ccircle cx='145' cy='202' r='3.5' fill='rgba(255,255,255,0.3)'/%3E%3Ctext x='115' y='206' fill='rgba(255,255,255,0.25)' font-size='10' font-family='system-ui,sans-serif'%3EMesa%3C/text%3E%3Ccircle cx='125' cy='290' r='16' fill='url(%23glow)'/%3E%3Ccircle cx='125' cy='290' r='3.5' fill='rgba(255,255,255,0.35)'/%3E%3Ctext x='110' y='275' fill='rgba(255,255,255,0.2)' font-size='12' font-family='system-ui,sans-serif' font-weight='500'%3ETucson%3C/text%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-size: contain !important;
	opacity: .75 !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

/* ── Values grid — bold numbered cards ──────────────────── */
.values-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
}
.value-card {
	background: rgba(255,255,255,.06);
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 16px;
	padding: 2rem;
	position: relative;
	overflow: hidden;
	transition: background .2s;
}
.value-card:hover {
	background: rgba(255,255,255,.1);
}
.value-num {
	font-size: 4rem;
	font-weight: 900;
	color: rgba(255,255,255,.06);
	line-height: 1;
	letter-spacing: -.06em;
	position: absolute;
	top: .75rem;
	right: 1.25rem;
}
.value-icon {
	width: 48px;
	height: 48px;
	background: rgba(255,255,255,.1);
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
}
.value-icon .icon {
	width: 24px;
	height: 24px;
	color: var(--amber2);
}
.value-card h3 {
	font-size: 1.25rem;
	font-weight: 800;
	color: #fff;
	margin-bottom: .625rem;
	letter-spacing: -.02em;
}
.value-card p {
	font-size: .9375rem;
	color: rgba(255,255,255,.7);
	line-height: 1.7;
}
@media (max-width: 640px) {
	.values-grid { grid-template-columns: 1fr; }
}

/* Eyebrow light variant */
.eyebrow-light {
	color: var(--amber2) !important;
}
.eyebrow-light::before {
	background: var(--amber2) !important;
}

/* ============================================================
   v2.1.7 — Mobile polish
   ============================================================ */

/* Hamburger button — visible on white header */
@media (max-width: 900px) {
	.menu-toggle {
		display: flex !important;
		color: var(--ink) !important;
		width: 40px;
		height: 40px;
		align-items: center;
		justify-content: center;
	}
	.menu-toggle .icon {
		width: 24px !important;
		height: 24px !important;
	}
	.header-nav {
		display: none !important;
	}
	.header-phone {
		display: none !important;
	}
	.header-actions .btn-primary {
		display: none !important;
	}
	.header-inner {
		height: 72px !important;
		padding: 0 1rem !important;
	}
	.header-logo img {
		height: 44px !important;
	}
}

/* Mobile menu panel */
.mobile-menu {
	background: #fff !important;
	border-top: 1px solid var(--border) !important;
	padding: 1rem 1.5rem 1.5rem !important;
	box-shadow: 0 16px 48px rgba(0,0,0,.1) !important;
}
.mobile-nav a {
	display: block !important;
	padding: .875rem 0 !important;
	font-size: 1.0625rem !important;
	font-weight: 600 !important;
	color: var(--ink) !important;
	border-bottom: 1px solid var(--border) !important;
	text-decoration: none !important;
}
.mobile-nav a:hover {
	color: var(--green) !important;
}
.mobile-menu-actions {
	margin-top: 1.25rem !important;
	display: flex !important;
	flex-direction: column !important;
	gap: .75rem !important;
}
.mobile-menu-actions .header-phone {
	display: flex !important;
	justify-content: center !important;
	color: var(--ink) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
}
.mobile-menu-actions .header-phone .icon {
	color: var(--green) !important;
}
.mobile-menu-actions .btn-primary {
	display: flex !important;
	background: var(--green) !important;
	color: #fff !important;
}

/* Hero mobile */
@media (max-width: 900px) {
	.hero {
		grid-template-columns: 1fr !important;
		min-height: auto !important;
	}
	.hero-content {
		padding: 2.5rem 1.5rem !important;
	}
	.hero-content::after {
		width: 260px !important;
		height: 290px !important;
		bottom: -10px !important;
		right: -10px !important;
	}
	.hero h1 {
		font-size: 2.25rem !important;
	}
	.hero-img {
		height: 300px !important;
	}
	.hero-float-card {
		left: 1rem !important;
		bottom: 1rem !important;
	}
	.hero-proof {
		gap: 1.5rem !important;
		flex-wrap: wrap !important;
	}
	.proof-num {
		font-size: 1.5rem !important;
	}
}

/* Trust strip mobile */
@media (max-width: 900px) {
	.trust-strip {
		flex-direction: column !important;
		gap: .875rem !important;
		padding: 1.25rem 1.5rem !important;
		align-items: flex-start !important;
	}
}

/* Service cards mobile */
@media (max-width: 900px) {
	.cards-3 {
		grid-template-columns: 1fr !important;
	}
}

/* Process mobile */
@media (max-width: 760px) {
	.process-grid {
		grid-template-columns: 1fr !important;
	}
	.process-step {
		border-right: none !important;
		border-bottom: 1px solid var(--border) !important;
		padding: 1.5rem 0 !important;
	}
	.process-step:last-child {
		border-bottom: none !important;
	}
}

/* Why split mobile */
@media (max-width: 860px) {
	.why-grid {
		grid-template-columns: 1fr !important;
		gap: 2.5rem !important;
	}
	.why-img {
		aspect-ratio: 16/9 !important;
	}
}

/* About split mobile */
@media (max-width: 820px) {
	.about-split {
		grid-template-columns: 1fr !important;
	}
	.about-split-reverse .about-split-text,
	.about-split-reverse .about-split-img {
		order: initial !important;
	}
}

/* Values grid mobile */
@media (max-width: 640px) {
	.values-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Calculator mobile */
@media (max-width: 768px) {
	#quote-calculator {
		grid-template-columns: 1fr !important;
	}
	#quote-calculator > div:last-child {
		position: static !important;
	}
}

/* Contact form mobile */
@media (max-width: 860px) {
	.contact-form-split {
		grid-template-columns: 1fr !important;
	}
	.contact-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Service areas mobile */
@media (max-width: 860px) {
	.service-areas-layout {
		grid-template-columns: 1fr !important;
	}
}

/* City chips mobile */
@media (max-width: 600px) {
	.city-cards {
		flex-direction: column !important;
	}
	.city-chip {
		min-width: 0 !important;
	}
}

/* Footer mobile */
@media (max-width: 860px) {
	.footer-grid {
		grid-template-columns: 1fr 1fr !important;
	}
	.footer-brand {
		grid-column: 1 / -1 !important;
	}
}
@media (max-width: 480px) {
	.footer-grid {
		grid-template-columns: 1fr !important;
	}
	.footer-bottom {
		flex-direction: column !important;
		align-items: flex-start !important;
	}
	.footer-legal {
		text-align: left !important;
	}
}

/* Sticky mobile CTA */
@media (max-width: 768px) {
	.sticky-mobile-cta {
		display: block !important;
	}
	body {
		padding-bottom: 72px !important;
	}
}
@media (min-width: 769px) {
	.sticky-mobile-cta {
		display: none !important;
	}
}

/* ============================================================
   v2.2.0 — Kapsamlı mobil düzeltme (tüm sayfalar)
   ============================================================ */

/* Temel güvenlik — hiçbir şey taşmasın */
* { box-sizing: border-box !important; }
body { overflow-x: hidden !important; }
.site-shell { overflow-x: hidden; }
img, svg { max-width: 100% !important; }
.container { width: 100% !important; padding-left: 1rem !important; padding-right: 1rem !important; }

/* ── Calculator grids ────────────────────────────────────── */
.calc-outer {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 1.5rem;
	align-items: start;
}
.calc-row-2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

/* ── Service areas stats ─────────────────────────────────── */
.sa-stats-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

/* ── Services page — checklist columns ──────────────────── */
.service-detail-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
}
.service-detail {
	padding: 1.5rem !important;
	overflow: hidden !important;
}
.check-list li {
	word-break: break-word !important;
}

/* ── Pill rows wrap ──────────────────────────────────────── */
.pill-row { flex-wrap: wrap !important; }

/* ── Sqft input ──────────────────────────────────────────── */
.sqft-input { max-width: 100% !important; }

/* ═══════════ MOBILE — 768px ═══════════ */
@media (max-width: 768px) {
	/* Calculator */
	.calc-outer {
		grid-template-columns: 1fr !important;
	}
	.calc-outer > div:last-child {
		position: static !important;
	}
	.calc-row-2 {
		grid-template-columns: 1fr !important;
	}
	.q-group {
		border-right: none !important;
	}

	/* Service detail */
	.service-detail-grid {
		grid-template-columns: 1fr !important;
		gap: 1.25rem !important;
	}
	.service-detail {
		padding: 1.25rem !important;
	}
	.service-detail-head h2 {
		font-size: 1.25rem !important;
	}

	/* Check list — single column on mobile */
	.service-detail .check-list {
		columns: 1 !important;
	}

	/* Blog grid */
	.blog-grid {
		grid-template-columns: 1fr !important;
	}

	/* Contact 4-col → 1 col */
	.contact-grid {
		grid-template-columns: 1fr !important;
	}
	.contact-form-split {
		grid-template-columns: 1fr !important;
	}

	/* Why section */
	.why-grid {
		grid-template-columns: 1fr !important;
		gap: 2rem !important;
	}
	.why-img { aspect-ratio: 16/9 !important; }

	/* About split */
	.about-split {
		grid-template-columns: 1fr !important;
		gap: 1.5rem !important;
	}
	.about-split-reverse .about-split-text,
	.about-split-reverse .about-split-img {
		order: initial !important;
	}

	/* Values grid */
	.values-grid {
		grid-template-columns: 1fr !important;
	}

	/* Service areas */
	.service-areas-layout {
		grid-template-columns: 1fr !important;
	}
	.sa-stats-grid {
		grid-template-columns: 1fr !important;
	}
	.region-grid {
		grid-template-columns: 1fr !important;
	}

	/* Process */
	.process-grid {
		grid-template-columns: 1fr !important;
	}
	.process-step {
		border-right: none !important;
		border-bottom: 1px solid var(--border) !important;
		padding: 1.5rem 0 !important;
	}
	.process-step:last-child { border-bottom: none !important; }

	/* CTA banner */
	.cta-banner-inner {
		grid-template-columns: 1fr !important;
	}
	.cta-banner-btns {
		flex-direction: column !important;
	}

	/* Guarantee card */
	.guarantee-card {
		grid-template-columns: 1fr !important;
		padding: 1.5rem !important;
	}

	/* Cards 3 */
	.cards-3 {
		grid-template-columns: 1fr !important;
	}

	/* Footer */
	.footer-grid {
		grid-template-columns: 1fr 1fr !important;
	}
	.footer-brand {
		grid-column: 1 / -1 !important;
	}

	/* Section padding */
	.section { padding-top: 2.5rem !important; padding-bottom: 2.5rem !important; }

	/* CTA panel */
	.cta-panel { padding: 2rem 1.25rem !important; }
	.cta-panel h2 { font-size: 1.5rem !important; }

	/* Stats grid */
	.stats-grid { gap: 1.5rem !important; padding: 2rem 1rem !important; }
	.stat-num { font-size: 1.75rem !important; }

	/* Trust strip */
	.trust-strip {
		flex-direction: column !important;
		gap: .75rem !important;
		padding: 1.25rem 1rem !important;
		align-items: flex-start !important;
	}

	/* Hero */
	.hero {
		grid-template-columns: 1fr !important;
		min-height: auto !important;
	}
	.hero-content {
		padding: 2.5rem 1.25rem !important;
	}
	.hero h1 { font-size: 2rem !important; }
	.hero-img { height: 260px !important; }
	.hero-proof { gap: 1.25rem !important; flex-wrap: wrap !important; }
	.proof-num { font-size: 1.5rem !important; }
	.hero-ctas { flex-direction: column !important; }
	.hero-ctas .btn { width: 100% !important; justify-content: center !important; }

	/* City chips */
	.city-cards {
		flex-direction: column !important;
		gap: .625rem !important;
	}
	.city-chip { min-width: 0 !important; }

	/* Why-grid-cards */
	.why-grid-cards { grid-template-columns: 1fr !important; }

	/* Page hero */
	.page-hero { padding: 2rem 0 !important; }
	.page-hero h1 { font-size: 1.625rem !important; }
	.page-hero .lede { font-size: .9375rem !important; }

	/* FAQ */
	.faq-list { max-width: 100% !important; }
	.faq-q { font-size: .9375rem !important; padding: 1rem !important; }

	/* Post content */
	.post-content { max-width: 100% !important; }
	.post-content p,
	.post-content li { font-size: 1rem !important; }

	/* SA zip row */
	.sa-zip-row { font-size: .875rem !important; }
}

/* ═══════════ MOBILE — 480px ═══════════ */
@media (max-width: 480px) {
	.footer-grid {
		grid-template-columns: 1fr !important;
	}
	.footer-bottom {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: .5rem !important;
	}
	.footer-legal {
		text-align: left !important;
	}
	.header-inner {
		padding: 0 .875rem !important;
	}
	.header-logo img {
		height: 38px !important;
	}
	.section-head h2 {
		font-size: 1.625rem !important;
	}
	.hero h1 { font-size: 1.75rem !important; }
	.pill { font-size: .8125rem !important; padding: .35rem .75rem !important; }

	/* Pricing cards */
	.pricing-card { padding: 1.25rem !important; }
	.cards-3 { gap: .875rem !important; }
	.service-card { padding: 1.25rem !important; }
}

/* ── Careers page ──────────────────────────────────────── */
.careers-bar {
	display: flex;
	justify-content: center;
	gap: 2.5rem;
	flex-wrap: wrap;
}
.careers-bar-item {
	display: flex;
	align-items: center;
	gap: .75rem;
	color: #fff;
}
.careers-bar-item .icon {
	width: 22px;
	height: 22px;
	color: var(--amber2);
	flex-shrink: 0;
}
.careers-bar-item strong {
	display: block;
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.2;
}
.careers-bar-item span {
	display: block;
	font-size: .8125rem;
	color: rgba(255,255,255,.6);
}

.careers-benefits {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}
.careers-benefit-card {
	background: var(--card);
	border: 1px solid var(--border);
	border-top: 3px solid var(--green);
	border-radius: 12px;
	padding: 1.5rem;
}
.careers-benefit-card:hover {
	border-top-color: var(--amber);
	box-shadow: 0 6px 24px rgba(10,77,160,.08);
}
.careers-benefit-icon {
	width: 44px;
	height: 44px;
	background: var(--mint);
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
}
.careers-benefit-icon svg {
	width: 20px;
	height: 20px;
	color: var(--green);
}
.careers-benefit-card h3 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--ink);
	margin-bottom: .375rem;
	letter-spacing: -.01em;
}
.careers-benefit-card p {
	font-size: .875rem;
	color: var(--ink2);
	line-height: 1.65;
}

.careers-reqs {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
	max-width: 56rem;
}
.careers-req {
	display: flex;
	gap: .875rem;
	align-items: flex-start;
}
.careers-req .icon {
	width: 20px;
	height: 20px;
}
.careers-req strong {
	display: block;
	font-size: .9375rem;
	font-weight: 700;
	color: var(--ink);
	margin-bottom: .25rem;
}
.careers-req p {
	font-size: .875rem;
	color: var(--ink2);
	line-height: 1.65;
}

.careers-form-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}
.careers-field {}
.careers-field .q-label {
	font-size: .875rem;
	font-weight: 600;
	color: var(--ink);
	display: block;
	margin-bottom: .5rem;
}

/* Mobile careers */
@media (max-width: 768px) {
	.careers-bar { gap: 1.25rem; justify-content: flex-start; }
	.careers-benefits { grid-template-columns: 1fr; }
	.careers-reqs { grid-template-columns: 1fr; }
	.careers-form-grid { grid-template-columns: 1fr; }
	.careers-form-grid .careers-field[style*="grid-column"] { grid-column: 1; }
}
@media (max-width: 600px) {
	.careers-bar { flex-direction: column; gap: .875rem; }
}

/* ── Type toggle buttons ─────────────────────────────────── */
.type-toggle {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
}
.type-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .5rem;
	padding: 1.5rem 2rem;
	border: 2px solid var(--border);
	border-radius: 14px;
	background: #fff;
	cursor: pointer;
	font-family: var(--font);
	min-width: 200px;
	transition: border-color .15s, box-shadow .15s;
	text-align: center;
}
.type-btn svg {
	width: 28px;
	height: 28px;
	color: var(--ink2);
}
.type-btn strong {
	display: block;
	font-size: 1rem;
	font-weight: 700;
	color: var(--ink);
}
.type-btn span {
	display: block;
	font-size: .8125rem;
	color: var(--ink2);
}
.type-btn:hover {
	border-color: var(--green);
}
.type-btn.active {
	border-color: var(--green);
	background: var(--mint);
	box-shadow: 0 0 0 3px rgba(10,77,160,.1);
}
.type-btn.active svg { color: var(--green); }
.type-btn.active strong { color: var(--green); }

@media (max-width: 480px) {
	.type-toggle { flex-direction: column; align-items: stretch; }
	.type-btn { min-width: 0; flex-direction: row; text-align: left; padding: 1.125rem 1.25rem; }
}

/* ── Home link visible fix + pricing card cleanup ────────── */
.header-nav a {
	color: var(--ink) !important;
	font-size: .9375rem !important;
	font-weight: 600 !important;
	display: inline-block !important;
	opacity: 1 !important;
	visibility: visible !important;
}
.header-nav {
	display: flex !important;
	gap: 1.75rem !important;
}

/* Pricing card — clean, no overflow */
.pricing-card {
	display: flex !important;
	flex-direction: column !important;
	padding: 1.75rem !important;
	border: 1.5px solid var(--border) !important;
	border-top: 3px solid var(--green) !important;
	border-radius: 14px !important;
	background: #fff !important;
}
.pricing-card .check-list li {
	font-size: .875rem !important;
	color: var(--ink2) !important;
}
.pricing-card .badge {
	margin-bottom: .75rem !important;
}
.pricing-card h2 {
	font-size: 1.125rem !important;
	font-weight: 700 !important;
	color: var(--ink) !important;
	margin-bottom: .25rem !important;
}
.pricing-card .price-big {
	font-size: 1.25rem !important;
	font-weight: 800 !important;
	color: var(--green) !important;
	margin: .5rem 0 .125rem !important;
}
.pricing-card .price-note {
	font-size: .8125rem !important;
	color: var(--ink2) !important;
	margin-bottom: 0 !important;
}
.pricing-card .btn-wrap {
	margin-top: auto !important;
}

/* ── Services room grid ──────────────────────────────────── */
.svc-rooms-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem 2.5rem;
	padding: 1.5rem;
	background: var(--cream2);
	border-radius: 12px;
}
.svc-room {}

@media (max-width: 640px) {
	.svc-rooms-grid {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}
}

/* Services checklist 2 kolon */
.svc-checklist-cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .5rem 2rem;
}
@media (max-width: 560px) {
	.svc-checklist-cols { grid-template-columns: 1fr; }
}

/* ── Header sticky fix ───────────────────────────────────── */
.site-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 200 !important;
}

/* ── Included extras pill ────────────────────────────────── */
.pill-included {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	background: var(--mint);
	border: 1.5px solid var(--green);
	border-radius: 999px;
	padding: .35rem .875rem;
	font-size: .8125rem;
	font-weight: 600;
	color: var(--green);
	cursor: default;
	pointer-events: none;
}
.pill-included em {
	font-style: normal;
	font-weight: 700;
	font-size: .75rem;
	background: var(--green);
	color: #fff;
	border-radius: 999px;
	padding: 1px 7px;
	margin-left: 2px;
}

/* ── Sticky header — final fix ──────────────────────────── */
/* overflow:hidden on <html> breaks sticky — only apply to body/wrapper */
html { overflow: visible !important; }
body { overflow-x: clip !important; } /* clip doesn't break sticky unlike hidden */
.site-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 9999 !important;
	width: 100% !important;
}

/* ── Header FIXED — guaranteed sticky ───────────────────── */
/* position:sticky breaks when any ancestor has overflow set.
   position:fixed always works. */
.site-header {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	z-index: 9999 !important;
}
/* Push content down to compensate for fixed header */
.site-main {
	padding-top: 80px !important;
}
@media (max-width: 900px) {
	.site-main { padding-top: 72px !important; }
}

/* ── Service detail — image + checklist split ───────────── */
.svc-body-grid {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 1.25rem;
	align-items: stretch;
}
.svc-img-wrap {
	border-radius: 12px;
	overflow: hidden;
	min-height: 240px;
	max-height: 360px;
	background: var(--mint);
}
@media (max-width: 760px) {
	.svc-body-grid {
		grid-template-columns: 1fr;
	}
	.svc-img-wrap {
		min-height: 200px;
		max-height: 240px;
	}
}

/* ── Pricing calculator — balanced layout ────────────────── */
.calc-outer {
	display: grid !important;
	grid-template-columns: 1fr 320px !important;
	gap: 1.25rem !important;
	align-items: start !important;
}
#quote-calculator > div:first-child {
	/* left: questions panel */
}
#quote-calculator > div:nth-child(2) {
	/* right: result panel — compact, sticky */
	position: sticky !important;
	top: 90px !important;
}

/* Checklist 4-col grid — responsive */
#checklist-rooms {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 1.25rem !important;
}
@media (max-width: 900px) {
	.calc-outer {
		grid-template-columns: 1fr !important;
	}
	#quote-calculator > div:nth-child(2) {
		position: static !important;
	}
	#checklist-rooms {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}
@media (max-width: 560px) {
	#checklist-rooms {
		grid-template-columns: 1fr !important;
	}
}

/* Services checklist — section grid responsive */
@media (max-width: 540px) {
	.svc-checklist-section-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ═══════════════════════════════════════════════════════════════
   COMPREHENSIVE MOBILE RESPONSIVE — v2.3.10
   Covers all pages: home, pricing, services, careers, contact, FAQ
   ═══════════════════════════════════════════════════════════════ */

/* ── Global: prevent horizontal scroll everywhere ───────────── */
* { box-sizing: border-box; }
body, .site-main { overflow-x: hidden; }
img, svg, video, iframe { max-width: 100%; }

/* ── iOS: prevent input zoom (must be ≥16px) ────────────────── */
input, textarea, select {
	font-size: 16px !important;
}

/* ── Touch targets: min 44×44px ─────────────────────────────── */
.pill, .btn, button, .faq-q,
.type-btn, .nav-link, .mobile-nav a {
	min-height: 44px;
}
.pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* ── Fix checklist-rooms to 3-col (not 4-col override) ─────── */
#checklist-rooms {
	grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 860px) {
	#checklist-rooms { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 540px) {
	#checklist-rooms { grid-template-columns: 1fr !important; }
}

/* ── Hero float card — hide on mobile (clutters layout) ─────── */
@media (max-width: 900px) {
	.hero-float-card { display: none !important; }
}

/* ═══ TABLET (≤ 860px) ════════════════════════════════════════ */
@media (max-width: 860px) {
	/* Pricing cards row — stack */
	.pricing-cards-row,
	.cards-3[style*="grid"] {
		grid-template-columns: 1fr !important;
	}

	/* Service detail */
	.svc-body-grid { grid-template-columns: 1fr !important; }
	.svc-img-wrap  { max-height: 220px !important; }

	/* Careers bar */
	.careers-bar { gap: 1.25rem; }

	/* Benefits grid */
	.careers-benefits { grid-template-columns: repeat(2, 1fr); }
}

/* ═══ MOBILE (≤ 768px) ════════════════════════════════════════ */
@media (max-width: 768px) {
	/* Container padding */
	.container { padding-left: .875rem !important; padding-right: .875rem !important; }

	/* Section spacing */
	.section { padding-top: 2.25rem !important; padding-bottom: 2.25rem !important; }

	/* Headings */
	.section-head h2 { font-size: 1.5rem !important; }
	.section-head .lede { font-size: .9375rem !important; }

	/* ── Pricing page calculator ─── */
	.calc-outer { grid-template-columns: 1fr !important; }
	#quote-calculator > div:nth-child(2) { position: static !important; }

	.calc-row-2,
	[style*="grid-template-columns:1fr 1fr"] {
		grid-template-columns: 1fr !important;
	}

	/* Quote result panel */
	.quote-result { margin-top: .75rem; }
	#quote-price { font-size: 2.5rem !important; }

	/* Pricing cards stacked */
	.pricing-cards-row { grid-template-columns: 1fr !important; gap: 1rem !important; }

	/* ── Services page ─── */
	.service-detail-grid { grid-template-columns: 1fr !important; }
	.service-detail { padding: 1.125rem !important; }

	/* ── Careers page ─── */
	.careers-bar { flex-direction: column; gap: .875rem; padding: 1.25rem 1rem; }
	.careers-benefits { grid-template-columns: 1fr !important; }
	.type-toggle { flex-direction: column !important; }
	.type-btn { flex: 1 !important; }

	/* Careers form fields */
	.careers-form-grid { grid-template-columns: 1fr !important; }
	#careers-form { padding: 1rem !important; gap: 1.125rem !important; }
	#careers-form legend { font-size: .875rem !important; }
	#careers-form fieldset { border: none; padding: 0; margin: 0; }

	/* ── Pills ─── */
	.pill { font-size: .8125rem !important; padding: .4rem .8rem !important; white-space: normal !important; text-align: center !important; }
	.pill-row { gap: .375rem !important; }

	/* Long-option pills full-width */
	.pill[data-value*="willing"],
	.pill[data-value*="partner"],
	.pill[data-value*="but I can"] {
		flex: 1 1 100% !important;
		justify-content: flex-start !important;
		border-radius: 10px !important;
		text-align: left !important;
	}

	/* ── FAQ ─── */
	.faq-q { font-size: .9375rem !important; padding: 1rem !important; }
	.faq-a { font-size: .9rem !important; padding: .875rem 1rem !important; }

	/* ── Trust strip ─── */
	.trust-item { align-items: flex-start; }
	.trust-item .icon { flex-shrink: 0; margin-top: 2px; }

	/* ── Footer ─── */
	.footer-grid { grid-template-columns: 1fr 1fr !important; }
	.footer-brand { grid-column: 1 / -1 !important; }

	/* ── CTA banner ─── */
	.cta-banner-inner { grid-template-columns: 1fr !important; }
	.cta-banner-btns { flex-direction: column !important; }
	.cta-banner-btns .btn { width: 100% !important; justify-content: center !important; }

	/* ── Testimonials ─── */
	.testimonial-card { padding: 1.25rem !important; }

	/* ── Stats ─── */
	.stats-grid { padding: 1.5rem 1rem !important; gap: 1.25rem !important; }

	/* ── Floating SMS ─── */
	.floating-sms { bottom: 84px !important; right: .875rem !important; }
}

/* ═══ SMALL PHONE (≤ 480px) ══════════════════════════════════ */
@media (max-width: 480px) {
	/* Header */
	.header-inner { padding: 0 .75rem !important; height: 64px !important; }
	.header-logo img { height: 40px !important; }

	/* Hero */
	.hero h1 { font-size: 1.75rem !important; }
	.hero-img { height: 220px !important; }
	.hero-ctas { flex-direction: column !important; }
	.hero-ctas .btn { width: 100% !important; justify-content: center !important; }
	.hero-proof { flex-wrap: wrap !important; gap: .875rem !important; }
	.proof-num { font-size: 1.375rem !important; }

	/* Trust items stacked */
	.trust-strip { padding: 1rem .875rem !important; gap: .625rem !important; }

	/* Section heads */
	.section-head h2 { font-size: 1.375rem !important; }

	/* Service cards */
	.service-card { padding: 1.25rem !important; }
	.pricing-card { padding: 1.25rem !important; }

	/* Sqft input */
	.sqft-input { width: 100% !important; max-width: 200px !important; }

	/* Pill font */
	.pill { font-size: .75rem !important; padding: .35rem .65rem !important; }

	/* Footer single col */
	.footer-grid { grid-template-columns: 1fr !important; }
	.footer-bottom { flex-direction: column !important; align-items: flex-start !important; gap: .5rem !important; }
	.footer-legal { text-align: left !important; }

	/* Careers benefits */
	.careers-benefit-card { padding: 1rem !important; }

	/* Site padding for fixed header */
	.site-main { padding-top: 64px !important; }

	/* Checklist in pricing page bottom */
	.checklist-section .check-list { grid-template-columns: 1fr !important; }
}

/* ═══ VERY SMALL (≤ 360px) ════════════════════════════════════ */
@media (max-width: 360px) {
	.container { padding-left: .625rem !important; padding-right: .625rem !important; }
	.hero h1 { font-size: 1.5rem !important; }
	.section-head h2 { font-size: 1.25rem !important; }
	#careers-form { padding: .75rem !important; }
	.pill { font-size: .6875rem !important; }
}

/* Legal pages (Privacy Policy / Terms & Conditions) */
.legal-content{max-width:48rem;margin:0 auto;line-height:1.7}
.legal-content h2{font-size:1.5rem;margin:2.25rem 0 .75rem}
.legal-content h3{font-size:1.125rem;margin:1.5rem 0 .5rem}
.legal-content p{margin:0 0 1rem}
.legal-content ul{margin:0 0 1rem;padding-left:1.25rem;list-style:disc}
.legal-content li{margin-bottom:.4rem}
.legal-content a{text-decoration:underline}
.legal-notice{background:#f4f7fb;border-left:4px solid #1e4fa3;padding:1.25rem 1.5rem;border-radius:.5rem;margin-bottom:1rem}
.legal-notice h2{margin-top:0;font-size:1.125rem}
.legal-notice p:last-child{margin-bottom:0}
.footer-legal-links{font-size:.8125rem;margin-top:.5rem}
.footer-legal-links a{color:rgba(255,255,255,.7);text-decoration:none;margin-right:1rem}
.footer-legal-links a:hover{color:#fff;text-decoration:underline}

/* Header: Contact hover dropdown */
.header-nav .nav-dropdown{position:relative;display:flex;align-items:center}
.header-nav .nav-dropdown>a::after{content:"";display:inline-block;width:.4rem;height:.4rem;margin-left:.4rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.header-nav .nav-dropdown-menu{position:absolute;top:calc(100% + .6rem);left:50%;transform:translateX(-50%);min-width:13.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:.625rem;box-shadow:0 10px 30px rgba(9,33,79,.15);padding:.4rem;opacity:0;visibility:hidden;transition:opacity .15s,visibility .15s;z-index:10000}
.header-nav .nav-dropdown-menu::before{content:"";position:absolute;left:0;right:0;top:-.7rem;height:.7rem}
.header-nav .nav-dropdown:hover .nav-dropdown-menu,.header-nav .nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;visibility:visible}
.header-nav .nav-dropdown-menu a{display:block;padding:.65rem .9rem;color:#09214F;font-size:.875rem;font-weight:500;white-space:nowrap;border:0;border-radius:.4rem}
.header-nav .nav-dropdown-menu a:hover{background:#f4f7fb;color:#1e4fa3;border:0}

/* v2.3.39 — Reserve a dedicated right-side slot for LeadConnector chat.
   Keep Call / Get a Free Quote accessible in the bottom mobile CTA bar. */
@media (max-width: 768px) {
  .sticky-mobile-cta {
    padding: 9px 8px max(9px, env(safe-area-inset-bottom)) !important;
    min-height: 68px;
    z-index: 90;
  }
  .sticky-mobile-cta-inner {
    width: 100% !important;
    padding-right: 92px !important;
    gap: 6px !important;
    align-items: stretch;
  }
  .sticky-mobile-cta .sticky-cta-call {
    flex: 0 0 54px !important;
    min-width: 0;
    padding: 10px 4px !important;
    font-size: 12px !important;
    gap: 3px;
  }
  .sticky-mobile-cta .sticky-cta-call .icon { width: 16px; height: 16px; }
  .sticky-mobile-cta .sticky-cta-quote {
    flex: 1 1 auto !important;
    min-width: 0;
    white-space: nowrap;
    font-size: clamp(10px, 3.1vw, 13px) !important;
    padding: 10px 4px !important;
    line-height: 1.3;
  }
  body { padding-bottom: calc(75px + env(safe-area-inset-bottom)) !important; }
}
@media (max-width: 359px) {
  .sticky-mobile-cta-inner { padding-right: 78px !important; }
  .sticky-mobile-cta .sticky-cta-call { flex-basis: 46px !important; }
  .sticky-mobile-cta .sticky-cta-quote { font-size: 10px !important; }
}


/* ==============================================================
   v2.3.41 — Responsive integrity patch (mobile/tablet only)
   Protect intrinsic grid sizing, forms and calculator from overflow.
   Keep desktop layouts and theme visual language unchanged.
   ============================================================== */
@media (max-width: 900px) {
  html, body, .site-shell, .site-main { max-width: 100%; }
  body { overflow-x: clip; }
  .container, .section, .section > .container { min-width: 0; }
  .calc-outer, #quote-calculator {
    width: 100%; max-width: 100%; min-width: 0;
    grid-template-columns: minmax(0,1fr) !important;
  }
  #quote-calculator > div,
  #quote-calculator .calc-row-2 > div,
  #quote-calculator .q-group,
  #quote-calculator .q-group-full,
  #quote-calculator .quote-result,
  #quote-calculator .price-breakdown,
  #quote-calculator .pill-row,
  #quote-calculator .sqft-row { min-width: 0; max-width: 100%; }
  #quote-calculator > div:nth-child(2) { position: static !important; top: auto !important; }
  #quote-calculator .calc-row-2 { grid-template-columns: minmax(0,1fr) !important; }
  #quote-calculator .q-group, #quote-calculator .q-group-full {
    grid-column: auto !important; border-right: 0 !important;
    padding: 1rem !important;
  }
  #quote-calculator .pill-row { display: flex; flex-wrap: wrap; gap: .45rem; }
  #quote-calculator .pill { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
  #quote-calculator .sqft-row { flex-wrap: wrap; }
  #quote-calculator input, #quote-calculator select, #quote-calculator textarea {
    min-width: 0; max-width: 100%; box-sizing: border-box;
  }
  #quote-calculator .sqft-input { width: min(180px, 70%); flex: 0 1 auto; }
  #quote-calculator .price-breakdown li { min-width: 0; gap: .6rem; align-items: baseline; }
  #quote-calculator .price-breakdown li > :first-child { min-width: 0; overflow-wrap: anywhere; }
  #quote-calculator .price-breakdown .amt { flex-shrink: 0; }
  #quote-calculator #quote-price { overflow-wrap: anywhere; }
  .mj-bk-overlay, .mj-bk-card { max-width: 100vw; box-sizing: border-box; }
  .mj-bk-card { min-width: 0; }
  .mj-bk-card input, .mj-bk-card select, .mj-bk-card textarea {
    width: 100%; min-width: 0; max-width: 100%; box-sizing: border-box;
  }
  .mj-f-grid { grid-template-columns: minmax(0,1fr) !important; }
  .mj-f-grid > *, .mj-f-addr, .mj-f-addr > * { min-width: 0; max-width: 100%; }
  .pricing-card, .service-card, .contact-card, .service-detail,
  .footer-grid > *, .contact-form-split > *, .service-areas-layout > * { min-width: 0; }
  .footer-grid, .contact-form-split, .service-areas-layout, .about-split,
  .service-detail-grid { max-width: 100%; }
}
@media (max-width: 480px) {
  #instant-quote { padding-top: 2.25rem !important; padding-bottom: 2.25rem !important; }
  #quote-calculator { gap: .875rem; }
  #quote-calculator > div:nth-child(2) { padding: 1rem !important; }
  #quote-calculator .q-group, #quote-calculator .q-group-full { padding: .875rem !important; }
  #quote-calculator .pill { font-size: .79rem !important; padding: .45rem .65rem !important; }
  #quote-calculator #coupon-code-input { width: 0; flex: 1 1 0 !important; }
  #quote-calculator #coupon-apply-btn,
  #quote-calculator #coupon-remove-btn { padding: .55rem .6rem !important; font-size: .78rem !important; }
  #quote-calculator #promo-hint-badge { flex-wrap: wrap; }
  #quote-calculator #promo-hint-badge > :last-child { white-space: normal !important; }
  .mj-bk-overlay { padding: .5rem !important; }
  .mj-bk-card { max-height: calc(100dvh - 1rem) !important; }
  .sticky-mobile-cta-inner { box-sizing: border-box; }
}

/* MaidJet Pricing — admin-configurable informational questions */
.mj-custom-question-list{min-width:0;border-top:1px solid #e4eaf2}
.mj-custom-question-field{border:0;border-bottom:1px solid #e4eaf2;padding:17px 18px 19px;margin:0;min-width:0}
.mj-custom-question-field legend{float:none;padding:0;margin-bottom:12px;width:100%;line-height:1.4}
.mj-custom-options{display:flex;flex-wrap:wrap;align-items:stretch;gap:9px;min-width:0}
.mj-custom-choice{display:inline-flex;align-items:center;gap:8px;border:1px solid #d8e2ef;border-radius:10px;background:#fff;padding:10px 13px;color:#172f55;font-weight:600;font-size:.88rem;cursor:pointer;min-width:0;max-width:100%;overflow-wrap:anywhere;transition:border-color .15s,background .15s}
.mj-custom-choice:has(input:checked){background:#e9f4ff;border-color:#1e66c0;color:#144b91}
.mj-custom-choice input{flex:none;accent-color:#1c61b8;width:17px;height:17px;margin:0}
.mj-custom-choice:focus-within{outline:2px solid #f2b600;outline-offset:2px}
.mj-custom-error{background:#fff2f2;box-shadow:inset 3px 0 #cc2525}
.mj-custom-hint,.mj-required{color:#bb2b2b}
@media(max-width:600px){.mj-custom-question-field{padding:15px 13px}.mj-custom-options{display:grid;grid-template-columns:1fr;gap:8px}.mj-custom-choice{width:100%;padding:12px;min-height:44px}}


/* ==============================================================
   v2.4.4 — Calculator UX refresh
   Keep logic identical; improve readability, hierarchy and feel.
   ============================================================== */
#quote-calculator{
  align-items:start;
  gap:1.5rem !important;
}
#quote-calculator > div:first-child{
  background:#f6f9ff !important;
  border:1px solid #dfe7f3 !important;
  border-radius:20px !important;
  padding:1rem !important;
  overflow:visible !important;
  box-shadow:0 14px 36px rgba(10,77,160,.06);
}
#quote-calculator > div:first-child > .q-group-full,
#quote-calculator > div:first-child > .calc-row-2,
#quote-calculator > div:first-child > .mj-custom-question-list{
  background:#fff;
  border:1px solid #e4ebf5;
  border-radius:16px;
  overflow:hidden;
  margin-bottom:.9rem;
  box-shadow:0 4px 18px rgba(12,43,97,.04);
}
#quote-calculator > div:first-child > .q-group-full:last-child,
#quote-calculator > div:first-child > .mj-custom-question-list:last-child{
  margin-bottom:0;
}
#quote-calculator .calc-row-2{
  display:grid;
  grid-template-columns:1fr 1fr;
}
#quote-calculator .q-group,
#quote-calculator .q-group-full{
  padding:1.1rem 1.2rem !important;
  border:0 !important;
}
#quote-calculator .q-group + .q-group{
  border-left:1px solid #e8eef6 !important;
}
#quote-calculator .q-label,
#quote-calculator .mj-custom-question-field legend{
  font-size:.76rem !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  color:#17386f !important;
  text-transform:uppercase;
  margin-bottom:.75rem !important;
}
#quote-calculator .hint{
  color:#6a7a95;
  font-size:.8rem;
}
#quote-calculator .pill-row{
  gap:.55rem !important;
}
#quote-calculator .pill{
  border:1.5px solid #d5dfed !important;
  background:#fff !important;
  color:#153464 !important;
  border-radius:999px !important;
  padding:.52rem .95rem !important;
  font-size:.88rem !important;
  font-weight:700 !important;
  box-shadow:none !important;
  transition:transform .15s ease, border-color .15s ease, background .15s ease, color .15s ease, box-shadow .15s ease;
}
#quote-calculator .pill:hover{
  border-color:#1f5fb7 !important;
  color:#154887 !important;
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(31,95,183,.10);
}
#quote-calculator .pill[aria-pressed="true"]{
  background:linear-gradient(180deg,#2d63ba 0%, #1e4fa2 100%) !important;
  border-color:#1e4fa2 !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(30,79,162,.22);
}
#quote-calculator .sqft-row{
  align-items:center;
  gap:.75rem;
}
#quote-calculator .sqft-input{
  border:1.5px solid #d7e1ef !important;
  background:#fbfdff !important;
  border-radius:12px !important;
  min-height:48px;
  padding:.75rem .9rem !important;
  font-weight:700;
}
#quote-calculator .sqft-input:focus{
  border-color:#1e66c0 !important;
  box-shadow:0 0 0 4px rgba(30,102,192,.12) !important;
}
#quote-calculator .sqft-unit{
  color:#546884;
  font-weight:700;
}
#quote-calculator .mj-custom-question-list{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  margin-bottom:.9rem;
}
#quote-calculator .mj-custom-question-field{
  background:#fff;
  border:1px solid #e4ebf5;
  border-radius:16px;
  margin:0 0 .9rem;
  padding:1rem 1.1rem 1.05rem;
  box-shadow:0 4px 18px rgba(12,43,97,.04);
}
#quote-calculator .mj-custom-question-field:last-child{ margin-bottom:0; }
#quote-calculator .mj-custom-options{ gap:.65rem; }
#quote-calculator .mj-custom-choice{
  min-height:46px;
  border:1.5px solid #d6dfec;
  background:#fbfdff;
  border-radius:12px;
  padding:.72rem .9rem;
  font-weight:700;
  color:#17355f;
}
#quote-calculator .mj-custom-choice:has(input:checked){
  background:#edf4ff;
  border-color:#1f63bd;
  box-shadow:0 0 0 3px rgba(31,99,189,.08);
}
#quote-calculator > div:nth-child(2){
  background:linear-gradient(180deg,#1f57ae 0%, #18478f 100%) !important;
  border-radius:20px !important;
  padding:1.25rem !important;
  box-shadow:0 18px 44px rgba(9,33,79,.18);
  border:1px solid rgba(255,255,255,.12);
}
#quote-calculator .quote-result{
  padding:0 !important;
  margin-bottom:.6rem;
}
#quote-calculator #quote-price{
  font-size:3rem !important;
  letter-spacing:-.05em;
}
#quote-calculator #quote-freq-note{
  color:rgba(255,255,255,.72) !important;
  font-size:.84rem !important;
}
#quote-calculator .price-breakdown{
  margin:0 !important;
  padding-top:.85rem !important;
}
#quote-calculator .price-breakdown li{
  font-size:.9rem;
  color:rgba(255,255,255,.86);
  padding:.1rem 0;
}
#quote-calculator .price-breakdown li > :first-child{
  padding-right:.75rem;
}
#quote-calculator .price-breakdown .amt{
  font-weight:800;
}
#quote-calculator .price-breakdown .total-line{
  margin-top:.55rem;
  padding-top:.65rem;
  font-size:1.05rem;
}
#quote-calculator .mj-quote-offers{
  margin-top:1rem;
  padding:1rem;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
}
#quote-calculator .mj-quote-offers-title{
  margin-bottom:.8rem;
}
#quote-calculator .mj-quote-offers-title small{
  font-size:.7rem;
  color:rgba(255,255,255,.78);
}
#quote-calculator .mj-quote-service-offers{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.6rem;
}
#quote-calculator .mj-quote-offer-btn{
  min-height:86px;
  border-radius:14px;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.2);
  color:#12386b;
  box-shadow:0 8px 20px rgba(9,33,79,.12);
}
#quote-calculator .mj-quote-offer-btn span{ color:#5b6c86; }
#quote-calculator .mj-quote-offer-btn em{ color:#174d98; }
#quote-calculator #promo-hint-badge{
  border-radius:14px !important;
}
#quote-calculator #coupon-code-input{
  border-radius:12px !important;
  min-height:48px;
  font-weight:700;
}
#quote-calculator #coupon-apply-btn,
#quote-calculator #coupon-remove-btn{
  min-height:48px;
  border-radius:12px !important;
  font-weight:800 !important;
}
#quote-calculator #coupon-msg{
  font-size:.82rem !important;
  line-height:1.45;
}
#quote-calculator #quote-book-btn{
  border-radius:14px !important;
  min-height:52px;
  box-shadow:0 10px 18px rgba(245,166,35,.25);
}

@media (max-width: 900px){
  #quote-calculator{gap:1rem !important;}
  #quote-calculator > div:first-child{padding:.8rem !important;}
  #quote-calculator .q-group + .q-group{border-left:0 !important;border-top:1px solid #e8eef6 !important;}
  #quote-calculator .calc-row-2{grid-template-columns:1fr !important;}
}
@media (max-width: 600px){
  #quote-calculator > div:first-child{
    padding:.65rem !important;
    border-radius:18px !important;
  }
  #quote-calculator > div:first-child > .q-group-full,
  #quote-calculator > div:first-child > .calc-row-2,
  #quote-calculator .mj-custom-question-field,
  #quote-calculator .mj-quote-offers{
    border-radius:14px !important;
  }
  #quote-calculator .q-group,
  #quote-calculator .q-group-full,
  #quote-calculator .mj-custom-question-field{
    padding:.9rem !important;
  }
  #quote-calculator .pill{font-size:.83rem !important;}
  #quote-calculator .mj-quote-service-offers{grid-template-columns:1fr;}
  #quote-calculator #quote-price{font-size:2.6rem !important;}
}


/* ==============================================================
   v2.4.5 — Compact section spacing
   Keep content and layout same; reduce vertical fatigue.
   ============================================================== */
.section{
  padding-top:2.8rem !important;
  padding-bottom:2.8rem !important;
}
.section-head{
  margin:0 auto 2rem !important;
}
.page-hero + .section,
.page-hero + .container.section{
  padding-top:1.5rem !important;
}
@media (max-width: 768px){
  .section{
    padding-top:2rem !important;
    padding-bottom:2rem !important;
  }
  .section-head{
    margin:0 auto 1.5rem !important;
  }
}
@media (max-width: 480px){
  .section{
    padding-top:1.6rem !important;
    padding-bottom:1.6rem !important;
  }
  .section-head{
    margin:0 auto 1.2rem !important;
  }
}


/* v2.4.12: small, page-specific decorative symbols in existing blue page heroes.
   Pure CSS; no image downloads, script or extra DOM. FAQ keeps its own ? icon. */
.page-hero.mj-hero-icon{position:relative;isolation:isolate;overflow:hidden}
.page-hero.mj-hero-icon > .container{position:relative;z-index:2}
.page-hero.mj-hero-icon::after{
  content:"✦";position:absolute;z-index:1;right:max(7%,calc((100vw - 1220px)/2));top:50%;
  transform:translateY(-50%) rotate(-9deg);width:100px;height:100px;border-radius:27px;
  display:grid;place-items:center;background:#fff;color:#2258aa;font-size:62px;font-weight:800;
  box-shadow:0 15px 28px rgba(4,24,65,.2);pointer-events:none;
}
.page-hero.mj-hero-icon::before{content:"✧";position:absolute;right:max(4%,calc((100vw - 1290px)/2));top:15%;color:#ffca38;font-size:37px;line-height:1;z-index:1;pointer-events:none}
.page-hero.mj-hero-pricing::after{content:"$"}
.page-hero.mj-hero-services::after{content:"✧"}
.page-hero.mj-hero-about::after{content:"♥"}
.page-hero.mj-hero-areas::after{content:"⌖"}
.page-hero.mj-hero-contact::after{content:"✉"}
.page-hero.mj-hero-careers::after{content:"✓"}
.page-hero.mj-hero-blog::after{content:"✎"}
.page-hero.mj-hero-privacy::after{content:"♙"}
.page-hero.mj-hero-terms::after{content:"§"}
/* Keep the existing centered Careers hero text legible and uncluttered. */
.page-hero.mj-hero-careers::after{right:6%;opacity:.85;width:83px;height:83px;font-size:52px}
@media(max-width:1050px){
 .page-hero.mj-hero-icon::after{right:3%;width:76px;height:76px;font-size:47px;opacity:.55}
 .page-hero.mj-hero-icon::before{right:2%;font-size:26px;opacity:.7}
 .page-hero.mj-hero-icon .container{padding-right:105px}
}
@media(max-width:700px){
 .page-hero.mj-hero-icon::before,.page-hero.mj-hero-icon::after{display:none}
 .page-hero.mj-hero-icon .container{padding-right:inherit}
}

/* v3.2.7 — Pricing includes come directly from the Services admin editor. */
#checklist-rooms.mj-pricing-admin-includes{display:block!important;grid-template-columns:none!important;min-width:0}
.mj-pricing-includes-rich{color:var(--ink2);font-size:.9rem;line-height:1.65;overflow-wrap:anywhere}
.mj-pricing-includes-rich h2,.mj-pricing-includes-rich h3,.mj-pricing-includes-rich h4{color:#143a75;font-weight:800;margin:1rem 0 .45rem;break-after:avoid}
.mj-pricing-includes-rich h2{font-size:1.2rem}.mj-pricing-includes-rich h3{font-size:1.05rem}.mj-pricing-includes-rich h4{font-size:.95rem}
.mj-pricing-includes-rich ul{columns:2;column-gap:2rem;list-style:none;padding-left:0;margin:.6rem 0 1rem}
.mj-pricing-includes-rich li{break-inside:avoid;margin:0 0 .4rem;position:relative;padding-left:1.25rem}
.mj-pricing-includes-rich ul li::before{content:'✓';position:absolute;left:0;color:#275bb0;font-weight:900}
.mj-pricing-includes-rich ol{padding-left:1.3rem;columns:2;column-gap:2rem}
.mj-pricing-includes-rich ol li{padding-left:0}
.mj-pricing-includes-rich p{margin:.5rem 0}.mj-pricing-includes-empty{color:#64748b}
@media(max-width:767px){.mj-pricing-includes-rich ul,.mj-pricing-includes-rich ol{columns:1}}


/* v3.2.8 — Pricing only: warm, premium highlight for admin-synced inclusions. */
body:has(#quote-calculator) .mj-pricing-includes-warm{
  background:linear-gradient(145deg,#fffaf0 0%,#fff7e3 100%)!important;
  border:1px solid #f0d99e!important;
  border-top:3px solid #f2be4e!important;
  box-shadow:0 10px 28px rgba(140,99,30,.055);
  overflow:hidden;
}
.mj-pricing-includes-warm .mj-pricing-includes-heading{
  border-bottom:1px solid rgba(186,141,56,.19);
  padding-bottom:.95rem;
}
.mj-pricing-includes-warm .mj-pricing-includes-heading p{
  color:#173b76!important;
  font-size:.83rem!important;
  letter-spacing:.035em!important;
  line-height:1.5;
}
.mj-pricing-includes-warm .mj-pricing-includes-heading a{
  color:#2457a6!important;
  font-weight:750!important;
  text-underline-offset:3px;
}
.mj-pricing-includes-warm .mj-pricing-admin-includes{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(235,211,159,.6);
  border-radius:13px;
  padding:1.25rem 1.35rem;
}
.mj-pricing-includes-warm .mj-pricing-includes-rich h2,
.mj-pricing-includes-warm .mj-pricing-includes-rich h3,
.mj-pricing-includes-warm .mj-pricing-includes-rich h4{color:#173c78}
.mj-pricing-includes-warm .mj-pricing-includes-rich ul li::before{color:#c78a1e}
@media(max-width:767px){
 .mj-pricing-includes-warm{padding:1.05rem!important;border-radius:15px!important}
 .mj-pricing-includes-warm .mj-pricing-admin-includes{padding:1rem!important}
 .mj-pricing-includes-warm .mj-pricing-includes-heading{gap:.5rem;margin-bottom:.9rem!important}
}
