/* FLYT Moving & Storage — main stylesheet. Warm, human, mobile-first. */

:root{
	--navy:#12324f; --navy-2:#0d2740; --ink:#20303c; --ink-2:#4a5b68;
	--cream:#faf6ef; --cream-2:#f3ece0; --white:#ffffff;
	--coral:#e8663a; --coral-d:#cf5228; --gold:#f0a638; --green:#2f7d5b;
	--line:#e6ddcd; --shadow:0 10px 30px rgba(18,50,79,.10); --shadow-sm:0 4px 14px rgba(18,50,79,.08);
	--r:14px; --r-lg:22px; --wrap:1180px; --sans:'Inter',system-ui,sans-serif; --serif:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.65;font-size:17px;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--coral-d);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{font-family:var(--serif);color:var(--navy);line-height:1.15;font-weight:700;letter-spacing:-.015em;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.5vw,3.4rem);letter-spacing:-.01em}
h2{font-size:clamp(1.5rem,3vw,2.3rem)}
h3{font-size:1.2rem}
p{margin:0 0 1rem}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.narrow{max-width:820px;margin-left:auto;margin-right:auto}
.section{padding:64px 0}
.band{background:var(--cream-2)}
.center{text-align:center}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--coral-d);margin:0 0 .5rem}
.eyebrow.light{color:var(--gold)}
.lead{font-size:1.2rem;color:var(--ink)}
.section-head{max-width:760px;margin:0 auto 36px;text-align:center}
.section-lead{color:var(--ink-2)}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px 16px;z-index:1000;border-radius:8px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;font-family:var(--sans);font-weight:600;font-size:1rem;padding:13px 22px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:.18s ease;text-decoration:none;line-height:1}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-primary{background:var(--coral);color:#fff;border-color:var(--coral)}
.btn-primary:hover{background:var(--coral-d);border-color:var(--coral-d);color:#fff}
.btn-outline{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--navy)}
.btn-ghost-light{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.5)}
.btn-ghost-light:hover{background:#fff;color:var(--navy)}
.btn-sm{padding:9px 16px;font-size:.9rem}
.btn-lg{padding:16px 30px;font-size:1.08rem}
.btn-block{display:flex;width:100%;margin-bottom:10px}

/* Topbar */
.topbar{background:var(--navy);color:#dfe8f0;font-size:.85rem}
.topbar-in{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 22px;max-width:var(--wrap);margin:0 auto}
.topbar a{color:#fff}
.topbar .dot{opacity:.5;margin:0 8px}
.topbar-contact{display:flex;align-items:center;flex-wrap:wrap}

/* Header + nav */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(6px);border-bottom:1px solid var(--line)}
.site-header.scrolled{box-shadow:var(--shadow-sm)}
.header-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 22px}
.brand img{height:52px;width:auto}
.primary-nav{display:flex;align-items:center;gap:22px;margin-left:auto}
.menu{list-style:none;display:flex;gap:4px;margin:0;padding:0}
.menu>li>a{display:block;padding:10px 12px;color:var(--navy);font-weight:600;border-radius:8px}
.menu>li>a:hover{background:var(--cream-2);text-decoration:none}
.menu .sub{list-style:none;margin:0;padding:8px;position:absolute;top:100%;left:0;min-width:240px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(8px);transition:.16s ease;z-index:50}
.menu li{position:relative}
.menu .has-sub:hover>.sub,.menu .has-sub:focus-within>.sub{opacity:1;visibility:visible;transform:translateY(0)}
.menu .sub li a{display:block;padding:9px 12px;border-radius:8px;color:var(--ink);font-weight:500}
.menu .sub li a:hover{background:var(--cream);text-decoration:none;color:var(--navy)}
.menu .sub-2{top:-8px;left:100%}
.sub-cities{columns:2;column-gap:6px;min-width:340px}
.sub-cities li{break-inside:avoid}
.sub-toggle{display:none}
.nav-cta{display:flex;gap:10px;align-items:center}

/* Hamburger */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;border:1px solid var(--line);border-radius:10px;background:#fff;cursor:pointer;padding:0}
.nav-toggle-bar{display:block;width:22px;height:2px;background:var(--navy);margin:0 auto;transition:.25s ease}
.nav-open .nav-toggle-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-open .nav-toggle-bar:nth-child(2){opacity:0}
.nav-open .nav-toggle-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Hero */
.hero{position:relative;color:#fff;isolation:isolate}
.hero-media,.page-hero-media{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-media img,.page-hero-media img{width:100%;height:100%;object-fit:cover}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(105deg,rgba(10,30,50,.86) 0%,rgba(10,30,50,.62) 45%,rgba(10,30,50,.30) 100%)}
.page-hero-scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(10,30,50,.88),rgba(10,30,50,.55))}
.hero-in{padding:96px 22px 72px;max-width:var(--wrap)}
.hero-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.8rem;font-weight:700;color:var(--gold)}
.hero h1{color:#fff;max-width:16ch}
.hero-sub{font-size:1.22rem;max-width:56ch;color:#eaf0f5}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0 34px}

/* Stats */
.stats{display:flex;gap:14px;flex-wrap:wrap}
.stat{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:var(--r);padding:14px 20px;min-width:130px}
.stat-n{display:block;font-family:var(--serif);font-size:1.7rem;font-weight:700;color:#fff}
.stat-l{font-size:.82rem;color:#dbe6ef}
.band .stats,.section:not(.hero) .stats{justify-content:center}
.section:not(.hero) .stat{background:#fff;border-color:var(--line)}
.section:not(.hero) .stat-n{color:var(--navy)}
.section:not(.hero) .stat-l{color:var(--ink-2)}

/* Grids */
.grid-2{display:grid;grid-template-columns:1.2fr .9fr;gap:44px;align-items:start}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:.2s ease;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow);text-decoration:none}
.card-media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--cream-2)}
.card-media img{width:100%;height:100%;object-fit:cover;transition:.4s ease}
.card:hover .card-media img{transform:scale(1.05)}
.card-body{padding:20px;display:flex;flex-direction:column;gap:8px}
.card-title{font-family:var(--serif);font-size:1.25rem;color:var(--navy);font-weight:600}
.card-text{color:var(--ink-2);font-size:.96rem}
.card-link{color:var(--coral-d);font-weight:600;margin-top:auto}
.card-date{font-size:.8rem;color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em}

/* Intro figure */
.intro-figure{position:relative}
.intro-figure img{border-radius:var(--r-lg);box-shadow:var(--shadow)}
.intro-badge{position:absolute;left:-14px;bottom:-14px;background:var(--coral);color:#fff;border-radius:var(--r);padding:14px 18px;max-width:220px;box-shadow:var(--shadow)}
.intro-badge strong{font-family:var(--serif);font-size:1.6rem;display:block}
.intro-badge span{font-size:.82rem}
.intro-links{margin-top:18px}

/* Chips */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.center-chips{justify-content:center}
.chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-weight:600;color:var(--navy);font-size:.92rem}
.chip:hover{background:var(--navy);color:#fff;text-decoration:none}

/* Features */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.feature{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}
.feature-check{flex:none;width:34px;height:34px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:700}
.feature h3{margin:.1rem 0 .3rem}
.feature p{margin:0;color:var(--ink-2);font-size:.95rem}

/* Areas teaser */
.county-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}
.county-col h3{font-size:1rem;color:var(--coral-d);margin-bottom:6px}
.county-col ul{list-style:none;margin:0;padding:0;columns:1}
.county-col li{padding:2px 0}
.areas-map .map-embed,.aside-map .map-embed{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--line)}
.map-embed{position:relative;width:100%}
.map-embed iframe{width:100%;height:var(--mh,320px);border:0;display:block}

/* Testimonials */
.testi-cards{align-items:stretch}
.testi{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;margin:0;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px}
.stars{color:var(--gold);font-size:1.1rem;letter-spacing:2px}
.testi blockquote{margin:0;font-size:1.02rem;color:var(--ink)}
.testi figcaption{margin-top:auto;font-size:.92rem;color:var(--ink-2)}
.testi figcaption strong{display:block;color:var(--navy);font-family:var(--serif)}

/* Estimator */
.estimator-section{background:linear-gradient(180deg,var(--navy),#0c2740);color:#fff}
.estimator-section h2,.estimator-section .eyebrow{color:#fff}
.estimator-section .eyebrow{color:var(--gold)}
.estimator-section .section-lead{color:#cdd9e4}
.estimator{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-lg);padding:26px}
.est-form{display:grid;gap:16px}
.est-field label{display:block;font-weight:600;margin-bottom:6px;color:#eaf0f5}
.est-field select,.est-field input[type=number]{width:100%;padding:12px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:#0e2740;color:#fff;font-size:1rem}
.est-check{display:flex;gap:18px;flex-wrap:wrap}
.est-check label{display:flex;align-items:center;gap:8px;font-weight:500}
.est-check input{width:18px;height:18px}
.est-result{background:#fff;color:var(--ink);border-radius:var(--r);padding:24px;display:flex;flex-direction:column;gap:8px}
.est-label{text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;color:var(--ink-2);margin:0}
.est-range{font-family:var(--serif);font-size:2.6rem;color:var(--navy);margin:0;font-weight:700;line-height:1}
.est-meta{color:var(--ink-2);margin:0}
.est-actions{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}
.est-fine{font-size:.78rem;color:var(--ink-2);margin:0}

/* Page hero */
.page-hero{position:relative;color:#fff;isolation:isolate}
.page-hero-in{padding:64px 22px 54px;max-width:var(--wrap)}
.page-hero h1{color:#fff;max-width:20ch}
.page-hero-sub{font-size:1.15rem;max-width:60ch;color:#e7eef4}
.page-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 14px;font-size:.85rem}
.crumbs li:not(:last-child):after{content:'/';margin-left:8px;opacity:.6}
.crumbs a{color:#e7eef4}.crumbs span{color:#fff;opacity:.85}

/* Prose */
.prose h2{margin-top:1.6em}
.prose .lead{margin-bottom:1.2em}
.ticklist{list-style:none;padding:0;margin:1em 0;display:grid;gap:8px}
.ticklist li{position:relative;padding-left:28px}
.ticklist li:before{content:'✓';position:absolute;left:0;top:0;color:var(--green);font-weight:700}
.inline-photo,.svc-photo{border-radius:var(--r-lg);box-shadow:var(--shadow-sm);margin:18px 0}
.tips-simple{padding-left:1.2em}
.tips-simple li{margin-bottom:8px}

/* Service / city asides */
.svc-aside,.city-aside,.contact-aside{display:grid;gap:18px;position:sticky;top:96px}
.aside-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;box-shadow:var(--shadow-sm)}
.aside-card h3{margin-top:0}
.aside-tag{color:var(--coral-d);font-weight:600;margin-top:-6px}
.aside-map h3{margin-bottom:8px}

/* Service areas hub */
.county-block{margin-bottom:38px}
.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.area-link{display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--navy);font-weight:600}
.area-link:hover{background:var(--navy);color:#fff;text-decoration:none}
.pin{font-size:.9rem}

/* Tips */
.tips{list-style:none;counter-reset:tip;padding:0;margin:0;display:grid;gap:18px}
.tip{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-sm)}
.tip-num{flex:none;width:44px;height:44px;border-radius:50%;background:var(--coral);color:#fff;display:grid;place-items:center;font-family:var(--serif);font-size:1.3rem;font-weight:700}
.tip h2{font-size:1.25rem;margin:.1rem 0 .3rem}
.tip p{margin:0;color:var(--ink-2)}

/* FAQ */
.faq{display:grid;gap:10px}
.faq-group{margin-bottom:30px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.faq-item summary{cursor:pointer;padding:16px 20px;font-weight:600;color:var(--navy);list-style:none;display:flex;justify-content:space-between;gap:12px;font-family:var(--serif);font-size:1.05rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:after{content:'+';color:var(--coral);font-size:1.4rem;line-height:1;transition:.2s}
.faq-item[open] summary:after{transform:rotate(45deg)}
.faq-a{padding:0 20px 18px;color:var(--ink-2)}
.faq-a p{margin:0}

/* Forms */
.flyt-form{display:grid;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow-sm)}
.flyt-form label{font-weight:600;color:var(--navy);display:grid;gap:6px}
.flyt-form input,.flyt-form select,.flyt-form textarea{padding:12px;border:1px solid var(--line);border-radius:10px;font-size:1rem;font-family:inherit;background:var(--cream)}
.flyt-form input:focus,.flyt-form textarea:focus,.flyt-form select:focus{outline:2px solid var(--coral);background:#fff}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.hp{position:absolute;left:-9999px}
.notice{padding:16px 20px;border-radius:var(--r);margin-bottom:18px}
.notice-ok{background:#e8f5ee;border:1px solid var(--green);color:#1c5c40}
.notice-err{background:#fdece7;border:1px solid var(--coral);color:#9c3714}

/* CTA band + footer */
.cta-band{background:linear-gradient(120deg,var(--coral),var(--gold));color:#fff}
.cta-band-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:44px 22px;flex-wrap:wrap}
.cta-band h2{color:#fff;margin:0 0 6px}
.cta-band p{margin:0;max-width:52ch}
.cta-band-actions{display:flex;gap:12px;flex-wrap:wrap}
.site-footer{background:var(--navy);color:#c7d4e0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:30px;padding:56px 22px 30px}
.site-footer h3{color:#fff;font-size:1rem;margin-bottom:12px}
.site-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.site-footer a{color:#c7d4e0}
.site-footer a:hover{color:#fff}
.footer-brand img{height:48px;width:auto;margin-bottom:12px}
.footer-tag{color:#fff;font-family:var(--serif);font-size:1.05rem}
.footer-region,.footer-lic{font-size:.88rem;color:#9fb2c4}
.footer-social{display:flex;gap:14px;margin-top:12px}
.footer-social a{font-weight:600}
.office{font-size:.9rem;margin-bottom:10px}
.footer-hours{color:#9fb2c4}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12)}
.footer-bottom-in{display:flex;justify-content:space-between;gap:14px;padding:18px 22px;flex-wrap:wrap;font-size:.85rem}
.footer-bottom a{color:#c7d4e0}
.credit a{color:var(--gold);font-weight:600}

/* Sitemap */
.sitemap-cols{display:grid;grid-template-columns:1fr 1fr 2fr;gap:30px}
.sitemap-cols ul{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:6px}
.sitemap-city-list{columns:2}
.sitemap-areas h3{color:var(--coral-d);font-size:1rem;margin:16px 0 6px}

/* Blog */
.blog-cards{grid-template-columns:repeat(3,1fr)}
.pagination{margin-top:30px;text-align:center}
.pagination .page-numbers{display:inline-block;padding:8px 14px;border:1px solid var(--line);border-radius:8px;margin:0 3px;background:#fff}
.pagination .current{background:var(--navy);color:#fff}
.search-form{display:flex;gap:8px}
.search-form input{flex:1;padding:12px;border:1px solid var(--line);border-radius:10px}

/* Mobile call bar */
.mobile-callbar{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--coral);color:#fff;text-align:center;padding:14px;font-weight:700;z-index:90}
.mobile-callbar:hover{color:#fff;text-decoration:none}

/* Utility */
.band + .band{padding-top:0}

/* ---------- Responsive ---------- */
@media (max-width:1000px){
	.grid-2{grid-template-columns:1fr}
	.cards,.blog-cards,.feature-grid{grid-template-columns:1fr 1fr}
	.area-grid{grid-template-columns:repeat(3,1fr)}
	.estimator{grid-template-columns:1fr}
	.sitemap-cols{grid-template-columns:1fr 1fr}
	.svc-aside,.city-aside,.contact-aside{position:static}
	.footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
	body{font-size:16px}
	.topbar-hours{display:none}
	.nav-cta{display:none}
	.nav-toggle{display:flex}
	.primary-nav{position:fixed;inset:0 0 0 auto;width:min(88vw,380px);background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:82px 18px 100px;margin:0;overflow-y:auto;transform:translateX(100%);transition:transform .28s ease;box-shadow:var(--shadow);z-index:95}
	.nav-open .primary-nav{transform:translateX(0)}
	.nav-open{overflow:hidden}
	.menu{flex-direction:column;gap:0;width:100%}
	.menu>li,.menu li{position:static}
	.menu>li>a,.menu .sub li a{padding:14px 8px;border-bottom:1px solid var(--line);border-radius:0}
	.menu .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;padding:0 0 0 14px;min-width:0;max-height:0;overflow:hidden;transition:max-height .28s ease}
	.menu .has-sub.open>.sub{max-height:1600px}
	.menu .sub-2{left:0}
	.sub-cities{columns:1;min-width:0}
	.has-sub{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
	.has-sub>a{flex:1}
	.sub-toggle{display:block;width:44px;height:48px;border:0;background:transparent;position:relative;cursor:pointer}
	.sub-toggle:before,.sub-toggle:after{content:'';position:absolute;top:50%;left:50%;width:12px;height:2px;background:var(--navy);transform:translate(-50%,-50%)}
	.sub-toggle:after{transform:translate(-50%,-50%) rotate(90deg);transition:.2s}
	.has-sub.open>.sub-toggle:after{transform:translate(-50%,-50%) rotate(0)}
	.menu .has-sub>.sub{flex-basis:100%}
	.mobile-callbar{display:block}
	.site-main{padding-bottom:52px}
	.cards,.blog-cards,.feature-grid,.county-cols,.area-grid{grid-template-columns:1fr}
	.form-row{grid-template-columns:1fr}
	.footer-grid{grid-template-columns:1fr}
	.cta-band-in{flex-direction:column;align-items:flex-start}
	.section{padding:48px 0}
	.hero-in{padding:64px 22px 48px}
}
@media (max-width:520px){
	.area-grid{grid-template-columns:1fr}
	.sitemap-cols{grid-template-columns:1fr}
	.stat{min-width:calc(50% - 7px)}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto}}

/* About video */
.about-video{width:100%;max-width:960px;border-radius:var(--r-lg);box-shadow:var(--shadow);background:#000;margin:0 auto}

/* Keyword line + in-content links */
.kw-line{background:var(--cream-2);border-left:3px solid var(--coral);border-radius:0 10px 10px 0;padding:12px 16px;font-size:1rem;color:var(--ink)}
.prose p a{color:var(--coral-d);font-weight:600;text-decoration:underline;text-decoration-color:rgba(207,82,40,.35);text-underline-offset:2px}
.prose p a:hover{text-decoration-color:var(--coral-d)}
.faq-a a{color:var(--coral-d);font-weight:600}

/* ============ Tablet + mobile nav (hamburger up to 1200px) ============ */
/* Fixes iPad header cramming: logo + hamburger only; CTAs move to bottom bar. */
@media (max-width:1200px){
	.nav-cta{display:none}
	.nav-toggle{display:flex}
	.topbar-hours{display:none}
	.primary-nav{position:fixed;inset:0 0 0 auto;width:min(90vw,400px);background:#fff;
		flex-direction:column;align-items:stretch;gap:0;padding:84px 18px 96px;margin:0;
		overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateX(100%);
		transition:transform .28s ease;box-shadow:var(--shadow);z-index:95;
		scrollbar-width:none;-ms-overflow-style:none}
	.primary-nav::-webkit-scrollbar{width:0;height:0;display:none}
	.nav-open .primary-nav{transform:translateX(0)}
	.nav-open{overflow:hidden}
	.menu{flex-direction:column;gap:0;width:100%}
	.menu>li,.menu li{position:static}
	.menu>li>a,.menu .sub li a{padding:15px 8px;border-bottom:1px solid var(--line);border-radius:0}
	.menu .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;
		border-radius:0;padding:0 0 0 14px;min-width:0;max-height:0;overflow:hidden;transition:max-height .3s ease}
	.menu .has-sub.open>.sub{max-height:6000px}
	.menu .sub-2{left:0;top:0}
	.sub-cities{columns:1;min-width:0}
	.has-sub{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
	.has-sub>a{flex:1}
	.sub-toggle{display:block;width:46px;height:52px;border:0;background:transparent;position:relative;cursor:pointer}
	.sub-toggle:before,.sub-toggle:after{content:'';position:absolute;top:50%;left:50%;width:13px;height:2px;background:var(--navy);transform:translate(-50%,-50%)}
	.sub-toggle:after{transform:translate(-50%,-50%) rotate(90deg);transition:.2s}
	.has-sub.open>.sub-toggle:after{transform:translate(-50%,-50%) rotate(0)}
	.menu .has-sub>.sub{flex-basis:100%}
	/* two-button sticky action bar */
	.mobile-actionbar{display:flex}
	body{padding-bottom:64px}
}

/* Sticky Call + Book bar (mobile & tablet) */
.mobile-actionbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:96;
	gap:0;box-shadow:0 -4px 18px rgba(18,50,79,.16)}
.mab-btn{flex:1;display:flex;align-items:center;justify-content:center;padding:16px 10px;
	font-weight:700;font-size:1rem;text-decoration:none;border:0}
.mab-btn:hover{text-decoration:none}
.mab-call{background:var(--navy);color:#fff}
.mab-call:hover{color:#fff}
.mab-book{background:var(--coral);color:#fff}
.mab-book:hover{background:var(--coral-d);color:#fff}

/* ============ Running marquee bar (below hero) ============ */
.marquee{overflow:hidden;background:var(--navy);color:#fff;padding:13px 0;white-space:nowrap;position:relative}
.marquee-track{display:inline-flex;align-items:center;width:max-content;animation:flyt-marq 34s linear infinite;will-change:transform}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-item{font-family:var(--serif);font-weight:600;font-size:1rem;letter-spacing:.01em;padding:0 4px}
.marquee-sep{color:var(--gold);margin:0 22px;font-size:.8rem}
@keyframes flyt-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:820px){
	.marquee{padding:11px 0}
	.marquee-item{font-size:.92rem}
	.marquee-sep{margin:0 16px}
	.marquee-track{animation-duration:24s}
}
@media (prefers-reduced-motion:reduce){
	.marquee-track{animation:none;transform:none;white-space:normal;display:flex;flex-wrap:wrap;gap:6px 0;justify-content:center;padding:0 16px}
}

/* Ensure the sticky Call+Book bar actually shows on mobile & tablet
   (must override the base .mobile-actionbar{display:none} declared above). */
@media (max-width:1200px){
	.mobile-actionbar{display:flex !important}
	body{padding-bottom:64px}
}

/* ===== Mobile menu: fit the whole menu, kill the scrollbar (final override) ===== */
@media (max-width:1200px){
	.primary-nav{
		top:0; right:0; bottom:0; left:auto; height:100%;
		width:min(92vw,420px);
		padding:74px 16px 80px;
		overflow-y:auto; overscroll-behavior:contain;
		scrollbar-width:none !important; -ms-overflow-style:none !important;
	}
	.primary-nav::-webkit-scrollbar{width:0 !important;height:0 !important;display:none !important;background:transparent !important}
	/* tighter rows so the top-level menu fits without scrolling */
	.menu>li>a{padding:12px 8px}
	.menu .sub li a{padding:11px 8px}
	.sub-toggle{height:46px}
}

/* ================= Full-screen mobile menu (Platinum-style format) ================= */
.brand-light{display:none}
@media (max-width:1200px){
	/* keep logo + X above the overlay */
	.brand,.nav-toggle{position:relative;z-index:110}
	/* header turns dark while the menu is open */
	.nav-open .site-header{background:var(--navy);border-bottom:1px solid rgba(255,255,255,.12)}
	.nav-open .brand-dark{display:none}
	.nav-open .brand-light{display:block}
	.nav-open .nav-toggle{background:transparent;border-color:rgba(255,255,255,.4)}
	.nav-open .nav-toggle-bar{background:#fff}

	/* full-screen navy panel that expands all the way */
	.primary-nav{
		position:fixed;inset:0;top:0;left:0;right:0;bottom:0;
		width:100%;height:100%;max-width:none;
		background:var(--navy);color:#fff;
		display:flex;flex-direction:column;align-items:stretch;
		padding:0;margin:0;
		transform:translateX(100%);transition:transform .3s ease;
		overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
		scrollbar-width:none !important;-ms-overflow-style:none !important;z-index:95;
	}
	.nav-open .primary-nav{transform:translateX(0)}
	.primary-nav::-webkit-scrollbar{width:0 !important;height:0 !important;display:none !important;background:transparent !important}

	.menu{width:100%;flex-direction:column;gap:0;padding-top:78px}
	.menu>li{border-bottom:1px solid rgba(255,255,255,.10);position:static}
	.menu>li>a{color:#fff;padding:18px 22px;font-size:1.15rem;font-weight:600;border:0;background:transparent}
	.menu>li>a:hover{background:rgba(255,255,255,.05)}
	.menu .sub{background:rgba(0,0,0,.16);padding:0}
	.menu .sub li a{color:#cfdae6;padding:14px 22px 14px 36px;font-size:1rem;border-bottom:1px solid rgba(255,255,255,.06)}
	.menu .sub-2 li a{padding-left:52px}
	.has-sub>a{border-bottom:0}

	/* right-side caret that flips open */
	.sub-toggle{width:60px;height:60px;background:transparent}
	.sub-toggle:before{display:none}
	.sub-toggle:after{content:'';position:absolute;top:50%;left:50%;width:9px;height:9px;background:transparent;
		border:0;border-right:2px solid #fff;border-bottom:2px solid #fff;
		transform:translate(-50%,-70%) rotate(45deg);transition:transform .2s ease}
	.has-sub.open>.sub-toggle:after{transform:translate(-50%,-30%) rotate(-135deg)}

	/* CTA button pinned to the bottom of the menu */
	.nav-cta{display:flex !important;flex-direction:column;gap:12px;padding:20px 22px 26px;margin-top:auto}
	.nav-cta .btn-ghost{display:none}
	.nav-cta .btn{width:100%;justify-content:center;font-size:1.1rem;padding:17px}
	.nav-cta .btn-primary{background:var(--coral);border-color:var(--coral);color:#fff}
}

/* Fix: header backdrop-filter was trapping the fixed mobile menu inside the
   header box (containing-block), and the off-screen panel caused x-overflow. */
@media (max-width:1200px){
	.site-header{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
	body{overflow-x:hidden}
}

@media (max-width:1200px){ .menu{padding-top:92px} }

/* Call button shows only in the mobile menu CTA; phone pill only on desktop */
.nav-cta-call{display:none}
@media (max-width:1200px){
	.menu{padding-top:108px}          /* more breathing room under the logo */
	.nav-cta{flex-direction:row !important;gap:12px;padding:18px 20px 26px}
	.nav-cta-phone{display:none}       /* hide desktop phone pill */
	.nav-cta-call{display:flex;flex:1;background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
	.nav-cta-call:hover{background:rgba(255,255,255,.12);color:#fff}
	.nav-cta .btn-primary{flex:1}
}

@media (max-width:1200px){
	.nav-cta .btn{font-size:.98rem;padding:15px 8px;white-space:nowrap}
	.nav-cta .btn-primary{flex:1.15}
}

/* Top bar tidy on mobile/tablet: drop the dangling separator; stop the tagline wrapping */
@media (max-width:1200px){
	.topbar .dot{display:none}
}
@media (max-width:820px){
	.topbar-tag{display:none}
	.topbar-in{justify-content:center}
	.topbar-contact{white-space:nowrap}
}

/* ================= Brand accent = logo gold (#febe00) ================= */
:root{
	--coral:#febe00;        /* logo gold — used for fills/buttons */
	--coral-d:#e6a900;      /* darker gold for hover */
	--coral-ink:#12324f;    /* navy text on gold */
	--coral-text:#a97400;   /* deep gold that stays legible as text on light bg */
}
/* Gold fills need dark (navy) text for contrast */
.btn-primary,.btn-primary:hover{color:var(--coral-ink)}
.nav-cta .btn-primary,.nav-cta .btn-primary:hover{color:var(--coral-ink)}
.mab-book,.mab-book:hover{color:var(--coral-ink)}
.intro-badge{color:var(--coral-ink)}
.tip-num{color:var(--coral-ink)}
.cta-band,.cta-band h2,.cta-band p{color:var(--coral-ink)}
.cta-band .btn-ghost-light{border-color:rgba(18,50,79,.55);color:var(--coral-ink)}
.cta-band .btn-ghost-light:hover{background:var(--navy);color:#fff}

/* Text accents that were bright coral → readable deep gold */
a{color:var(--coral-text)}
.eyebrow{color:var(--coral-text)}
.card-link{color:var(--coral-text)}
.prose p a{color:var(--coral-text);text-decoration-color:rgba(169,116,0,.4)}
.prose p a:hover{text-decoration-color:var(--coral-text)}
.faq-a a{color:var(--coral-text)}
.county-col h3,.sitemap-areas h3{color:var(--coral-text)}
.aside-tag{color:var(--coral-text)}
.faq-item summary:after{color:var(--coral)}

/* Hero + section stats: 2 x 2 on mobile (were stacking 1 per row) */
@media (max-width:820px){
	.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
	.stat{min-width:0}
}

/* Served-area tags without a dedicated page (Maryland / DC) + homepage DMV line */
.area-static{cursor:default;color:var(--ink-2)}
.area-static:hover{background:#fff;color:var(--ink-2)}
.dmv-extra{background:var(--cream-2);border-radius:12px;padding:12px 16px;font-size:.98rem;margin-top:4px}

/* ===== Link lists as responsive grids (no wrap scrambling) ===== */
/* iPhone: 2 cols · large phone: 3 · iPad: 4 · desktop: 5 */
.chips{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.chip{text-align:center;display:flex;align-items:center;justify-content:center}
.center-chips{justify-items:stretch}
@media (min-width:600px){ .chips{grid-template-columns:repeat(3,1fr)} }
@media (min-width:900px){ .chips{grid-template-columns:repeat(4,1fr)} }
@media (min-width:1200px){ .chips{grid-template-columns:repeat(5,1fr)} }

/* Service-area city grid: iPhone 2 · iPad 3 · desktop 4 */
.area-grid{grid-template-columns:repeat(2,1fr)}
@media (min-width:700px){ .area-grid{grid-template-columns:repeat(3,1fr)} }
@media (min-width:1000px){ .area-grid{grid-template-columns:repeat(4,1fr)} }
.area-link{justify-content:center;text-align:center}

/* Education cards: iPhone 1 · iPad 2 · desktop 3 (dynamic) */
.edu-cards{grid-template-columns:1fr}
@media (min-width:640px){ .edu-cards{grid-template-columns:repeat(2,1fr)} }
@media (min-width:1000px){ .edu-cards{grid-template-columns:repeat(3,1fr)} }

/* =====================================================================
   HERITAGE SKIN  ·  v3  ·  overrides the base to the vintage-trade look
   (Anton + Fraunces + Space Mono · cream/navy/rust/mustard · bordered)
   ===================================================================== */
:root{
	--navy:#152238; --navy-2:#101a2c; --ink:#20293a; --ink-2:#5d6474;
	--cream:#f4ecdb; --cream-2:#ece1c9; --white:#fff8ec;
	--coral:#e0a13c;      /* mustard = primary fill */
	--coral-d:#c98a29;    /* darker mustard hover */
	--coral-ink:#152238;  /* navy text on mustard */
	--coral-text:#a53a20; /* rust = links / eyebrows / accents */
	--rust:#bf462a; --rust-d:#a53a20; --gold:#e0a13c;
	--line:#d6c9ad; --line-ink:#152238;
	--sans:'Fraunces',Georgia,serif; --serif:'Archivo',sans-serif;
	--mono:'Space Mono',monospace;
	--r:3px; --r-lg:4px;
	--shadow:0 18px 40px rgba(21,34,56,.16); --shadow-sm:0 6px 18px rgba(21,34,56,.10);
}
/* paper grain overlay */
body{font-family:var(--sans);background:var(--cream);color:var(--ink);font-size:18px;line-height:1.62}
body::after{content:"";position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.4;mix-blend-mode:multiply;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.06'/%3E%3C/svg%3E")}
.site-header,.mobile-actionbar,.primary-nav{z-index:96}
.site-header{z-index:100}

/* Typography */
h1,h2{font-family:'Archivo',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.005em;line-height:.94;color:var(--navy)}
h3,h4{font-family:'Fraunces',serif;font-weight:600;letter-spacing:-.01em;color:var(--navy)}
h1{font-size:clamp(2.6rem,7vw,5.4rem)}
h2{font-size:clamp(1.9rem,4.2vw,3.2rem)}
.prose h2{font-family:'Fraunces',serif;font-weight:600;text-transform:none;letter-spacing:-.01em;font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.1;margin-top:1.4em}
.prose h3{font-family:'Fraunces',serif;text-transform:none}
.eyebrow,.hero-eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:var(--rust-d)}
.eyebrow.light,.hero-eyebrow{color:var(--gold)}
.lead{font-family:'Fraunces',serif;font-size:1.25rem}

/* Buttons — squared, mono labels */
.btn{font-family:var(--mono);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;border-radius:var(--r);border:2px solid transparent;padding:14px 24px}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.btn-primary:hover{background:var(--coral-d);border-color:var(--coral-d);color:var(--navy)}
.btn-outline{border-color:var(--navy);color:var(--navy);background:transparent}
.btn-outline:hover{background:var(--navy);color:var(--cream)}
.btn-ghost{border-color:var(--line);color:var(--navy)}
.btn-ghost-light{border-color:var(--gold);color:var(--gold);background:transparent}
.btn-ghost-light:hover{background:var(--gold);color:var(--navy)}

/* Top bar */
.topbar{background:var(--navy);color:#cdd5e2;font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.topbar a{color:#fff}
.topbar .dot{color:var(--gold)}

/* Header */
.site-header{background:var(--cream);backdrop-filter:none;border-bottom:2px solid var(--navy)}
.site-header.scrolled{box-shadow:var(--shadow-sm)}
.brand img{height:56px}
.menu>li>a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:700;color:var(--navy);border-radius:0}
.menu>li>a:hover{background:transparent;color:var(--rust-d);box-shadow:inset 0 -2px 0 var(--rust)}
.menu .sub{border:2px solid var(--navy);border-radius:0;box-shadow:8px 8px 0 rgba(21,34,56,.12)}
.menu .sub li a{font-family:var(--sans);border-radius:0}
.menu .sub li a:hover{background:var(--cream);color:var(--rust-d)}
.nav-toggle{border:2px solid var(--navy);border-radius:3px}

/* Hero (front + page-hero) */
.hero-scrim,.page-hero-scrim{background:linear-gradient(100deg,rgba(16,26,44,.92),rgba(16,26,44,.66))}
.hero h1,.page-hero h1{color:var(--cream)}
.hero::after,.page-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:12px;z-index:2;
	background:repeating-linear-gradient(90deg,var(--rust) 0 28px,var(--gold) 28px 56px)}
.hero,.page-hero{position:relative}
.hero-sub{font-family:'Fraunces',serif}

/* Stats — Anton numerals */
.stat-n{font-family:'Archivo',sans-serif;font-weight:400}
.section:not(.hero) .stat{background:var(--cream);border:2px solid var(--navy);border-radius:0}
.stat{border-radius:2px}

/* Marquee */
.marquee{background:var(--rust);border-top:2px solid var(--navy);border-bottom:2px solid var(--navy)}
.marquee-item{font-family:'Archivo',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.02em;color:var(--cream)}
.marquee-sep{color:var(--gold)}

/* Cards / ledger */
.card{border:2px solid var(--navy);border-radius:var(--r-lg);box-shadow:none;background:var(--white)}
.card:hover{transform:translateY(-3px);box-shadow:8px 8px 0 rgba(21,34,56,.14)}
.card-title{font-family:'Archivo',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;color:var(--navy);font-size:1.4rem}
.card-text{font-family:'Fraunces',serif}
.card-link{font-family:var(--mono);text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;font-weight:700;color:var(--rust-d)}
.intro-badge{background:var(--gold);color:var(--navy);border-radius:2px}
.intro-badge strong{font-family:'Archivo',sans-serif}
.intro-figure img{border-radius:4px;border:2px solid var(--navy)}

/* Section headings alignment keeps center helper */
.band{background:var(--cream-2)}

/* Chips + area grids — bordered tickets */
.chip,.area-link{border:2px solid var(--navy);border-radius:2px;background:var(--white);color:var(--navy);font-family:'Fraunces',serif;font-weight:500;transition:.15s}
.chip:hover,.area-link:hover{background:var(--navy);color:var(--cream);text-decoration:none}
.pin{filter:grayscale(1)}
.county-block h2{border-bottom:2px solid var(--navy);padding-bottom:.2em}
.county-col h3{font-family:'Archivo',sans-serif;text-transform:uppercase;color:var(--navy)}
.county-col ul a{color:var(--rust-d)}

/* Keyword line */
.kw-line{background:var(--cream-2);border-left:4px solid var(--rust);border-radius:0;font-family:'Fraunces',serif}

/* FAQ */
.faq-item{border:2px solid var(--navy);border-radius:0;background:var(--white);margin-bottom:10px}
.faq-item summary{font-family:'Fraunces',serif;font-weight:600;color:var(--navy)}
.faq-a{font-family:'Fraunces',serif}

/* Forms */
.est-form input,.est-form select,form input,form textarea,form select{border:2px solid var(--navy)!important;border-radius:2px!important;font-family:'Fraunces',serif}
.notice-ok{border-left:4px solid var(--gold)}
.notice-err{border-left:4px solid var(--rust)}

/* CTA band */
.cta-band{background:var(--navy);color:var(--cream);position:relative;border-radius:0}
.cta-band::before{content:"";position:absolute;top:0;left:0;right:0;height:12px;background:repeating-linear-gradient(90deg,var(--rust) 0 28px,var(--gold) 28px 56px)}
.cta-band h2{color:var(--cream)}
.cta-band p{color:#cdd5e2}

/* Footer */
.site-footer{background:var(--cream);color:var(--ink);border-top:0}
.footer-grid{border-top:2px solid var(--navy)}
.site-footer h3,.footer-col h3{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;color:var(--rust-d)}
.footer-brand img{filter:none}
.footer-col a:hover{color:var(--rust-d)}
.footer-bottom{border-top:1px solid var(--line);font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase}

/* Mobile menu accents (full-screen navy already) */
@media (max-width:1200px){
	.menu>li>a{font-family:'Archivo',sans-serif;text-transform:uppercase;font-size:1.35rem;letter-spacing:.02em}
	.nav-cta .btn-primary{background:var(--gold);color:var(--navy);border-color:var(--gold)}
	.nav-cta-call{border-color:var(--gold);color:var(--gold)}
	.sub-toggle::after{border-color:var(--gold)}
}
/* Sticky action bar */
.mab-call{background:var(--navy)}
.mab-book{background:var(--rust)}
.mab-book:hover{background:var(--rust-d)}

/* Aside card (city pages) */
.aside-card{border:2px solid var(--navy);border-radius:4px;background:var(--white)}
.aside-card h3{font-family:'Archivo',sans-serif;text-transform:uppercase}
.aside-tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;color:var(--rust-d)}

/* ===== Form responsiveness + global horizontal-overflow guard ===== */
html,body{overflow-x:clip;max-width:100%}
.flyt-form,.est-form{max-width:100%}
.flyt-form label{display:block;min-width:0;margin-bottom:14px;font-weight:600;font-size:.92rem}
.flyt-form input,.flyt-form textarea,.flyt-form select{width:100%;max-width:100%;min-width:0;box-sizing:border-box;display:block;margin-top:6px;padding:12px 14px}
.flyt-form input[type=file]{padding:10px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;min-width:0}
.form-row>label{min-width:0}
@media (max-width:640px){ .form-row{grid-template-columns:1fr} }
.map-embed,.map-embed iframe{max-width:100%}
img,iframe,video{max-width:100%}

/* FIX: mobile full-screen menu links must be light on the navy panel
   (the Heritage desktop nav color was bleeding into mobile) */
@media (max-width:1200px){
	.menu>li>a{color:var(--cream) !important;box-shadow:none !important}
	.menu>li>a:hover{color:var(--gold) !important;background:rgba(255,255,255,.05) !important}
	.menu .sub li a{color:#cfdae6 !important}
	.menu .sub li a:hover{color:var(--gold) !important;background:rgba(255,255,255,.05) !important}
	.menu .sub{background:rgba(0,0,0,.16);border:0;box-shadow:none}
}

/* FIX: footer contrast — cream footer needs dark text (was built for a dark bg) */
.site-footer{background:var(--cream);color:var(--ink)}
.footer-tag{color:var(--navy);font-family:'Archivo',sans-serif;text-transform:uppercase;letter-spacing:.01em}
.footer-region,.footer-lic{color:var(--ink-2)}
.footer-col a,.footer-social a{color:var(--ink)}
.footer-col a:hover,.footer-social a:hover{color:var(--rust-d)}
.footer-social a{border:1.5px solid var(--navy);color:var(--navy)}
.footer-social a:hover{background:var(--navy);color:var(--cream)}
.footer-offices .office{color:var(--ink-2)}
.footer-offices .office strong{color:var(--navy)}
.footer-offices .office a{color:var(--rust-d)}
.footer-hours{color:var(--ink-2)}
.footer-bottom{color:var(--ink-2);border-top:1px solid var(--line)}
.footer-bottom a{color:var(--rust-d)}
.footer-col ul a[href*="service-areas"] strong,.footer-col a strong{color:var(--rust-d)}
.credit a{color:var(--rust-d)}

/* Header on navy so the gold logo stands out (was gold-on-cream, muddy) */
.site-header{background:var(--navy);border-bottom:2px solid rgba(0,0,0,.25)}
.site-header.scrolled{box-shadow:0 6px 18px rgba(0,0,0,.3)}
.menu>li>a{color:var(--cream)}
.menu>li>a:hover{color:var(--gold);box-shadow:inset 0 -2px 0 var(--gold);background:transparent}
.nav-toggle{border-color:rgba(255,248,236,.55);background:transparent}
.nav-toggle-bar{background:var(--cream)}
.nav-cta-phone{color:var(--cream);border-color:rgba(255,248,236,.4)}
.nav-cta-phone:hover{border-color:var(--gold);color:var(--gold)}
/* keep the mobile full-screen menu links cream regardless */
@media (max-width:1200px){ .menu>li>a{color:var(--cream) !important} }

/* =====================================================================
   BRAND RECOLOR  ·  match the company truck: golden-yellow + black
   ===================================================================== */
:root{
	--navy:#141414; --navy-2:#000000; --ink:#23211c; --ink-2:#5f5a4e;
	--cream:#fbf6ea; --cream-2:#f3ead4; --white:#fffdf7;
	--coral:#ffad00;      /* golden-yellow = primary fill */
	--coral-d:#e69b00;    /* darker yellow hover */
	--coral-ink:#141414;  /* black text on yellow */
	--coral-text:#8a5a00; /* dark amber = readable links on cream */
	--rust:#141414; --rust-d:#141414; --gold:#ffad00;
	--line:#e7dabb; --line-ink:#141414;
}
a{color:var(--coral-text)}
/* Header: cream with the black logo (high contrast, on-brand) */
.site-header{background:var(--cream);border-bottom:2px solid #141414}
.menu>li>a{color:#141414}
.menu>li>a:hover{color:#8a5a00;box-shadow:inset 0 -2px 0 var(--gold);background:transparent}
.nav-toggle{border-color:#141414}
.nav-toggle-bar{background:#141414}
.nav-cta-phone{color:#141414;border-color:var(--line)}
.nav-cta-phone:hover{color:#8a5a00;border-color:#141414}
@media (max-width:1200px){ .menu>li>a{color:var(--cream) !important} .nav-cta-call{border-color:var(--gold);color:var(--gold)} }
/* Marquee: yellow band, black text (like the truck) */
.marquee{background:var(--gold);border-top:2px solid #141414;border-bottom:2px solid #141414}
.marquee-item,.marquee-sep{color:#141414}
/* Buttons already yellow via tokens; keep black text */
.btn-primary,.btn-primary:hover{color:#141414}
/* Eyebrows / labels black on light, yellow on dark */
.eyebrow{color:#141414}
.hero-eyebrow,.eyebrow.light{color:var(--gold)}
.county-col h3{color:#141414}
.county-col ul a,.card-link,.footer-col a strong,.footer-bottom a,.credit a,.footer-offices .office a{color:#8a5a00}
/* Sticky action bar: black call, yellow book */
.mab-call{background:#141414}
.mab-book{background:var(--gold);color:#141414}
.mab-book:hover{background:var(--coral-d);color:#141414}
/* Stat numerals + card titles stay black (var(--navy)) automatically */

/* Archivo needs an explicit heavy weight + relaxed spacing to replace Anton */
h1,h2,.card-title,.stat-n,.marquee-item,.county-col h3,.footer-tag,.aside-card h3,
.section-head h2,.cta-band h2,.hero h1,.page-hero h1{font-family:'Archivo',sans-serif;font-weight:800;letter-spacing:-.015em;line-height:1.02}
.menu>li>a{font-weight:700 !important;letter-spacing:.01em}
@media (max-width:1200px){ .menu>li>a{font-family:'Archivo',sans-serif !important;font-weight:800 !important;font-size:1.2rem;text-transform:uppercase} }
.marquee-item{letter-spacing:.02em;font-weight:700}
.stat-n{letter-spacing:-.02em}

/* Mobile menu: pin the header (logo + X) to the top of the viewport whenever the
   menu is open, so the close button and logo are always reachable regardless of
   how far down the page you were when you opened it. */
@media (max-width:1200px){
	.nav-open .site-header{position:fixed;top:0;left:0;right:0;z-index:1200}
	.nav-open .brand,.nav-open .nav-toggle{z-index:1201}
}

/* ===== Homepage: FLYT truck speeding off the page ===== */
.truck-band{position:relative;overflow:hidden;background:var(--cream-2);border-top:2px solid #141414;border-bottom:2px solid #141414;height:210px}
.truck-band .word{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Archivo',sans-serif;font-weight:800;font-size:clamp(3rem,11vw,9rem);letter-spacing:-.02em;color:#141414;opacity:.06;text-transform:uppercase;pointer-events:none}
.road{position:absolute;left:0;right:0;bottom:30px;height:4px;opacity:.45;background:repeating-linear-gradient(90deg,#141414 0 42px,transparent 42px 74px)}
.truck-track{position:absolute;bottom:26px;left:0;display:flex;align-items:center;gap:14px;will-change:transform;animation:flyt-drive 5.5s cubic-bezier(.5,.05,.85,.2) infinite}
.truck-track .truck{width:clamp(230px,32vw,440px);height:auto;display:block;filter:drop-shadow(0 10px 12px rgba(0,0,0,.18));animation:flyt-bob .5s ease-in-out infinite}
.speed{height:5px;border-radius:6px;background:#141414;transform-origin:right center;opacity:0;animation:flyt-streak 5.5s cubic-bezier(.5,.05,.85,.2) infinite}
.speed.s1{width:110px}.speed.s2{width:150px}.speed.s3{width:70px}
@keyframes flyt-drive{0%{transform:translateX(-700px)}12%{transform:translateX(-560px)}100%{transform:translateX(calc(100vw + 80px))}}
@keyframes flyt-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes flyt-streak{0%,22%{opacity:0;transform:scaleX(.2)}75%{opacity:.55;transform:scaleX(1)}100%{opacity:.75;transform:scaleX(1.5)}}
@media (max-width:640px){ .truck-band{height:150px} .truck-track{bottom:20px} }
@media (prefers-reduced-motion:reduce){ .truck-track{animation:none;transform:translateX(8vw)} .truck-track .truck{animation:none} .speed{display:none} }

/* ===== Footer legal line (USDOT / MC at the very bottom) ===== */
.footer-legal{border-top:1px solid var(--line);padding:10px 22px 4px}
.footer-legal p{margin:0;text-align:center;font-family:var(--mono);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2)}

/* ===== Live Google review "verified" badge ===== */
.testi-verified{display:inline-block;font-family:var(--mono);font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#141414;background:var(--gold,#FFAD00);border-radius:4px;padding:1px 6px;margin-left:4px;white-space:nowrap}

/* ===== PageSpeed round 2: a11y fixes ===== */
/* Decorative watermark: render the word as generated content so the contrast
   audit (axe-core) ignores it — it is purely ornamental. */
.truck-band .word{color:transparent}
.truck-band .word::before{content:"On the way";color:#141414;opacity:.06}
/* Links inside body copy must be distinguishable by more than color: underline them
   (buttons and chips are excluded). Fixes "Links rely on color to be distinguishable". */
.intro-band p a,.areas-teaser p a,.testi-teaser p a,.footer-bottom a,
p a:not(.btn):not(.chip):not(.area-link){text-decoration:underline;text-underline-offset:2px}

/* ===== AI chat assistant widget ===== */
.flyt-chat{position:fixed;right:18px;bottom:18px;z-index:1300;font-family:var(--sans,system-ui,sans-serif)}
.flyt-chat-fab{display:inline-flex;align-items:center;gap:8px;border:2px solid #141414;background:var(--gold,#ffad00);color:#141414;font-weight:700;font-size:.95rem;padding:12px 18px;border-radius:999px;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.22);transition:.18s ease}
.flyt-chat-fab:hover{transform:translateY(-2px)}
.flyt-chat-fab-ic{font-size:1.15rem;line-height:1}
.flyt-chat-open .flyt-chat-fab{display:none}
.flyt-chat-panel{position:fixed;right:18px;bottom:18px;width:min(380px,calc(100vw - 32px));height:min(560px,calc(100vh - 90px));background:#fff;border:2px solid #141414;border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden}
/* Stay hidden until opened — a class selector's display:flex would otherwise beat the [hidden] attribute. */
.flyt-chat-panel[hidden]{display:none}
.flyt-chat-head{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#141414;color:#fff;padding:13px 15px}
.flyt-chat-head strong{display:block;font-size:1rem}
.flyt-chat-head span{display:block;font-size:.72rem;color:#c9c9c9;margin-top:2px}
.flyt-chat-close{background:transparent;border:0;color:#fff;font-size:1.6rem;line-height:1;cursor:pointer;padding:0 4px}
.flyt-chat-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--cream,#faf6ef)}
.flyt-msg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:.92rem;line-height:1.5;white-space:normal;word-wrap:break-word}
.flyt-msg-user{align-self:flex-end;background:var(--gold,#ffad00);color:#141414;border-bottom-right-radius:4px}
.flyt-msg-bot{align-self:flex-start;background:#fff;border:1px solid var(--line,#e6ddcd);color:#20303c;border-bottom-left-radius:4px}
.flyt-typing{display:flex;gap:4px;align-items:center}
.flyt-typing span{width:7px;height:7px;border-radius:50%;background:#b7b0a2;animation:flyt-blink 1.2s infinite both}
.flyt-typing span:nth-child(2){animation-delay:.2s}.flyt-typing span:nth-child(3){animation-delay:.4s}
@keyframes flyt-blink{0%,80%,100%{opacity:.3}40%{opacity:1}}
.flyt-chat-form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line,#e6ddcd);background:#fff}
.flyt-chat-form textarea{flex:1;resize:none;border:1px solid var(--line,#e6ddcd);border-radius:12px;padding:10px 12px;font:inherit;font-size:.92rem;max-height:120px;color:#20303c}
.flyt-chat-form textarea:focus{outline:2px solid var(--gold,#ffad00);outline-offset:0;border-color:transparent}
.flyt-chat-send{flex:none;width:44px;border:0;border-radius:12px;background:#141414;color:#fff;font-size:1.2rem;cursor:pointer}
.flyt-chat-send:hover{background:#333}
.flyt-chat-cta{display:flex;gap:8px;padding:0 10px 10px}
.flyt-chat-cta a{flex:1;text-align:center;font-size:.8rem;font-weight:700;padding:9px;border-radius:10px;text-decoration:none}
.flyt-chat-cta a:first-child{background:#141414;color:#fff}
.flyt-chat-cta a:last-child{background:var(--gold,#ffad00);color:#141414}
/* Sit above the mobile sticky action bar */
@media (max-width:640px){
	.flyt-chat{right:12px;bottom:74px}
	.flyt-chat-panel{right:8px;left:8px;bottom:8px;width:auto;height:min(76vh,560px)}
	.flyt-chat-fab-tx{display:none}
	.flyt-chat-fab{padding:14px;border-radius:50%}
	.flyt-chat-fab-ic{font-size:1.4rem}
}
@media (prefers-reduced-motion:reduce){.flyt-chat-fab:hover{transform:none}.flyt-typing span{animation:none}}

/* Fix: phone button on the dark CTA band was black-on-black (leftover Heritage rule). */
.cta-band .btn-ghost-light{border-color:var(--gold,#ffad00);color:var(--gold,#ffad00);background:transparent}
.cta-band .btn-ghost-light:hover{background:var(--gold,#ffad00);color:#141414;border-color:var(--gold,#ffad00)}
