/* DMC Dumpster Rental Simpsonville — brand palette sampled directly from the supplied logo,
   which is a genuine TWO-TONE badge (unlike CHR's single-tone mark): a bright "sky" blue ring
   band and a darker "navy" wordmark/icon, each independently sampled via PIL Counter-based
   pixel sampling on the flood-filled, cropped logo — ring at #2878C0, wordmark/icon at
   #002D73. --sky is that sampled ring blue itself (light/mid decorative tint, hero
   backgrounds, text-on-dark-panel accents); --navy/--navy-900/--navy-700 are the sampled
   wordmark navy plus lightness-adjusted variants (colorsys HLS, not independent samples) so
   there's a full range for header/footer panels and body text-on-white use. Both hues clear
   WCAG on white: navy 12.94:1 (AAA), sky 4.63:1 (AA, clears normal body text). No third
   accent color was sampled from the logo (no gold/warm tone present in this mark, unlike
   CHR's), so icon fills and numbered-step badges that would have used a logo-gold elsewhere
   in this lineage use plain white instead here — still full contrast on the navy panels
   behind them. CTA is a fresh PIEDMONT RED CLAY #8C3A1A — evoking the red clay soil of the
   Upstate/Piedmont region this site serves, not sampled from the logo — a genuinely new
   color family for this build series (prior CTAs ran amber/orange/brick-red/emerald-green/
   construction-orange/cranberry-red/saddle-leather-brown/flag-red/iron-rust/saturn-scorch/
   newnan-brick/sonoran-clay — this is a distinct clay-red tone from all of them). CONTRAST
   (WCAG relative-luminance function, not eyeballed): #8C3A1A against WHITE text clears
   7.68:1 (AAA) — every CTA-colored button/pill in this file uses white text on this fill, no
   navy-text-on-CTA workaround needed. Fonts: Space Grotesk for headings, paired with Source
   Sans 3 for body text — a tested pairing reused from earlier builds in this series, chosen
   here for its clean geometric letterforms rather than for any local wordplay. The circular
   badge in the real logo is the visual seed for the eyebrow tick and card treatment
   throughout this file. */
:root{
  --navy:#002D73; --navy-900:#00183F; --navy-700:#003C9B; --navy-050:#EEF3FB;
  --sky:#2878C0; --sky-light:#5C9FDD; --sky-050:#EEF6FC;
  --red:#8C3A1A; --red-700:#692B13; --red-050:#FBF1EC;   /* CTA accent — Piedmont Red Clay, DARK enough for white text */
  --ink:#0e1620; --body:#3d4a58; --muted:#68758a;
  --bg:#ffffff; --bg-soft:#f4f7fb; --bg-deep:#16364F;
  --line:#dfe7f0; --line-soft:#eef2f7;
  --head:'Space Grotesk',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --sans:'Source Sans 3',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --r:12px; --r-lg:18px; --r-sm:8px;
  --sh:0 1px 2px rgba(19,56,84,.06),0 4px 14px rgba(19,56,84,.07);
  --sh-lg:0 12px 40px rgba(19,56,84,.14);
  --wrap:1200px; --gut:clamp(16px,4vw,32px);
  --hdr:112px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
body{margin:0;font-family:var(--sans);font-size:17px;line-height:1.68;color:var(--body);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg,iframe{max-width:100%}
img{height:auto;display:block}
h1,h2,h3,h4{font-family:var(--head);color:var(--ink);line-height:1.14;margin:0 0 .5em;letter-spacing:-.02em;font-weight:700}
h1{font-size:clamp(2.05rem,1.35rem + 2.9vw,3.5rem);letter-spacing:-.03em;font-weight:700}
h2{font-size:clamp(1.6rem,1.15rem + 1.7vw,2.5rem)}
h3{font-size:clamp(1.12rem,1rem + .5vw,1.35rem);font-weight:700}
p{margin:0 0 1.05em}
a{color:var(--navy-700);text-decoration-color:rgba(129,173,205,.45);text-underline-offset:3px}
a:hover{color:var(--red-700)}
ul,ol{margin:0 0 1.1em;padding-left:1.25em}
li{margin:.35em 0}
strong{color:var(--ink);font-weight:700}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut);width:100%}
.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:12px 18px;z-index:200;border-radius:0 0 8px 0}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--sky);outline-offset:2px;border-radius:4px}
.brk{overflow-wrap:anywhere}

/* ---------- eyebrow (signature: accent slash tick) ---------- */
.eyebrow{font-family:var(--head);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--red-700);margin:0 0 .7em;display:flex;align-items:center;gap:.6em}
.eyebrow::before{content:"";width:16px;height:9px;flex:none;
  background:linear-gradient(var(--red),var(--red)) top left/16px 3px no-repeat,
             linear-gradient(var(--red),var(--red)) bottom left/10px 3px no-repeat}
.center .eyebrow{justify-content:center}
.eyebrow.light{color:var(--sky-light)}
.eyebrow.light::before{background:linear-gradient(var(--sky),var(--sky)) top left/16px 3px no-repeat,linear-gradient(var(--sky),var(--sky)) bottom left/10px 3px no-repeat}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font-family:var(--head);font-weight:700;
  font-size:1.02rem;padding:15px 26px;border-radius:var(--r);text-decoration:none;border:2px solid transparent;
  transition:transform .15s,box-shadow .15s,background .15s,color .15s;cursor:pointer;line-height:1.2;text-align:center}
.btn svg{width:20px;height:20px;flex:none}
.btn-cta{background:var(--red);color:#fff;box-shadow:0 4px 16px rgba(140,47,12,.34)}
.btn-cta:hover{background:var(--red-700);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px rgba(140,47,12,.42)}
.btn-lg{font-size:1.14rem;padding:18px 32px}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.btn-ghost:hover{background:rgba(255,255,255,.12);color:#fff;border-color:#fff}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:var(--navy-900);color:#fff;transform:translateY(-2px)}
.btn-out{background:#fff;color:var(--navy);border-color:var(--line)}
.btn-out:hover{border-color:var(--navy);color:var(--navy)}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:60;background:#fff;box-shadow:0 1px 0 var(--line)}
.topbar{background:var(--navy-900);color:#d0deeb;font-size:.82rem}
.topbar-in{display:flex;gap:26px;align-items:center;justify-content:center;padding:8px 0;flex-wrap:wrap}
.topbar-item{display:inline-flex;align-items:center;gap:.5em;white-space:nowrap}
.topbar-item svg{width:15px;height:15px;color:var(--sky);flex:none}
.header-in{display:flex;align-items:center;gap:20px;padding:12px var(--gut);min-height:78px}
/* The real DMC Dumpster Rental Simpsonville logo is a fully self-contained circular badge:
   its own two-tone sky-blue ring and navy wordmark/icon, on a pale blue-white gradient
   background (flood-filled away with a lenient threshold, not a color-matched plate).
   Verified via white- and dark-background composite previews — it reads cleanly on both
   with no plate or background treatment needed. No navy plate behind the mark here. */
.brand{flex:none;display:flex;align-items:center;line-height:0}
.brand img{width:auto;height:52px}
.nav{margin-left:auto}
.nav-list{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.nav-list>li{position:relative}
.nav-list>li>a{display:block;padding:10px 12px;font-family:var(--head);font-weight:700;font-size:.94rem;color:var(--ink);text-decoration:none;border-radius:var(--r-sm);white-space:nowrap}
.nav-list>li>a:hover,.nav-list>li>a[aria-current]{color:var(--navy-700);background:var(--navy-050)}
.nav-list>li>a[aria-current]{box-shadow:inset 0 -3px 0 var(--red)}
.hero-sizes a:hover{background:var(--red);border-color:var(--red);color:#fff}
.hero-sizes a:hover strong{color:#fff}
.hero-sizes a:hover span{color:#fff}
.sub-toggle{display:none}
.has-sub>a::after{content:"";display:inline-block;width:6px;height:6px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:7px;opacity:.55}
.sub{position:absolute;top:calc(100% + 6px);left:0;min-width:290px;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--sh-lg);padding:8px;list-style:none;margin:0;opacity:0;visibility:hidden;
  transform:translateY(8px);transition:.16s;z-index:70;border-top:3px solid var(--red)}
.sub-wide{min-width:400px;columns:2;column-gap:6px}
.has-sub:hover>.sub,.has-sub:focus-within>.sub{opacity:1;visibility:visible;transform:translateY(0)}
.sub li{margin:0;break-inside:avoid}
.sub a{display:block;padding:9px 12px;border-radius:var(--r-sm);font-size:.9rem;font-weight:500;color:var(--body);text-decoration:none}
.sub a:hover{background:var(--navy-050);color:var(--navy-700)}
.sub-all a{font-weight:700;font-family:var(--head);color:var(--navy-700);display:flex;align-items:center;gap:.4em;border-top:1px solid var(--line-soft);margin-top:4px;padding-top:11px;border-radius:0}
.sub-all svg{width:15px;height:15px}
.header-call{display:flex;align-items:center;gap:10px;background:var(--red);color:#fff;padding:10px 18px;border-radius:var(--r);text-decoration:none;flex:none;transition:.15s;box-shadow:0 3px 12px rgba(140,47,12,.3)}
.header-call:hover{background:var(--red-700);color:#fff;transform:translateY(-1px)}
.header-call svg{width:22px;height:22px;flex:none}
.hc-txt{display:flex;flex-direction:column;line-height:1.15}
.hc-txt small{font-size:.68rem;opacity:.92;letter-spacing:.03em}
.hc-txt strong{font-family:var(--head);font-size:1.05rem;color:var(--navy);white-space:nowrap}
.burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;background:var(--navy-050);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;flex:none;padding:0 11px;position:relative;z-index:59}
.burger span{display:block;height:2.5px;background:var(--navy);border-radius:2px;transition:.2s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.nav-scrim{position:fixed;inset:0;background:rgba(19,56,84,.5);z-index:58}
.nav-close{display:none;position:absolute;top:18px;right:18px;width:46px;height:46px;border-radius:var(--r-sm);
  background:var(--navy-050);border:1px solid var(--line);cursor:pointer;z-index:3}
.nav-close span{position:absolute;left:11px;top:21px;width:22px;height:2.5px;background:var(--navy);border-radius:2px}
.nav-close span:first-child{transform:rotate(45deg)}
.nav-close span:last-child{transform:rotate(-45deg)}

@media (max-width:1180px){
  .nav-list>li>a{padding:10px 9px;font-size:.88rem}
  .hc-txt small{display:none}
}
@media (max-width:1100px){
  .burger{display:flex}
  .nav{position:fixed;top:0;right:0;width:min(360px,88vw);height:100dvh;background:#fff;box-shadow:var(--sh-lg);
    transform:translateX(100%);transition:transform .22s;z-index:62;overflow-y:auto;padding:84px 18px 120px;margin:0}
  .nav.open{transform:translateX(0)}
  .nav-close{display:block}
  .nav-list{flex-direction:column;align-items:stretch;gap:2px}
  .nav-list>li{border-bottom:1px solid var(--line-soft)}
  .nav-list>li>a{padding:14px 10px;font-size:1.02rem}
  .nav-list>li>a[aria-current]{box-shadow:none;background:var(--navy-050)}
  .has-sub>a::after{display:none}
  .sub-toggle{display:flex;align-items:center;justify-content:center;position:absolute;right:2px;top:5px;width:44px;height:44px;
    background:var(--navy-050);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;color:var(--navy)}
  .sub-toggle svg{width:18px;height:18px;transform:rotate(90deg);transition:.2s}
  .sub-toggle[aria-expanded="true"] svg{transform:rotate(-90deg)}
  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-top:0;
    display:none;padding:0 0 10px 10px;min-width:0;columns:1}
  .sub.open{display:block}
  .sub-wide{columns:1}
  .header-call .hc-txt{display:none}
  .header-call{padding:12px}
}
@media (max-width:560px){ .topbar-in{gap:14px;font-size:.74rem} .topbar-item:nth-child(3){display:none} }
@media (max-width:560px){.prose table{min-width:440px}.tbl-compare{min-width:600px}}
@media (max-width:430px){ .brand img{height:44px} .header-in{gap:10px;padding-inline:14px} }
@media (max-width:400px){ .topbar-item:nth-child(2){display:none} }

/* ---------- hero ---------- */
.hero{position:relative;background:var(--navy-900);color:#fff;overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:
  linear-gradient(115deg,rgba(19,56,84,.96) 0%,rgba(38,113,169,.9) 46%,rgba(25,73,110,.78) 100%);z-index:2}
.hero::after{content:"";position:absolute;bottom:-30%;left:-10%;width:660px;height:660px;border-radius:50%;
  background:radial-gradient(circle,rgba(129,173,205,.38),transparent 68%);z-index:1;pointer-events:none}
.hero-wave{position:absolute;left:0;right:0;bottom:-1px;height:clamp(34px,4.5vw,64px);z-index:4;background:#fff;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0 90V38c120 26 240 39 360 39s240-13 360-39 240-39 360-26 240 39 360 52v26Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0 90V38c120 26 240 39 360 39s240-13 360-39 240-39 360-26 240 39 360 52v26Z'/%3E%3C/svg%3E");
  -webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;pointer-events:none}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-bg img{width:100%;height:100%;object-fit:cover;opacity:.5}
.hero-in{position:relative;z-index:3;padding:clamp(56px,7vw,104px) 0 clamp(48px,6vw,88px);
  display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(28px,4vw,60px);align-items:center}
.hero h1{color:#fff;margin-bottom:.42em}
.hero h1 em{font-style:normal;color:var(--sky-light)}
.hero .lede{font-size:clamp(1.05rem,1rem + .35vw,1.2rem);color:#d5e2ed;max-width:60ch;margin-bottom:1.5em}
.hero-rule{width:150px;height:16px;margin:0 0 1.5em;
  background:linear-gradient(90deg,var(--red),rgba(140,47,12,0)) top left/150px 4px no-repeat,
             linear-gradient(90deg,var(--sky),rgba(129,173,205,0)) center left/110px 4px no-repeat,
             linear-gradient(90deg,var(--sky-light),rgba(164,195,219,0)) bottom left/70px 4px no-repeat}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:2em}
.hero-points{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.hero-points li{display:flex;align-items:flex-start;gap:.7em;color:#e0e9f2;font-size:.98rem;margin:0}
.hero-points strong,.hero-card strong,.phero strong,.sec-navy strong,.cta-band strong,.side-cta strong{color:#fff}
.sec-navy .checklist li::before{background:rgba(129,173,205,.22)}
.hero-points svg{width:19px;height:19px;color:var(--sky);flex:none;margin-top:3px}
.hero-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--r-lg);
  padding:clamp(20px,2.4vw,30px);backdrop-filter:blur(6px)}
.hero-card h2{color:#fff;font-size:1.28rem;margin-bottom:.55em}
.hero-card p{color:#d5e2ed;font-size:.96rem}
.hero-sizes{list-style:none;padding:0;margin:0 0 1.2em;display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
@media (max-width:430px){.hero-sizes{grid-template-columns:repeat(3,1fr)}}
.hero-sizes a{display:block;text-align:center;padding:13px 6px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.18);
  border-radius:var(--r-sm);color:#fff;text-decoration:none;transition:.15s}
.hero-sizes a:hover{background:var(--sky);border-color:var(--sky);color:#fff;transform:translateY(-2px)}
.hero-sizes strong{display:block;font-family:var(--head);font-size:1.22rem;font-weight:700;color:#fff}
.hero-sizes span{font-size:.72rem;color:#c4d5e6;letter-spacing:.05em;text-transform:uppercase}
.hero-sizes a:hover span{color:#f3f7fa}
@media (max-width:900px){.hero-in{grid-template-columns:1fr;gap:34px}}

/* page hero (interior) */
.phero{position:relative;background:var(--navy-900);color:#fff;overflow:hidden;isolation:isolate}
.phero::after{content:"";position:absolute;bottom:-45%;left:-6%;width:540px;height:540px;border-radius:50%;
  background:radial-gradient(circle,rgba(129,173,205,.30),transparent 70%);z-index:0}
.phero-in{position:relative;z-index:2;padding:clamp(40px,5vw,72px) 0}
.phero-split .phero-in{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,3.5vw,52px);align-items:center}
.phero h1{color:#fff;font-size:clamp(1.85rem,1.3rem + 2.2vw,2.95rem)}
.phero .lede{color:#d5e2ed;font-size:clamp(1rem,.97rem + .3vw,1.14rem);max-width:64ch}
.phero-img img{border-radius:var(--r-lg);box-shadow:var(--sh-lg);width:100%}
.phero-stats{list-style:none;padding:0;margin:1.6em 0 0;display:flex;flex-wrap:wrap;gap:12px}
.phero-stats li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);
  padding:11px 18px;margin:0;display:flex;flex-direction:column}
.phero-stats strong{font-family:var(--head);font-size:1.3rem;color:#fff;line-height:1.1}
.phero-stats span{font-size:.79rem;color:#c4d5e6;text-transform:uppercase;letter-spacing:.06em}
@media (max-width:820px){.phero-split .phero-in{grid-template-columns:1fr}.phero-img{order:-1}}

/* ---------- breadcrumbs ---------- */
.crumbs{background:var(--bg-soft);border-bottom:1px solid var(--line)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4em;margin:0;padding:11px 0;font-size:.84rem;color:var(--muted)}
.crumbs li{margin:0;display:flex;align-items:center;gap:.4em}
.crumbs li+li::before{content:"/";color:var(--line);font-weight:700}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--navy-700);text-decoration:underline}
.crumbs [aria-current]{color:var(--ink);font-weight:600}

/* ---------- sections ---------- */
.sec{padding:clamp(48px,5.5vw,86px) 0}
.sec-soft{background:var(--bg-soft)}
.sec-navy{background:var(--navy-900);color:#d5e2ed}
.sec-navy h2,.sec-navy h3{color:#fff}
.sec-head{margin:0 auto clamp(28px,3.5vw,48px);max-width:760px}
.sec-head.center{text-align:center}
.sec-head h2{margin-bottom:.35em}
.sec-sub{font-size:1.05rem;color:var(--muted);margin:0}
.sec-navy .sec-sub{color:#a9c2da}
.mt{margin-top:1.6em}

/* ---------- grids & cards ---------- */
.grid{display:grid;gap:clamp(14px,1.8vw,24px)}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,286px),1fr))}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.grid>*{min-width:0}
.card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:var(--r-lg);
  padding:clamp(20px,2.2vw,28px);text-decoration:none;color:inherit;display:flex;flex-direction:column;
  transition:transform .16s,box-shadow .16s,border-color .16s;box-shadow:var(--sh);min-width:0}
a.card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-left-color:var(--navy-700)}
.card-ico{width:52px;height:52px;border-radius:14px;background:var(--navy);color:#fff;
  display:grid;place-items:center;margin-bottom:16px;flex:none}
.card-ico svg{width:26px;height:26px}
a.card:hover .card-ico{background:var(--navy-700);color:#fff}
.card h3{margin-bottom:.4em}
.card p{color:var(--body);font-size:.96rem;margin-bottom:0}
.card-more{margin-top:auto;padding-top:14px;font-family:var(--head);font-weight:700;font-size:.9rem;color:var(--navy-700);display:inline-flex;align-items:center;gap:.4em}
.card-more svg{width:16px;height:16px;transition:transform .16s}
a.card:hover .card-more{color:var(--red-700)}
a.card:hover .card-more svg{transform:translateX(4px)}

/* ---------- trust row ---------- */
.trust-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:clamp(14px,2vw,26px)}
.trust-item{display:flex;gap:14px;align-items:flex-start;min-width:0}
.trust-item>div{min-width:0}
.trust-ico{width:52px;height:52px;border-radius:14px;background:var(--red);color:#fff;display:grid;place-items:center;flex:none}
.trust-ico svg{width:25px;height:25px}
.trust-item strong{display:block;font-family:var(--head);font-size:1.05rem;color:var(--ink);margin-bottom:3px}
.trust-item span{font-size:.92rem;color:var(--muted);display:block}
.sec-navy .trust-ico{background:var(--red);color:#fff}
.sec-navy .trust-item strong{color:#fff}
.sec-navy .trust-item span{color:#a9c2da}

/* ---------- steps ---------- */
.steps{list-style:none;padding:0;margin:0;display:grid;gap:clamp(14px,2vw,22px);counter-reset:s}
.steps li>div{min-width:0}
.steps li{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-left:4px solid var(--red);border-radius:var(--r);padding:clamp(18px,2vw,24px);margin:0;min-width:0}
.step-n{width:46px;height:46px;border-radius:13px;background:var(--navy);color:#fff;font-family:var(--head);
  font-weight:700;font-size:1.18rem;display:grid;place-items:center;flex:none}
.steps h3{margin-bottom:.25em}
.steps p{margin:0;font-size:.96rem}

/* ---------- tables ---------- */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;margin:0 0 1.4em}
table{border-collapse:collapse;width:100%;font-size:.94rem}
.table-scroll table{margin:0;border:0}
th,td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top}
thead th{background:var(--navy);color:#fff;font-family:var(--head);font-weight:700;font-size:.85rem;
  letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-bottom:0}
tbody tr:last-child td{border-bottom:0}
tbody tr:nth-child(even){background:var(--bg-soft)}
tbody th{font-family:var(--head);color:var(--ink);white-space:nowrap}
.tbl-compare{min-width:720px}

/* ---------- FAQ ---------- */
.faqs{max-width:880px;margin-inline:auto;display:grid;gap:12px}
.faq{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:box-shadow .16s}
.faq[open]{box-shadow:var(--sh);border-color:var(--sky)}
.faq summary{cursor:pointer;padding:17px 54px 17px 20px;font-family:var(--head);font-weight:700;font-size:1.03rem;
  color:var(--ink);position:relative;list-style:none;display:block}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:20px;top:50%;width:11px;height:11px;
  border-right:2.5px solid var(--red-700);border-bottom:2.5px solid var(--red-700);transform:translateY(-70%) rotate(45deg);transition:.2s}
.faq[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq summary:hover{background:var(--bg-soft)}
.faq-a{padding:0 20px 18px;border-top:1px solid var(--line-soft);padding-top:16px}
.faq-a p:last-child,.faq-a ul:last-child{margin-bottom:0}
.sec-faq{background:var(--bg-soft)}

/* ---------- reviews ---------- */
.review{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;margin:0;
  display:flex;flex-direction:column;box-shadow:var(--sh);min-width:0}
.stars{display:flex;gap:2px;margin-bottom:12px}
.stars svg{width:17px;height:17px;color:#967636}
.review blockquote{margin:0 0 16px;flex:1}
.review blockquote p{font-size:.95rem;color:var(--body);margin:0}
.review figcaption{border-top:1px solid var(--line-soft);padding-top:12px}
.review figcaption strong{display:block;font-family:var(--head);color:var(--ink)}
.review figcaption span{font-size:.82rem;color:var(--muted)}

/* ---------- CTA band ---------- */
.cta-band{background:linear-gradient(120deg,var(--navy-900),var(--navy-700));color:#fff;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;top:-45%;right:-5%;width:470px;height:470px;border-radius:50%;
  background:radial-gradient(circle,rgba(140,47,12,.24),transparent 70%)}
.cta-in{position:relative;z-index:2;padding:clamp(38px,4.5vw,64px) 0;display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(0,auto);gap:clamp(22px,3vw,44px);align-items:center}
.cta-band h2{color:#fff;margin-bottom:.4em}
.cta-band p{color:#d5e2ed;margin:0;max-width:62ch}
.cta-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.cta-note{display:inline-flex;align-items:center;gap:.5em;font-size:.85rem;color:#a9c2da}
.cta-note svg{width:16px;height:16px;color:var(--sky)}
@media (max-width:820px){.cta-in{grid-template-columns:1fr}}

/* ---------- prose / articles ---------- */
.prose{max-width:76ch;font-size:1.045rem;min-width:0}
.prose>*{max-width:100%}
.table-scroll{max-width:100%}
.prose table{min-width:520px}
.split>div{min-width:0}
.local-box{min-width:0}
.sec>.wrap>*{min-width:0}
.prose h2{margin-top:1.9em;font-size:clamp(1.4rem,1.15rem + .9vw,1.9rem);scroll-margin-top:130px}
.prose h2:first-child{margin-top:0}
.prose h3{margin-top:1.5em;color:var(--navy)}
.prose ul,.prose ol{margin-bottom:1.3em}
.prose li{margin:.45em 0}
.prose img{border-radius:var(--r);margin:1.6em 0}
.prose blockquote{border-left:4px solid var(--sky);background:var(--bg-soft);margin:1.6em 0;padding:18px 22px;border-radius:0 var(--r) var(--r) 0}
.prose blockquote p:last-child{margin-bottom:0}
.prose table{margin-bottom:0}
.prose a{font-weight:600;overflow-wrap:anywhere}
.local-box a,.foot-res-p a,.faq-a a{overflow-wrap:anywhere}
.prose p,.prose li{overflow-wrap:break-word}
.figure{margin:1.8em 0}
.figure figcaption{font-size:.85rem;color:var(--muted);margin-top:.7em;text-align:center}
.callout{background:var(--sky-050);border:1px solid #d9e4ef;border-left:4px solid var(--sky);
  border-radius:0 var(--r) var(--r) 0;padding:20px 24px;margin:1.7em 0}
.callout h3,.callout .callout-h{margin-top:0;color:var(--navy);font-size:clamp(1.12rem,1rem + .5vw,1.35rem);font-weight:700;letter-spacing:-.02em}
.prose .callout-h{margin-top:0}
.local-box .box-h{color:var(--navy);display:flex;align-items:center;gap:.5em;font-size:clamp(1.12rem,1rem + .5vw,1.35rem);font-weight:700;margin-bottom:.5em}
.local-box .box-h svg{width:22px;height:22px;color:var(--sky);flex:none}
.callout p:last-child,.callout ul:last-child{margin-bottom:0}
.callout-warn{background:var(--red-050);border-color:#e3d8c0;border-left-color:var(--red)}
.article-layout>*{min-width:0}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(28px,4vw,56px);align-items:start}
.sidebar{position:sticky;top:calc(var(--hdr) + 12px);display:grid;gap:20px}
.side-card{background:var(--bg-soft);border:1px solid var(--line);border-left:4px solid var(--red);border-radius:var(--r-lg);padding:22px}
.side-card h3{font-size:1.08rem;margin-bottom:.6em}
.side-card ul{list-style:none;padding:0;margin:0}
.side-card li{margin:.1em 0;border-bottom:1px solid var(--line-soft)}
.side-card li:last-child{border-bottom:0}
.side-card li a{display:block;padding:9px 0;font-size:.93rem;text-decoration:none;color:var(--body);font-weight:500}
.side-card li a:hover{color:var(--navy-700)}
.side-cta{background:var(--navy-900);border-color:var(--navy-900);color:#d5e2ed;text-align:center}
.side-cta h3{color:#fff}
.side-cta p{font-size:.92rem}
.side-cta .btn{width:100%}
@media (max-width:980px){.article-layout{grid-template-columns:1fr}.sidebar{position:static}}
.meta-row{display:flex;flex-wrap:wrap;gap:16px;font-size:.86rem;color:#c4d5e6;margin-top:1.2em}
.meta-row span{display:inline-flex;align-items:center;gap:.45em}
.meta-row svg{width:15px;height:15px;color:var(--sky)}

/* ---------- blog cards ---------- */
.post{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;display:flex;
  flex-direction:column;text-decoration:none;color:inherit;transition:.16s;box-shadow:var(--sh);min-width:0}
.post:hover{transform:translateY(-4px);box-shadow:var(--sh-lg)}
.post-img{aspect-ratio:16/9;overflow:hidden;background:var(--navy-050)}
.post-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.post:hover .post-img img{transform:scale(1.05)}
.post-body{padding:22px;display:flex;flex-direction:column;flex:1}
.post-body h3{margin-bottom:.4em;font-size:1.12rem}
.post-body p{font-size:.93rem;color:var(--muted);margin-bottom:1em}
.post-meta{margin-top:auto;font-size:.8rem;color:var(--muted);display:flex;gap:12px;align-items:center;
  border-top:1px solid var(--line-soft);padding-top:12px}
.post-meta .rd{display:inline-flex;align-items:center;gap:.4em}
.post-meta svg{width:14px;height:14px;color:var(--sky)}

/* ---------- misc blocks ---------- */
.split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(24px,4vw,56px);align-items:center}
.split img{border-radius:var(--r-lg);box-shadow:var(--sh)}
.split>*{min-width:0}
.checklist{list-style:none;padding:0;display:grid;gap:11px}
.checklist li{display:block;position:relative;padding-left:33px;margin:0}
.checklist li::before{content:"";position:absolute;left:0;top:3px;width:22px;height:22px;border-radius:50%;background:var(--sky-050);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23204b71' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 12 6 6L20 6'/%3E%3C/svg%3E");
  background-size:13px;background-position:center;background-repeat:no-repeat}
.pill-links{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:0}
.pill-links li{margin:0}
.pill-links a{display:inline-block;padding:8px 15px;background:#fff;border:1px solid var(--line);border-radius:100px;
  font-size:.88rem;font-weight:600;text-decoration:none;color:var(--body);transition:.15s}
.pill-links a:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.sec-navy .pill-links a{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#e0e9f2}
.sec-navy .pill-links a:hover{background:var(--sky);border-color:var(--sky);color:#fff}
.size-card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:var(--r-lg);
  padding:26px;text-decoration:none;color:inherit;transition:.16s;box-shadow:var(--sh);display:flex;flex-direction:column;min-width:0}
.size-card:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-left-color:var(--navy-700)}
.size-yd{font-family:var(--head);font-size:2.6rem;font-weight:700;color:var(--navy);line-height:1}
.size-yd small{font-size:.9rem;font-weight:700;color:var(--muted);display:block;letter-spacing:.08em;text-transform:uppercase}
.size-specs{list-style:none;padding:0;margin:14px 0;font-size:.9rem;display:grid;gap:7px}
.size-specs li{display:flex;justify-content:space-between;gap:12px;margin:0;border-bottom:1px dashed var(--line);padding-bottom:6px}
.size-specs strong{text-align:right}
.local-box{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(20px,2.4vw,30px);box-shadow:var(--sh)}
.local-box h3{color:var(--navy);display:flex;align-items:center;gap:.5em}
.local-box h3 svg{width:22px;height:22px;color:var(--sky);flex:none}
.local-box ul{margin-bottom:0}
.res-links{list-style:none;padding:0;display:grid;gap:9px}
.res-links li{margin:0;display:flex;gap:.6em;align-items:flex-start}
.res-links li svg{width:17px;height:17px;color:var(--sky);flex:none;margin-top:5px}

/* ---------- footer ---------- */
.site-footer{background:var(--navy-900);color:#a9c2da;font-size:.93rem;margin-bottom:64px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr;gap:clamp(24px,3vw,44px);
  padding-top:clamp(44px,5vw,72px);padding-bottom:clamp(28px,3vw,44px)}
.foot-col{min-width:0}
.site-footer h3{color:#fff;font-size:1rem;letter-spacing:.05em;text-transform:uppercase;margin-bottom:1em;
  padding-bottom:.6em;border-bottom:1px solid rgba(255,255,255,.13);position:relative}
.site-footer h3::after{content:"";position:absolute;bottom:-1px;left:0;width:38px;height:3px;background:var(--red)}
/* No white plate here — the real logo's ring/wordmark are white/sky/navy line art and the
   footer background is already dark navy (--navy-900 below), so it reads fine directly,
   unlike the header. */
.foot-logo{margin-bottom:16px;height:auto;width:150px}
.foot-brand p{font-size:.92rem;line-height:1.62}
.foot-nap{display:grid;gap:9px;margin:16px 0}
.foot-line{display:flex;gap:.65em;align-items:flex-start;color:#d5e2ed;text-decoration:none;font-size:.92rem}
a.foot-line:hover{color:var(--sky-light)}
.foot-line svg{width:17px;height:17px;color:var(--sky);flex:none;margin-top:4px}
.foot-social{display:flex;gap:10px;margin-top:16px}
.foot-social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.09);display:grid;place-items:center;color:#d5e2ed;transition:.15s}
.foot-social a:hover{background:var(--red);color:#fff}
.foot-social svg{width:18px;height:18px}
.foot-list{list-style:none;padding:0;margin:0;display:grid;gap:1px}
.foot-list li{margin:0}
.foot-list a{color:#a9c2da;text-decoration:none;font-size:.9rem;display:block;padding:4px 0}
.foot-list a:hover{color:var(--sky-light);text-decoration:underline}
.foot-locs{grid-template-columns:1fr 1fr;display:grid;column-gap:12px}
.foot-more a{color:var(--sky-light);font-weight:700;font-size:.9rem;text-decoration:none;display:inline-flex;align-items:center;gap:.4em;margin-top:10px}
.foot-more svg{width:15px;height:15px}
.map-embed{border-radius:var(--r);overflow:hidden;border:1px solid rgba(255,255,255,.15);line-height:0}
.hours{display:grid;gap:5px;font-size:.87rem}
.hrow{display:flex;justify-content:space-between;gap:10px;padding-bottom:4px;border-bottom:1px dashed rgba(255,255,255,.1)}
.hrow span:last-child{color:#d5e2ed;white-space:nowrap}
.foot-note{font-size:.83rem;color:#85a9ca;margin-top:12px}
.foot-res{padding-bottom:26px}
.foot-res h3{display:inline-block}
.foot-res-p{font-size:.86rem;line-height:2;color:#85a9ca}
.foot-res-p a{color:#a9c2da;text-decoration:underline;text-decoration-color:rgba(129,173,205,.5)}
.foot-res-p a:hover{color:var(--sky-light)}
.foot-bottom{background:rgba(0,0,0,.28);padding:16px 0;font-size:.84rem}
.foot-bottom-in{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center}
.foot-bottom p{margin:0}
.foot-legal{list-style:none;display:flex;flex-wrap:wrap;gap:18px;margin:0;padding:0}
.foot-legal li{margin:0}
.foot-legal a{color:#a9c2da;text-decoration:none}
.foot-legal a:hover{color:var(--sky-light);text-decoration:underline}
@media (max-width:1000px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:620px){.foot-grid{grid-template-columns:1fr}.foot-locs{grid-template-columns:1fr 1fr}}

/* ---------- sticky call bar ---------- */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:56;background:var(--navy-900);
  box-shadow:0 -4px 20px rgba(19,56,84,.3);padding:9px 12px calc(9px + env(safe-area-inset-bottom))}
.callbar a{display:flex;align-items:center;justify-content:center;gap:.6em;background:var(--red);color:#fff;
  font-family:var(--head);font-weight:700;font-size:1.06rem;padding:14px;border-radius:var(--r);text-decoration:none}
.callbar a:hover{background:var(--red-700);color:#fff}
.callbar svg{width:21px;height:21px;flex:none}
@media (min-width:1101px){.callbar{display:none}.site-footer{margin-bottom:0}}

/* ---------- utility ---------- */
.lede{font-size:1.1rem}
.text-center{text-align:center}
.mb0{margin-bottom:0}
.nowrap{white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
