/* =====================================================================
   Elite Shed Movers — bright friendly mover
   White canvas · grass-green + safety-orange · Poppins headings + Inter body
   ===================================================================== */
:root{
  --green:#3E3227; --green-dk:#2E251C; --green-soft:#F0E6D6;
  --orange:#C1552C; --orange-dk:#9A4322;
  --ink:#2E251C; --muted:#6B5D4C; --faint:#9C8D78;
  --bg:#ffffff; --bg-alt:#F3EAD9; --line:#DECBAE;
  --footer:#2A2117; --footer-2:#392D1F;
  --f-head:'Bitter',Georgia,Cambria,Times New Roman,serif;
  --f-body:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --container:1180px;
  --radius:10px; --radius-lg:16px; --radius-pill:999px;
  --sec-gap:clamp(3rem,5.5vw,5.5rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:1.0625rem;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--green-dk);text-decoration:none}
h1,h2,h3,h4{font-family:var(--f-head);color:var(--ink);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,1.5rem+2.7vw,3.6rem)}
h2{font-size:clamp(1.7rem,1.2rem+1.8vw,2.6rem)}
h3{font-size:1.25rem}
p{margin:0 0 1.1em}
strong{font-weight:700}
.container{max-width:var(--container);margin:0 auto;padding:0 1.25rem}
.section{padding:var(--sec-gap) 0}
.bg-alt{background:var(--bg-alt)}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;padding:0;margin:-1px;border:0}
a.sr-only:focus{position:fixed;top:8px;left:8px;width:auto;height:auto;clip:auto;background:var(--orange);color:#fff;padding:8px 14px;border-radius:8px;z-index:10000}
.eyebrow,.sec-eyebrow{display:inline-block;font-family:var(--f-head);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--orange);margin:0 0 .7rem}
.sec-head{max-width:720px;margin:0 auto 2.6rem;text-align:center}
.sec-head p{color:var(--muted)}
.prose h2{margin-top:0}.prose p{color:var(--muted)}.prose{max-width:820px}

/* ---- Buttons (rounded, bold) ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;font-family:var(--f-head);font-weight:700;font-size:1rem;
  padding:14px 28px;border-radius:var(--radius-pill);border:2px solid transparent;cursor:pointer;transition:all .16s ease;white-space:nowrap;line-height:1}
.btn-red,.btn-orange{background:var(--orange);color:#fff;border-color:var(--orange)}
.btn-red:hover,.btn-orange:hover{background:var(--orange-dk);border-color:var(--orange-dk);color:#fff;transform:translateY(-2px)}
.btn-blue,.btn-green{background:var(--green);color:#fff;border-color:var(--green)}
.btn-blue:hover,.btn-green:hover{background:var(--green-dk);border-color:var(--green-dk);color:#fff;transform:translateY(-2px)}
.btn-outline{background:transparent;color:var(--green-dk);border-color:var(--green)}
.btn-outline:hover{background:var(--green);color:#fff}
.btn-ghost{display:inline-flex;align-items:center;gap:.4em;background:transparent;border:2px solid rgba(255,255,255,.6);color:#fff;font-family:var(--f-head);font-weight:700;padding:13px 24px;border-radius:var(--radius-pill);transition:all .16s ease}
.btn-ghost:hover{background:#fff;color:var(--ink)}
.btn-lg{padding:17px 38px;font-size:1.08rem}
.btn-block{width:100%}

/* ---- Header ---- */
.site-header{position:sticky;top:0;z-index:200;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 14px rgba(0,0,0,.04)}
.site-header .inner{max-width:1280px;margin:0 auto;padding:.6rem 1.25rem;display:flex;align-items:center;gap:1.4rem;min-height:74px}
.brand-logo-link{display:inline-flex;align-items:center;gap:.55rem;text-decoration:none}
.brand-logo-link .lg-ic{width:42px;height:42px;flex:0 0 42px;border-radius:12px;background:var(--green);display:flex;align-items:center;justify-content:center}
.brand-logo-link .lg-ic svg{width:26px;height:26px;stroke:#fff;fill:none}
.brand-logo-link .lg-txt{font-family:var(--f-head);font-weight:800;font-size:1.18rem;line-height:1;color:var(--ink);letter-spacing:-.02em}
.brand-logo-link .lg-txt b{color:var(--green)}
.brand-logo-link .lg-txt small{display:block;font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);margin-top:3px}
.brand-logo{max-height:48px;width:auto}
.main-nav{margin-left:auto}
.main-nav>ul{list-style:none;display:flex;align-items:center;gap:1.35rem;margin:0;padding:0}
.main-nav>ul>li>a{font-family:var(--f-head);font-weight:600;font-size:.96rem;color:var(--ink);display:inline-flex;align-items:center;gap:.2rem;padding:.4rem 0}
.main-nav>ul>li>a:hover{color:var(--green-dk)}
.has-sub{position:relative}
.sub-menu{list-style:none;margin:0;padding:.5rem;position:absolute;top:calc(100% + 10px);left:0;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 20px 50px -20px rgba(0,0,0,.3);display:none;z-index:30}
.has-sub:hover .sub-menu,.has-sub:focus-within .sub-menu{display:block}
.sub-menu li a{display:block;padding:.5rem .7rem;border-radius:8px;font-size:.92rem;color:var(--ink);font-weight:500}
.sub-menu li a:hover{background:var(--green-soft);color:var(--green-dk)}
.sub-menu .sub-sep{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--faint);padding:.5rem .7rem .2rem;font-weight:700}
.header-cta{display:flex;align-items:center;gap:1rem}
.header-phone{font-family:var(--f-head);font-weight:700;color:var(--green-dk);white-space:nowrap}
.header-phone:hover{color:var(--orange)}
.nav-toggle{display:none;background:transparent;border:2px solid var(--line);border-radius:10px;width:46px;height:42px;font-size:1.3rem;color:var(--ink);cursor:pointer}

/* ---- HERO (centered over image) ---- */
.hero{position:relative;background:#2a352c center/cover no-repeat;color:#fff;text-align:center;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(42,37,32,.62),rgba(42,37,32,.74))}
.hero .inner{max-width:900px;margin:0 auto;padding:clamp(3.5rem,8vw,6.5rem) 1.25rem clamp(5rem,8vw,7rem)}
.hero h1{color:#fff;font-size:clamp(2.3rem,1.5rem+3vw,4rem);margin-bottom:.4em}
.hero-sub{font-size:clamp(1.1rem,1rem+.6vw,1.45rem);color:#eef3ea;max-width:42ch;margin:0 auto 1.4rem;font-weight:500}
.hero-rating{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-pill);padding:.45rem 1rem;font-size:.92rem;font-weight:600;margin-bottom:1.6rem;backdrop-filter:blur(4px)}
.hero-rating .stars{color:var(--orange);letter-spacing:.1em}
.hero-cta-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.hero-call{display:none}

/* ---- QUICK ACTIONS BAR (raised, overlaps hero) ---- */
.quick-bar{max-width:var(--container);margin:-3.5rem auto 0;padding:0 1.25rem;position:relative;z-index:5;display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.qa-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.5rem 1.6rem;box-shadow:0 20px 45px -25px rgba(0,0,0,.3);display:flex;align-items:center;gap:1rem;transition:transform .16s ease,box-shadow .16s ease}
.qa-card:hover{transform:translateY(-4px);box-shadow:0 28px 55px -25px rgba(0,0,0,.35)}
.qa-card .qa-ic{width:50px;height:50px;flex:0 0 50px;border-radius:14px;background:var(--green-soft);display:flex;align-items:center;justify-content:center}
.qa-card .qa-ic svg{width:26px;height:26px;stroke:var(--green-dk);fill:none}
.qa-card h3{margin:0 0 .15rem;font-size:1.05rem}
.qa-card p{margin:0;font-size:.88rem;color:var(--muted)}
.qa-card .qa-arrow{margin-left:auto;color:var(--orange);font-weight:800;font-size:1.2rem}

/* ---- SERVICES grid ---- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.svc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}
.svc-card:hover{transform:translateY(-5px);box-shadow:0 24px 50px -28px rgba(0,0,0,.3)}
.svc-card .svc-img{aspect-ratio:16/10;object-fit:cover;width:100%}
.svc-card .svc-body{padding:1.4rem 1.5rem 1.6rem}
.svc-card .svc-ic{width:48px;height:48px;border-radius:12px;background:var(--orange);display:flex;align-items:center;justify-content:center;margin:-3rem 0 1rem;position:relative;box-shadow:0 8px 18px -8px rgba(193,85,44,.7)}
.svc-card .svc-ic svg{width:26px;height:26px;stroke:#fff;fill:none}
.svc-card h3{margin-bottom:.35rem}
.svc-card p{color:var(--muted);font-size:.95rem;margin-bottom:1rem}
.svc-card .learn-more{font-family:var(--f-head);font-weight:700;color:var(--orange);font-size:.92rem}
.svc-card .learn-more:hover{color:var(--orange-dk)}

/* ---- ALTERNATING FEATURE ROWS (image + text) ---- */
.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;margin-bottom:var(--sec-gap)}
.feature-row:last-child{margin-bottom:0}
.feature-row.reverse .feature-img{order:2}
.feature-img img{width:100%;border-radius:var(--radius-lg);aspect-ratio:4/3;object-fit:cover;box-shadow:0 30px 60px -34px rgba(0,0,0,.5)}
.feature-text h2{margin-bottom:.5rem}
.feature-text>p{color:var(--muted)}
.checks{list-style:none;padding:0;margin:1.2rem 0 1.6rem;display:grid;gap:.7rem}
.checks li{display:flex;align-items:flex-start;gap:.65rem;font-weight:500}
.checks li svg{width:22px;height:22px;flex:0 0 22px;margin-top:.1rem;color:var(--green);fill:none;stroke:currentColor;stroke-width:2.4}

/* ---- STAT BAND (green) ---- */
.stat-band{background:var(--green);color:#fff}
.stat-band .row{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.stat-band .stat .num{font-family:var(--f-head);font-size:clamp(2.2rem,1.5rem+2vw,3.2rem);font-weight:800;line-height:1}
.stat-band .stat .lbl{font-size:.95rem;color:#e7f3da;margin-top:.4rem}
.stat-band .stat svg{width:38px;height:38px;stroke:#fff;fill:none;margin:0 auto .6rem;display:block;opacity:.9}

/* ---- QUOTE BAND (lead form) ---- */
.quote-band{color:#fff;background-image:linear-gradient(120deg,#C1552C,#9A4322)}
.quote-band .inner{max-width:var(--container);margin:0 auto;padding:clamp(2.5rem,5vw,4rem) 1.25rem;display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.quote-band h2{color:#fff}
.quote-band-lead p{color:#F0E6E0}
.quote-band-lead .qb-brand{font-family:var(--f-head);font-weight:700;color:var(--orange);text-transform:uppercase;letter-spacing:.07em;font-size:.82rem;margin-bottom:.6rem}
.quote-band-form{background:#fff;border-radius:var(--radius-lg);padding:1.7rem;box-shadow:0 30px 70px -30px rgba(0,0,0,.6)}
.quote-band-form .qc-head h3{font-size:1.3rem;margin-bottom:.2rem}
.quote-band-form .qc-head p{font-size:.88rem;color:var(--muted);margin-bottom:1.1rem}

/* ---- FORMS ---- */
.pem-form .qc-row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:.8rem}
.pem-form .f{margin-bottom:.8rem}
.pem-form .f.full{grid-column:1/-1}
.pem-form label{display:block;font-family:var(--f-head);font-size:.78rem;font-weight:600;color:var(--muted);margin-bottom:.3rem}
.quote-band .pem-form label,.quote-card .pem-form label{color:var(--muted)}
.pem-form input{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;font-family:var(--f-body);font-size:16px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.pem-form input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft)}
.quote-card{background:#fff;border-radius:var(--radius-lg);box-shadow:0 30px 70px -30px rgba(0,0,0,.6);padding:1.7rem}
.quote-card .qc-head h2{font-size:1.4rem;margin-bottom:.2rem}
.quote-card .qc-head span{font-size:.88rem;color:var(--muted);display:block;margin-bottom:1.1rem}
.qc-note,.note{font-size:.78rem;color:var(--muted);margin:.7rem 0 0}
.form-thanks{background:var(--green-soft);border:1px solid var(--green);border-radius:var(--radius-lg);padding:1.5rem;text-align:center}
.form-thanks h3{color:var(--green-dk)}

/* ---- BRAND PROMISE / BENEFITS (icon stat cards) ---- */
.promise-grid,.ben-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.promise-card,.ben-card{text-align:center;padding:1.8rem 1.4rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg)}
.promise-card .pc-ic,.ben-card .ben-ic{width:64px;height:64px;border-radius:50%;background:var(--green-soft);display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.promise-card .pc-ic svg,.ben-card .ben-ic svg{width:32px;height:32px;stroke:var(--green-dk);fill:none}
.promise-card h3,.ben-card h3{font-size:1.05rem;margin-bottom:.3rem}
.promise-card p,.ben-card p{font-size:.9rem;color:var(--muted);margin:0}

/* ---- REVIEWS ---- */
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.tst-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.rev-card,.tst-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem}
.rev-top,.tst-head{display:flex;align-items:center;gap:.8rem;margin-bottom:.6rem}
.rev-av,.tst-av{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--green-soft);flex:0 0 48px}
.rev-name,.tst-name{font-family:var(--f-head);font-weight:700;font-size:1rem}
.rev-meta{font-size:.82rem;color:var(--faint)}
.rev-stars,.tst-stars{color:var(--orange);letter-spacing:.12em;margin-bottom:.5rem}
.rev-text,.tst-card p{color:var(--ink);font-size:.96rem;line-height:1.6}
.rev-top{justify-content:space-between}.rev-who{display:flex;align-items:center;gap:.7rem}
.rev-g{width:22px;height:22px;flex:0 0 22px}

/* ---- AREAS band ---- */
.areas-band{background:var(--green-soft)}
.areas-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.areas-list{display:flex;flex-wrap:wrap;gap:.6rem}
.areas-list a{background:#fff;border:1px solid var(--line);border-radius:var(--radius-pill);padding:8px 16px;font-weight:600;font-size:.92rem;color:var(--ink)}
.areas-list a:hover{border-color:var(--green);color:var(--green-dk)}

/* ---- RESOURCES grid ---- */
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.res-link{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.4rem;color:var(--ink)}
.res-link:hover{border-color:var(--green);box-shadow:0 16px 36px -24px rgba(0,0,0,.3)}
.res-ic{width:46px;height:46px;flex:0 0 46px;border-radius:12px;background:var(--green-soft);display:flex;align-items:center;justify-content:center}
.res-ic svg{width:24px;height:24px;stroke:var(--green-dk);fill:none}
.res-link h3{font-size:1rem;margin:0}.res-link .v{font-size:.85rem;color:var(--orange);font-weight:700}
.res-cta{text-align:center;margin-top:2rem}

/* ---- PRICING (kept light) ---- */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.price-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.8rem 1.6rem;text-align:center;position:relative}
.price-card.featured{border:2px solid var(--orange);box-shadow:0 24px 50px -28px rgba(193,85,44,.5)}
.pc-badge{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;font-family:var(--f-head);font-weight:700;font-size:.78rem;padding:4px 14px;border-radius:var(--radius-pill)}
.price-card .price{font-family:var(--f-head);margin:.6rem 0 1rem}
.price-card .price b{font-size:2.4rem;color:var(--green-dk);font-weight:800}
.price-card .price span{color:var(--muted)}
.price-card ul{list-style:none;padding:0;margin:0 0 1.4rem;text-align:left;display:grid;gap:.5rem}
.price-card li{padding-left:1.5rem;position:relative;font-size:.92rem;color:var(--muted)}
.price-card li::before{content:"\2713";position:absolute;left:0;color:var(--green);font-weight:800}
.price-note{text-align:center;color:var(--muted);font-size:.9rem;margin-top:1.6rem}

/* ---- COMPARISON table (kept) ---- */
.cmp-wrap{overflow-x:auto}
.cmp{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;min-width:680px}
.cmp th,.cmp td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:center;font-size:.92rem}
.cmp thead th{background:var(--ink);color:#fff;font-family:var(--f-head)}
.cmp thead .cmp-us{background:var(--green)}
.cmp tbody th{text-align:left;font-weight:600;color:var(--ink)}
.cmp .cmp-us{background:var(--green-soft)}
.cmp .tick svg{width:20px;height:20px;stroke:var(--green);fill:none;stroke-width:3}
.cmp .cross{color:#cdd6cf}.cmp .dash{color:var(--faint)}
.pill{display:inline-block;padding:3px 10px;border-radius:var(--radius-pill);font-size:.78rem;font-weight:700}
.pill.low{background:var(--green-soft);color:var(--green-dk)}.pill.med{background:#fff3e0;color:var(--orange-dk)}.pill.high{background:#fde8e8;color:#c0392b}
.cmp-note{text-align:center;color:var(--muted);font-size:.9rem;margin-top:1.4rem}
.redlink,.learn-more{color:var(--orange);font-weight:700}

/* ---- QBAND (legacy quote band) ---- */
.qband{background:var(--ink)}
.qband .inner{max-width:var(--container);margin:0 auto;padding:clamp(2.5rem,5vw,4rem) 1.25rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.qband h2{color:#fff}.qband-lead p{color:#F0E6E0}.qband .qb-brand{color:var(--orange);font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-size:.82rem;margin-bottom:.5rem;font-family:var(--f-head)}
.qband .f{margin-bottom:.7rem}.qband label{color:#E2D4CC}

/* ---- INNER PAGES ---- */
.page-hero{background:var(--green-soft);border-bottom:1px solid var(--line)}
.page-hero .container{padding-top:clamp(2rem,4vw,3.2rem);padding-bottom:clamp(2rem,4vw,3.2rem)}
.crumb{font-size:.85rem;color:var(--faint);margin-bottom:.8rem}.crumb a{color:var(--green-dk)}
.page-hero h1{margin-bottom:.3rem}
.page-hero .ph-sub{color:var(--muted);font-size:1.1rem;max-width:60ch}
.content-main{padding:var(--sec-gap) 0}
.layout,.page-layout{display:grid;grid-template-columns:1.6fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.page-aside{position:sticky;top:96px;display:grid;gap:1.2rem}
.lead-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem;box-shadow:0 24px 50px -30px rgba(0,0,0,.25)}
.lc-head h3{font-size:1.25rem;margin-bottom:.2rem}.lc-head p{font-size:.88rem;color:var(--muted);margin-bottom:1rem}
.call-card{background:var(--green-soft);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.3rem 1.5rem;text-align:center}
.call-card span{font-size:.9rem;color:var(--muted)}.call-card a{display:block;font-family:var(--f-head);font-weight:800;font-size:1.4rem;color:var(--green-dk)}
.call-card small{color:var(--faint)}
.prose .panel,.panel,.box{background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem;margin:1.4rem 0}
.prose ul:not(.checks){padding-left:1.2em}.prose li{margin:.3em 0}.prose ul li::marker{color:var(--green)}
.prose a{color:var(--orange);font-weight:600}
.cost-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:1.2rem 0}
.cost-table th,.cost-table td{padding:11px 14px;border-bottom:1px solid var(--line);text-align:left;font-size:.95rem}
.cost-table thead th{background:var(--green-soft);color:var(--green-dk)}
.faq-item{border-bottom:1px solid var(--line);padding:1.1rem 0}
.faq-item h3{font-size:1.1rem;margin-bottom:.4rem;color:var(--ink)}.faq-item p{color:var(--muted);margin:0}
.incl-list{list-style:none;padding:0;margin:1.1rem 0;display:grid;gap:.6rem}
.incl-list li{display:flex;align-items:flex-start;gap:.6rem}
.incl-list svg{width:20px;height:20px;flex:0 0 20px;color:var(--green);stroke:currentColor;fill:none;stroke-width:2.4;margin-top:.15rem}
.inner-cta{background:var(--green);color:#fff;text-align:center}
.inner-cta .container{padding:var(--sec-gap) 1.25rem}
.inner-cta h2{color:#fff}.inner-cta p{color:#e7f3da;max-width:60ch;margin:0 auto 1.6rem}
.inner-cta .btn,.inner-cta .btn-lg{background:var(--orange);border-color:var(--orange);color:#fff}
.inner-cta .btn-ghost{background:transparent;border-color:rgba(255,255,255,.7);margin-left:.6rem}

/* ---- INNER PAGE BODY (article + aside) ---- */
.page-body{padding:var(--sec-gap) 0}
.page-body>.container{display:grid;grid-template-columns:1.6fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.page-main h2{margin-top:1.6em}.page-main>*:first-child{margin-top:0}
.page-main p{color:var(--muted)}.page-main strong{color:var(--ink)}
.page-main a{color:var(--orange);font-weight:600}
.page-main ul{padding-left:1.2em}.page-main li{margin:.35em 0}.page-main ul li::marker{color:var(--green)}
.iv-checks{list-style:none;padding:0;margin:1rem 0 1.6rem;display:grid;gap:.6rem}
.iv-checks li{position:relative;padding-left:1.9rem;color:var(--ink)}
.iv-checks li::before{content:"\2713";position:absolute;left:0;top:0;color:var(--green);font-weight:800;font-size:1.05rem}
.price-box{background:var(--green-soft);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem;margin:1.6rem 0}
.price-box h2{margin-top:0}.pb-big{font-size:1.2rem;color:var(--ink)}.price-box .muted{color:var(--muted);font-size:.95rem}
.price-box .btn{background:var(--orange);color:#fff;border-color:var(--orange)}
.faq-wrap{max-width:820px}
details.faq-item{border-bottom:1px solid var(--line)}
details.faq-item summary{cursor:pointer;list-style:none;padding:1.1rem 0;font-family:var(--f-head);font-weight:600;font-size:1.08rem;color:var(--ink);display:flex;justify-content:space-between;gap:1rem}
details.faq-item summary::-webkit-details-marker{display:none}
details.faq-item summary::after{content:"+";color:var(--orange);font-weight:800;font-size:1.3rem;line-height:1}
details.faq-item[open] summary{color:var(--green-dk)}
details.faq-item[open] summary::after{content:"\2212"}
details.faq-item>div{padding:0 0 1.1rem;color:var(--muted)}
.muted{color:var(--muted)}
.ns-thanks{background:var(--green-soft);border:1px solid var(--green);border-radius:var(--radius);padding:1.4rem}
.ns-thanks h3{color:var(--green-dk)}

/* ---- FOOTER ---- */
.site-footer{background:var(--footer);color:#aebcb1;padding:var(--sec-gap) 0 1.6rem;font-size:.93rem}
.ft-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2.2rem}
.ft-brand p{margin:.3rem 0}
.brand-logo-ft{max-height:44px;margin-bottom:.8rem}
.ft-brand .ft-wordmark{font-family:var(--f-head);font-weight:800;font-size:1.3rem;color:#fff;margin-bottom:.6rem;display:inline-block}
.ft-brand .ft-wordmark b{color:var(--green)}
.ft-col h4{font-family:var(--f-head);color:#fff;font-size:.95rem;margin:0 0 .9rem;text-transform:uppercase;letter-spacing:.05em}
.ft-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.site-footer a{color:#aebcb1}.site-footer a:hover{color:var(--orange)}
.ft-bottom{border-top:1px solid var(--footer-2);padding-top:1.4rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;align-items:center;font-size:.85rem;color:#8a978f}
.ft-social{display:flex;gap:.6rem}
.ft-social a{width:36px;height:36px;border-radius:50%;background:var(--footer-2);display:flex;align-items:center;justify-content:center;color:#F0E6E0}
.ft-social a:hover{background:var(--green);color:#fff}.ft-social svg{width:18px;height:18px}

/* ---- MOBILE STICKY CTA ---- */
.mobile-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:300;background:#fff;border-top:1px solid var(--line);padding:.6rem;gap:.6rem;box-shadow:0 -6px 24px rgba(0,0,0,.1)}
.mobile-cta a{flex:1;text-align:center;font-family:var(--f-head);font-weight:700;padding:13px;border-radius:var(--radius-pill);font-size:.95rem}
.mc-call{background:var(--green-soft);color:var(--green-dk)}.mc-quote{background:var(--orange);color:#fff}

/* =====================================================================
   Responsive
   ===================================================================== */
@media (max-width:960px){
  .main-nav{position:fixed;inset:0 0 0 auto;width:min(340px,86vw);background:#fff;transform:translateX(100%);transition:transform .25s ease;padding:5rem 1.25rem 2rem;overflow-y:auto;box-shadow:-20px 0 60px -20px rgba(0,0,0,.4);margin:0}
  .main-nav.open{transform:translateX(0)}
  .main-nav>ul{flex-direction:column;align-items:stretch;gap:.2rem}
  .sub-menu{position:static;display:block;box-shadow:none;border:0;padding:.2rem 0 .6rem .8rem;min-width:0}
  .nav-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;order:3}
  .header-cta .btn{display:none}
  .feature-row,.feature-row.reverse{grid-template-columns:1fr}.feature-row.reverse .feature-img{order:0}
  .quote-band .inner,.qband .inner,.areas-wrap{grid-template-columns:1fr}
  .layout,.page-layout{grid-template-columns:1fr}.page-aside{position:static}
  .quick-bar{grid-template-columns:1fr;margin-top:-2.5rem}
  .svc-grid,.res-grid,.rev-grid,.price-grid,.promise-grid,.ben-grid{grid-template-columns:repeat(2,1fr)}
  .stat-band .row{grid-template-columns:repeat(2,1fr);gap:2rem 1rem}
  .tst-grid{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr 1fr}
  .mobile-cta{display:flex}
  body{padding-bottom:70px}
}
@media (max-width:560px){
  .svc-grid,.res-grid,.rev-grid,.price-grid,.promise-grid,.ben-grid,.pem-form .qc-row{grid-template-columns:1fr}
  .ft-grid{grid-template-columns:1fr}
  .ft-bottom{flex-direction:column;text-align:center}
  .hero-cta-row{flex-direction:column}.hero-cta-row .btn,.hero-cta-row .btn-ghost{width:100%}
}

/* =====================================================================
   RESTRUCTURED HOME BLOCKS — unique per-site footprint
   ===================================================================== */
.top-bar{background:var(--orange);color:#fff;font-size:.84rem;font-weight:600}
.top-bar .inner{max-width:1280px;margin:0 auto;padding:.45rem 1.25rem;display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap}
.top-bar a{color:#fff;font-weight:700}
.top-bar .tb-item{display:inline-flex;align-items:center;gap:.35rem}
.top-bar .tb-right{margin-left:auto;display:inline-flex;gap:1.4rem;flex-wrap:wrap}

/* hero split (text left + form right) */
.hero.split{text-align:left}
.hero.split .inner{max-width:1180px;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center;padding:clamp(3rem,6vw,4.5rem) 1.25rem}
.hero.split .hero-rating{margin-bottom:1.1rem}
.hero.split h1{margin-bottom:.4em}
.hero.split .hero-sub{margin:0 0 1.4rem}
.mini-trust{display:flex;gap:1.6rem;flex-wrap:wrap;margin-top:1.6rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.22)}
.mini-trust div{font-size:.84rem;color:#dfe9d8}.mini-trust b{display:block;font-family:var(--f-head);font-size:1.45rem;color:#fff;line-height:1}
.hero-form{background:#fff;border-radius:var(--radius-lg);padding:1.6rem;box-shadow:0 34px 80px -34px rgba(0,0,0,.7);color:var(--ink)}
.hero-form h3{font-size:1.3rem;margin-bottom:.15rem}.hero-form .hf-sub{font-size:.88rem;color:var(--muted);margin-bottom:1.1rem}

/* trust logos strip */
.trust-strip{border-bottom:1px solid var(--line);background:#fff}
.trust-strip .row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.2rem 2.6rem;padding:1.3rem 0}
.trust-strip img{height:28px;width:auto;opacity:.65;filter:grayscale(.3)}

/* services split (intro + 2-col rows) */
.svc-split{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.svc-split .si h2{margin-bottom:.5rem}.svc-split .si p{color:var(--muted)}
.svc-rows{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.svc-row2{display:flex;gap:.9rem;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;transition:border-color .15s,box-shadow .15s}
.svc-row2:hover{border-color:var(--green);box-shadow:0 14px 30px -22px rgba(0,0,0,.3)}
.svc-row2 .ic{width:42px;height:42px;flex:0 0 42px;border-radius:10px;background:var(--green-soft);display:flex;align-items:center;justify-content:center}
.svc-row2 .ic svg{width:22px;height:22px;stroke:var(--green-dk);fill:none}
.svc-row2 h3{font-size:1rem;margin:0 0 .15rem}.svc-row2 p{font-size:.85rem;color:var(--muted);margin:0}

/* steps (how it works) */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.step{text-align:center}
.step .n{width:54px;height:54px;border-radius:50%;background:var(--orange);color:#fff;font-family:var(--f-head);font-weight:800;font-size:1.4rem;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.step h3{font-size:1.1rem;margin-bottom:.3rem}.step p{color:var(--muted);font-size:.92rem;margin:0}

/* dark stat band (3) */
.stat-dark{background:var(--ink);color:#fff}
.stat-dark .row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;text-align:center}
.stat-dark .num{font-family:var(--f-head);font-size:clamp(2.4rem,1.6rem+2vw,3.4rem);font-weight:800;color:var(--orange);line-height:1}
.stat-dark .lbl{color:#c3d0c6;margin-top:.4rem}

/* featured review + small */
.rev-featured{display:grid;grid-template-columns:1.2fr .8fr;gap:1.5rem;align-items:start}
.rev-big{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:2rem;border-left:5px solid var(--green)}
.rev-big .stars{color:var(--orange);font-size:1.2rem;letter-spacing:.12em;margin-bottom:.8rem}
.rev-big blockquote{margin:0 0 1rem;font-family:var(--f-head);font-size:1.4rem;line-height:1.4;color:var(--ink);font-weight:600}
.rev-big .who{color:var(--muted)}.rev-big .who b{color:var(--ink)}
.rev-side{display:grid;gap:1rem}

/* areas 2-col list */
.areas-cols{columns:2;column-gap:2rem}
.areas-cols a{display:block;padding:.55rem 0;border-bottom:1px solid var(--line);color:var(--ink);font-weight:500;break-inside:avoid}
.areas-cols a:hover{color:var(--green-dk)}

/* home FAQ */
.home-faq{max-width:820px;margin:0 auto}

/* cta band orange */
.cta-band2{background:var(--orange);color:#fff;text-align:center}
.cta-band2 .container{padding:var(--sec-gap) 1.25rem}
.cta-band2 h2{color:#fff}.cta-band2 p{color:#ffe9d6;max-width:56ch;margin:0 auto 1.6rem}
.cta-band2 .btn{background:#fff;color:var(--orange-dk);border-color:#fff}.cta-band2 .btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

@media (max-width:960px){
  .hero.split .inner{grid-template-columns:1fr}
  .svc-split,.rev-featured{grid-template-columns:1fr}
  .steps,.stat-dark .row{grid-template-columns:1fr}
  .svc-rows{grid-template-columns:1fr}
  .top-bar .tb-right{display:none}
}
@media (max-width:560px){.areas-cols{columns:1}.mini-trust{gap:1.1rem}}

/* hero form to the left (swap with text) */
.hero.split .hero-form{order:-1}

/* gallery block */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);border:1px solid var(--line)}
@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.gallery-grid{grid-template-columns:1fr}}

/* reviews slider */
.rev-slider{position:relative}
.rev-track{display:flex;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:.2rem .2rem 1rem;scrollbar-width:thin}
.rev-track .rev-card{flex:0 0 clamp(280px,80vw,340px);scroll-snap-align:start}

/* calculator page */
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:2rem 0}
.calc-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.8rem}
.calc-card h2{font-size:1.3rem;margin-top:0}
.calc-fields{display:grid;gap:1rem;margin:1.2rem 0}
.calc-fields label{display:grid;gap:.35rem;font-family:var(--f-head);font-weight:600;font-size:.85rem;color:var(--muted)}
.calc-fields select{border:1.5px solid var(--line);border-radius:10px;padding:11px 13px;font-size:16px;background:#fff;color:var(--ink);font-family:var(--f-body)}
.calc-out{background:var(--green-soft);border-radius:var(--radius);padding:1rem 1.2rem;margin-bottom:1.2rem;font-family:var(--f-head);font-weight:600;color:var(--ink);font-size:.88rem}
.calc-out span{display:block;font-size:1.9rem;color:var(--green-dk);font-weight:800;margin-top:.2rem}
@media(max-width:760px){.calc-grid{grid-template-columns:1fr}}

/* protect grid (how we protect your stuff) */
.protect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
@media(max-width:860px){.protect-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.protect-grid{grid-template-columns:1fr}}

/* move-day vertical timeline */
.timeline2{max-width:760px;margin:0 auto;position:relative;padding-left:2.4rem}
.timeline2::before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:2px;background:var(--line)}
.tl-item{position:relative;padding:0 0 1.6rem}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:-2.4rem;top:2px;width:24px;height:24px;border-radius:50%;background:var(--orange);border:4px solid var(--bg-alt);box-shadow:0 0 0 1px var(--line)}
.tl-item .t{font-family:var(--f-head);font-weight:700;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--green-dk);margin-bottom:.1rem}
.tl-item h3{font-size:1.1rem;margin:0 0 .2rem}.tl-item p{color:var(--muted);margin:0;font-size:.95rem}

/* owner block (meet the owner) */
.owner-block{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.owner-photo img{width:100%;border-radius:var(--radius-lg);aspect-ratio:4/5;object-fit:cover;object-position:50% 14%;max-height:560px}
.owner-text h2{margin-bottom:.5rem}.owner-text>p{color:var(--muted)}
@media(max-width:760px){.owner-block{grid-template-columns:1fr}.owner-photo img{max-width:320px}}

/* coverage map */
.coverage{display:grid;grid-template-columns:1.5fr .9fr;gap:clamp(1.5rem,4vw,3rem);align-items:center}
.cov-map{position:relative;aspect-ratio:1/.82;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:radial-gradient(circle at 50% 50%,rgba(193,85,44,.1),transparent 62%),#fff}
.cov-map::before,.cov-map::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid var(--line);border-radius:50%}
.cov-map::before{width:52%;height:52%}.cov-map::after{width:88%;height:88%}
.cov-hq{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);background:var(--green);color:#fff;font-weight:700;font-size:.82rem;padding:5px 12px;border-radius:var(--radius-pill);z-index:5;font-family:var(--f-head)}
.cov-pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:.3rem;font-size:.78rem;color:var(--muted);white-space:nowrap;z-index:2;font-weight:500}
.cov-pin::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--orange);flex:0 0 9px}
.cov-pin:hover{color:var(--green-dk)}
.cov-list{list-style:none;margin:0;padding:0;columns:2;column-gap:1.4rem}
.cov-list li{margin-bottom:.5rem;break-inside:avoid}
.cov-list a{color:var(--ink);font-size:.92rem;font-weight:500}.cov-list a:hover{color:var(--green-dk)}
@media(max-width:860px){.coverage{grid-template-columns:1fr}.cov-map{display:none}}
@media(max-width:560px){.cov-list{columns:1}}

/* area cards (redone service-areas block) */
.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.area-card{display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:.95rem 1.1rem;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.area-card:hover{border-color:var(--green);box-shadow:0 14px 30px -22px rgba(0,0,0,.3)}
.area-card .pin{width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:var(--green-soft);display:flex;align-items:center;justify-content:center}
.area-card .pin svg{width:20px;height:20px;stroke:var(--green-dk);fill:none}
.area-card .ac-t{display:flex;flex-direction:column;line-height:1.25}
.area-card .ac-t b{font-family:var(--f-head);font-weight:700;font-size:.98rem}
.area-card .ac-t span{font-size:.8rem;color:var(--muted)}
.area-counties{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;justify-content:center;margin-top:1.8rem}
.area-counties .ac-label{font-weight:700;color:var(--muted);font-size:.9rem}
.area-counties a{background:#fff;border:1px solid var(--line);border-radius:var(--radius-pill);padding:6px 14px;font-size:.88rem;font-weight:600;color:var(--ink)}
.area-counties a:hover{border-color:var(--green);color:var(--green-dk)}
@media(max-width:860px){.area-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.area-grid{grid-template-columns:1fr}}

/* credentials strip */
.cred-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.cred{text-align:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem 1.3rem;display:flex;flex-direction:column;align-items:center}
.cred .cred-ic{width:54px;height:54px;border-radius:50%;background:var(--green-soft);display:flex;align-items:center;justify-content:center;margin-bottom:.9rem}
.cred .cred-ic svg{width:28px;height:28px;stroke:var(--green-dk);fill:none}
.cred b{font-family:var(--f-head);font-size:1rem;margin-bottom:.3rem}
.cred span{font-size:.86rem;color:var(--muted)}
@media(max-width:860px){.cred-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.cred-grid{grid-template-columns:1fr}}

/* popular routes grid */
.routes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.route-card{display:flex;align-items:center;gap:.5rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.2rem;color:var(--ink);font-family:var(--f-head);font-weight:600;transition:border-color .15s,box-shadow .15s}
.route-card:hover{border-color:var(--orange);box-shadow:0 14px 30px -22px rgba(0,0,0,.3)}
.route-card .rc-from{color:var(--muted);font-weight:500;font-size:.92rem}
.route-card .rc-arrow{color:var(--orange);font-weight:800}
.route-card .rc-to{font-size:1.02rem}
@media(max-width:860px){.routes-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.routes-grid{grid-template-columns:1fr}}

/* specialty items grid */
.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.spec-card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.6rem;color:var(--ink);transition:transform .16s,box-shadow .16s,border-color .16s}
a.spec-card:hover{transform:translateY(-4px);box-shadow:0 22px 46px -28px rgba(0,0,0,.3);border-color:var(--green)}
.spec-card .spec-ic{width:50px;height:50px;border-radius:12px;background:var(--green-soft);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.spec-card .spec-ic svg{width:26px;height:26px;stroke:var(--green-dk);fill:none}
.spec-card b{display:block;font-family:var(--f-head);font-size:1.1rem;margin-bottom:.3rem}
.spec-card span{font-size:.9rem;color:var(--muted)}
@media(max-width:860px){.spec-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.spec-grid{grid-template-columns:1fr}}

/* what affects price */
.factor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.factor{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.5rem 1.6rem}
.factor .factor-n{font-family:var(--f-head);font-weight:800;font-size:1.3rem;color:var(--orange);display:block;margin-bottom:.4rem}
.factor b{display:block;font-family:var(--f-head);font-size:1.05rem;margin-bottom:.25rem}
.factor span{font-size:.9rem;color:var(--muted)}
@media(max-width:860px){.factor-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.factor-grid{grid-template-columns:1fr}}

/* this-week activity ticker */
.ticker-band{background:var(--green);color:#fff}
.ticker-band .container{padding:1.4rem 1.25rem;display:flex;align-items:center;justify-content:center;gap:1rem 2.4rem;flex-wrap:wrap;text-align:center}
.tb-live{font-family:var(--f-head);font-weight:700;display:inline-flex;align-items:center;gap:.5rem}
.tb-live .dot{width:10px;height:10px;border-radius:50%;background:#fff;animation:tbpulse 1.8s infinite}
@keyframes tbpulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.6)}70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
.tb-stats{display:flex;gap:1.4rem 2.4rem;flex-wrap:wrap;justify-content:center}
.tb-stats div{font-size:.95rem;color:#eaf6df}.tb-stats b{font-family:var(--f-head);font-size:1.5rem;color:#fff;margin-right:.3rem}
.tb-upd{font-size:.82rem;color:#F2E8E2}
@media(max-width:760px){.ticker-band .container{flex-direction:column;gap:.9rem}}


/* inner-page split hero: full-width body (no aside) + readable breadcrumb on dark hero */
.page-body.full>.container{display:block}
.page-body.full .page-main{max-width:900px;margin:0 auto}
.hero .crumb{color:rgba(255,255,255,.72);margin-bottom:.7rem}
.hero .crumb a{color:#fff;text-decoration:underline;text-underline-offset:2px}


/* nav dropdown: invisible hover-bridge across the 10px gap so the submenu stays open (desktop) */
@media(min-width:961px){
  .has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px;display:none}
  .has-sub:hover::after{display:block}
}


/* ===== About page editorial blocks ===== */
.about-lead{display:grid;grid-template-columns:1.4fr .9fr;gap:clamp(1.4rem,3vw,2.6rem);align-items:center;margin-bottom:2.2rem}
.about-lead .lead{font-size:1.2rem;color:var(--ink);font-weight:500;line-height:1.55;margin-top:0}
.about-lead-photo{margin:0}
.about-lead-photo img{width:100%;border-radius:var(--radius-lg);box-shadow:0 22px 46px -22px rgba(61,58,54,.55);display:block}
.about-lead-photo figcaption{margin-top:.5rem;font-size:.84rem;color:var(--muted);text-align:center}
.about-stats{margin:0 0 2.6rem!important;text-align:center;grid-template-columns:repeat(4,1fr)}
.about-stats .benefit-card{padding:1.1rem .6rem}
.about-stats .benefit-card h3{font-size:2rem;color:var(--green-dk);margin-bottom:.15rem}
.about-stats .benefit-card p{font-size:.86rem}
.about-timeline{margin:1.1rem 0 2.2rem;border-left:2px solid var(--line);padding-left:1.4rem}
.atl{position:relative;padding:0 0 1.4rem .1rem}
.atl:last-child{padding-bottom:0}
.atl::before{content:"";position:absolute;left:calc(-1.4rem - 7px);top:.3rem;width:12px;height:12px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px #fff,0 0 0 4px var(--green)}
.atl-yr{display:inline-block;font-family:var(--f-head);font-weight:700;color:var(--orange);font-size:.84rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.2rem}
.atl b{display:block;font-family:var(--f-head);color:var(--ink);font-size:1.02rem;margin-bottom:.15rem}
.atl p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.5}
.about-quote{margin:2.2rem 0;padding:1.5rem 1.7rem;background:var(--green-soft);border-left:4px solid var(--green);border-radius:0 var(--radius) var(--radius) 0;font-size:1.12rem;font-style:italic;color:var(--ink);line-height:1.6}
.about-quote cite{display:block;margin-top:.8rem;font-size:.9rem;font-style:normal;font-weight:700;color:var(--green-dk)}
@media(max-width:680px){.about-lead{grid-template-columns:1fr}.about-lead-photo{max-width:340px;margin:0 auto}.about-stats{grid-template-columns:repeat(2,1fr)}}


/* related-links (internal interlinking) block */
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.4rem,3.5vw,2.6rem)}
.related-col h3{font-family:var(--f-head);font-size:1.05rem;color:var(--ink);margin-bottom:.7rem}
.related-col ul{list-style:none;margin:0;padding:0}
.related-col li{margin:0}
.related-col a{color:var(--green-dk);font-weight:500;font-size:.95rem;display:inline-block;padding:.28rem 0}
.related-col a:hover{color:var(--orange);text-decoration:underline}
@media(max-width:760px){.related-grid{grid-template-columns:1fr;gap:1.5rem}}


/* image logo: block display + mobile cap (prevent header overflow) */
.brand-logo{display:block}
@media(max-width:600px){.site-header .inner{gap:.5rem;padding:.5rem .85rem}.brand-logo{max-height:36px;max-width:150px;object-fit:contain}.header-phone{font-size:.9rem}.nav-toggle{width:42px;height:38px}}


/* ============================================================ Mayflower-style layout ([company]) */
.may-hero .container,.may-featured .container,.may-cta .container{max-width:var(--container);margin-inline:auto;padding-inline:var(--spacing)}
.sec-head.center{text-align:center;max-width:760px;margin:0 auto clamp(1.8rem,3vw,2.6rem)}
.sec-head.center h2{font-family:var(--f-heading);font-size:clamp(1.65rem,1.15rem+1.6vw,2.4rem);color:var(--c-accent);margin:0 0 .5rem;line-height:1.12}
.sec-head.center p{color:var(--c-text-muted);font-size:1.05rem;margin:0}

/* Hero */
.may-hero{background-size:cover;background-position:center;color:#fff;padding:clamp(2.6rem,5vw,4.8rem) 0}
.may-hero-in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.6rem,4vw,3.5rem);align-items:center}
.may-hero-rating{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:#d7e3f2;margin-bottom:1rem}
.may-hero-rating .stars{color:#ffb400;letter-spacing:1px}
.may-hero h1{font-family:var(--f-heading);font-weight:800;font-size:clamp(2rem,1.3rem+2.6vw,3.2rem);line-height:1.07;margin:0 0 1rem}
.may-hero-sub{font-size:1.1rem;line-height:1.6;color:#e6edf6;max-width:46ch;margin:0 0 1.3rem}
.may-hero-points{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}
.may-hero-points li{display:flex;align-items:center;gap:.6rem;font-weight:600}
.may-hero-points li svg{width:20px;height:20px;color:#ffb400;flex:none}
.may-hero-form{background:#fff;border-radius:var(--radius-lg);padding:clamp(1.2rem,2.5vw,1.7rem);box-shadow:0 26px 64px rgba(0,0,0,.32);color:var(--c-text)}
.mhf-head h2{color:var(--c-accent);font-size:1.4rem;margin:0 0 .3rem}
.mhf-head p{color:var(--c-text-muted);font-size:.9rem;margin:0 0 1rem;line-height:1.45}

/* Featured banner */
.may-featured{padding:clamp(2.6rem,5vw,4.5rem) 0;background:var(--c-bg)}
.may-featured-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.6rem,4vw,3rem);align-items:center}
.may-label{display:inline-block;text-transform:uppercase;letter-spacing:1.5px;font-size:.72rem;font-weight:700;color:var(--c-main);margin-bottom:.6rem}
.mf-text h2{font-family:var(--f-heading);font-size:clamp(1.55rem,1.2rem+1.4vw,2.2rem);color:var(--c-accent);margin:0 0 .7rem}
.mf-text p{color:var(--c-text-muted);line-height:1.65;margin:0 0 1.2rem}
.mf-img img{width:100%;height:auto;border-radius:var(--radius-lg);display:block;box-shadow:0 18px 42px rgba(18,42,67,.18)}

/* 3-card grids */
.may-3cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.may-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);overflow:hidden;text-decoration:none;color:var(--c-text);transition:transform .15s,box-shadow .15s}
.may-card:hover{transform:translateY(-3px);box-shadow:0 22px 46px -20px rgba(18,42,67,.42)}
.mc-img{position:relative;display:block;aspect-ratio:16/10;overflow:hidden;background:var(--c-bg-alt)}
.mc-img img{width:100%;height:100%;object-fit:cover;display:block}
.mc-tag{position:absolute;top:.7rem;left:.7rem;background:var(--c-main);color:#fff;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:.24rem .6rem;border-radius:4px}
.mc-body{padding:1.3rem 1.35rem;display:flex;flex-direction:column;flex:1}
.mc-body h3{font-family:var(--f-heading);font-size:1.14rem;color:var(--c-accent);margin:0 0 .5rem;line-height:1.2}
.mc-body p{color:var(--c-text-muted);font-size:.94rem;line-height:1.55;margin:0 0 .9rem;flex:1}
.mc-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--c-main);font-weight:700;font-size:.92rem}
.mc-link svg{width:16px;height:16px}

/* 5 steps */
.may-steps{padding:clamp(2.6rem,5vw,4.5rem) 0;background:var(--c-bg-alt)}
.may-steps-row{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2rem}
.may-step{text-align:center;padding:0 .3rem;position:relative}
.ms-num{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--c-main);color:#fff;font-family:var(--f-heading);font-weight:800;font-size:1.35rem;margin-bottom:.9rem;box-shadow:0 8px 18px -6px rgba(21,119,204,.5)}
.may-step h3{font-family:var(--f-heading);font-size:1.02rem;color:var(--c-accent);margin:0 0 .4rem}
.may-step p{color:var(--c-text-muted);font-size:.88rem;line-height:1.5;margin:0}

/* 6 categories */
.may-cats{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.may-cat{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:1.6rem 1.5rem;text-decoration:none;color:var(--c-text);transition:transform .15s,box-shadow .15s,border-color .15s}
.may-cat:hover{transform:translateY(-3px);box-shadow:0 22px 46px -20px rgba(18,42,67,.42);border-color:var(--c-main)}
.mcat-ic{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:12px;background:var(--c-bg-alt);color:var(--c-main);margin-bottom:1rem}
.mcat-ic svg{width:26px;height:26px}
.may-cat h3{font-family:var(--f-heading);font-size:1.16rem;color:var(--c-accent);margin:0 0 .5rem}
.may-cat p{color:var(--c-text-muted);font-size:.93rem;line-height:1.55;margin:0 0 .9rem}
.mcat-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--c-main);font-weight:700;font-size:.9rem}
.mcat-link svg{width:16px;height:16px}

/* areas */
.may-areas{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;max-width:920px;margin:0 auto}
.may-areas a{display:block;padding:.72rem 1rem;background:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:var(--radius);color:var(--c-accent-text);text-decoration:none;font-weight:600;font-size:.94rem;text-align:center;transition:.15s}
.may-areas a:hover{background:var(--c-main);color:#fff;border-color:var(--c-main)}

/* testimonials */
.may-testi{padding:clamp(2.6rem,5vw,4.5rem) 0;background:var(--c-bg)}
.may-testi .sec-head .stars{color:#ffb400}
.may-testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.may-testi-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:1.6rem;box-shadow:0 12px 30px -18px rgba(18,42,67,.3)}
.mt-stars .stars{color:#ffb400;font-size:1.05rem;letter-spacing:2px}
.may-testi-card p{color:var(--c-text);line-height:1.6;margin:.7rem 0 1rem;font-size:.98rem}
.mt-who strong{display:block;color:var(--c-accent)}
.mt-who span{color:var(--c-text-muted);font-size:.86rem}

/* comparison */
.may-compare-wrap{overflow-x:auto;max-width:940px;margin:0 auto}
.may-compare{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--c-border);min-width:640px}
.may-compare th,.may-compare td{padding:.9rem 1rem;text-align:center;border-bottom:1px solid var(--c-border);font-size:.94rem}
.may-compare thead th{background:var(--c-accent);color:#fff;font-family:var(--f-heading);font-weight:600}
.may-compare thead th.us{background:var(--c-main)}
.may-compare td.feat{text-align:left;color:var(--c-accent);font-weight:600}
.may-compare td.us{background:var(--c-bg-alt)}
.may-compare tbody tr:last-child td{border-bottom:0}
.may-compare .yes{color:var(--c-success)}.may-compare .no{color:#c2ccd8}
.may-compare .yes svg,.may-compare .no svg{width:20px;height:20px}

/* navy CTA band */
.may-cta{background:var(--c-accent);color:#fff;padding:clamp(2.8rem,5vw,4.2rem) 0;text-align:center}
.may-cta h2{font-family:var(--f-heading);font-size:clamp(1.7rem,1.2rem+1.6vw,2.4rem);margin:0 0 .5rem}
.may-cta p{color:#cdd8e6;margin:0 0 1.4rem;font-size:1.05rem}
.may-cta-row{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}
.btn-ghost-light{color:#fff;font-weight:700;text-decoration:none;border:1px solid rgba(255,255,255,.4);padding:.7rem 1.2rem;border-radius:var(--radius)}
.btn-ghost-light:hover{background:rgba(255,255,255,.1)}

@media(max-width:900px){
  .may-hero-in,.may-featured-in{grid-template-columns:1fr}
  .may-3cards,.may-cats,.may-testi-grid{grid-template-columns:1fr 1fr}
  .may-steps-row{grid-template-columns:1fr 1fr 1fr}
  .may-areas{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .may-3cards,.may-cats,.may-testi-grid,.may-steps-row,.may-areas{grid-template-columns:1fr}
  .may-hero h1{font-size:clamp(1.8rem,7vw,2.4rem)}
}

.brand-logo-txt{font-family:var(--f-heading);font-weight:800;font-size:1.4rem;color:var(--c-accent);letter-spacing:-.3px}

/* ms-num override */
.may-steps .ms-num{background:var(--c-main)!important;color:#fff!important}

/* may-var-fallback : ensure may-* layout vars resolve regardless of design-dna load */
:root{
--c-main:#1577CC;--c-main-dk:#0F5699;--c-mid:#4FA3E3;
--c-accent:#122A43;--c-accent-dk:#0C1E30;--c-accent-text:#1B3A5C;
--c-bg:#FFFFFF;--c-bg-alt:#EEF5FC;--c-text:#14223A;--c-text-muted:#5A6B82;
--c-border:#D5E2F0;--c-success:#2EA55F;
--spacing:clamp(1.25rem,3vw,2rem);
--f-heading:'Sora',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
.brand-logo-ft-txt{font-family:var(--f-heading);font-weight:800;font-size:1.3rem;color:#F0E6D6;letter-spacing:-.3px;display:inline-block}

/* may-white-heads : keep hero/CTA headings white over dark backgrounds */
.may-hero h1{color:#fff!important}
.may-cta h2{color:#fff!important}
.may-hero-sub{color:#e6edf6!important}

/* may-svg-size-guard : inline arrow SVGs must not balloon */
.btn-primary svg,.btn-ghost-light svg,.may-featured .mf-text svg{width:18px;height:18px;vertical-align:middle;flex:none;margin-left:.3em}



/* ================= mayflower-fidelity-skin : match mayflower.com identity ================= */
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:600;font-display:swap;src:url('https://cdn.jsdelivr.net/fontsource/fonts/playfair-display@latest/latin-600-italic.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:700;font-display:swap;src:url('https://cdn.jsdelivr.net/fontsource/fonts/playfair-display@latest/latin-700-italic.woff2') format('woff2')}

:root{
  --mf-green:#009639;--mf-green-dk:#00713a;--mf-green-lt:#7ac943;--mf-green-tint:#eaf7ee;
  --mf-yellow:#fdb913;--mf-yellow-dk:#e9a900;--mf-ink:#17251b;
  --c-main:#009639;--c-main-dk:#00713a;--c-accent:#17281e;--c-accent-text:#00713a;
  --c-bg-alt:#edf6ef;--c-border:#d4e8da;--c-success:#009639;
  --f-display:'Playfair Display',Georgia,'Times New Roman',serif;
}

/* serif-italic display headings (mayflower's strongest signature) */
.may-hero h1,.sec-head.center h2,.may-featured .mf-text h2,.may-cta h2,
.may-3cards .mc-body h3,.may-cat h3{font-family:var(--f-display);font-style:italic}
.may-hero h1{font-weight:700;line-height:1.07;letter-spacing:.2px}
.sec-head.center h2,.may-featured .mf-text h2,.may-cta h2{font-weight:700}
.may-3cards .mc-body h3,.may-cat h3{font-weight:600}

/* yellow pill CTAs with dark text (mayflower "Get a Quote") */
.btn-primary,.btn-red,.btn-orange,.nav-cta,.header-cta .btn-red,.site-header .btn-red,.site-header .btn-primary,.main-nav .btn,.may-cta .btn-red,a.btn-cta{
  background:var(--mf-yellow)!important;background-image:none!important;color:var(--mf-ink)!important;
  border:none!important;border-radius:999px!important;font-weight:700!important;text-shadow:none!important}
.btn-primary:hover,.btn-red:hover,.nav-cta:hover,.header-cta .btn-red:hover,.site-header .btn-red:hover{background:var(--mf-yellow-dk)!important;color:var(--mf-ink)!important}
.btn-primary svg,.btn-red svg{color:var(--mf-ink)}
/* header phone stays plain green text, not a pill */
.header-phone{background:transparent!important;background-image:none!important;border:none!important;border-radius:0!important;box-shadow:none!important;padding:0 .2rem!important;color:var(--mf-green)!important;font-weight:700}
.may-hero-rating .stars{color:var(--mf-yellow)}

/* THREE CARDS + RESOURCES : green offset corner peeking behind the card */
.may-3cards .may-card{overflow:visible;position:relative;background:transparent;border:none;box-shadow:none;display:flex;flex-direction:column}
.may-3cards .may-card .mc-corner{position:absolute;top:-13px;right:-10px;width:56%;height:60px;background:linear-gradient(90deg,var(--mf-green-lt),var(--mf-green));border-radius:12px;z-index:0}
.may-3cards .mc-img{position:relative;z-index:1;border-radius:10px 10px 0 0;overflow:hidden;aspect-ratio:16/10;background:var(--c-bg-alt);margin:0}
.may-3cards .mc-body{position:relative;z-index:1;background:#fff;border:1px solid var(--c-border);border-top:none;border-radius:0 0 10px 10px;box-shadow:0 16px 32px -22px rgba(0,70,30,.45)}
.may-3cards .may-card:hover{transform:translateY(-4px)}
.mc-link,.mcat-link{color:var(--mf-green)!important;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:700}
.mc-link svg,.mcat-link svg{color:var(--mf-green)}
.mc-tag{background:var(--mf-green)!important}

/* FIVE STEPS : green circles + dashed road connector */
.may-steps-row{position:relative}
.may-steps-row::before{content:'';position:absolute;top:26px;left:11%;right:11%;height:3px;background:repeating-linear-gradient(90deg,var(--mf-green) 0 12px,transparent 12px 24px);z-index:0}
.may-step{position:relative;z-index:1}
.ms-num{background:var(--mf-green)!important;color:#fff!important;box-shadow:0 0 0 7px var(--c-bg-alt),0 8px 18px -6px rgba(0,120,50,.5)!important}

/* CATEGORIES : green icon tiles */
.mcat-ic{background:var(--mf-green-tint)!important;color:var(--mf-green)!important}
.may-cat:hover{border-color:var(--mf-green)}

/* AREAS : green hover */
.may-areas a:hover{background:var(--mf-green);border-color:var(--mf-green);color:#fff}

/* TESTIMONIALS : green name-strip at card bottom (mayflower) */
.may-testi .sec-head .stars,.mt-stars .stars{color:var(--mf-yellow)}
.may-testi-card{overflow:hidden;padding-bottom:0;display:flex;flex-direction:column}
.may-testi-card p{padding-bottom:1rem;margin-bottom:0}
.may-testi-card .mt-who{margin:auto -1.6rem 0;background:linear-gradient(120deg,var(--mf-green),var(--mf-green-dk));padding:.85rem 1.6rem;color:#fff}
.may-testi-card .mt-who strong{color:#fff}
.may-testi-card .mt-who span{color:#dcf3e3}

/* COMPARISON : solid green [company] column with white checks */
.may-compare thead th.us{background:var(--mf-green)}
.may-compare td.us{background:var(--mf-green);color:#fff}
.may-compare td.us .yes{color:#fff}
.may-compare .yes{color:var(--mf-green)}
.may-compare .no{color:#cdd8d0}

/* CTA BAND : green gradient */
.may-cta{background:linear-gradient(120deg,var(--mf-green),var(--mf-green-dk))!important;color:#fff}
.may-cta h2{color:#fff!important}
.may-cta p{color:#e3f4e9!important}

/* misc green accents */
.may-label{color:var(--mf-green)!important}
.brand-logo-txt{color:var(--mf-green)!important}


/* ================= phase5-inner-skin : extend mayflower green/yellow/serif to inner pages + mobile CTA fixes ================= */
/* text accents on light bg -> Mayflower green */
.eyebrow,.sec-eyebrow,.learn-more,.redlink,.res-link .v,.svc-card .learn-more,.qa-card .qa-arrow,.prose a,.page-main a{color:var(--mf-green)!important}
.prose a,.page-main a{text-decoration:underline}
.header-phone:hover{color:var(--mf-green)!important}
/* star ratings -> gold */
.rev-stars,.tst-stars,.hero-rating .stars{color:var(--mf-yellow)!important}
/* every accent CTA -> yellow pill, dark text */
.btn-red,.btn-orange,.btn-primary,.inner-cta .btn,.inner-cta .btn-lg,.price-box .btn,.price-card .btn,.mobile-cta .mc-quote,.qband .btn,.quote-band .btn,.pc-cta{background:var(--mf-yellow)!important;background-image:none!important;color:var(--mf-ink)!important;border-color:var(--mf-yellow)!important;border-radius:999px!important;font-weight:700!important}
.btn-red:hover,.btn-primary:hover,.inner-cta .btn:hover,.mobile-cta .mc-quote:hover{background:var(--mf-yellow-dk)!important;color:var(--mf-ink)!important}
/* card icon + price accents -> green */
.svc-card .svc-ic{background:var(--mf-green)!important;box-shadow:0 8px 18px -8px rgba(0,120,50,.55)!important}
.price-card.featured{border-color:var(--mf-green)!important}
.pc-badge{background:var(--mf-green)!important}
/* inner CTA bands -> green gradient (match homepage) */
.quote-band,.qband{background:linear-gradient(120deg,var(--mf-green),var(--mf-green-dk))!important}
.qband .qb-brand,.quote-band .qb-brand,.quote-band-lead .qb-brand{color:#cdeed8!important}
/* inner display headings -> serif italic (Playfair) */
.page-main h1,.page-main h2,.prose h2,.svc-card h3,.sec-title,.section-title,.qband h2,.quote-band h2{font-family:var(--f-display)!important;font-style:italic}
/* mobile: hide squished header quote button; lift hero form above copy */
@media(max-width:768px){.header-cta .btn-red{display:none!important}}
@media(max-width:900px){.may-hero-form{order:-1}}


/* ===== phase6-fidelity : locator band + road + mid CTA + green footer ===== */
.may-locate{background:linear-gradient(125deg,var(--mf-green),var(--mf-green-dk));color:#fff;padding:clamp(2.6rem,5vw,4.4rem) 0}
.may-locate-in{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.6rem,4vw,3rem);align-items:center}
.ml-eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:1.5px;font-size:.72rem;font-weight:700;color:#bff0cf;margin-bottom:.6rem}
.may-locate h2{font-family:var(--f-display);font-style:italic;font-weight:700;color:#fff;font-size:clamp(1.7rem,1.2rem+1.6vw,2.5rem);margin:0 0 .7rem}
.may-locate p{color:#e2f4e9;line-height:1.6;margin:0 0 1.3rem;max-width:48ch}
.ml-select-wrap{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.ml-select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23122a43' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 1.1rem center;border:none;border-radius:999px;padding:.85rem 2.6rem .85rem 1.4rem;font-family:var(--f-body);font-size:1rem;font-weight:600;color:var(--c-accent);min-width:240px;cursor:pointer;box-shadow:0 10px 26px -14px rgba(0,0,0,.5)}
.ml-btn{white-space:nowrap}
.ml-map svg{width:100%;height:auto;max-width:440px;margin-inline:auto;display:block}
.may-road{max-width:820px;margin:.2rem auto .4rem;padding:0 var(--spacing)}
.may-road svg{width:100%;height:auto;display:block}
.may-steps-cta{text-align:center;margin-top:clamp(1.7rem,3vw,2.6rem)}
.may-midcta{background:linear-gradient(120deg,var(--mf-green),var(--mf-green-dk));color:#fff;padding:clamp(1.9rem,3.5vw,2.9rem) 0}
.may-midcta-in{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;flex-wrap:wrap}
.mmc-eyebrow{display:block;text-transform:uppercase;letter-spacing:1.4px;font-size:.72rem;font-weight:700;color:#bff0cf;margin-bottom:.35rem}
.may-midcta h2{font-family:var(--f-display);font-style:italic;font-weight:700;color:#fff;margin:0;font-size:clamp(1.4rem,1.1rem+1.2vw,2rem)}
.site-footer{background:linear-gradient(160deg,#0c3b22,#082b18)!important;color:#cfe5d8!important}
.site-footer a{color:#cfe5d8!important}.site-footer a:hover{color:var(--mf-yellow)!important}
.site-footer h4,.site-footer h3{color:#fff!important}
.ft-bottom{border-top-color:rgba(255,255,255,.13)!important;color:#9fc3ac!important}
.ft-social a{background:rgba(255,255,255,.1)!important;color:#fff!important}
@media(max-width:900px){.may-locate-in{grid-template-columns:1fr}.ml-map{order:-1;max-width:360px;margin-inline:auto}.may-midcta-in{flex-direction:column;text-align:center}}

/* 2-column form fields */
/* ===== form: 2-column fields + compact microcopy ===== */
.pem-form .row{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .7rem;margin-bottom:.45rem}
.pem-form .row.one{grid-template-columns:1fr}
.pem-form .row>div{min-width:0;display:flex;flex-direction:column}
.pem-form .reassure{font-size:.78rem;line-height:1.4;margin:.5rem 0 0}
.pem-form .submit-row{margin-top:.55rem}
@media(max-width:380px){.pem-form .row{grid-template-columns:1fr}}

.may-hero-tag{font-family:var(--f-body);font-weight:700;font-size:clamp(1.05rem,.9rem+.55vw,1.4rem);color:#fff;margin:.2rem 0 1rem;line-height:1.3;max-width:30ch}


/* ===== new-blocks-4-5-7-9-10 (mayflower-styled) ===== */
/* 4. stats counters */
.may-stats{background:var(--c-bg-alt);padding:clamp(1.9rem,3.5vw,2.9rem) 0}
.may-stats-in{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;text-align:center}
.mstat-num{display:block;font-family:var(--f-display);font-style:italic;font-weight:700;font-size:clamp(2rem,1.4rem+1.9vw,3.05rem);color:var(--mf-green);line-height:1}
.mstat-lbl{display:block;color:var(--c-text-muted);font-size:.9rem;margin-top:.5rem;line-height:1.35}
@media(max-width:640px){.may-stats-in{grid-template-columns:1fr 1fr;gap:1.5rem}}

/* 7. "what are you moving?" service picker */
.may-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.may-picker a{display:flex;align-items:center;gap:.9rem;background:#fff;border:1px solid var(--c-border);border-radius:var(--radius-lg);padding:1.05rem 1.2rem;text-decoration:none;color:var(--c-accent);transition:.15s}
.may-picker a:hover{border-color:var(--mf-green);transform:translateY(-3px);box-shadow:0 18px 36px -22px rgba(0,70,30,.5)}
.may-picker a svg{width:30px;height:30px;color:var(--mf-green);flex:none}
.may-picker a span{font-family:var(--f-heading);font-weight:600;font-size:1.02rem}
@media(max-width:820px){.may-picker{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.may-picker{grid-template-columns:1fr}}

/* 9. move-day timeline */
.mday{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;counter-reset:md}
.mday li{position:relative;padding-top:2.6rem;text-align:center}
.mday li::before{content:'';position:absolute;top:10px;left:0;right:0;height:3px;background:repeating-linear-gradient(90deg,var(--mf-green) 0 9px,transparent 9px 17px)}
.mday li::after{counter-increment:md;content:counter(md);position:absolute;top:0;left:50%;transform:translateX(-50%);width:22px;height:22px;border-radius:50%;background:var(--mf-green);color:#fff;font-size:.74rem;font-weight:700;display:grid;place-items:center;z-index:1}
.mday-t{display:inline-block;font-family:var(--f-heading);font-weight:800;color:var(--mf-green);font-size:.9rem;margin-bottom:.15rem}
.mday h3{font-family:var(--f-display);font-style:italic;font-size:1.02rem;color:var(--c-accent);margin:.1rem 0 .35rem}
.mday p{color:var(--c-text-muted);font-size:.85rem;line-height:1.45;margin:0}
@media(max-width:820px){.mday{grid-template-columns:1fr;gap:0;max-width:520px;margin:0 auto}.mday li{text-align:left;padding:.9rem 0 .9rem 3rem}.mday li::before{left:10px;right:auto;top:0;bottom:0;width:3px;height:auto;background:repeating-linear-gradient(180deg,var(--mf-green) 0 9px,transparent 9px 17px)}.mday li::after{left:10px;top:.9rem}}

/* 5. meet the owner */
.may-owner{padding:clamp(2.6rem,5vw,4.4rem) 0}
.may-owner-in{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(1.6rem,4vw,3.2rem);align-items:center}
.mo-photo img{width:100%;height:auto;border-radius:var(--radius-lg);display:block;box-shadow:0 22px 50px -26px rgba(18,42,67,.5);object-fit:cover}
.mo-eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:1.5px;font-size:.72rem;font-weight:700;color:var(--mf-green);margin-bottom:.5rem}
.may-owner h2{font-family:var(--f-display);font-style:italic;font-weight:700;color:var(--c-accent);font-size:clamp(1.6rem,1.2rem+1.4vw,2.3rem);margin:0 0 1rem}
.mo-copy p{color:var(--c-text-muted);line-height:1.7;margin:0 0 1rem}
.mo-sign{margin-top:1.3rem!important}
.mo-sign strong{display:block;font-family:var(--f-display);font-style:italic;font-size:1.3rem;color:var(--c-accent)}
.mo-sign span{color:var(--c-text-muted);font-size:.9rem}
@media(max-width:820px){.may-owner-in{grid-template-columns:1fr}.mo-photo{max-width:340px;margin:0 auto}}

/* 10. FAQ accordion */
.may-faq{padding:clamp(2.6rem,5vw,4.4rem) 0;background:var(--c-bg)}
.may-faq-in{max-width:820px;margin:0 auto}
.faq-list details{background:#fff;border:1px solid var(--c-border);border-radius:var(--radius);margin-bottom:.7rem;overflow:hidden}
.faq-list summary{list-style:none;cursor:pointer;padding:1.05rem 1.3rem;font-family:var(--f-heading);font-weight:600;color:var(--c-accent);font-size:1.04rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:'+';color:var(--mf-green);font-size:1.5rem;font-weight:700;line-height:1;flex:none;transition:transform .2s}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details[open] summary{border-bottom:1px solid var(--c-border)}
.faq-list details>div{padding:1rem 1.3rem 1.2rem}
.faq-list details p{color:var(--c-text-muted);line-height:1.65;margin:0}


/* content pricing tables (plain <table> in page content) -> bordered, mayflower green */
.page-main table,.prose table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.95rem;background:#fff;border:1px solid var(--c-border)}
.page-main table th,.page-main table td,.prose table th,.prose table td{padding:.72rem .95rem;border:1px solid var(--c-border);text-align:left;vertical-align:top}
.page-main table thead th,.prose table thead th{background:var(--mf-green);color:#fff;font-family:var(--f-heading);font-weight:600}
.page-main table tbody tr:nth-child(even),.prose table tbody tr:nth-child(even){background:var(--c-bg-alt)}
