/* ============================================================
   BOLD AUTO TRANSPORT — State page 2026 redesign layer
   ------------------------------------------------------------
   HAND-AUTHORED. Not generated by the SCSS/PurgeCSS pipeline.
   It is intentionally NOT listed in resources/purgecss.config.js
   (css[]), so `npm run build-css` never purges or overwrites it.
   Loaded AFTER /csss/state-page.css (which supplies the compiled
   Bootstrap + calculator base) by templates/new-state/_entry.twig.

   Everything is scoped under `.bw-state` so it cannot collide with
   Bootstrap, header.css or footer-new.css. The prototype's `.btn`
   was renamed to `.bw-btn` to avoid clashing with Bootstrap `.btn`
   and the calculator's `.btn-continue`.
   ============================================================ */

.bw-state{
  /* Navy scale (deeper, premium) */
  --navy-950:#070D1B;
  --navy-900:#0A1326;
  --navy-850:#0C1730;
  --navy-800:#0F1D38;
  --navy-700:#16294A;
  --navy-600:#1E365E;

  /* Blue */
  --blue-700:#1A4FCB;
  --blue-600:#2667E6;
  --blue-500:#3B82F6;
  --blue-100:#E5EEFE;
  --blue-50:#F1F6FF;

  /* Amber accent (single, disciplined) */
  --amber-600:#E27812;
  --amber-500:#F5901E;
  --amber-400:#FBA63B;

  /* Cyan trust accent */
  --cyan-500:#19C2AE;
  --cyan-400:#34D6C2;

  /* Neutrals */
  --ink:#0E1A33;
  --slate-700:#33415C;
  --slate-600:#54627B;
  --slate-500:#6B7894;
  --slate-400:#93A0B7;
  --line:#E7ECF4;
  --line-soft:#EFF2F8;
  --bg:#F5F8FC;
  --bg-2:#EEF3FA;
  --white:#FFFFFF;

  /* Accent (tweakable) */
  --accent-600:var(--amber-600);
  --accent-500:var(--amber-500);
  --accent-400:var(--amber-400);

  /* Type */
  --font-display:"Sora",system-ui,sans-serif;
  --font-body:"Plus Jakarta Sans",system-ui,sans-serif;

  /* Shape */
  --r-sm:10px;
  --r-md:14px;
  --r-lg:20px;
  --r-xl:28px;

  /* Shadow */
  --sh-1:0 1px 2px rgba(14,26,51,.04), 0 1px 3px rgba(14,26,51,.03);
  --sh-2:0 2px 4px rgba(14,26,51,.04), 0 12px 28px -14px rgba(14,26,51,.16);
  --sh-3:0 8px 16px -8px rgba(14,26,51,.12), 0 28px 56px -24px rgba(14,26,51,.28);
  --sh-card:0 1px 2px rgba(14,26,51,.05), 0 10px 30px -18px rgba(14,26,51,.20);

  --maxw:1240px;
  --gutter:clamp(20px,5vw,56px);

  font-family:var(--font-body);
  color:var(--slate-600);
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.bw-state *{box-sizing:border-box;}
.bw-state img{max-width:100%;}
.bw-state a{color:inherit;text-decoration:none;}
.bw-state button{font-family:inherit;cursor:pointer;}
.bw-state h1,.bw-state h2,.bw-state h3,.bw-state h4,.bw-state h5{
  font-family:var(--font-display);
  color:var(--ink);
  margin:0;
  line-height:1.08;
  letter-spacing:-.02em;
  font-weight:700;
  text-wrap:balance;
}
.bw-state p{margin:0;text-wrap:pretty;}

/* ---------- layout helpers ---------- */
.bw-state .wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);}
.bw-state .section{padding-block:clamp(64px,8vw,116px);}
.bw-state .section--tight{padding-block:clamp(48px,6vw,80px);}
.bw-state .eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-body);
  font-weight:700;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--blue-600);margin:0 0 18px;
}
.bw-state .eyebrow::before{content:"";width:26px;height:2px;background:var(--blue-600);border-radius:2px;}
.bw-state .eyebrow--center{justify-content:center;}
.bw-state .eyebrow--center::before{display:none;}
.bw-state .eyebrow--on-dark{color:var(--cyan-400);}
.bw-state .eyebrow--on-dark::before{background:var(--cyan-400);}
.bw-state .h-xxl{font-size:clamp(2.1rem,4.6vw,3.5rem);}
.bw-state .h-xl{font-size:clamp(1.8rem,3.4vw,2.7rem);}
.bw-state .h-lg{font-size:clamp(1.5rem,2.6vw,2.05rem);}
.bw-state .lead{font-size:clamp(1.02rem,1.4vw,1.18rem);color:var(--slate-600);line-height:1.7;}
.bw-state .center{text-align:center;}
.bw-state .muted{color:var(--slate-500);}
.bw-state .section-head{max-width:760px;}
.bw-state .section-head--center{margin-inline:auto;text-align:center;}
.bw-state .section-head .lead{margin-top:16px;}
/* per-CMS-block vertical rhythm (lighter than .section) */
.bw-state .bw-block{padding-block:clamp(30px,4vw,54px);}
.bw-state .bw-block--flush{padding-block:0;}

/* ---------- buttons (renamed .btn -> .bw-btn) ---------- */
.bw-state .bw-btn{
  --bg:var(--blue-600);--fg:#fff;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-body);font-weight:700;font-size:1rem;
  padding:15px 26px;border-radius:var(--r-md);border:1px solid transparent;
  background:var(--bg);color:var(--fg);
  transition:transform .18s ease,box-shadow .25s ease,background .2s ease;
  white-space:nowrap;
}
.bw-state .bw-btn svg{width:18px;height:18px;}
.bw-state .bw-btn--accent{
  --bg:linear-gradient(180deg,var(--accent-400),var(--accent-600));
  box-shadow:0 1px 0 rgba(255,255,255,.25) inset, 0 10px 24px -10px color-mix(in srgb,var(--accent-500) 70%,transparent);
}
.bw-state .bw-btn--accent:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 16px 30px -12px color-mix(in srgb,var(--accent-500) 75%,transparent);}
.bw-state .bw-btn--blue:hover{transform:translateY(-2px);box-shadow:0 14px 28px -12px rgba(38,103,230,.6);}
.bw-state .bw-btn--lg{padding:17px 32px;font-size:1.06rem;}
.bw-state .bw-btn--ghost{--bg:transparent;--fg:var(--ink);border-color:var(--line);background:#fff;}
.bw-state .bw-btn--ghost:hover{border-color:var(--blue-200,#c9dbfb);box-shadow:var(--sh-2);transform:translateY(-2px);}
.bw-state .bw-btn--on-dark-ghost{--bg:rgba(255,255,255,.06);--fg:#fff;border-color:rgba(255,255,255,.18);backdrop-filter:blur(6px);}
.bw-state .bw-btn--on-dark-ghost:hover{background:rgba(255,255,255,.12);transform:translateY(-2px);}
.bw-state .bw-btn--block{width:100%;}

/* ============================================================
   HERO
   ============================================================ */
.bw-state .hero{position:relative;background:var(--navy-900);overflow:hidden;isolation:isolate;}
.bw-state .hero__bg{position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center;}
.bw-state .hero__scrim{position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(8,15,30,.55) 0%,rgba(8,15,30,.30) 36%,rgba(8,15,30,.45) 70%,rgba(8,15,30,.86) 100%),
    linear-gradient(100deg,rgba(8,15,30,.62) 0%,rgba(8,15,30,.30) 52%,rgba(8,15,30,0) 78%);
}
.bw-state .hero .wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,4vw,64px);align-items:center;padding-block:clamp(56px,7vw,92px);}
.bw-state .hero__copy{color:#eaf0fb;max-width:560px;}
.bw-state .hero__badge{display:inline-flex;align-items:center;gap:9px;padding:7px 14px 7px 9px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px);font-size:13.5px;font-weight:600;color:#dce5f5;margin-bottom:26px;}
.bw-state .hero__badge .pin{width:22px;height:22px;border-radius:7px;background:linear-gradient(150deg,var(--cyan-400),var(--cyan-500));display:grid;place-items:center;}
.bw-state .hero__badge .pin svg{width:13px;height:13px;color:#04231f;}
.bw-state .hero h1{color:#fff;font-size:clamp(2.5rem,5.6vw,4.3rem);font-weight:800;line-height:1.02;letter-spacing:-.03em;}
.bw-state .hero h1 .accent{color:transparent;background:linear-gradient(120deg,#9ec3ff,#6aa3ff);-webkit-background-clip:text;background-clip:text;}
.bw-state .hero__sub{margin-top:22px;font-size:clamp(1.05rem,1.6vw,1.28rem);color:#c4d0e6;line-height:1.6;max-width:480px;}
.bw-state .hero__chips{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:30px;}
.bw-state .hero__chip{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;font-weight:600;color:#d7e0f1;}
.bw-state .hero__chip .ic{width:24px;height:24px;border-radius:7px;background:rgba(52,214,194,.14);border:1px solid rgba(52,214,194,.3);display:grid;place-items:center;}
.bw-state .hero__chip .ic svg{width:13px;height:13px;color:var(--cyan-400);}
.bw-state .hero__note{margin-top:30px;font-size:14px;color:#93a3bf;}
.bw-state .hero__note b{color:#cdd9ec;font-weight:700;}

/* Quote card — shell only; the calculator partial styles its own inner markup */
.bw-state .quote-card{background:var(--white);border-radius:var(--r-xl);box-shadow:var(--sh-3);overflow:hidden;border:1px solid rgba(255,255,255,.6);}
.bw-state .quote-card .step-1,.bw-state .quote-card .step-v2{background:transparent;}

/* Quote card (static preview form) */
.bw-state .quote-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);}
.bw-state .quote-tab{position:relative;display:flex;align-items:center;justify-content:center;gap:9px;padding:19px 12px;font-weight:700;font-size:1rem;color:var(--slate-500);background:#fbfcfe;transition:color .18s,background .18s;}
.bw-state .quote-tab svg{width:18px;height:18px;}
.bw-state .quote-tab[aria-selected="true"]{color:var(--blue-600);background:#fff;}
.bw-state .quote-tab[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2.5px;background:var(--blue-600);}
.bw-state .quote-body{padding:clamp(22px,2.4vw,30px);}
.bw-state .quote-body h3{text-align:center;font-size:1.32rem;font-weight:700;margin-bottom:6px;}
.bw-state .quote-body .qb-sub{text-align:center;font-size:14px;color:var(--slate-500);margin-bottom:22px;}
.bw-state .field{margin-bottom:16px;}
.bw-state .field label{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--slate-700);margin-bottom:8px;}
.bw-state .field .ring{width:15px;height:15px;border-radius:50%;border:2px solid var(--blue-600);display:grid;place-items:center;}
.bw-state .field .ring::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue-600);}
.bw-state .field.is-to .ring{border-color:var(--cyan-500);}
.bw-state .field.is-to .ring::after{background:var(--cyan-500);}
.bw-state .field .inp{position:relative;}
.bw-state .field input{width:100%;padding:15px 16px 15px 44px;border:1.5px solid var(--line);border-radius:var(--r-md);font-size:1rem;font-family:inherit;color:var(--ink);background:#fbfcfe;transition:border .15s,box-shadow .15s,background .15s;}
.bw-state .field input::placeholder{color:var(--slate-400);}
.bw-state .field input:focus{outline:none;border-color:var(--blue-500);background:#fff;box-shadow:0 0 0 4px rgba(59,130,246,.12);}
.bw-state .field .inp svg{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--slate-400);}
.bw-state .route-line{display:flex;justify-content:center;margin:-4px 0 8px;}
.bw-state .route-line svg{width:20px;height:20px;color:var(--slate-400);}
.bw-state .quote-trust{display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;padding-top:20px;margin-top:6px;border-top:1px solid var(--line-soft);}
.bw-state .quote-trust .qt{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--slate-600);}
.bw-state .quote-trust .qt svg{width:16px;height:16px;}
.bw-state .quote-trust .qt .g-star{color:var(--amber-500);}
.bw-state .cred-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;background:var(--bg);border-radius:var(--r-md);padding:14px 18px;margin-top:18px;}
.bw-state .cred{display:flex;align-items:center;gap:10px;}
.bw-state .cred .ci{width:30px;height:30px;border-radius:8px;background:#fff;border:1px solid var(--line);display:grid;place-items:center;flex:none;}
.bw-state .cred .ci svg{width:16px;height:16px;color:var(--blue-600);}
.bw-state .cred small{display:block;font-size:11px;color:var(--slate-500);line-height:1.2;}
.bw-state .cred b{font-size:13px;color:var(--ink);font-weight:700;}

@media(max-width:920px){
  .bw-state .hero .wrap{grid-template-columns:1fr;}
  .bw-state .hero__copy{max-width:none;}
}

/* ============================================================
   TRUST STRIP (dark)
   ============================================================ */
.bw-state .trust-strip{background:linear-gradient(180deg,var(--navy-950),var(--navy-850));position:relative;}
.bw-state .trust-strip::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 120% at 50% -10%,rgba(38,103,230,.18),transparent 60%);}
.bw-state .trust-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(20px,3vw,44px);}
.bw-state .trust-item{display:flex;align-items:flex-start;gap:16px;}
.bw-state .trust-item .ti{width:48px;height:48px;border-radius:13px;flex:none;display:grid;place-items:center;background:rgba(52,214,194,.1);border:1px solid rgba(52,214,194,.22);}
.bw-state .trust-item .ti svg{width:23px;height:23px;color:var(--cyan-400);}
.bw-state .trust-item h4{color:#fff;font-size:1.12rem;font-weight:700;margin-bottom:4px;font-family:var(--font-display);}
.bw-state .trust-item p{color:#9fb0cb;font-size:14.5px;line-height:1.45;}
@media(max-width:880px){.bw-state .trust-grid{grid-template-columns:1fr 1fr;gap:30px;}}
@media(max-width:520px){.bw-state .trust-grid{grid-template-columns:1fr;}}

/* ============================================================
   ABOUT
   ============================================================ */
.bw-state .about-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(36px,5vw,72px);align-items:start;}
.bw-state .about-body p{margin-bottom:18px;color:var(--slate-600);font-size:1.05rem;}
.bw-state .about-body p strong{color:var(--blue-600);font-weight:700;}
.bw-state .updated{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--slate-400);font-weight:600;margin-bottom:26px;}
.bw-state .updated svg{width:15px;height:15px;}
.bw-state .about-aside{position:sticky;top:100px;display:flex;flex-direction:column;gap:16px;}
.bw-state .score-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;background:linear-gradient(180deg,#fff,#fbfcff);box-shadow:var(--sh-card);}
.bw-state .score-card .sc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.bw-state .score-card .src{font-weight:700;color:var(--ink);font-size:1rem;}
.bw-state .score-card .badge{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--cyan-500);background:rgba(25,194,174,.1);padding:5px 10px;border-radius:999px;}
.bw-state .score-row{display:flex;align-items:center;gap:12px;}
.bw-state .score-row .num{font-family:var(--font-display);font-weight:800;font-size:2.6rem;color:var(--ink);line-height:1;}
.bw-state .stars{display:flex;gap:3px;}
.bw-state .stars svg{width:18px;height:18px;color:var(--amber-500);}
.bw-state .score-card .rev{font-size:13px;color:var(--slate-500);margin-top:6px;}

/* ============================================================
   REVIEWS
   ============================================================ */
.bw-state .reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:6px;}
.bw-state .review{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--sh-card);display:flex;flex-direction:column;transition:transform .2s,box-shadow .25s;}
.bw-state .review:hover{transform:translateY(-4px);box-shadow:var(--sh-3);}
.bw-state .review .quote-mark{font-family:var(--font-display);font-size:2.6rem;line-height:.4;color:var(--blue-100);height:24px;}
.bw-state .review .stars{margin-bottom:14px;}
.bw-state .review p{color:var(--slate-700);font-size:15px;line-height:1.6;flex:1;}
.bw-state .review .rv-foot{display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:18px;border-top:1px solid var(--line-soft);}
.bw-state .review .rv-name{font-weight:700;color:var(--ink);font-size:.98rem;}
.bw-state .review .rv-src{font-size:12px;color:var(--slate-400);}
.bw-state .gnote{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--slate-500);}
.bw-state .gnote svg{width:16px;height:16px;}
@media(max-width:860px){.bw-state .reviews-grid{grid-template-columns:1fr;}.bw-state .about-grid{grid-template-columns:1fr;}.bw-state .about-aside{position:static;}}

/* ============================================================
   STATS BAND
   ============================================================ */
.bw-state .stats-band{background:linear-gradient(160deg,var(--navy-900),var(--navy-800));border-radius:var(--r-xl);padding:clamp(36px,5vw,58px) clamp(24px,4vw,40px);position:relative;overflow:hidden;}
.bw-state .stats-band::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 140% at 85% 0%,rgba(38,103,230,.22),transparent 55%);}
.bw-state .stats-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);}
.bw-state .stat{text-align:center;padding:6px 20px;}
.bw-state .stat + .stat{border-left:1px solid rgba(255,255,255,.1);}
.bw-state .stat .lbl{font-size:12.5px;letter-spacing:.18em;text-transform:uppercase;color:#7e8fad;font-weight:700;margin-bottom:14px;}
.bw-state .stat .val{font-family:var(--font-display);font-weight:800;font-size:clamp(2.4rem,4.4vw,3.4rem);color:#fff;line-height:1;letter-spacing:-.02em;}
.bw-state .stat .val .plus{color:var(--cyan-400);}
@media(max-width:680px){.bw-state .stats-grid{grid-template-columns:1fr;gap:26px;}.bw-state .stat+.stat{border-left:none;border-top:1px solid rgba(255,255,255,.1);padding-top:26px;}}

.bw-state .brands{margin-top:46px;text-align:center;}
.bw-state .brands .bl{font-size:12px;letter-spacing:.2em;text-transform:uppercase;font-weight:700;color:var(--slate-400);margin-bottom:22px;}
.bw-state .brands .row{display:flex;align-items:center;justify-content:center;gap:clamp(34px,6vw,80px);flex-wrap:wrap;opacity:.62;}
.bw-state .brands .row span{font-family:var(--font-display);font-weight:700;font-size:1.2rem;color:var(--slate-500);letter-spacing:.02em;filter:grayscale(1);}
.bw-state .brands .row img{height:30px;width:auto;filter:grayscale(1);opacity:.85;}

/* ============================================================
   PROCESS STEPS
   ============================================================ */
.bw-state .process{background:var(--bg);}
.bw-state .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px;counter-reset:step;}
.bw-state .step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:34px 30px;box-shadow:var(--sh-card);}
.bw-state .step .sn{width:54px;height:54px;border-radius:15px;background:linear-gradient(150deg,var(--blue-500),var(--blue-700));color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:1.5rem;box-shadow:0 10px 22px -10px rgba(38,103,230,.7);margin-bottom:22px;}
.bw-state .step h4{font-size:1.18rem;margin-bottom:10px;}
.bw-state .step p{font-size:15px;color:var(--slate-600);line-height:1.55;}
.bw-state .step .arrow{position:absolute;right:-30px;top:54px;width:44px;color:var(--blue-200,#bcd2f8);z-index:2;}
.bw-state .step:last-child .arrow{display:none;}
@media(max-width:820px){.bw-state .steps{grid-template-columns:1fr;}.bw-state .step .arrow{display:none;}}

/* ============================================================
   COST FACTORS
   ============================================================ */
.bw-state .factors{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:42px;}
.bw-state .factor{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:16px 18px;box-shadow:var(--sh-1);transition:transform .18s,box-shadow .22s,border-color .2s;}
.bw-state .factor:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:#cfe0fb;}
.bw-state .factor .fi{width:40px;height:40px;border-radius:11px;flex:none;display:grid;place-items:center;background:var(--blue-50);}
.bw-state .factor .fi svg{width:20px;height:20px;color:var(--blue-600);}
.bw-state .factor b{font-size:14.5px;color:var(--ink);font-weight:700;line-height:1.2;}
@media(max-width:900px){.bw-state .factors{grid-template-columns:repeat(2,1fr);}}
@media(max-width:460px){.bw-state .factors{grid-template-columns:1fr;}}

.bw-state .cta-inline{margin-top:44px;background:linear-gradient(180deg,#fff,#f7faff);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(26px,3vw,38px);display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;box-shadow:var(--sh-card);}
.bw-state .cta-inline h4{font-size:1.3rem;margin-bottom:10px;}
.bw-state .cta-inline p{font-size:15px;color:var(--slate-600);max-width:640px;}
.bw-state .cta-inline p b{color:var(--ink);}
@media(max-width:760px){.bw-state .cta-inline{grid-template-columns:1fr;}}

/* ============================================================
   TABLES
   ============================================================ */
.bw-state .table-card{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-card);background:#fff;margin-top:36px;}
.bw-state .tbl{width:100%;border-collapse:collapse;font-size:15px;}
.bw-state .tbl thead th{background:linear-gradient(180deg,var(--navy-850),var(--navy-800));color:#aebfd8;font-family:var(--font-body);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;padding:18px 22px;text-align:left;}
.bw-state .tbl thead th:not(:first-child){text-align:center;}
.bw-state .tbl tbody td,.bw-state .tbl tbody th{padding:18px 22px;border-bottom:1px solid var(--line-soft);text-align:center;color:var(--slate-700);font-weight:500;}
.bw-state .tbl tbody td:first-child,.bw-state .tbl tbody th:first-child{text-align:left;font-weight:600;color:var(--ink);}
.bw-state .tbl tbody tr:nth-child(even){background:#fafcff;}
.bw-state .tbl tbody tr:last-child td,.bw-state .tbl tbody tr:last-child th{border-bottom:none;}
.bw-state .tbl tbody tr{transition:background .15s;}
.bw-state .tbl tbody tr:hover{background:var(--blue-50);}
.bw-state .tbl a{color:var(--blue-600);font-weight:600;}
.bw-state .tbl a:hover{text-decoration:underline;}
.bw-state .tbl .price{font-weight:700;color:var(--ink);}
.bw-state .tbl .dest{color:var(--blue-600);font-weight:700;}
.bw-state .tbl .mini-quote{display:inline-block;background:var(--blue-600);color:#fff;border:none;padding:9px 18px;border-radius:9px;font-weight:700;font-size:13px;transition:background .15s,transform .15s;}
.bw-state .tbl .mini-quote:hover{background:var(--blue-700);transform:translateY(-1px);color:#fff;}
.bw-state .tbl td.qcell,.bw-state .tbl th.qcell{text-align:center;width:1%;white-space:nowrap;}
.bw-state .tnote{margin-top:18px;font-size:14px;color:var(--slate-500);}
.bw-state .tnote b{color:var(--ink);}
.bw-state .table-scroll{overflow-x:auto;}
@media(max-width:680px){.bw-state .tbl{font-size:13.5px;}.bw-state .tbl thead th,.bw-state .tbl tbody td,.bw-state .tbl tbody th{padding:13px 14px;}}

/* ============================================================
   CITIES + ZIP (used by preview / optional CMS data)
   ============================================================ */
.bw-state .fl-cities{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px;}
.bw-state .fl-city{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:16px 20px;font-weight:600;color:var(--ink);box-shadow:var(--sh-1);transition:transform .16s,box-shadow .2s,border-color .2s;}
.bw-state .fl-city:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:#cfe0fb;}
.bw-state .fl-city .pin{width:30px;height:30px;border-radius:9px;background:var(--blue-50);display:grid;place-items:center;flex:none;}
.bw-state .fl-city .pin svg{width:16px;height:16px;color:var(--blue-600);}
@media(max-width:760px){.bw-state .fl-cities{grid-template-columns:1fr 1fr;}}
.bw-state .zip-block{margin-top:30px;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-lg);padding:26px 30px;}
.bw-state .zip-block h4{font-size:1.02rem;font-style:italic;color:var(--ink);margin-bottom:14px;}
.bw-state .zip-codes{font-size:14px;line-height:2;color:var(--slate-500);font-variant-numeric:tabular-nums;word-spacing:1px;}

/* ============================================================
   CTA BANNERS
   ============================================================ */
.bw-state .cta-band{position:relative;border-radius:var(--r-xl);overflow:hidden;background:linear-gradient(110deg,var(--navy-900) 0%,var(--blue-700) 130%);padding:clamp(34px,4.5vw,56px) clamp(28px,4vw,60px);display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center;}
.bw-state .cta-band::after{content:"";position:absolute;inset:0;background:radial-gradient(50% 160% at 100% 0%,rgba(82,150,255,.4),transparent 60%);pointer-events:none;}
.bw-state .cta-band__copy{position:relative;}
.bw-state .cta-band h3{color:#fff;font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;letter-spacing:-.02em;}
.bw-state .cta-band p{color:#c4d0e6;position:relative;margin-top:8px;font-size:15px;max-width:560px;}
.bw-state .cta-band .cta-band__actions{position:relative;display:flex;gap:14px;flex-wrap:wrap;}
@media(max-width:760px){.bw-state .cta-band{grid-template-columns:1fr;}}

/* ============================================================
   SERVICE TYPE CARDS
   ============================================================ */
.bw-state .svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:46px;}
.bw-state .svc{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 28px;box-shadow:var(--sh-card);display:flex;flex-direction:column;transition:transform .2s,box-shadow .25s;position:relative;overflow:hidden;}
.bw-state .svc::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--blue-500),var(--blue-700));transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.bw-state .svc:hover{transform:translateY(-5px);box-shadow:var(--sh-3);}
.bw-state .svc:hover::before{transform:scaleX(1);}
.bw-state .svc .si{width:50px;height:50px;border-radius:14px;background:var(--blue-50);display:grid;place-items:center;margin-bottom:20px;}
.bw-state .svc .si svg{width:25px;height:25px;color:var(--blue-600);}
.bw-state .svc h4{font-size:1.18rem;margin-bottom:12px;color:var(--ink);}
.bw-state .svc h4 a{color:inherit;}
.bw-state .svc p{font-size:14.5px;color:var(--slate-600);line-height:1.6;margin-bottom:12px;}
.bw-state .svc p strong{color:var(--blue-600);}
.bw-state .svc .more{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:var(--blue-600);padding-top:14px;}
.bw-state .svc .more svg{width:15px;height:15px;transition:transform .18s;}
.bw-state .svc:hover .more svg{transform:translateX(4px);}
@media(max-width:1000px){.bw-state .svc-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.bw-state .svc-grid{grid-template-columns:1fr;}}

/* big CTA card */
.bw-state .need-cta{margin-top:40px;border:1px solid var(--line);border-radius:var(--r-xl);background:radial-gradient(120% 140% at 50% 0%,#f4f9ff,#fff 60%);padding:clamp(40px,5vw,64px);text-align:center;box-shadow:var(--sh-card);}
.bw-state .need-cta h3{font-size:clamp(1.6rem,2.8vw,2.2rem);margin-bottom:12px;}
.bw-state .need-cta p{color:var(--slate-600);font-size:1.08rem;margin-bottom:26px;}

/* ============================================================
   STATES / CITIES INTERNAL-LINK GRID
   ============================================================ */
.bw-state .states-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:46px;}
.bw-state .state-link{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:14px 18px;font-weight:700;color:var(--navy-700);font-size:14.5px;box-shadow:var(--sh-1);transition:transform .16s,box-shadow .2s,border-color .2s,color .15s;}
.bw-state .state-link:hover{transform:translateY(-2px);box-shadow:var(--sh-2);border-color:#cfe0fb;color:var(--blue-600);}
.bw-state .state-link .flag{width:30px;height:21px;border-radius:4px;flex:none;display:grid;place-items:center;font-size:12px;font-weight:800;color:#fff;letter-spacing:.02em;box-shadow:0 1px 2px rgba(0,0,0,.15);background:var(--blue-600);}
.bw-state .state-link .flag img{width:100%;height:100%;object-fit:cover;border-radius:4px;}
@media(max-width:980px){.bw-state .states-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:700px){.bw-state .states-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:440px){.bw-state .states-grid{grid-template-columns:1fr;}}

/* ============================================================
   MAP
   ============================================================ */
.bw-state .map-section{background:var(--bg);}
.bw-state .map-card{border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);box-shadow:var(--sh-3);position:relative;background:var(--navy-800);}
.bw-state .map-card img,.bw-state .map-card iframe{width:100%;height:clamp(360px,46vw,560px);display:block;border:0;}
.bw-state .map-tag{position:absolute;top:24px;left:24px;background:#fff;border-radius:var(--r-md);padding:18px 22px;box-shadow:var(--sh-2);max-width:320px;}
.bw-state .map-tag .mt-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.bw-state .map-tag .mt-row .pin{width:32px;height:32px;border-radius:9px;background:var(--blue-600);display:grid;place-items:center;}
.bw-state .map-tag .mt-row .pin svg{width:16px;height:16px;color:#fff;}
.bw-state .map-tag b{font-size:1.05rem;color:var(--ink);font-family:var(--font-display);}
.bw-state .map-tag p{font-size:13.5px;color:var(--slate-500);}

/* ============================================================
   FAQ
   ============================================================ */
.bw-state .faq-wrap{max-width:880px;margin:42px auto 0;}
.bw-state .faq{border:1px solid var(--line);border-radius:var(--r-md);background:#fff;margin-bottom:12px;overflow:hidden;box-shadow:var(--sh-1);transition:box-shadow .2s,border-color .2s;}
.bw-state .faq[open]{box-shadow:var(--sh-2);border-color:#cfe0fb;}
.bw-state .faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;font-family:var(--font-display);font-weight:700;font-size:1.04rem;color:var(--ink);}
.bw-state .faq summary::-webkit-details-marker{display:none;}
.bw-state .faq summary .chev{width:30px;height:30px;flex:none;border-radius:9px;background:var(--blue-50);display:grid;place-items:center;transition:transform .25s,background .2s;}
.bw-state .faq summary .chev svg{width:16px;height:16px;color:var(--blue-600);}
.bw-state .faq[open] summary .chev{transform:rotate(180deg);background:var(--blue-600);}
.bw-state .faq[open] summary .chev svg{color:#fff;}
.bw-state .faq .ans{padding:0 24px 22px;color:var(--slate-600);font-size:15.5px;line-height:1.65;}
.bw-state .faq .ans p+p{margin-top:12px;}

/* ============================================================
   BIG CITY LIST
   ============================================================ */
.bw-state .city-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:36px;}
.bw-state .city-link{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 13px;font-size:13.5px;font-weight:600;color:var(--slate-700);box-shadow:var(--sh-1);transition:transform .14s,box-shadow .18s,color .14s,border-color .18s;}
.bw-state .city-link:hover{transform:translateY(-2px);box-shadow:var(--sh-2);color:var(--blue-600);border-color:#cfe0fb;}
.bw-state .city-link svg{width:14px;height:14px;color:var(--slate-400);flex:none;}
.bw-state .city-link:hover svg{color:var(--blue-600);}
.bw-state .toggle-more{display:flex;justify-content:center;margin-top:28px;}
@media(max-width:1080px){.bw-state .city-grid{grid-template-columns:repeat(4,1fr);}}
@media(max-width:860px){.bw-state .city-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:600px){.bw-state .city-grid{grid-template-columns:1fr 1fr;}}

/* bottom services */
.bw-state .bsvc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px;}
.bw-state .bsvc{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:26px;box-shadow:var(--sh-card);transition:transform .18s,box-shadow .22s;}
.bw-state .bsvc:hover{transform:translateY(-4px);box-shadow:var(--sh-3);}
.bw-state .bsvc .bi{width:44px;height:44px;border-radius:12px;background:var(--blue-50);display:grid;place-items:center;margin-bottom:16px;}
.bw-state .bsvc .bi svg{width:22px;height:22px;color:var(--blue-600);}
.bw-state .bsvc h4{font-size:1.08rem;margin-bottom:8px;}
.bw-state .bsvc p{font-size:14px;color:var(--slate-600);line-height:1.5;}
@media(max-width:980px){.bw-state .bsvc-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.bw-state .bsvc-grid{grid-template-columns:1fr;}}

/* full prose (onlyText / text blocks) */
.bw-state .full-text{font-size:1.02rem;line-height:1.75;color:var(--slate-600);}
.bw-state .full-text h2{font-size:clamp(1.5rem,2.6vw,2.05rem);margin:6px 0 14px;}
.bw-state .full-text h3{font-size:1.2rem;margin:22px 0 8px;color:var(--ink);}
.bw-state .full-text p{margin-bottom:14px;}
.bw-state .full-text strong{color:var(--ink);}
.bw-state .full-text a{color:var(--blue-600);font-weight:600;}
.bw-state .full-text a:hover{text-decoration:underline;}
.bw-state .full-text ul,.bw-state .full-text ol{padding-left:20px;margin:0 0 14px;}
.bw-state .full-text li{margin-bottom:7px;}

/* text + image two-column block */
.bw-state .text-image{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,4vw,56px);align-items:center;}
.bw-state .text-image .right img{border-radius:var(--r-lg);box-shadow:var(--sh-2);}
@media(max-width:860px){.bw-state .text-image{grid-template-columns:1fr;}}

/* auto-transport icon grid */
.bw-state .auto-parent{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin:26px 0;}
.bw-state .auto-transport{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:20px 12px;text-align:center;box-shadow:var(--sh-1);transition:transform .16s,box-shadow .2s,border-color .2s;}
.bw-state .auto-transport:hover{transform:translateY(-3px);box-shadow:var(--sh-2);border-color:#cfe0fb;}
.bw-state .auto-transport img{width:42px;height:42px;object-fit:contain;margin:0 auto 10px;}
.bw-state .auto-transport span{font-size:13px;font-weight:600;color:var(--ink);}

/* ============================================================
   reveal-on-scroll
   ============================================================ */
/* Hardened entrance: animates TRANSFORM ONLY — opacity is never touched, so
   content is ALWAYS fully visible, even if the animation is throttled (e.g. a
   background tab), JS never runs, or reduced-motion is set. Worst case is a
   harmless 14px offset, never hidden content. */
.bw-state .reveal{animation:bwReveal .5s cubic-bezier(.2,.7,.2,1) both;}
.bw-state .reveal.in{transform:none;}
@keyframes bwReveal{from{transform:translateY(14px)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.bw-state .reveal{animation:none;}}
