/* DN Van Lines — single shared stylesheet.
   Inlined via partials/header.php for first-paint perf; every byte counts.

   ============================================================================
   TABLE OF CONTENTS
   ============================================================================
     1. Tokens & resets                       :root, *, html, body
     2. Buttons                               .btn, .btn-attention (legacy)
     3. Header & navigation                   header, .nav, .mega-panel, .m-drawer
     4. Mobile drawer
     5. Page wrap & layout primitives         .wrap, .crumbs, .alert
     6. Service-page layout (.svc-*)
     7. State-page layout (.st-*)
     8. Long-form prose & how-to helpers      .prose, .video-embed, .check-list
     9. Pill list & stats band                .region-cities, .stats-band
    10. Service-card grids (.svc-card-v2)
    11. HOW-TO PACK GUIDES (V2 — visual workshop)
                                              .howto-v2, .hwt-*  (kitchen + 11
                                              topic pages). Hero, supplies,
                                              video feature, steps, pro-tip,
                                              mistakes, navy CTA. Share-bar
                                              sticky-pill belongs to this set.
    12. MERGED INLINE STYLES (extracted)      Per-page styles previously inline:
        12a. Partial modules                  .as-*, .rv-*, .qw, .ac-*
        12b. Team-member bio pages            .team-hero, .team-bio, .pp-*
        12c. Location pages
        12d. Quote flow
        12e. Resources (FAQ, blog, how-to-videos)
        12f. About pages
        12g. Partner pages
        12h. Legal pages
        12i. Homepage
    13. News posts                            .svc-hero-news, .post-body
   ============================================================================
   When adding new styles, append to the most-specific category. If you're
   tempted to inline-style a page, add a class here instead and prefix it so
   the source file (or feature) is obvious.
   ============================================================================ */

:root{
  --navy:#15324a;
  --navy-2:#0f2942;
  --navy-deep:#091929;
  --blue:#1f6fae;
  --blue-2:#1d4ed8;
  --gold:#f2b84b;
  --gold-2:#e0a431;
  --ink:#1d2730;
  --muted:#66717b;
  --bg:#fafbfc;
  --line:#e5ebf1;
  --line-2:#f1f5f9;
  --white:#fff;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  color:var(--ink);
  line-height:1.55;
  background:var(--white);
  -webkit-font-smoothing:antialiased;
  font-feature-settings:"cv11","ss03";
  letter-spacing:-.005em;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ============================================================
   LAYOUT PRIMITIVES
   ============================================================ */
.wrap{max-width:1200px;margin:auto;padding:0 24px}
section{padding:64px 0 80px}
.eyebrow{color:var(--gold);font-weight:700;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
.muted{color:var(--muted)}
.section-title,h1,h2{color:var(--navy);letter-spacing:-.025em;line-height:1.1;font-weight:800}
.section-title{font-size:38px;margin:0 0 16px;text-wrap:balance}

.section-head{margin-bottom:48px}
.section-head .kicker,.section-head .eyebrow{margin-bottom:10px;display:inline-block}
.section-head h2{font-size:38px;margin-bottom:14px;text-wrap:balance}
.section-head p{font-size:17px;color:var(--muted);max-width:560px;line-height:1.6}

/* ============================================================
   BUTTONS
   .btn / .btn.primary (gold) / .btn.secondary (outline white)
   .btn.lg — hero-size variant
   .btn.submit — shimmer animation, used on form CTAs
   .btn-attention — legacy reusable shimmer wrapper (kept for older pages)
   ============================================================ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border-radius:8px;font-weight:600;font-size:14px;cursor:pointer;transition:all .15s;border:1px solid transparent;font-family:inherit;letter-spacing:-.005em;white-space:nowrap;text-decoration:none}
.btn.primary{background:var(--gold);color:var(--navy-deep)}
.btn.primary:hover{background:var(--gold-2);color:#fff;transform:translateY(-1px);box-shadow:0 8px 22px rgba(242,184,75,.35)}
.btn.secondary{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.55)}
.btn.secondary:hover{background:rgba(255,255,255,.08);border-color:#fff}
.btn.ghost{background:transparent;color:var(--navy);border:1.5px solid var(--line)}
.btn.ghost:hover{border-color:var(--navy);background:#fff}
.btn.blue{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn.blue:hover{background:#185c92;border-color:#185c92;color:#fff;transform:translateY(-1px);box-shadow:0 8px 22px rgba(31,111,174,.32)}
.btn.lg{padding:16px 28px;font-size:16px}

.btn.primary.submit{position:relative;overflow:hidden}
.btn.primary.submit::after{
  content:"";position:absolute;top:0;left:0;
  width:55%;height:100%;
  background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.55) 50%,transparent 100%);
  transform:translateX(-150%) skewX(-18deg);
  animation:btn-shimmer 5s ease-out infinite;
  pointer-events:none;
}
@keyframes btn-shimmer{
  0%   {transform:translateX(-150%) skewX(-18deg)}
  35%  {transform:translateX(280%)  skewX(-18deg)}
  100% {transform:translateX(280%)  skewX(-18deg)}
}

/* Legacy .btn-attention — kept so existing pages (apply, careers, get-a-quote)
   continue to render their soft-pulse CTA. */
.btn-attention{position:relative;overflow:hidden;--attn-shimmer:255,232,170}
.btn-attention > *{position:relative;z-index:2}
.btn-attention::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,transparent 35%,rgba(var(--attn-shimmer),.32) 50%,transparent 65%,transparent 100%);transform:translateX(-110%);animation:btn-attention-shimmer 7s ease-in-out infinite;pointer-events:none;z-index:1}
.btn-attention:disabled::after,.btn-attention[aria-disabled="true"]::after{animation:none}
@keyframes btn-attention-shimmer{0%,60%{transform:translateX(-110%)}82%{transform:translateX(110%)}100%{transform:translateX(110%)}}

@media (prefers-reduced-motion: reduce){
  .btn.primary.submit::after,
  .btn-attention::after{display:none}
}

/* ============================================================
   CARDS — generic, used across many pages
   ============================================================ */
.card{border:1px solid var(--line);border-radius:14px;padding:24px;background:#fff}
.card h3{color:var(--navy);margin-top:0}

/* ============================================================
   TOPBAR — phone + service-area links above the header
   ============================================================ */
.topbar{background:var(--navy-deep);color:#cfdbe7;font-size:13px;font-weight:500}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding:9px 24px;gap:16px;flex-wrap:wrap}
.topbar a{color:#fff;font-weight:600;border-bottom:1px solid transparent;transition:border-color .15s,color .15s}
.topbar a:hover{border-bottom-color:rgba(255,255,255,.6);color:var(--gold)}
.topbar .areas{color:#8da4bd}
.topbar .areas a{color:#cfdbe7;font-weight:500;margin:0 4px}

/* ============================================================
   HEADER + NAVIGATION
   Spans full viewport for consistent edge padding regardless of
   .wrap centering at large sizes.
   ============================================================ */
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
header .wrap{max-width:none}
.nav{display:flex;align-items:center;justify-content:flex-start;padding:4px 32px 2px 0;gap:24px}
.brand{display:flex;align-items:center;gap:12px;font-weight:800;color:var(--navy);font-size:18px;letter-spacing:-.01em;padding-left:14px;flex-shrink:0}
.brand img{height:84px;width:auto;display:block;flex-shrink:0;max-width:none}

/* Hamburger — desktop hidden, mobile visible */
.hamburger{
  display:none;
  flex-direction:column;justify-content:center;align-items:center;
  width:44px;height:44px;background:transparent;border:0;
  border-radius:8px;cursor:pointer;gap:5px;margin-right:14px;
  transition:background .15s;
}
.hamburger:hover{background:rgba(15,50,74,.06)}
.hamburger span{display:block;width:22px;height:2.5px;background:var(--ink);border-radius:2px}

/* ============================================================
   MEGA MENU
   .nav ul              — top-level link row, anchored right
   li.has-mega           — top-level item with a panel
   .mega-panel           — single white box, multi-section, no fly-outs
   .mega-panel.right     — anchor to right edge (last items)
   .mega-grid.cols-{2,3,4} — column layouts inside panels
   ============================================================ */
.nav ul{display:flex;gap:32px;list-style:none;margin-left:auto}
.nav ul a{font-weight:600;font-size:15px;color:var(--ink);position:relative;padding:6px 0;transition:color .15s;text-decoration:none}
.nav ul a:hover{color:var(--blue)}
.nav ul a.active{color:var(--navy)}
.nav ul li{position:relative;display:flex;align-items:center}
.nav ul li.has-mega > a{padding-right:18px}
.nav ul li.has-mega > a::after{
  content:"";display:inline-block;
  position:absolute;right:0;top:50%;
  width:8px;height:8px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-70%) rotate(45deg);
  transition:transform .15s ease;opacity:.55;
}
.nav ul li.has-mega:hover > a::after,
.nav ul li.has-mega:focus-within > a::after{transform:translateY(-30%) rotate(-135deg);opacity:1}

/* Hover bridge */
.nav ul li.has-mega::after{content:"";position:absolute;top:100%;left:-12px;right:-12px;height:14px}

.mega-panel{
  position:absolute;top:calc(100% + 14px);
  background:#fff;border:1px solid var(--line);border-radius:14px;
  box-shadow:0 28px 60px -12px rgba(15,23,42,.18),0 4px 14px rgba(15,23,42,.06);
  padding:28px 32px;
  opacity:0;visibility:hidden;
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
  pointer-events:none;z-index:60;
  left:50%;transform:translateX(-50%) translateY(-6px);
}
.nav ul li.has-mega:hover > .mega-panel,
.nav ul li.has-mega:focus-within > .mega-panel{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto;
}
.mega-panel.right{left:auto;right:0;transform:translateY(-6px)}
.nav ul li.has-mega:hover > .mega-panel.right,
.nav ul li.has-mega:focus-within > .mega-panel.right{transform:translateY(0)}

.mega-grid{display:grid;gap:24px 40px}
.mega-grid.cols-2{grid-template-columns:1fr 1fr;min-width:480px}
.mega-grid.cols-3{grid-template-columns:repeat(3,1fr);min-width:640px}
.mega-grid.cols-4{grid-template-columns:repeat(4,1fr);min-width:780px}
.mega-col h4{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.mega-col ul{list-style:none;display:flex;flex-direction:column;gap:0;margin:0;padding:0}
.mega-col li{display:block;padding:0}
.mega-col li a{display:block;padding:7px 0;font-size:14px;font-weight:500;color:var(--ink);letter-spacing:-.005em;line-height:1.4;transition:color .12s,padding .12s}
.mega-col li a:hover{color:var(--blue);padding-left:4px}
.mega-col li a small{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:1px;letter-spacing:0}

/* CTA on right side of nav */
.nav-cta{display:flex;align-items:center;gap:14px}

/* ============================================================
   MOBILE DRAWER
   Slide-in panel from right with accordion sub-menus.
   Activates at <=880 px (hamburger breakpoint).
   ============================================================ */
.m-drawer-overlay{position:fixed;inset:0;background:rgba(15,23,42,.5);opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s;z-index:90}
.m-drawer{position:fixed;top:0;right:0;bottom:0;width:min(360px,86vw);background:#fff;z-index:91;transform:translateX(100%);transition:transform .28s ease;display:flex;flex-direction:column;box-shadow:-12px 0 32px rgba(15,23,42,.14)}
body.m-drawer-open .m-drawer-overlay{opacity:1;visibility:visible}
body.m-drawer-open .m-drawer{transform:translateX(0)}
body.m-drawer-open{overflow:hidden}

.m-drawer-head{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--line);flex-shrink:0}
.m-drawer-title{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.14em}
.m-drawer-close{background:transparent;border:0;font-size:30px;line-height:1;cursor:pointer;color:var(--ink);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .15s}
.m-drawer-close:hover{background:rgba(15,50,74,.08)}

.m-drawer-nav{flex:1;overflow-y:auto;padding:6px 0}
.m-drawer-nav ul{list-style:none;margin:0;padding:0}
.m-drawer-nav > ul > li{border-bottom:1px solid var(--line)}
.m-drawer-nav a{display:block;padding:15px 22px;font-size:15px;font-weight:600;color:var(--ink);text-decoration:none;transition:background .12s,padding-left .12s}
.m-drawer-nav a:hover{background:var(--bg)}
.m-drawer-nav .m-has-children > a{position:relative;padding-right:48px}
.m-drawer-nav .m-has-children > a::after{content:"";position:absolute;right:24px;top:50%;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-70%) rotate(45deg);transition:transform .18s ease;opacity:.55}
.m-drawer-nav .m-has-children.expanded > a::after{transform:translateY(-30%) rotate(-135deg);opacity:1}
.m-drawer-nav .m-has-children > ul{display:none;background:var(--bg);border-top:1px solid var(--line)}
.m-drawer-nav .m-has-children.expanded > ul{display:block}
.m-drawer-nav .m-has-children > ul a{padding:11px 22px 11px 38px;font-size:14px;font-weight:500;color:#3a4754}

@media (min-width:881px){
  .m-drawer,.m-drawer-overlay{display:none}
}

/* ============================================================
   RESPONSIVE — header / nav ladder
   See trade-pro mockup for full reasoning.
   ============================================================ */
/* On wide viewports, snap the header inside the page content grid
   (1200px max-width with 24px gutter) so the logo aligns with the
   content below. Below 1280px the header keeps its edge-to-edge
   layout to avoid a CTA-padding regression on the 1200-1248 range. */
@media (min-width:1280px){
  header .wrap{max-width:1200px}
  .brand{padding-left:24px}
}
@media (max-width:1180px){.brand img{height:76px}}
@media (max-width:1200px){.nav{padding-right:24px} .nav ul{gap:24px}}
@media (max-width:1100px){
  .nav{padding-right:18px}
  .nav ul{gap:18px}
  .nav-cta .btn{padding:10px 12px}
}
@media (max-width:1024px){
  .brand img{height:68px}
}
@media (max-width:1000px){
  .nav-cta{display:none}
  .nav{padding-right:24px}
  .nav ul{gap:24px}
}
@media (max-width:880px){
  .nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:6px 0 8px}
  .nav::before{content:"";display:block;width:44px;flex-shrink:0;height:0}
  .nav ul{display:none}
  .brand{padding-left:0}
  .hamburger{display:inline-flex;margin-left:0}
  .nav-cta{display:flex;order:99;flex:0 0 100%;padding:0 14px;margin-top:2px}
  .nav-cta .btn{width:100%;justify-content:center;padding:13px 18px;font-size:15px;border-radius:10px}
  .brand img{height:64px}
}
@media (max-width:680px){
  .topbar .areas{display:none}
}
@media (max-width:480px){.brand img{height:56px}}

/* ============================================================
   FOOTER
   .foot-brand     — wordmark + phone block, sits above the grid
   .foot-grid      — 4 column link grid
   .foot-bottom    — copyright + USDOT badge row
   ============================================================ */
footer{background:var(--navy-deep);color:#8da4bd;padding:28px 0 16px;font-size:14px}
footer .brand{color:#fff;font-size:32px;font-weight:800;letter-spacing:-.02em;margin-bottom:8px;padding-left:0;display:block;line-height:1.05}

.foot-brand{margin-bottom:10px;max-width:420px}
.foot-phone{margin:0;font-size:13px}
.foot-phone a{display:inline-flex;align-items:baseline;gap:8px;color:#fff;text-decoration:none;font-size:15px;font-weight:700;letter-spacing:-.005em}
.foot-phone a .label{font-size:13px;font-weight:500;color:rgba(255,255,255,.55)}
.foot-phone a:hover{color:var(--gold)}
.foot-phone a:hover .label{color:var(--gold)}

.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:48px;margin-bottom:16px}
.foot-grid > div:first-child{margin-top:10px}
footer p{line-height:1.6;margin-bottom:14px}
footer h4{color:#fff;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px}
footer ul{list-style:none}
footer ul li{margin-bottom:7px}
footer ul a{color:inherit;text-decoration:none}
footer ul a:hover{color:var(--gold)}
.foot-locations li{margin-bottom:5px}
.foot-locations li strong{color:#fff;font-weight:700}

.foot-bottom{padding-top:14px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;align-items:center;font-size:13px;flex-wrap:wrap;gap:14px}
.foot-bottom .badge{background:rgba(242,184,75,.1);color:var(--gold);padding:6px 12px;border-radius:6px;font-weight:600;font-size:12px}

@media (max-width:1024px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:680px){
  .foot-grid{grid-template-columns:1fr}
  footer .foot-brand,footer .foot-grid{display:none}
  footer{padding:18px 0}
  .foot-bottom{padding-top:0;border-top:0;flex-wrap:wrap;gap:8px;font-size:12px}
  .foot-bottom .badge{font-size:10px;padding:4px 8px}
}

/* ============================================================
   PAGE HEROES & SHARED SECTIONS
   Used by service pages (/moving-services, /local-moving-services,
   etc.) and non-service hub pages (/about-us, …). Each page picks
   its hero photo via a `.svc-hero-{slug}` modifier class, and sets
   `$lcpImage` so header.php emits a matching LCP preload link.
   The .svc- naming is historical (these started as service-page
   classes); they're general-purpose now.
   ============================================================ */
.svc-hero{position:relative;color:#fff;background-color:#0f2942;background-position:center;background-size:cover;background-repeat:no-repeat;padding:96px 24px 88px;text-align:center}
/* Per-service hero photo. Each service page adds its own modifier
   class (.svc-hero-moving, .svc-hero-local, etc.). Mobile loads the
   768 variant; tablet+ swaps to 1280. The page also sets $lcpImage
   so header.php emits a matching <link rel="preload"> for LCP. */
.svc-hero-moving  {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2021/01/IMG_7712-scaled-768.webp')}
.svc-hero-local   {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2021/01/IMG_7747-scaled-768.webp')}
.svc-hero-long    {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2020/04/NbeZM7JC-scaled-768.webp')}
.svc-hero-office  {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2021/01/IMG_7712-scaled-768.webp')}
.svc-hero-military{background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2024/10/militarys-moving-slow-768.webp')}
.svc-hero-packing {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2020/04/Packed-Room-2-768.webp')}
.std-hero-howto{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/04/Packed-Room-2-768.webp')}
.svc-hero-storage {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2021/01/IMG_7747-scaled-768.webp')}
.svc-hero-about   {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2020/04/Team-1-e1521482104459-768.webp')}
.svc-hero-sustain {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2024/12/donate-food-truck-edited-768.webp')}
.svc-hero-news    {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2024/06/edited-oded-on-felger-and-mazz-UPDATED-768.webp')}
@media (min-width:769px){
  .svc-hero-moving  {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2021/01/IMG_7712-scaled-1280.webp')}
  .svc-hero-local   {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2021/01/IMG_7747-scaled-1280.webp')}
  .svc-hero-long    {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2020/04/NbeZM7JC-scaled-1280.webp')}
  .svc-hero-office  {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2021/01/IMG_7712-scaled-1280.webp')}
  .svc-hero-military{background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2024/10/militarys-moving-slow-1280.webp')}
  .svc-hero-packing {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2020/04/Packed-Room-2-1280.webp')}
  .std-hero-howto{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/04/Packed-Room-2-1280.webp')}
  .svc-hero-storage {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2021/01/IMG_7747-scaled-1280.webp')}
  .svc-hero-about   {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2020/04/Team-1-e1521482104459-1280.webp')}
  .svc-hero-sustain {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2024/12/donate-food-truck-edited-1280.webp')}
  .svc-hero-news    {background-image:linear-gradient(rgba(8,16,28,.72),rgba(8,16,28,.72)),url('/assets/img/uploads/2024/06/edited-oded-on-felger-and-mazz-UPDATED-1280.webp')}
}
.svc-hero .wrap{max-width:920px;text-align:center;padding:0}
.svc-hero .eyebrow{color:var(--gold);margin-bottom:10px;display:inline-block}
.svc-hero h1{color:#fff;font-size:54px;line-height:1.06;font-weight:800;letter-spacing:-.025em;margin-bottom:16px;text-wrap:balance}
.svc-hero .lede{font-size:19px;color:#e3ebf3;line-height:1.6;margin:0 auto 28px;max-width:680px}
.svc-hero .actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

.svc-intro{padding:80px 0;background:#fff}
.svc-intro .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start}
.svc-intro .eyebrow{margin-bottom:10px;display:inline-block}
.svc-intro h2{color:var(--navy);font-size:34px;line-height:1.1;letter-spacing:-.025em;margin-bottom:16px;font-weight:800}
.svc-intro p{font-size:17px;line-height:1.7;color:var(--ink);margin-bottom:14px}
.svc-intro p:last-child{margin-bottom:0}
/* Sticky quote widget in 2-col intro layout. Disabled on the
   single-column mobile layout (handled below the 1024px breakpoint). */
@media (min-width:1025px){
  .svc-intro .qw{position:sticky;top:96px;align-self:start}
}

.svc-chips{padding:64px 0 72px;background:var(--bg);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.svc-chips .wrap{text-align:center}
.svc-chips .eyebrow{margin-bottom:10px;display:inline-block}
.svc-chips h2{color:var(--navy);font-size:32px;font-weight:800;letter-spacing:-.02em;margin-bottom:32px;text-wrap:balance}
.svc-chips ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:left;max-width:980px;margin:0 auto}
.svc-chips li{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px 18px;font-weight:600;color:var(--navy);font-size:14px;display:flex;align-items:center;gap:12px;transition:transform .15s,box-shadow .15s,border-color .15s}
.svc-chips li::before{content:"\2713";flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:rgba(31,111,174,.1);color:var(--blue);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:900}
.svc-chips li:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(15,30,50,.06);border-color:transparent}

.svc-cards{padding:80px 0 72px;background:#fff}
.svc-cards .section-head{text-align:center;margin-bottom:40px}
.svc-cards .section-head .eyebrow{margin-bottom:10px;display:inline-block}
.svc-cards .section-head h2{font-size:36px;line-height:1.1;letter-spacing:-.025em;margin:0 auto;font-weight:800;text-wrap:balance;max-width:720px}
.svc-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc-grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.svc-card-v2{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:32px 30px;display:flex;flex-direction:column;gap:14px;overflow:hidden;transition:transform .25s,box-shadow .25s,border-color .25s}
.svc-card-v2::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}
.svc-card-v2:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(15,50,74,.08);border-color:transparent}
.svc-card-v2:hover::after{transform:scaleX(1)}
.svc-card-v2 .icon{width:54px;height:54px;border-radius:12px;background:rgba(31,111,174,.08);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0}
.svc-card-v2 h3{font-size:22px;font-weight:700;color:var(--navy);letter-spacing:-.015em;margin:0}
.svc-card-v2 p{color:var(--muted);font-size:15px;line-height:1.65;margin:0}
.svc-card-v2 p strong{color:var(--ink);font-weight:600}
.svc-card-v2 .more{color:var(--blue);font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:6px;text-decoration:none;transition:gap .15s}
.svc-card-v2 .more:hover{gap:10px}

/* ============================================================
   STATE LANDING PAGES (.st-*)
   Used by /massachusetts, /florida, /virginia, /maryland.
   Each state sets a hero photo modifier class (.st-hero-ma, etc.).
   ============================================================ */

/* --- Hero --- */
.st-hero{position:relative;color:#fff;padding:108px 20px 96px;text-align:center;overflow:hidden;background-color:#0f2942;background-position:center;background-size:cover;background-repeat:no-repeat}
.st-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 50%,rgba(15,25,40,.3) 100%);pointer-events:none}
.st-hero .wrap{position:relative;z-index:1;max-width:920px;margin:auto}
.st-hero .eyebrow{color:var(--gold);letter-spacing:.12em;font-size:13px}
.st-hero h1{color:#fff;font-size:56px;line-height:1.04;margin:10px 0 18px;font-weight:800;text-shadow:0 4px 24px rgba(0,0,0,.35)}
.st-hero .lede{font-size:20px;max-width:720px;margin:0 auto 32px;color:#fff;opacity:.96;line-height:1.55}
.st-hero .buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.st-hero .btn{box-shadow:0 8px 24px rgba(0,0,0,.18);transition:transform .15s ease,box-shadow .15s ease}
.st-hero .btn:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(0,0,0,.24)}

/* Per-state hero photos — 768 mobile, 1280 tablet+. */
.st-hero-ma{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2021/01/IMG_7712-scaled-768.webp')}
.st-hero-fl{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/05/19702902_10155045095538509_4933585947507131632_o-768.webp')}
.st-hero-va{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2021/01/IMG_7712-scaled-768.webp')}
.st-hero-md{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/04/NbeZM7JC-scaled-768.webp')}
@media (min-width:769px){
  .st-hero-ma{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2021/01/IMG_7712-scaled-1280.webp')}
  .st-hero-fl{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/05/19702902_10155045095538509_4933585947507131632_o-1280.webp')}
  .st-hero-va{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2021/01/IMG_7712-scaled-1280.webp')}
  .st-hero-md{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/04/NbeZM7JC-scaled-1280.webp')}
}

/* --- Stats / trust strip --- */
.st-stats{background:#fff;border-bottom:1px solid var(--line);padding:24px 20px}
.st-stats .wrap{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.st-stat{text-align:center;display:flex;flex-direction:column;gap:4px}
.st-stat strong{color:var(--navy);font-size:22px;font-weight:800;line-height:1.1}
.st-stat span{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.st-stat .star{color:var(--gold);font-size:18px;letter-spacing:1px}

/* --- Founder note --- */
.st-founder{padding:84px 20px;background:#fff}
.st-founder .wrap{max-width:1120px;margin:auto;display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:start}
.st-founder h2{margin:6px 0 24px;color:var(--navy);font-size:32px;font-weight:800;line-height:1.15}
.st-founder-bio{display:flex;gap:22px;align-items:center;margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.st-founder-bio img{width:140px;height:140px;border-radius:50%;object-fit:cover;flex:0 0 140px;box-shadow:0 12px 28px rgba(15,30,50,.18)}
.st-founder-bio .who strong{display:block;color:var(--navy);font-size:20px;font-weight:800;letter-spacing:-.01em}
.st-founder-bio .who span{color:var(--muted);font-size:14px;display:block;margin-top:2px}
.st-founder-bio .who .signature{color:var(--gold);font-style:italic;font-size:13px;margin-top:8px;letter-spacing:.04em;text-transform:uppercase;font-weight:700}
.st-founder p:first-of-type{font-size:19px;line-height:1.6;color:var(--navy);font-weight:500;border-left:4px solid var(--gold);padding-left:20px;margin:0 0 22px}
.st-founder p{font-size:16px;line-height:1.75;margin:0 0 16px;color:var(--ink)}
/* Sticky quote widget in 2-col founder layout. The layout collapses
   to one column at <=800px (see media block below); only stick when
   the right column actually exists. */
@media (min-width:801px){
  .st-founder .qw{position:sticky;top:96px;align-self:start}
}

/* --- Branches --- */
.st-branches{padding:72px 20px;background:var(--bg)}
.st-branches .wrap{max-width:1120px;margin:auto}
.st-branches .section-title{font-size:30px;margin:6px 0 8px}
.st-branches .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-top:32px}
.st-branch{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 6px 18px rgba(15,30,50,.06);display:flex;flex-direction:column;gap:6px;transition:box-shadow .2s ease,transform .2s ease}
.st-branch:hover{box-shadow:0 16px 40px rgba(15,30,50,.12);transform:translateY(-3px)}
.st-branch .pin{width:44px;height:44px;border-radius:12px;background:rgba(31,111,174,.08);color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:8px}
.st-branch h3{margin:0;color:var(--navy);font-size:21px;font-weight:800}
.st-branch .addr{color:var(--ink);font-size:15px;line-height:1.55;margin:6px 0 4px}
.st-branch .phones{display:flex;flex-direction:column;gap:4px;margin-top:10px}
.st-branch .phones a{color:var(--navy);font-weight:800;text-decoration:none;font-size:18px;letter-spacing:-.01em}
.st-branch .phones a:hover{color:var(--blue)}
.st-branch .links{display:flex;gap:18px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.st-branch .links a{color:var(--blue);text-decoration:none;font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:4px}
.st-branch .links a:hover{color:var(--navy)}
.st-branch--soon{border-style:dashed;background:transparent;align-items:flex-start;justify-content:flex-start}
.st-branch--soon h3{color:var(--muted)}
.st-branch--soon p{color:var(--muted);font-size:15px;margin:8px 0 0}
.st-branch--soon .badge{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--blue);background:rgba(31,111,174,.1);border-radius:999px;padding:6px 12px;margin-bottom:8px}

/* --- Services with photo circles --- */
.st-services{padding:84px 20px;background:#fff}
.st-services .wrap{max-width:1120px;margin:auto;text-align:center}
.st-services .section-title{margin:6px 0 8px;font-size:32px}
.st-services .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px;text-align:left}
.st-services .card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px 28px 28px;transition:box-shadow .2s ease,transform .2s ease;display:flex;flex-direction:column}
.st-services .card:hover{box-shadow:0 16px 40px rgba(15,30,50,.12);transform:translateY(-3px)}
.st-services .card .pic{width:96px;height:96px;border-radius:50%;background:#dde5ec center/cover no-repeat;margin:0 0 18px;box-shadow:0 8px 20px rgba(15,30,50,.12)}
.st-services .card h3{color:var(--navy);margin:0 0 10px;font-size:21px;font-weight:800}
.st-services .card p{color:var(--ink);margin:0 0 18px;font-size:15px;line-height:1.6;flex:1}
.st-services .card a{color:var(--blue);font-weight:700;text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:4px}
.st-services .card a:hover{color:var(--navy)}
.st-services .card .pic-icon{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;font-size:36px}

/* --- Why DN Van Lines feature strip --- */
.st-why{padding:72px 20px;background:linear-gradient(180deg,var(--bg),#fff)}
.st-why .wrap{max-width:1120px;margin:auto;text-align:center}
.st-why .eyebrow{color:var(--blue)}
.st-why h2{margin:6px 0 32px;color:var(--navy);font-size:30px;font-weight:800}
.st-why .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.st-why-item{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px}
.st-why-item .icon{width:56px;height:56px;border-radius:14px;background:rgba(242,184,75,.15);color:var(--gold);display:flex;align-items:center;justify-content:center;font-size:26px}
.st-why-item strong{color:var(--navy);font-size:16px;font-weight:800;letter-spacing:-.01em}
.st-why-item span{color:var(--muted);font-size:14px;line-height:1.5;max-width:240px}

/* --- Bottom CTA --- */
.st-cta{position:relative;padding:88px 20px;background:linear-gradient(135deg,var(--navy) 0%,#1a4870 60%,var(--blue) 100%);color:#fff;text-align:center;overflow:hidden}
.st-cta::before{content:"";position:absolute;inset:0;background:url('/assets/img/uploads/2021/01/IMG_7712-scaled-1280.webp') center/cover;opacity:.08;pointer-events:none}
.st-cta .wrap{position:relative;z-index:1;max-width:780px;margin:auto}
.st-cta h2{color:#fff;font-size:42px;line-height:1.1;margin:0 0 12px;font-weight:800;text-shadow:0 2px 16px rgba(0,0,0,.25)}
.st-cta p{margin:0 0 28px;font-size:19px;opacity:.94}
.st-cta .buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.st-cta .btn{box-shadow:0 8px 24px rgba(0,0,0,.18)}
.st-cta .btn.primary{background:var(--gold);color:#162636}
.st-cta .btn.secondary{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.45)}

@media (max-width: 800px){
  .st-hero{padding:80px 20px 72px}
  .st-hero h1{font-size:36px}
  .st-hero .lede{font-size:17px}
  .st-stats .wrap{grid-template-columns:repeat(2,1fr);gap:18px}
  .st-founder{padding:64px 20px}
  .st-founder .wrap{grid-template-columns:1fr;gap:36px}
  .st-founder h2{font-size:26px}
  .st-founder-bio img{width:104px;height:104px;flex:0 0 104px}
  .st-branches .grid{grid-template-columns:1fr}
  .st-services .cards{grid-template-columns:1fr;gap:20px}
  .st-why .grid{grid-template-columns:repeat(2,1fr)}
  .st-cta{padding:64px 20px}
  .st-cta h2{font-size:30px}
}

/* Long-form prose body. Used by news post pages and any standalone
   article-style content. Constrained line-length, generous spacing. */
.prose{font-size:17px;line-height:1.7;color:var(--ink)}
.prose h1,.prose h2,.prose h3,.prose h4{color:var(--navy);letter-spacing:-.015em;line-height:1.2;font-weight:700;margin:32px 0 12px}
.prose h1{font-size:30px;font-weight:800}
.prose h2{font-size:26px}
.prose h3{font-size:21px}
.prose h4{font-size:18px}
.prose p{margin:0 0 18px}
.prose a{color:var(--blue);text-decoration:none;font-weight:600;border-bottom:1px solid rgba(31,111,174,.3);transition:color .15s,border-color .15s}
.prose a:hover{color:var(--navy);border-bottom-color:var(--navy)}
.prose ul,.prose ol{margin:0 0 22px;padding-left:22px}
.prose li{margin-bottom:6px}
.prose img{max-width:100%;height:auto;border-radius:8px;margin:18px 0;display:block}
.prose img.aligncenter{margin-left:auto;margin-right:auto}
.prose img.alignleft{float:left;margin:8px 22px 14px 0}
.prose img.alignright{float:right;margin:8px 0 14px 22px}
.prose figure{margin:24px 0;display:block}
.prose figure img{margin:0 0 8px}
.prose figure.aligncenter{text-align:center}
.prose figure.aligncenter img{margin-left:auto;margin-right:auto}
.prose figure.alignleft{float:left;margin:8px 22px 14px 0;max-width:50%}
.prose figure.alignright{float:right;margin:8px 0 14px 22px;max-width:50%}
.prose figcaption{font-size:14px;color:var(--muted);font-style:italic;line-height:1.5;text-align:inherit}

/* Responsive 16:9 video embed wrapper for YouTube/Vimeo iframes. */
.video-embed{position:relative;padding-bottom:56.25%;height:0;margin:24px 0;border-radius:10px;overflow:hidden;box-shadow:0 8px 24px rgba(15,30,50,.1)}
.video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}

/* Checkmark list — used in how-to guides for "Key Concepts" callouts. */
.check-list{list-style:none;padding-left:0;margin:0 0 22px}
.check-list li{padding-left:36px;position:relative;margin-bottom:10px;font-size:16px;line-height:1.6;color:var(--ink)}
.check-list li::before{content:"\2713";position:absolute;left:0;top:2px;width:24px;height:24px;border-radius:50%;background:rgba(31,111,174,.1);color:var(--blue);display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:900}

/* Related-guides cross-link grid — 4 across desktop, 2 on tablet, 1 on mobile. */
.related-guides{padding:64px 20px;background:var(--bg);border-top:1px solid var(--line)}
.related-guides .wrap{max-width:1120px;margin:auto}
.related-guides .head{text-align:center;margin-bottom:28px}
.related-guides .eyebrow{margin-bottom:8px;display:inline-block}
.related-guides h2{color:var(--navy);font-size:26px;margin:0;font-weight:800;text-wrap:balance}
.related-guides .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.related-guides .grid a{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;color:var(--navy);font-weight:600;font-size:15px;line-height:1.4;display:flex;align-items:center;gap:10px;transition:transform .15s,box-shadow .15s,border-color .15s,gap .15s;text-decoration:none}
.related-guides .grid a:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(15,30,50,.08);border-color:transparent;gap:14px}
.related-guides .grid a::after{content:"\2192";color:var(--blue);font-weight:800;margin-left:auto;font-size:18px;transition:transform .15s}
.related-guides .grid a:hover::after{transform:translateX(2px)}
@media (max-width:1000px){
  .related-guides .grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:540px){
  .related-guides .grid{grid-template-columns:1fr}
}
.prose blockquote{margin:24px 0;padding:8px 0 8px 20px;border-left:3px solid var(--gold);font-style:italic;color:var(--navy)}
.prose strong{font-weight:700;color:var(--navy)}
.prose hr{border:0;border-top:1px solid var(--line);margin:32px 0}

/* Pill-style city links inside region cards (used on /maryland and any
   future region/county landing pages). Compact, clickable, low-density. */
.region-cities{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.region-cities li{margin:0}
.region-cities li a{display:inline-block;padding:5px 11px;background:rgba(31,111,174,.08);color:var(--blue);font-size:13px;font-weight:600;border-radius:6px;text-decoration:none;transition:background .12s,color .12s,transform .12s;letter-spacing:-.005em}
.region-cities li a:hover{background:var(--blue);color:#fff;transform:translateY(-1px)}

/* Stats band — navy bg with 4 large gold numbers + labels.
   Used on /about-us; reusable on other landing pages. */
.stats-band{background:var(--navy-deep);color:#fff;padding:72px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.stats-band .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.stats-band .stat{padding:0 8px}
.stats-band .stat-num{font-size:54px;font-weight:800;color:var(--gold);letter-spacing:-.025em;line-height:1;margin-bottom:10px}
.stats-band .stat-label{font-size:13px;color:#cfdbe7;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
@media (max-width:680px){
  .stats-band{padding:48px 0}
  .stats-band .wrap{grid-template-columns:1fr 1fr;gap:32px 16px}
  .stats-band .stat-num{font-size:38px}
}

.svc-cta{padding:80px 0;background:linear-gradient(135deg,var(--navy-2) 0%,var(--blue) 100%);color:#fff;text-align:center}
.svc-cta h2{color:#fff;font-size:40px;font-weight:800;letter-spacing:-.025em;line-height:1.05;margin-bottom:14px;text-wrap:balance}
.svc-cta p{font-size:18px;color:#cfdbe7;margin:0 auto 30px;max-width:560px;text-align:center}
.svc-cta .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

@media (max-width:1024px){
  .svc-hero{padding:80px 24px 72px}
  .svc-hero h1{font-size:42px}
  .svc-intro .wrap{grid-template-columns:1fr;gap:36px}
  .svc-chips ul{grid-template-columns:repeat(2,1fr)}
  .svc-grid-3{grid-template-columns:1fr 1fr}
  .svc-grid-2{grid-template-columns:1fr}
}
@media (max-width:680px){
  .svc-hero{padding:64px 20px 56px}
  .svc-hero h1{font-size:32px}
  .svc-hero .lede{font-size:16px}
  .svc-intro{padding:48px 0}
  .svc-intro h2,.svc-cards .section-head h2{font-size:26px}
  .svc-chips{padding:48px 0 56px}
  .svc-chips h2{font-size:24px}
  .svc-chips ul{grid-template-columns:1fr}
  .svc-cards{padding:48px 0}
  .svc-card-v2{padding:24px}
  .svc-card-v2 h3{font-size:20px}
  .svc-grid-3{grid-template-columns:1fr}
  .svc-cta{padding:56px 0}
  .svc-cta h2{font-size:30px}
}

/* ========================================================
   HOW-TO PACK GUIDES — V2 (visual workshop)
   Used by /how-to-pack-* pages. All selectors prefixed .hwt- to
   avoid clashing with anything else; supplies/tip/mistake palettes
   add three accent colors (green, amber, red) on top of the brand.
   ======================================================== */
.howto-v2{--hwt-tip:#F59E0B;--hwt-tip-bg:#FEF7E6;--hwt-warn:#DC2626;--hwt-warn-bg:#FEEBEB;--hwt-supply:#0E9F6E;--hwt-supply-bg:#E7F7F1;--hwt-cream:#FAF7F0}

.hwt-crumbs{padding:18px 0 0;font-size:13px;color:var(--muted)}
.hwt-crumbs a{color:var(--muted);text-decoration:none}
.hwt-crumbs a:hover{color:var(--blue)}
.hwt-crumbs span:not([class]){margin:0 8px;opacity:.55}

/* HERO */
.hwt-hero{padding:32px 0 74px;background:linear-gradient(180deg,#fff 0%,var(--hwt-cream) 100%)}
.hwt-hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hwt-hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:14px}
.hwt-hero-eyebrow::before{content:"";width:24px;height:2px;background:var(--blue);border-radius:2px}
.howto-v2 h1{font-weight:900;font-size:54px;line-height:1.05;letter-spacing:-.02em;color:var(--navy);margin:0 0 18px}
.howto-v2 .hwt-lede{font-size:19px;color:var(--muted);max-width:540px;margin:0 0 28px}
.hwt-hero-meta{display:flex;flex-wrap:wrap;gap:24px;padding:18px 0 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:24px}
.hwt-meta{display:flex;align-items:center;gap:10px}
.hwt-meta-icon{width:36px;height:36px;border-radius:8px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:18px}
.hwt-meta-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.hwt-meta-value{font-size:15px;font-weight:700;color:var(--navy)}
.hwt-hero-actions{display:flex;flex-wrap:wrap;gap:12px}

/* Hero photo (clickable jump-to-video) */
.hwt-hero-photo{position:relative;display:block;border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(15,30,50,.18);aspect-ratio:4/5;text-decoration:none;cursor:pointer}
.hwt-hero-photo img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.hwt-hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.45) 100%);transition:opacity .25s ease}
.hwt-hero-photo:hover img{transform:scale(1.03)}
.hwt-hero-photo:hover{text-decoration:none}
.hwt-hero-badge{position:absolute;top:18px;left:18px;background:#fff;color:var(--navy);padding:8px 14px;border-radius:999px;font-size:12px;font-weight:700;box-shadow:0 6px 14px rgba(0,0,0,.12);z-index:2}
.hwt-hero-badge::before{content:"●";color:var(--hwt-warn);margin-right:6px;font-size:9px;vertical-align:middle}
.hwt-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;box-shadow:0 14px 32px rgba(31,111,174,.55);z-index:2;transition:transform .2s ease,background .2s ease}
.hwt-play::before{content:"";border-left:26px solid #fff;border-top:15px solid transparent;border-bottom:15px solid transparent;margin-left:7px}
.hwt-hero-photo:hover .hwt-play{transform:translate(-50%,-50%) scale(1.08);background:var(--navy)}
.hwt-play-label{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);background:rgba(15,30,50,.78);color:#fff;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 14px;border-radius:999px;z-index:2;white-space:nowrap}

/* SUPPLIES */
.hwt-supplies{background:var(--hwt-supply-bg);padding:56px 0;border-top:1px solid rgba(14,159,110,.18);border-bottom:1px solid rgba(14,159,110,.18)}
.hwt-supplies-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:16px}
.hwt-supplies-head h2{font-size:28px;font-weight:800;color:var(--navy);margin:0;letter-spacing:-.01em}
.hwt-supplies-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hwt-supply);margin-bottom:6px}
.hwt-supplies-eyebrow::before{content:"";width:18px;height:2px;background:var(--hwt-supply);border-radius:2px}
.hwt-supplies-note{color:var(--muted);font-size:14px;max-width:380px}
.hwt-supplies-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}
.hwt-supply{background:#fff;border-radius:12px;padding:20px 16px 18px;text-align:center;border:1px solid rgba(14,159,110,.15);transition:transform .15s,box-shadow .15s}
.hwt-supply:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(15,30,50,.08)}
.hwt-supply-icon{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:var(--hwt-supply-bg);display:flex;align-items:center;justify-content:center;font-size:26px}
.hwt-supply-name{font-weight:800;color:var(--navy);font-size:14px;margin-bottom:4px}
.hwt-supply-why{font-size:12px;color:var(--muted);line-height:1.4}

/* VIDEO FEATURE */
.hwt-video{padding:72px 0;background:#fff}
.hwt-vf-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
.hwt-vf-video{position:relative;border-radius:16px;overflow:hidden;background:#000;aspect-ratio:16/9;box-shadow:0 24px 50px rgba(15,30,50,.18)}
.hwt-vf-video iframe{width:100%;height:100%;border:0}
.hwt-vf-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:12px}
.hwt-vf-text h2{font-size:34px;font-weight:800;color:var(--navy);margin:0 0 14px;letter-spacing:-.01em;line-height:1.15}
.hwt-vf-text p{color:var(--muted);font-size:16px;margin:0 0 20px}
.hwt-vf-credit{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--bg);border-radius:10px;border:1px solid var(--line)}
.hwt-vf-avatar{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0}
.hwt-vf-name{font-weight:700;color:var(--navy);font-size:14px}
.hwt-vf-role{font-size:12px;color:var(--muted)}

/* STEPS */
.hwt-steps{padding:80px 0;background:var(--bg)}
.hwt-steps-head{text-align:center;max-width:680px;margin:0 auto 56px}
.hwt-steps-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.hwt-steps-eyebrow::before,.hwt-steps-eyebrow::after{content:"";width:18px;height:2px;background:var(--blue);border-radius:2px}
.hwt-steps-head h2{font-size:40px;font-weight:900;color:var(--navy);margin:0 0 12px;letter-spacing:-.02em}
.hwt-steps-head p{color:var(--muted);font-size:17px;margin:0}
.hwt-step{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;margin-bottom:64px}
.hwt-step:nth-child(even) .hwt-step-img{order:2}
.hwt-step-img{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:var(--hwt-cream);box-shadow:0 14px 36px rgba(15,30,50,.08);border:1px solid var(--line)}
.hwt-step-img img{width:100%;height:100%;object-fit:contain}
.hwt-step-num{display:inline-flex;align-items:center;gap:14px;margin-bottom:14px}
.hwt-step-circle{width:54px;height:54px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;box-shadow:0 8px 20px rgba(31,111,174,.35)}
.hwt-step-label{font-size:12px;text-transform:uppercase;letter-spacing:.12em;color:var(--blue);font-weight:800}
.hwt-step h3{font-size:30px;font-weight:800;color:var(--navy);margin:0 0 14px;letter-spacing:-.01em;line-height:1.15}
.hwt-step p{color:var(--muted);font-size:16px;margin:0 0 14px}
.hwt-step-checklist{list-style:none;padding:0;margin:18px 0 0}
.hwt-step-checklist li{padding:8px 0 8px 32px;position:relative;font-size:15px;color:var(--ink,#1A2433)}
.hwt-step-checklist li::before{content:"✓";position:absolute;left:0;top:7px;width:22px;height:22px;border-radius:50%;background:var(--hwt-supply-bg);color:var(--hwt-supply);font-weight:900;font-size:12px;display:flex;align-items:center;justify-content:center}

/* PRO TIP CALLOUT */
.hwt-tip-wrap{padding:0 0 80px}
.hwt-tip{background:linear-gradient(135deg,var(--hwt-tip-bg),#FFFCF4);border:1px solid #F5E6BC;border-radius:18px;overflow:hidden;display:grid;grid-template-columns:1fr 1.2fr;align-items:center}
.hwt-tip-img{aspect-ratio:1/1;background:#fff;display:flex;align-items:center;justify-content:center;padding:32px;border-right:1px dashed #F5E6BC}
.hwt-tip-img img{max-width:80%;height:auto}
.hwt-tip-body{padding:48px 56px}
.hwt-tip-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--hwt-tip);margin-bottom:14px}
.hwt-tip-body h3{font-size:30px;font-weight:800;color:var(--navy);margin:0 0 14px;letter-spacing:-.01em;line-height:1.2}
.hwt-tip-body p{color:var(--ink,#1A2433);font-size:16px;margin:0}
.hwt-tip-body p strong{color:var(--navy)}

/* MISTAKES */
.hwt-mistakes{padding:72px 0;background:#fff}
.hwt-mistakes-head{text-align:center;max-width:600px;margin:0 auto 40px}
.hwt-mistakes-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--hwt-warn);margin-bottom:8px}
.hwt-mistakes-eyebrow::before,.hwt-mistakes-eyebrow::after{content:"";width:18px;height:2px;background:var(--hwt-warn);border-radius:2px}
.hwt-mistakes-head h2{font-size:34px;font-weight:800;color:var(--navy);margin:0 0 10px;letter-spacing:-.01em}
.hwt-mistakes-head p{color:var(--muted);font-size:16px;margin:0}
.hwt-mistakes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hwt-mistake{background:var(--hwt-warn-bg);border:1px solid #F5C2C2;border-radius:14px;padding:24px;position:relative;overflow:hidden}
.hwt-mistake::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--hwt-warn)}
.hwt-mistake-icon{width:42px;height:42px;border-radius:10px;background:var(--hwt-warn);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;margin-bottom:14px}
.hwt-mistake h3{font-size:17px;font-weight:800;color:var(--navy);margin:0 0 8px;line-height:1.3}
.hwt-mistake p{font-size:14px;color:var(--ink,#1A2433);margin:0;line-height:1.5}

/* CTA — navy band */
.hwt-cta{padding:80px 0;background:var(--navy);color:#fff;text-align:center}
.hwt-cta h2{font-size:36px;font-weight:900;margin:0 0 12px;letter-spacing:-.01em;color:#fff}
.hwt-cta p{font-size:17px;margin:0 0 24px;opacity:.85}
.hwt-cta-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}

/* Reusable .btn ghost variant — light/transparent border button.
   Existing .btn primary / .btn blue stay as-is. */
.btn.ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line)}
.btn.ghost:hover{border-color:var(--blue);color:var(--blue);text-decoration:none}
.hwt-cta .btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.hwt-cta .btn.ghost:hover{border-color:#fff;color:#fff}

@media (max-width:980px){
  .hwt-hero-grid{grid-template-columns:1fr;gap:32px}
  .howto-v2 h1{font-size:40px}
  .hwt-supplies-grid{grid-template-columns:repeat(3,1fr)}
  .hwt-vf-grid{grid-template-columns:1fr;gap:28px}
  .hwt-step{grid-template-columns:1fr;gap:24px;margin-bottom:48px}
  .hwt-step:nth-child(even) .hwt-step-img{order:0}
  .hwt-tip{grid-template-columns:1fr}
  .hwt-tip-img{border-right:0;border-bottom:1px dashed #F5E6BC}
  .hwt-tip-body{padding:32px}
  .hwt-mistakes-grid{grid-template-columns:1fr}
  .hwt-steps-head h2{font-size:32px}
  .hwt-steps{padding:56px 0}
}
@media (max-width:560px){
  .hwt-supplies-grid{grid-template-columns:repeat(2,1fr)}
  .howto-v2 h1{font-size:32px}
  .hwt-step h3{font-size:24px}
  .hwt-tip-body h3{font-size:24px}
  .hwt-tip-body{padding:24px}
  .hwt-cta h2{font-size:28px}
  .hwt-meta-icon{width:32px;height:32px;font-size:16px}
  .hwt-hero-meta{gap:14px}
}

/* SHARE BAR — sits in the cream hero area, snug under the photo's bottom.
   Sticky context is <main> (full article height) so it pins below the header
   for the entire scroll once the user passes its natural position. The negative
   top margin pulls it visually up into the hero's padding-bottom band. */
.hwt-share{position:sticky;top:104px;z-index:30;display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:999px;padding:8px 14px;box-shadow:0 8px 22px rgba(15,30,50,.10);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);max-width:max-content;margin:-64px max(24px,calc((100vw - 1200px)/2 + 24px)) 10px auto;flex-wrap:wrap;justify-content:center}
.hwt-share-label{font-size:11px;font-weight:800;color:var(--muted);letter-spacing:.12em;text-transform:uppercase;padding:0 6px}
.hwt-share-btn{width:36px;height:36px;border-radius:50%;background:#fff;border:1.5px solid var(--line);color:var(--navy);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;transition:transform .15s ease,background .15s ease,border-color .15s ease,color .15s ease;padding:0;position:relative}
.hwt-share-btn:hover{transform:translateY(-2px);text-decoration:none}
.hwt-share-btn.pinterest:hover{background:#E60023;border-color:#E60023;color:#fff}
.hwt-share-btn.facebook:hover{background:#1877F2;border-color:#1877F2;color:#fff}
.hwt-share-btn.twitter:hover{background:#000;border-color:#000;color:#fff}
.hwt-share-btn.email:hover{background:var(--blue);border-color:var(--blue);color:#fff}
.hwt-share-btn.copy:hover{background:var(--navy);border-color:var(--navy);color:#fff}
.hwt-share-btn .hwt-icon-check{display:none}
.hwt-share-btn.copied{background:#0E9F6E;border-color:#0E9F6E;color:#fff;transform:translateY(-2px)}
.hwt-share-btn.copied .hwt-icon-link{display:none}
.hwt-share-btn.copied .hwt-icon-check{display:inline-block}

/* Match the header height drop at narrower breakpoints */
@media (max-width:1180px){.hwt-share{top:96px}}
@media (max-width:680px){.hwt-share{top:84px;padding:6px 10px;gap:6px}.hwt-share-label{display:none}}


/* ============================================================================ */
/* MERGED INLINE STYLES — extracted from page-level <style> blocks.       */
/* See scripts/extract-inline-styles.py.                                  */
/* ============================================================================ */
/* ============================================================================ */
/* PARTIAL MODULES (reviews, areas-served, etc.) */
/* ============================================================================ */
/* used by: partials/modules/areas-served.php */
.as-section{padding:64px 20px}
  .as-section .eyebrow{color:var(--blue)}
  .as-section .section-title{font-size:30px;color:var(--navy);margin:6px 0 8px}
  .as-lede{color:var(--muted);max-width:640px;margin:0 0 28px}
  .as-empty{color:var(--muted);font-size:16px;max-width:520px}
  .as-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
  .as-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 12px rgba(15,30,50,.05);overflow:hidden;transition:box-shadow .2s ease,transform .2s ease}
  .as-card[open]{box-shadow:0 12px 28px rgba(15,30,50,.12)}
  .as-card summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:16px 18px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}
  .as-card summary::-webkit-details-marker{display:none}
  .as-card summary:hover{background:var(--bg)}
  .as-region{font-weight:800;color:var(--navy);font-size:16px;flex:1 1 auto}
  .as-count{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-left:6px}
  .as-chev{font-size:14px;color:var(--blue);transition:transform .2s ease;margin-left:6px}
  .as-card[open] .as-chev{transform:rotate(180deg)}
  .as-cities{list-style:none;margin:0;padding:0 18px 18px;display:grid;grid-template-columns:repeat(2,1fr);gap:6px 14px;border-top:1px solid var(--line);padding-top:14px}
  .as-cities li{font-size:14px}
  .as-cities a{color:var(--blue);text-decoration:none;display:block;padding:4px 0;line-height:1.35}
  .as-cities a:hover{color:var(--navy);text-decoration:underline}
  .as-total{text-align:center;color:var(--muted);font-size:14px;margin:0}
  @media (max-width: 900px){
    .as-grid{grid-template-columns:repeat(2,1fr)}
    .as-cities{grid-template-columns:1fr}
  }
  @media (max-width: 560px){
    .as-grid{grid-template-columns:1fr}
  }
/* used by: partials/modules/reviews.php */
.rv-section{padding:64px 20px}
  .rv-head{text-align:center;margin-bottom:28px}
  .rv-head .eyebrow{color:var(--blue)}
  .rv-head .section-title{font-size:32px}
  .rv-lede{color:var(--muted);max-width:560px;margin:0 auto}
  .rv-stage{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;max-width:780px;margin:auto}
  .rv-track{position:relative;flex:1 1 auto;min-height:240px}
  .rv-card{position:absolute;inset:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:0 10px 30px rgba(15,30,50,.07);opacity:0;transform:translateY(8px);transition:opacity .5s ease, transform .5s ease;display:flex;flex-direction:column;gap:16px}
  .rv-card.is-active{opacity:1;transform:translateY(0);position:relative}
  .rv-stars{font-size:20px;letter-spacing:2px}
  .rv-star{color:#e0e6ec}
  .rv-star.on{color:var(--gold)}
  .rv-text{font-size:17px;line-height:1.55;color:var(--ink);margin:0;font-style:italic}
  .rv-meta{font-size:14px;color:var(--muted)}
  .rv-meta strong{color:var(--navy)}
  .rv-dot{margin:0 6px;color:#aaa}
  .rv-source{color:var(--blue);font-weight:700}
  .rv-arrow{flex:0 0 auto;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--navy);font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(15,30,50,.06)}
  .rv-arrow:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
  .rv-dots{display:flex;justify-content:center;gap:8px;margin-top:24px}
  .rv-dot-btn{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:#cdd5dd;cursor:pointer;transition:background .2s}
  .rv-dot-btn.is-active{background:var(--blue);transform:scale(1.25)}
  .rv-link{text-align:center;margin-top:22px}
  .rv-link a{color:var(--blue);text-decoration:none;font-weight:700}
  .rv-link a:hover{text-decoration:underline}
  @media (max-width: 640px){
    .rv-card{padding:22px}
    .rv-text{font-size:16px}
    .rv-arrow{width:36px;height:36px;font-size:20px}
  }
/* used by: partials/modules/accreditation.php */
/* Layout mirrors the original site's monochrome accreditation banner:
     a single row of equal-height grayscale logos, evenly spaced, on white. */
  .ac-section{padding:56px 20px;text-align:center;background:#fff !important}
  .ac-section .eyebrow{color:var(--blue)}
  .ac-heading{font-size:26px;color:var(--navy);margin:6px 0 6px}
  .ac-lede{color:var(--muted);max-width:620px;margin:0 auto 32px}
  .ac-strip{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 44px;max-width:1180px;margin:auto}
  .ac-badge{font-weight:800;color:var(--navy);font-size:12px;letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);border-radius:10px;padding:12px 16px;background:#fff}
  .ac-logo{height:84px;width:auto;max-width:160px;object-fit:contain;
           filter:grayscale(1) brightness(.6) contrast(1.1);
           opacity:.85;
           transition:filter .25s ease, opacity .25s ease, transform .25s ease}
  .ac-logo:hover{filter:none;opacity:1;transform:translateY(-2px)}
  @media (max-width: 900px){
    .ac-strip{gap:14px 30px}
    .ac-logo{height:60px;max-width:110px}
  }
  @media (max-width: 480px){
    .ac-logo{height:48px;max-width:90px}
  }
/* ============================================================================ */
/* TEAM-MEMBER BIO PAGES (shared layout) */
/* ============================================================================ */
/* used by: pages/our-team/oded-carmi.php */
.std-hero{background:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/04/Team-1-e1521482104459-768.webp') center/cover;color:#fff;padding:80px 20px;text-align:center}@media (min-width:769px){.std-hero{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/04/Team-1-e1521482104459-1280.webp')}}
  .std-hero h1{font-size:42px;line-height:1.05;margin:0 0 12px;color:#fff;font-weight:800}
  .std-hero .lede{font-size:18px;max-width:720px;margin:0 auto;opacity:.92}
  .std{padding:64px 20px;background:#fff}
  .std .wrap{max-width:820px;margin:auto;font-size:17px;line-height:1.7;color:var(--ink)}
  .std h2{font-size:26px;color:var(--navy);margin:32px 0 14px;font-weight:800}
  .std h3{font-size:20px;color:var(--navy);margin:24px 0 10px;font-weight:700}
  .std p{margin:0 0 18px}
  .std ul,.std ol{margin:0 0 22px;padding-left:22px}
  .std a{color:var(--blue);text-decoration:none;font-weight:600;border-bottom:1px solid rgba(31,111,174,.3)}
  .std a:hover{color:var(--navy);border-bottom-color:var(--navy)}
/* ============================================================================ */
/* LOCATION PAGES (city.php, regions/...) */
/* ============================================================================ */
/* used by: pages/regions/dc-metro.php, pages/regions/new-england.php */
.std-hero{background:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2021/01/IMG_7712-scaled-768.webp') center/cover;color:#fff;padding:80px 20px;text-align:center}@media (min-width:769px){.std-hero{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2021/01/IMG_7712-scaled-1280.webp')}}
  .std-hero h1{font-size:42px;line-height:1.05;margin:0 0 12px;color:#fff;font-weight:800}
  .std-hero .lede{font-size:18px;max-width:720px;margin:0 auto;opacity:.92}
  .std{padding:64px 20px;background:#fff}
  .std .wrap{max-width:820px;margin:auto;font-size:17px;line-height:1.7;color:var(--ink)}
  .std h2{font-size:26px;color:var(--navy);margin:32px 0 14px;font-weight:800}
  .std h3{font-size:20px;color:var(--navy);margin:24px 0 10px;font-weight:700}
  .std p{margin:0 0 18px}
  .std ul,.std ol{margin:0 0 22px;padding-left:22px}
  .std a{color:var(--blue);text-decoration:none;font-weight:600;border-bottom:1px solid rgba(31,111,174,.3)}
  .std a:hover{color:var(--navy);border-bottom-color:var(--navy)}
/* used by: pages/regions/areas-served.php */
.std-hero{background:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2021/01/IMG_7747-scaled-768.webp') center/cover;color:#fff;padding:80px 20px;text-align:center}@media (min-width:769px){.std-hero{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2021/01/IMG_7747-scaled-1280.webp')}}
  .std-hero h1{font-size:42px;line-height:1.05;margin:0 0 12px;color:#fff;font-weight:800}
  .std-hero .lede{font-size:18px;max-width:720px;margin:0 auto;opacity:.92}
  .std{padding:64px 20px;background:#fff}
  .std .wrap{max-width:820px;margin:auto;font-size:17px;line-height:1.7;color:var(--ink)}
  .std h2{font-size:26px;color:var(--navy);margin:32px 0 14px;font-weight:800}
  .std h3{font-size:20px;color:var(--navy);margin:24px 0 10px;font-weight:700}
  .std p{margin:0 0 18px}
  .std ul,.std ol{margin:0 0 22px;padding-left:22px}
  .std a{color:var(--blue);text-decoration:none;font-weight:600;border-bottom:1px solid rgba(31,111,174,.3)}
  .std a:hover{color:var(--navy);border-bottom-color:var(--navy)}
/* used by: pages/regions/maryland.php, partials/modules/quote-widget.php */
.qw{background:#fff;color:var(--ink);border-radius:16px;padding:24px;box-shadow:0 14px 38px rgba(15,30,50,.18);max-width:380px}
  .qw-title{margin:0 0 12px;color:var(--navy);font-size:22px}
  .qw-label{display:block;font-weight:700;font-size:13px;color:var(--navy);margin-top:4px}
  .qw-input{width:100%;padding:12px;margin:6px 0 12px;border:1px solid #cbd6df;border-radius:8px;font:inherit}
  .qw-input:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
  .qw-btn{width:100%;border:0;background:var(--blue);color:#fff;padding:14px;border-radius:8px;font-weight:800;font-size:16px;cursor:pointer}
  .qw-btn:hover{background:#185c92}
/* used by: pages/locations/city.php */
/* ============================================================
     City page styles
     ============================================================ */

  /* --- Breadcrumb --- */
  .cty-breadcrumb{background:#fff;padding:14px 20px;border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}
  .cty-breadcrumb .wrap{max-width:1120px;margin:auto}
  .cty-breadcrumb a{color:var(--blue);text-decoration:none;font-weight:600}
  .cty-breadcrumb a:hover{text-decoration:underline}
  .cty-breadcrumb span{color:var(--muted)}

  /* --- Hero --- */
  .cty-hero{position:relative;color:#fff;background:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/05/19702902_10155045095538509_4933585947507131632_o-768.webp') center/cover;padding:24px;text-align:center;overflow:hidden;min-height:500px;display:flex;align-items:center;justify-content:center}@media (min-width:769px){.cty-hero{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/05/19702902_10155045095538509_4933585947507131632_o-1280.webp')}}
  .cty-hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 50%,rgba(15,25,40,.3) 100%);pointer-events:none}
  .cty-hero .wrap{position:relative;z-index:1;max-width:920px;width:100%;margin:auto}
  .cty-hero .eyebrow{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
  .cty-hero h1{color:#fff;font-size:48px;line-height:1.05;margin:10px 0 16px;font-weight:800;text-shadow:0 4px 24px rgba(0,0,0,.35)}
  .cty-hero .lede{font-size:19px;max-width:720px;margin:0 auto 28px;opacity:.95;line-height:1.55}
  .cty-hero .buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
  .cty-hero .btn{box-shadow:0 8px 24px rgba(0,0,0,.18);transition:transform .15s ease,box-shadow .15s ease}
  .cty-hero .btn:hover{transform:translateY(-1px);box-shadow:0 12px 30px rgba(0,0,0,.24)}

  /* --- Stats / trust strip --- */
  .cty-stats{background:#fff;border-bottom:1px solid var(--line);padding:24px 20px}
  .cty-stats .wrap{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .cty-stat{text-align:center;display:flex;flex-direction:column;gap:4px}
  .cty-stat strong{color:var(--navy);font-size:22px;font-weight:800;line-height:1.1}
  .cty-stat span{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
  .cty-stat .star{color:var(--gold);font-size:18px;letter-spacing:1px}

  /* --- Body + sticky widget --- */
  .cty-body-section{padding:72px 20px;background:#fff}
  .cty-body-section .wrap{max-width:1120px;margin:auto;display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:56px;align-items:start}
  .cty-body{font-size:17px;line-height:1.75;color:var(--ink);max-width:68ch}
  .cty-body > *:first-child{margin-top:0}
  .cty-body > *:last-child{margin-bottom:0}
  .cty-body p{margin:0 0 20px}
  .cty-body p:first-of-type{font-size:20px;line-height:1.6;color:var(--navy);font-weight:500;border-left:4px solid var(--gold);padding-left:20px;margin:0 0 28px}
  .cty-body strong, .cty-body b{color:var(--navy);font-weight:700}
  .cty-body h3{font-size:22px;color:var(--navy);margin:32px 0 12px;font-weight:700;line-height:1.3}
  .cty-body h4{font-size:18px;color:var(--navy);margin:24px 0 10px;font-weight:700}
  .cty-body ol, .cty-body ul{margin:0 0 24px;padding:0 0 0 22px}
  .cty-body ol{counter-reset:cty-list}
  .cty-body ol > li{list-style:none;position:relative;padding-left:8px;counter-increment:cty-list;margin-bottom:14px;line-height:1.65}
  .cty-body ol > li::before{content:counter(cty-list) ".";position:absolute;left:-22px;color:var(--blue);font-weight:800;width:22px;text-align:right}
  .cty-body ul > li{margin-bottom:10px;line-height:1.65;padding-left:6px}
  .cty-body ul > li::marker{color:var(--blue)}
  .cty-body a{color:var(--blue);text-decoration:none;font-weight:600;border-bottom:1px solid rgba(31,111,174,.3);transition:border-color .15s ease,color .15s ease}
  .cty-body a:hover{color:var(--navy);border-bottom-color:var(--navy)}
  .cty-body-section .qw{position:sticky;top:96px}

  /* --- Services with photo circles --- */
  .cty-services{padding:80px 20px;background:#fff;border-top:1px solid var(--line)}
  .cty-services .wrap{max-width:1120px;margin:auto;text-align:center}
  .cty-services .eyebrow{color:var(--gold)}
  .cty-services h2{margin:6px 0 8px;color:var(--navy);font-size:30px;font-weight:800}
  .cty-services .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:36px;text-align:left}
  .cty-services .card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;transition:box-shadow .2s ease,transform .2s ease;display:flex;flex-direction:column}
  .cty-services .card:hover{box-shadow:0 16px 40px rgba(15,30,50,.12);transform:translateY(-3px)}
  .cty-services .card .pic{width:88px;height:88px;border-radius:50%;background:#dde5ec center/cover no-repeat;margin:0 0 18px;box-shadow:0 8px 20px rgba(15,30,50,.12)}
  .cty-services .card .pic-icon{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff}
  .cty-services .card h3{color:var(--navy);margin:0 0 10px;font-size:20px;font-weight:800}
  .cty-services .card p{color:var(--ink);margin:0 0 16px;font-size:15px;line-height:1.6;flex:1}
  .cty-services .card a{color:var(--blue);font-weight:700;text-decoration:none;font-size:14px}
  .cty-services .card a:hover{color:var(--navy)}

  /* --- Why DN Van Lines feature grid --- */
  .cty-why{padding:64px 20px;background:linear-gradient(180deg,var(--bg),#fff)}
  .cty-why .wrap{max-width:1120px;margin:auto;text-align:center}
  .cty-why .eyebrow{color:var(--blue)}
  .cty-why h2{margin:6px 0 28px;color:var(--navy);font-size:28px;font-weight:800}
  .cty-why .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
  .cty-why-item{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px}
  .cty-why-item .icon{width:52px;height:52px;border-radius:13px;background:rgba(242,184,75,.15);color:var(--gold);display:flex;align-items:center;justify-content:center}
  .cty-why-item strong{color:var(--navy);font-size:15px;font-weight:800}
  .cty-why-item span{color:var(--muted);font-size:13px;line-height:1.5;max-width:230px}

  /* --- Nearby cities --- */
  .cty-nearby{padding:64px 20px;background:var(--bg)}
  .cty-nearby .wrap{max-width:1120px;margin:auto}
  .cty-nearby .eyebrow{color:var(--blue)}
  .cty-nearby h2{margin:6px 0 8px;color:var(--navy);font-size:28px;font-weight:800}
  .cty-nearby .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:28px 0 18px}
  .cty-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s,border-color .2s}
  .cty-card:hover{box-shadow:0 8px 22px rgba(15,30,50,.1);transform:translateY(-2px);border-color:var(--blue)}
  .cty-card .title{font-weight:700;color:var(--navy);font-size:16px;margin:0 0 4px}
  .cty-card .region{font-size:13px;color:var(--muted);margin:0 0 8px}
  .cty-card .pop{font-size:12px;color:var(--muted);font-weight:600}
  .cty-nearby .footer{margin-top:6px;text-align:right}
  .cty-nearby .footer a{color:var(--blue);text-decoration:none;font-weight:700}
  .cty-nearby .footer a:hover{text-decoration:underline}

  /* --- Bottom CTA --- */
  .cty-cta{position:relative;padding:80px 20px;background:linear-gradient(135deg,var(--navy) 0%,#1a4870 60%,var(--blue) 100%);color:#fff;text-align:center;overflow:hidden}
  .cty-cta::before{content:"";position:absolute;inset:0;background:url('/assets/img/uploads/2020/05/19702902_10155045095538509_4933585947507131632_o.jpg?v=1778092746') center/cover;opacity:.08;pointer-events:none}
  .cty-cta .wrap{position:relative;z-index:1;max-width:780px;margin:auto}
  .cty-cta h2{color:#fff;font-size:36px;line-height:1.1;margin:0 0 12px;font-weight:800;text-shadow:0 2px 16px rgba(0,0,0,.25)}
  .cty-cta p{margin:0 0 26px;font-size:18px;opacity:.94}
  .cty-cta .buttons{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
  .cty-cta .btn{box-shadow:0 8px 24px rgba(0,0,0,.18)}
  .cty-cta .btn.primary{background:var(--gold);color:#162636}
  .cty-cta .btn.secondary{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.45)}

  @media (max-width: 800px){
    .cty-hero h1{font-size:32px}
    .cty-hero .lede{font-size:17px}
    .cty-stats .wrap{grid-template-columns:repeat(2,1fr);gap:18px}
    .cty-body-section{padding:48px 20px}
    .cty-body-section .wrap{grid-template-columns:1fr;gap:32px}
    .cty-services .cards{grid-template-columns:1fr;gap:20px}
    .cty-why .grid{grid-template-columns:repeat(2,1fr)}
    .cty-nearby .grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
    .cty-cta{padding:56px 20px}
    .cty-cta h2{font-size:28px}
  }
/* ============================================================================ */
/* QUOTE FLOW */
/* ============================================================================ */
/* used by: pages/about/apply.php, pages/quote/quote-request-thank-you.php */
.std-hero{background:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/05/20181028_123248_resized-768.webp') center/cover;color:#fff;padding:80px 20px;text-align:center}@media (min-width:769px){.std-hero{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/05/20181028_123248_resized-1280.webp')}}
  .std-hero h1{font-size:42px;line-height:1.05;margin:0 0 12px;color:#fff;font-weight:800}
  .std-hero .lede{font-size:18px;max-width:720px;margin:0 auto;opacity:.92}
  .std{padding:64px 20px;background:#fff}
  .std .wrap{max-width:820px;margin:auto;font-size:17px;line-height:1.7;color:var(--ink)}
  .std h2{font-size:26px;color:var(--navy);margin:32px 0 14px;font-weight:800}
  .std h3{font-size:20px;color:var(--navy);margin:24px 0 10px;font-weight:700}
  .std p{margin:0 0 18px}
  .std ul,.std ol{margin:0 0 22px;padding-left:22px}
  .std a{color:var(--blue);text-decoration:none;font-weight:600;border-bottom:1px solid rgba(31,111,174,.3)}
  .std a:hover{color:var(--navy);border-bottom-color:var(--navy)}
/* used by: pages/quote/get-a-quote.php */
/* ============================================================
     Quote page — conversion-optimized layout
     ============================================================ */
  body{background:var(--bg)}

  /* Top hero band: keeps the page anchored visually */
  .qp-hero{background:linear-gradient(180deg,#fff 0%, var(--bg) 100%);padding:36px 20px 0}
  .qp-hero .wrap{max-width:1180px;margin:auto}
  .qp-crumbs{font-size:13px;color:var(--muted);margin-bottom:10px}
  .qp-crumbs a{color:var(--blue);text-decoration:none;font-weight:700}
  .qp-crumbs a:hover{text-decoration:underline}
  .qp-eyebrow{color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:12px}
  .qp-hero h1{font-size:42px;line-height:1.08;color:var(--navy);margin:6px 0 10px;font-weight:800}
  .qp-lede{color:var(--muted);margin:0;max-width:640px;font-size:17px;line-height:1.55}

  /* Trust strip just below the headline */
  .qp-trust{display:flex;flex-wrap:wrap;gap:24px 36px;align-items:center;padding:20px 0 28px;color:var(--muted);font-size:13px;font-weight:600}
  .qp-trust strong{color:var(--navy);font-weight:800}
  .qp-trust .star{color:var(--gold);margin-right:4px}

  /* Two-column layout: form column (left, sticky) + trust column (right, scrolls) */
  .qp-grid{padding:0 20px 64px}
  .qp-grid .wrap{max-width:1180px;margin:auto;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:32px;align-items:start}
  .qp-form-col{order:1;position:sticky;top:96px}
  .qp-side{order:2}

  /* Form card */
  .qp-form-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px;box-shadow:0 12px 32px rgba(15,30,50,.08)}
  .qp-form-card .form-title{font-size:20px;color:var(--navy);font-weight:800;margin:0 0 4px}
  .qp-form-card .form-sub{font-size:14px;color:var(--muted);margin:0 0 22px}

  form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  form .row.single{grid-template-columns:1fr}
  .field{display:flex;flex-direction:column;margin-bottom:14px}
  .field label{font-weight:700;font-size:13px;margin-bottom:6px;color:var(--navy);letter-spacing:.01em}
  .field label .req{color:#c0392b;margin-left:3px}
  .field input,.field select{width:100%;padding:13px 14px;border:1px solid #cbd6df;border-radius:10px;font:inherit;background:#fff;color:var(--ink);transition:border-color .15s ease, box-shadow .15s ease}
  .field input:focus,.field select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,111,174,.15)}
  .help{font-size:12px;color:var(--muted);margin-top:6px}

  /* Submit button — base look. Glow + shimmer come from .btn-attention in style.css. */
  .qp-buttons{margin-top:18px}
  .qp-buttons .btn-submit{
    width:100%;
    height:58px;
    padding:0 28px;
    border-radius:12px;
    border:0;
    background:var(--blue);
    color:#fff;
    font-weight:800;
    font-size:17px;
    line-height:1;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    box-sizing:border-box;
    transition:transform .15s ease, background-color .15s ease;
  }
  .qp-buttons .btn-submit:hover{background:#185c92;transform:translateY(-1px)}

  .qp-privacy{margin-top:14px;font-size:13px;color:var(--muted);text-align:center;display:flex;align-items:center;justify-content:center;gap:6px}
  .qp-privacy svg{flex:0 0 auto;color:var(--blue)}

  .alert{padding:16px 18px;border-radius:12px;margin-bottom:16px;display:none}
  .alert.show{display:block}
  .alert-success{background:#eaf6ee;border:1px solid #b9dec5;color:#1c5a33}
  .alert-error{background:#fdecea;border:1px solid #f5c6c2;color:#8a2a23}

  /* ----- Trust column: social proof / what happens next ----- */
  .qp-side{display:flex;flex-direction:column;gap:18px}
  .qp-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:0 4px 14px rgba(15,30,50,.05)}
  .qp-card h3{margin:0 0 12px;color:var(--navy);font-size:16px;font-weight:800;letter-spacing:-.01em}
  .qp-card .eyebrow-mini{font-size:11px;color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}

  .qp-rating{display:flex;align-items:center;gap:14px}
  .qp-rating .num{font-size:30px;font-weight:800;color:var(--navy);line-height:1}
  .qp-rating .stars{color:var(--gold);font-size:18px;letter-spacing:2px}
  .qp-rating .meta{color:var(--muted);font-size:13px;margin-top:2px}

  .qp-quote{font-style:italic;color:var(--ink);font-size:15px;line-height:1.55;margin:0 0 8px;border-left:3px solid var(--gold);padding-left:14px}
  .qp-quote-meta{font-size:13px;color:var(--muted);font-weight:600}

  .qp-steps{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
  .qp-step{display:flex;gap:12px;align-items:flex-start}
  .qp-step .num{flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;line-height:1}
  .qp-step .body strong{color:var(--navy);font-size:14px;font-weight:800;display:block;margin-bottom:2px}
  .qp-step .body span{color:var(--muted);font-size:13px;line-height:1.5}

  .qp-creds{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--ink)}
  .qp-creds .row{display:flex;align-items:center;gap:8px}
  .qp-creds .row svg{flex:0 0 auto;color:var(--blue)}
  .qp-creds strong{color:var(--navy);font-weight:800}

  @media (max-width: 900px){
    .qp-grid .wrap{grid-template-columns:1fr;gap:24px}
    /* Form first on mobile, trust column below */
    .qp-form-col{order:1;position:static;top:auto}
    .qp-side{order:2}
    /* The big rating card duplicates the hero trust strip on small viewports — hide it. */
    .qp-side .qp-card:first-child{display:none}
    .qp-card{padding:18px}
    .qp-card h3{font-size:15px}
    .qp-card .eyebrow-mini{font-size:10px}
    .qp-step .body strong{font-size:13px}
    .qp-step .body span{font-size:12px}
    .qp-quote{font-size:14px}
  }
  @media (max-width: 600px){
    form .row{grid-template-columns:1fr;gap:12px}
    .qp-hero{padding:24px 20px 0}
    .qp-hero h1{font-size:28px;line-height:1.15}
    .qp-lede{font-size:15px}
    .qp-trust{gap:12px 20px;padding:14px 0 20px;font-size:12px}
    .qp-form-card{padding:20px;border-radius:14px}
    .qp-form-card .form-title{font-size:18px}
    .qp-form-card .form-sub{font-size:13px;margin-bottom:16px}
    .field{margin-bottom:10px}
    .field label{font-size:12px}
    .field input,.field select{padding:12px 12px;font-size:16px}  /* 16px prevents iOS zoom-on-focus */
    .qp-buttons{margin-top:14px}
    .qp-buttons .btn-submit{height:54px;font-size:16px}
    .qp-privacy{font-size:12px;margin-top:12px}
    .qp-grid{padding:0 16px 48px}
  }
/* ============================================================================ */
/* RESOURCES (faq, blog, how-to-videos) */
/* ============================================================================ */
/* used by: pages/resources/how-to-videos.php */
/* How-to videos page — page-specific styles */
  .videos-hero{position:relative;color:#fff;background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url('/assets/img/uploads/2020/04/2xooC-wM-768.webp') center/cover;padding:24px;text-align:center;min-height:500px;display:flex;align-items:center;justify-content:center}@media (min-width:769px){.videos-hero{background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url('/assets/img/uploads/2020/04/2xooC-wM-1280.webp')}}
  .videos-hero .wrap{max-width:1120px;width:100%;margin:auto;text-align:center}
  .videos-hero .eyebrow{color:var(--gold)}
  .videos-hero h1{color:#fff;font-size:48px;line-height:1.05;margin:8px 0 14px}
  .videos-hero .lede{font-size:20px;max-width:720px;margin:0 auto 26px}
  .videos-hero .buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
  .videos-section{padding:64px 20px;background:#fff}
  .videos-section .wrap{max-width:1120px;margin:auto}
  .videos-section h2{color:var(--navy);font-size:28px;margin:0 0 32px;text-align:center}
  .videos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:0}

  /* Tile is the link itself so the entire card is clickable. */
  .video-tile{
    border:1px solid var(--line);
    border-radius:12px;
    overflow:hidden;
    background:#fff;
    text-decoration:none;
    color:inherit;
    display:flex;
    flex-direction:column;
    transition:box-shadow .3s ease, transform .25s ease, border-color .25s ease;
  }
  .video-tile:hover{
    box-shadow:0 14px 32px rgba(15,30,50,.14);
    transform:translateY(-2px);
    border-color:var(--blue);
  }
  .video-thumb{
    position:relative;
    background:#1a1a1a;
    aspect-ratio:16/9;
    overflow:hidden;
  }
  .video-thumb img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform .35s ease, filter .25s ease;
    filter:brightness(.92);
  }
  .video-tile:hover .video-thumb img{transform:scale(1.04);filter:brightness(1)}
  .video-play{
    position:absolute;
    top:50%;left:50%;
    transform:translate(-50%,-50%);
    width:64px;height:64px;
    background:rgba(255,255,255,.94);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 6px 20px rgba(0,0,0,.35);
    transition:transform .3s ease, background .25s ease;
    z-index:1;
  }
  .video-tile:hover .video-play{transform:translate(-50%,-50%) scale(1.08);background:#fff}
  .video-play::after{
    content:'';width:0;height:0;
    border-left:18px solid var(--navy);
    border-top:11px solid transparent;
    border-bottom:11px solid transparent;
    margin-left:5px;
  }
  .video-info{padding:20px 22px}
  .video-title{color:var(--navy);font-size:18px;font-weight:700;margin:0 0 8px;line-height:1.3}
  .video-link{
    color:var(--blue);
    font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  }

  .videos-cta{padding:48px 20px;background:var(--bg);text-align:center}
  .videos-cta .wrap{max-width:680px;margin:auto}
  .videos-cta h3{color:var(--navy);font-size:22px;margin:0 0 12px}
  .videos-cta p{color:var(--muted);font-size:16px;margin:0 0 20px}
  .videos-bottom-cta{padding:64px 20px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;text-align:center}
  .videos-bottom-cta h2{color:#fff;font-size:34px;margin:0 0 8px}
  .videos-bottom-cta p{margin:0 0 24px;font-size:18px;opacity:.9}
  .videos-bottom-cta .buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
  .videos-bottom-cta .btn.primary{background:var(--gold);color:#162636}
  .videos-bottom-cta .btn.secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4)}
  @media (max-width: 1024px){
    .videos-grid{grid-template-columns:repeat(2,1fr);gap:24px}
  }
  @media (max-width: 640px){
    .videos-hero h1{font-size:34px}
    .videos-grid{grid-template-columns:1fr}
  }
/* used by: pages/resources/blog.php */
/* Blog page — page-specific styles */
  .blog-hero{position:relative;color:#fff;background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url('/assets/img/uploads/2021/01/IMG_7747-scaled-768.webp') center/cover;padding:24px;text-align:center;min-height:500px;display:flex;align-items:center;justify-content:center}@media (min-width:769px){.blog-hero{background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url('/assets/img/uploads/2021/01/IMG_7747-scaled-1280.webp')}}
  .blog-hero .wrap{max-width:1120px;width:100%;margin:auto;text-align:center}
  .blog-hero .eyebrow{color:var(--gold)}
  .blog-hero h1{color:#fff;font-size:48px;line-height:1.05;margin:8px 0 14px}
  .blog-hero .lede{font-size:20px;max-width:720px;margin:0 auto 26px}
  .blog-hero .buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
  .blog-section{padding:64px 20px;background:#fff}
  .blog-section .wrap{max-width:840px;margin:auto}
  .blog-list{list-style:none;padding:0;margin:0}
  .blog-item{display:grid;grid-template-columns:1fr;gap:12px;padding:32px 0;border-bottom:1px solid var(--line)}
  .blog-item:last-child{border-bottom:none}
  .blog-item h3{margin:0;color:var(--navy);font-size:24px;font-weight:700;line-height:1.3}
  .blog-item a{color:var(--navy);text-decoration:none}
  .blog-item a:hover{text-decoration:underline}
  .blog-meta{font-size:14px;color:var(--muted);margin:0}
  .blog-meta strong{color:var(--navy)}
  .blog-excerpt{font-size:16px;line-height:1.6;color:var(--ink);margin:10px 0 0}
  .blog-link{display:inline-block;margin-top:12px;color:var(--blue);text-decoration:none;font-weight:700;font-size:14px}
  .blog-link:hover{text-decoration:underline}
  .blog-note{padding:32px 0;text-align:center;color:var(--muted);font-size:15px}
  .blog-cta{padding:48px 20px;background:var(--bg);text-align:center}
  .blog-cta .wrap{max-width:680px;margin:auto}
  .blog-cta h3{color:var(--navy);font-size:22px;margin:0 0 12px}
  .blog-cta p{color:var(--muted);font-size:16px;margin:0 0 20px}
  .blog-bottom-cta{padding:64px 20px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;text-align:center}
  .blog-bottom-cta h2{color:#fff;font-size:34px;margin:0 0 8px}
  .blog-bottom-cta p{margin:0 0 24px;font-size:18px;opacity:.9}
  .blog-bottom-cta .buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
  .blog-bottom-cta .btn.primary{background:var(--gold);color:#162636}
  .blog-bottom-cta .btn.secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4)}
  @media (max-width: 800px){
    .blog-hero h1{font-size:34px}
    .blog-item h3{font-size:20px}
  }
/* used by: pages/resources/faq.php */
/* FAQ page — page-specific styles */
  .faq-hero{position:relative;color:#fff;background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url('/assets/img/uploads/2020/05/20181028_123248_resized-768.webp') center/cover;padding:24px;text-align:center;min-height:500px;display:flex;align-items:center;justify-content:center}@media (min-width:769px){.faq-hero{background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url('/assets/img/uploads/2020/05/20181028_123248_resized-1280.webp')}}
  .faq-hero .wrap{max-width:1120px;width:100%;margin:auto;text-align:center}
  .faq-hero h1{color:#fff;font-size:48px;line-height:1.05;margin:8px 0 14px}
  .faq-hero .lede{font-size:20px;max-width:720px;margin:0 auto}

  .faq-accordions{padding:64px 20px;background:#fff}
  .faq-accordions .wrap{max-width:700px;margin:auto}
  .faq-accordions h2{font-size:28px;color:var(--navy);text-align:center;margin:0 0 48px}

  .faq-item{background:#f6f8fa;border-radius:12px;margin-bottom:16px;overflow:hidden}
  .faq-item details{padding:0}
  .faq-item summary{padding:24px;cursor:pointer;user-select:none;font-weight:700;color:var(--navy);font-size:16px;display:flex;align-items:center;justify-content:space-between;list-style:none}
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary::after{content:'';width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--blue);font-weight:900;transition:transform .25s ease;flex-shrink:0;margin-left:16px}
  .faq-item summary::after{content:'▼';transform:rotate(-90deg);font-size:12px}
  .faq-item details[open] summary::after{transform:rotate(0deg)}
  .faq-item summary:hover{background:rgba(59,89,152,.08)}
  .faq-item details[open] summary{background:rgba(59,89,152,.12);color:var(--blue)}

  .faq-answer{padding:0 24px 24px;color:var(--ink);font-size:16px;line-height:1.65}
  .faq-answer p{margin:0}
  .faq-answer strong{color:var(--navy)}

  .faq-cta-stripe{padding:48px 20px;background:#f6f8fa}
  .faq-cta-stripe .wrap{max-width:1120px;margin:auto;text-align:center}
  .faq-cta-stripe h2{font-size:28px;color:var(--navy);margin:0 0 14px}
  .faq-cta-stripe p{margin:0 0 24px;color:var(--muted);font-size:17px}
  .faq-cta-stripe .buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

  .faq-bottom-cta{padding:64px 20px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;text-align:center}
  .faq-bottom-cta .wrap{max-width:1120px;margin:auto}
  .faq-bottom-cta h2{color:#fff;font-size:34px;margin:0 0 8px}
  .faq-bottom-cta p{margin:0 0 24px;font-size:18px;opacity:.9}
  .faq-bottom-cta .buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
  .faq-bottom-cta .btn.primary{background:var(--gold);color:#162636}
  .faq-bottom-cta .btn.secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4)}

  @media (max-width: 800px){
    .faq-hero h1{font-size:34px}
    .faq-item summary{padding:18px;font-size:15px}
    .faq-answer{padding:0 18px 18px;font-size:15px}
  }
/* ============================================================================ */
/* ABOUT PAGES */
/* ============================================================================ */
/* used by: pages/about/media.php, pages/about/radio.php */
.std-hero{background:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2024/06/edited-oded-on-felger-and-mazz-UPDATED-768.webp') center/cover;color:#fff;padding:80px 20px;text-align:center}@media (min-width:769px){.std-hero{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2024/06/edited-oded-on-felger-and-mazz-UPDATED-1280.webp')}}
  .std-hero h1{font-size:42px;line-height:1.05;margin:0 0 12px;color:#fff;font-weight:800}
  .std-hero .lede{font-size:18px;max-width:720px;margin:0 auto;opacity:.92}
  .std{padding:64px 20px;background:#fff}
  .std .wrap{max-width:820px;margin:auto;font-size:17px;line-height:1.7;color:var(--ink)}
  .std h2{font-size:26px;color:var(--navy);margin:32px 0 14px;font-weight:800}
  .std h3{font-size:20px;color:var(--navy);margin:24px 0 10px;font-weight:700}
  .std p{margin:0 0 18px}
  .std ul,.std ol{margin:0 0 22px;padding-left:22px}
  .std a{color:var(--blue);text-decoration:none;font-weight:600;border-bottom:1px solid rgba(31,111,174,.3)}
  .std a:hover{color:var(--navy);border-bottom-color:var(--navy)}
/* used by: pages/about/our-team.php */
/* Hero */
  .team-hero{position:relative;color:#fff;background:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.4)),url('/assets/img/uploads/2020/04/Team-1-e1521482104459-768.webp') center/cover;padding:96px 20px 80px;text-align:center}@media (min-width:769px){.team-hero{background-image:linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.4)),url('/assets/img/uploads/2020/04/Team-1-e1521482104459-1280.webp')}}
  .team-hero .wrap{max-width:920px;margin:auto}
  .team-hero .eyebrow{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:700}
  .team-hero h1{font-size:48px;line-height:1.05;margin:8px 0 16px;font-weight:800;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.35)}
  .team-hero .lede{font-size:19px;max-width:720px;margin:0 auto 26px;opacity:.95;line-height:1.55}

  /* Intro */
  .team-intro{padding:64px 20px;background:#fff}
  .team-intro .wrap{max-width:1120px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start}
  .team-intro h2{color:var(--navy);font-size:32px;margin:0 0 16px;font-weight:800;line-height:1.15}
  .team-intro .eyebrow{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
  .team-intro p{font-size:17px;line-height:1.7;color:var(--ink);margin:0 0 16px}

  /* Values strip */
  .team-values{padding:56px 20px;background:linear-gradient(180deg,#fff,var(--bg))}
  .team-values .wrap{max-width:1120px;margin:auto;text-align:center}
  .team-values h2{color:var(--navy);font-size:28px;margin:0 0 28px;font-weight:800}
  .team-value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .team-value-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 22px;text-align:center;box-shadow:0 6px 18px rgba(15,30,50,.05);transition:transform .2s,box-shadow .2s}
  .team-value-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(15,30,50,.12)}
  .team-value-card .ic{width:48px;height:48px;margin:0 auto 14px;border-radius:12px;background:rgba(242,184,75,.18);color:var(--gold);display:flex;align-items:center;justify-content:center}
  .team-value-card h3{margin:0 0 10px;color:var(--navy);font-size:17px;font-weight:800}
  .team-value-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.5}

  /* Member grid */
  .team-grid-section{padding:80px 20px;background:var(--bg)}
  .team-grid-section .wrap{max-width:1180px;margin:auto}
  .team-grid-head{text-align:center;margin-bottom:40px}
  .team-grid-head .eyebrow{color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
  .team-grid-head h2{font-size:32px;color:var(--navy);margin:6px 0 8px;font-weight:800}
  .team-grid-head p{color:var(--muted);max-width:600px;margin:0 auto;font-size:15px}
  .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
  .tm{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 22px 24px;text-align:center;text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:center;gap:12px;transition:box-shadow .2s,transform .2s,border-color .2s}
  .tm:hover{box-shadow:0 14px 32px rgba(15,30,50,.12);transform:translateY(-3px);border-color:var(--blue)}
  .tm-photo{width:120px;height:120px;border-radius:50%;background:#dde5ec center/cover no-repeat;box-shadow:0 4px 14px rgba(15,30,50,.18);flex-shrink:0}
  .tm-photo.placeholder{background:linear-gradient(135deg,var(--navy),var(--blue));display:flex;align-items:center;justify-content:center;color:#fff}
  .tm-name{color:var(--navy);font-size:17px;font-weight:800;margin:8px 0 0;line-height:1.2}
  .tm-title{color:var(--blue);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.05em;margin:2px 0}
  .tm-blurb{color:var(--ink);font-size:14px;line-height:1.55;margin:6px 0 0;flex:1}
  .tm-link{color:var(--blue);font-weight:700;font-size:13px;margin-top:8px}

  /* Careers banner */
  .team-careers-section{padding:64px 20px;background:#fff}
  .team-careers-section .wrap{max-width:1000px;margin:auto}
  .team-careers{padding:48px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;border-radius:16px;text-align:center;box-shadow:0 14px 40px rgba(15,30,50,.18)}
  .team-careers h3{margin:0 0 12px;font-size:24px;font-weight:800}
  .team-careers p{margin:0 0 20px;opacity:.95;max-width:560px;margin-left:auto;margin-right:auto}
  .team-careers .btn{background:var(--gold);color:#162636}

  /* CTA */
  .team-cta{padding:72px 20px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;text-align:center}
  .team-cta h2{font-size:34px;margin:0 0 8px;font-weight:800;color:#fff}
  .team-cta p{margin:0 0 24px;font-size:18px;opacity:.92}
  .team-cta .buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
  .team-cta .btn.primary{background:var(--gold);color:#162636}
  .team-cta .btn.secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4)}

  @media (max-width: 1024px){
    .team-grid{grid-template-columns:repeat(3,1fr)}
    .team-value-grid{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width: 800px){
    .team-hero h1{font-size:34px}
    .team-intro .wrap{grid-template-columns:1fr;gap:28px}
    .team-grid{grid-template-columns:repeat(2,1fr)}
  }
  @media (max-width: 540px){
    .team-grid{grid-template-columns:1fr}
    .team-value-grid{grid-template-columns:1fr}
  }
/* used by: pages/about/contact-us.php */
/* Contact page — page-specific styles */
  body{background:var(--bg)}
  .page{max-width:1120px;margin:auto;padding:48px 20px}
  .crumbs{font-size:14px;color:var(--muted);margin-bottom:14px}
  .crumbs a{color:var(--blue);text-decoration:none;font-weight:700}
  .step-eyebrow{color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:13px}
  .page h1{font-size:38px;line-height:1.1;color:var(--navy);margin:6px 0 8px}
  .lede{color:var(--muted);margin:0 0 28px;max-width:640px}
  /* Hero-lede override: the rule above sets a muted grey for body-context
     ledes (e.g. inline page intros). Hero sections need white text against
     dark photo backgrounds. Each hero parent declares color:#fff on itself,
     but that doesn't override the rule above because .lede targets the
     element directly. List every hero class here to force white. */
  .st-hero .lede,
  .cty-hero .lede,
  .std-hero .lede,
  .videos-hero .lede,
  .blog-hero .lede,
  .faq-hero .lede,
  .team-hero .lede,
  .test-hero .lede,
  .nf-hero .lede{color:#fff}
  .sub-title{font-size:24px;color:var(--navy);margin:48px 0 16px}
  .locations-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:8px}
  .loc{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}
  .loc h3{color:var(--navy);margin:0 0 10px;font-size:18px}
  .loc p{margin:6px 0;color:var(--ink)}
  .loc a{color:var(--blue);text-decoration:none;font-weight:700;display:block}
  .form-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 8px 24px rgba(15,30,50,.06)}
  form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  form .row.single{grid-template-columns:1fr}
  .field{display:flex;flex-direction:column;margin-bottom:14px}
  .field label{font-weight:700;font-size:14px;margin-bottom:6px;color:var(--navy)}
  .field label .req{color:#c0392b;margin-left:3px}
  .field input,.field textarea{width:100%;padding:12px;border:1px solid #cbd6df;border-radius:8px;font:inherit;background:#fff;color:var(--ink)}
  .field textarea{min-height:140px;resize:vertical}
  .field input:focus,.field textarea:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
  .form-card button{width:100%;border:0;background:var(--blue);color:#fff;padding:16px;border-radius:10px;font-weight:800;font-size:16px;cursor:pointer;margin-top:8px}
  .form-card button:hover{background:#185c92}
  .alert{padding:18px;border-radius:12px;margin-bottom:18px;display:none}
  .alert.show{display:block}
  .alert-success{background:#eaf6ee;border:1px solid #b9dec5;color:#1c5a33}
  .alert-error{background:#fdecea;border:1px solid #f5c6c2;color:#8a2a23}
  @media (max-width: 800px){
    .locations-grid{grid-template-columns:1fr}
    form .row{grid-template-columns:1fr}
    .page h1{font-size:30px}
  }
/* used by: pages/about/history.php */
/* ======= Hero ======= */
  .hist-hero{position:relative;color:#fff;background:linear-gradient(rgba(15,25,40,.6),rgba(15,25,40,.4)),url('/assets/img/uploads/2020/04/Team-1-e1521482104459-768.webp') center/cover;padding:96px 20px 84px;text-align:center;overflow:hidden}@media (min-width:769px){.hist-hero{background-image:linear-gradient(rgba(15,25,40,.6),rgba(15,25,40,.4)),url('/assets/img/uploads/2020/04/Team-1-e1521482104459-1280.webp')}}
  .hist-hero .wrap{position:relative;z-index:1;max-width:920px;margin:auto}
  .hist-hero .eyebrow{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;font-size:13px;font-weight:700}
  .hist-hero h1{font-size:52px;line-height:1.02;margin:10px 0 18px;color:#fff;font-weight:800;text-shadow:0 4px 24px rgba(0,0,0,.35)}
  .hist-hero p{font-size:20px;max-width:660px;color:#fff;margin:0 auto 8px;line-height:1.55;opacity:.95}

  /* ======= Stats strip ======= */
  .hist-stats{background:#fff;border-bottom:1px solid var(--line);padding:28px 20px}
  .hist-stats .wrap{max-width:1120px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
  .hist-stat strong{display:block;color:var(--navy);font-size:30px;font-weight:900;line-height:1;margin-bottom:6px}
  .hist-stat span{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}

  /* ======= Founder note ======= */
  .founder-note{padding:64px 20px;background:#fff}
  .founder-note .wrap{max-width:760px;margin:auto;text-align:center}
  .founder-note .eyebrow{color:var(--blue);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
  .founder-note h2{font-size:30px;color:var(--navy);margin:8px 0 20px;font-weight:800}
  .founder-note blockquote{margin:0;font-size:19px;line-height:1.65;color:var(--ink);font-style:italic;border-left:4px solid var(--gold);padding:8px 0 8px 24px;text-align:left}
  .founder-note cite{display:block;margin-top:18px;font-style:normal;font-weight:700;color:var(--navy);font-size:14px}

  /* ======= Timeline ======= */
  .timeline-section{padding:80px 20px;background:linear-gradient(180deg,var(--bg),#fff)}
  .timeline-section .wrap{max-width:920px;margin:auto}
  .timeline-head{text-align:center;margin-bottom:48px}
  .timeline-head .eyebrow{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
  .timeline-head h2{font-size:34px;color:var(--navy);margin:6px 0;font-weight:800}
  .timeline-head p{color:var(--muted);max-width:580px;margin:8px auto 0}

  .timeline{position:relative;padding:8px 0}
  .timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--line),var(--gold) 30%,var(--gold) 70%,var(--line));transform:translateX(-50%)}

  .timeline-item{position:relative;margin-bottom:40px}
  .timeline-item:last-child{margin-bottom:0}
  .timeline-item:nth-child(odd) .timeline-content{margin-left:0;margin-right:auto;width:calc(50% - 36px);text-align:right}
  .timeline-item:nth-child(even) .timeline-content{margin-left:auto;margin-right:0;width:calc(50% - 36px);text-align:left}

  /* Dot pill at center bar */
  .timeline-dot{position:absolute;top:18px;left:50%;width:14px;height:14px;background:var(--gold);border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 3px rgba(242,184,75,.35);transform:translateX(-50%);z-index:5}

  /* Card */
  .timeline-content{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px;box-shadow:0 4px 14px rgba(15,30,50,.06);transition:box-shadow .2s ease, transform .2s ease}
  .timeline-content:hover{box-shadow:0 14px 34px rgba(15,30,50,.12);transform:translateY(-2px)}
  .timeline-year{color:var(--gold);font-weight:900;font-size:26px;letter-spacing:-.02em;line-height:1;margin:0 0 6px}
  .timeline-title{color:var(--navy);font-size:17px;font-weight:800;margin:0 0 8px;line-height:1.3}
  .timeline-text{color:var(--ink);font-size:15px;line-height:1.6;margin:0}

  /* Highlight the founding entry */
  .timeline-item.founding .timeline-content{border-color:var(--gold);background:linear-gradient(180deg,#fff,#fffbf0)}
  .timeline-item.founding .timeline-year{font-size:32px}

  /* ======= CTA panel ======= */
  .cta-panel{padding:72px 20px;background:linear-gradient(135deg,var(--navy) 0%,var(--blue) 100%);color:#fff;text-align:center}
  .cta-panel h2{font-size:32px;margin:0 0 12px;color:#fff;font-weight:800}
  .cta-panel p{font-size:18px;margin:0 0 28px;color:#e8f1f8}
  .cta-panel .btn.primary{background:var(--gold);color:#162636}
  .cta-panel .btn.secondary{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.45)}

  /* ======= Mobile ======= */
  @media (max-width: 800px){
    .hist-hero h1{font-size:38px}
    .hist-stats .wrap{grid-template-columns:repeat(2,1fr);gap:18px}
    .timeline::before{left:18px}
    .timeline-item:nth-child(odd) .timeline-content,
    .timeline-item:nth-child(even) .timeline-content{width:calc(100% - 56px);margin-left:56px;margin-right:0;text-align:left}
    .timeline-dot{left:18px;transform:translateX(-50%)}
  }
/* used by: pages/about/testimonials.php */
/* Testimonials page — page-specific styles */
  .test-hero{position:relative;color:#fff;background:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url('/assets/img/uploads/2020/05/20181028_123248_resized-768.webp') center/cover;padding:24px;text-align:center;min-height:500px;display:flex;align-items:center;justify-content:center}@media (min-width:769px){.test-hero{background-image:linear-gradient(rgba(0,0,0,.45),rgba(0,0,0,.45)),url('/assets/img/uploads/2020/05/20181028_123248_resized-1280.webp')}}
  .test-hero .wrap{max-width:1120px;width:100%;text-align:center}
  .test-hero h1{font-size:48px;line-height:1.05;margin:8px 0 14px;color:#fff}
  .test-hero .lede{font-size:20px;max-width:720px;margin:0 auto}

  .test-stats{padding:48px 20px;background:#fff}
  .test-stats .wrap{max-width:1120px;margin:auto}
  .test-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;text-align:center}
  .test-stat{padding:24px}
  .test-stat-number{font-size:48px;font-weight:900;color:var(--navy);line-height:1;margin-bottom:8px}
  .test-stat-stars{font-size:24px;color:var(--gold);letter-spacing:2px;margin:8px 0}
  .test-stat-label{font-size:14px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}

  .test-grid-section{padding:64px 20px;background:#fff}
  .test-grid-section .wrap{max-width:1120px;margin:auto}
  .test-grid-section h2{font-size:32px;color:var(--navy);text-align:center;margin:0 0 48px}
  .test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
  .test-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 4px 12px rgba(15,30,50,.06);display:flex;flex-direction:column;gap:16px}
  .test-card-stars{font-size:18px;letter-spacing:2px}
  .test-card-star{color:#e0e6ec}
  .test-card-star.on{color:var(--gold)}
  .test-card-quote{font-size:16px;line-height:1.6;color:var(--ink);font-style:italic;flex-grow:1}
  .test-card-author{font-size:14px;color:var(--muted)}
  .test-card-author strong{color:var(--navy);font-weight:700}
  .test-card-badge{display:inline-block;font-size:11px;color:var(--blue);font-weight:700;margin-top:8px}

  .test-platforms{padding:48px 20px;background:#fff}
  .test-platforms .wrap{max-width:1120px;margin:auto}
  .test-platforms-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:32px}
  .test-platform-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;text-align:center;transition:all .25s ease}
  .test-platform-card:hover{border-color:var(--blue);box-shadow:0 8px 28px rgba(15,30,50,.12)}
  .test-platform-name{font-size:28px;font-weight:800;color:var(--navy);margin:0 0 12px}
  .test-platform-stars{font-size:14px;color:var(--muted);margin-bottom:20px}
  .test-platform-card .btn{margin-top:12px;display:inline-block}

  .test-love-stripe{padding:64px 20px;background:#fff}
  .test-love-stripe .wrap{max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:center}
  .test-love-stripe h2{font-size:32px;color:var(--navy);margin:0 0 14px}
  .test-love-stripe p{font-size:17px;line-height:1.65;color:var(--ink);margin:0}

  .test-cta{padding:64px 20px;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;text-align:center}
  .test-cta .wrap{max-width:1120px;margin:auto}
  .test-cta h2{font-size:34px;margin:0 0 8px;color:#fff}
  .test-cta p{margin:0 0 24px;font-size:18px;opacity:.9}
  .test-cta .buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
  .test-cta .btn.primary{background:var(--gold);color:#162636}
  .test-cta .btn.secondary{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4)}

  @media (max-width: 800px){
    .test-hero h1{font-size:34px}
    .test-stats-grid{grid-template-columns:1fr;gap:20px}
    .test-grid{grid-template-columns:1fr}
    .test-platforms-grid{grid-template-columns:1fr}
    .test-love-stripe .wrap{grid-template-columns:1fr;gap:32px}
  }
/* used by: pages/about/careers.php */
/* Hero section with overlay and centered text */
  .hero{background:linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.4)),url('/assets/img/uploads/2020/05/20181028_123248_resized-768.webp') center/cover;color:#fff}@media (min-width:769px){.hero{background-image:linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.4)),url('/assets/img/uploads/2020/05/20181028_123248_resized-1280.webp')}}
  .hero .wrap{padding:82px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
  .hero h1{font-size:52px;line-height:1.02;margin:10px 0 18px;color:#fff}
  .hero p{font-size:20px;max-width:660px;color:#fff}
  .hero .eyebrow{color:var(--gold)}

  /* Why work section */
  .why-section{padding:64px 20px;background:#fff}
  .why-section .wrap{max-width:1120px}
  .why-head{text-align:center;margin-bottom:48px}
  .why-head h2{font-size:36px;color:var(--navy);margin:8px 0}
  .why-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:32px}
  .why-card{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:28px;text-align:center;transition:transform .2s, box-shadow .2s}
  .why-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(15,30,50,.12)}
  .why-card h3{color:var(--navy);font-size:18px;margin:0 0 12px}
  .why-card p{color:var(--muted);font-size:15px;margin:0;line-height:1.6}

  /* Positions section */
  .positions-section{padding:64px 20px;background:var(--bg)}
  .positions-section .wrap{max-width:1000px}
  .positions-head{text-align:center;margin-bottom:48px}
  .positions-head h2{font-size:36px;color:var(--navy);margin:8px 0}
  .positions-list{display:grid;gap:28px}

  /* Position location group */
  .location-group h3{color:var(--navy);font-size:22px;margin:32px 0 20px 0;padding-top:12px;border-top:2px solid var(--line)}
  .location-group:first-of-type h3{margin-top:0;border:0;padding-top:0}

  /* Position card */
  .position-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;box-shadow:0 2px 8px rgba(15,30,50,.04);transition:box-shadow .2s}
  .position-card:hover{box-shadow:0 8px 24px rgba(15,30,50,.1)}
  .position-title{color:var(--navy);font-weight:800;font-size:20px;margin:0 0 8px}
  .position-location{color:var(--blue);font-weight:700;font-size:14px;margin:0 0 16px;text-transform:uppercase;letter-spacing:.05em}
  .position-desc{color:var(--muted);font-size:15px;line-height:1.6;margin:0 0 20px}
  .position-highlights{color:#666;font-size:14px;line-height:1.7;margin:0 0 20px;padding-left:20px}
  .position-highlights li{margin:6px 0}
  .position-card .btn{display:inline-block;margin-top:8px}

  /* How to apply section */
  .how-apply{padding:56px 20px;background:#fff;text-align:center}
  .how-apply .wrap{max-width:900px}
  .how-apply h2{font-size:36px;color:var(--navy);margin:0 0 16px}
  .how-apply p{color:var(--muted);font-size:17px;margin:0 0 40px;line-height:1.7}
  .apply-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin:40px 0}
  .apply-step{padding:24px}
  .apply-step-num{font-size:48px;font-weight:900;color:var(--gold);margin:0 0 12px;line-height:1}
  .apply-step h3{color:var(--navy);font-size:18px;margin:0 0 12px}
  .apply-step p{color:var(--muted);font-size:15px;margin:0;line-height:1.6}

  /* CTA section */
  .apply-cta{padding:56px 20px;background:linear-gradient(135deg, var(--navy) 0%, var(--blue) 100%);color:#fff;text-align:center}
  .apply-cta h2{font-size:36px;margin:0 0 12px;color:#fff}
  .apply-cta p{font-size:18px;margin:0 0 28px;color:#e8f1f8}
  .apply-cta .btn{background:#fff;color:var(--blue)}

  /* Application form section */
  .apply-form-section{padding:64px 20px;background:var(--bg)}
  .apply-form-section .wrap{max-width:760px;margin:auto}
  .apply-head{text-align:center;margin-bottom:36px}
  .apply-head .eyebrow{color:var(--blue)}
  .apply-head h2{font-size:32px;color:var(--navy);margin:6px 0 12px;font-weight:800}
  .apply-head p{color:var(--muted);font-size:15px;margin:0}
  .apply-head .req{color:#c0392b;font-weight:700}

  .apply-form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px;box-shadow:0 6px 22px rgba(15,30,50,.06)}
  .apply-form fieldset{border:0;padding:0;margin:0 0 28px}
  .apply-form legend{color:var(--navy);font-weight:800;font-size:15px;letter-spacing:.04em;text-transform:uppercase;margin:0 0 14px;padding:0;border-bottom:2px solid var(--line);width:100%;padding-bottom:10px}
  .apply-form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
  .apply-form .row.three{grid-template-columns:2fr 1fr 1fr}
  .apply-form label{display:flex;flex-direction:column;font-weight:700;font-size:13px;color:var(--navy);gap:6px}
  .apply-form label.full{grid-column:1 / -1}
  .apply-form input[type="text"],
  .apply-form input[type="email"],
  .apply-form input[type="tel"],
  .apply-form textarea{padding:11px 12px;border:1px solid #cbd6df;border-radius:8px;font:inherit;font-weight:400;color:var(--ink);width:100%;box-sizing:border-box}
  .apply-form textarea{resize:vertical;min-height:80px;font-family:inherit}
  .apply-form input:focus,
  .apply-form textarea:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
  .apply-form .radio-group{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);padding:16px 18px;border-radius:10px;background:var(--bg)}
  .apply-form .radio-group legend{border:0;text-transform:none;font-size:13px;color:var(--ink);font-weight:600;padding:0;margin-bottom:8px;letter-spacing:0}
  .apply-form .radio{flex-direction:row;align-items:center;font-weight:600;color:var(--ink);font-size:14px;gap:8px}
  .apply-form .radio input{width:16px;height:16px;margin:0}
  .apply-form .file-field input[type="file"]{padding:10px;background:var(--bg);border:1px dashed #cbd6df;border-radius:8px;font:inherit;cursor:pointer}
  .apply-form .req{color:#c0392b;font-weight:700}
  .apply-form .eeo{margin:24px 0 0;font-size:12px;color:var(--muted);line-height:1.55;background:var(--bg);padding:14px 18px;border-left:3px solid var(--gold);border-radius:6px}
  .apply-form .form-actions{display:flex;align-items:center;gap:18px;margin-top:24px;flex-wrap:wrap}
  .apply-form button[type="submit"]{padding:14px 32px;font-size:15px}
  .apply-form button[disabled]{opacity:.6;cursor:not-allowed}
  .form-status{font-size:14px;font-weight:600;color:var(--muted)}
  .form-status.success{color:#1f7a3a}
  .form-status.error{color:#c0392b}

  /* Mobile */
  @media (max-width: 900px){
    .why-cards{grid-template-columns:repeat(2,1fr)}
    .apply-steps{grid-template-columns:1fr}
    .hero h1{font-size:40px}
    .why-head h2,.positions-head h2{font-size:28px}
    .apply-form{padding:24px}
    .apply-form .row,
    .apply-form .row.three{grid-template-columns:1fr}
  }

  @media (max-width: 600px){
    .why-cards{grid-template-columns:1fr}
    .position-card{padding:20px}
    .apply-steps{gap:20px}
  }
/* ============================================================================ */
/* PARTNER PAGES */
/* ============================================================================ */
/* used by: pages/partners/gsa-movers.php */
.std-hero{background:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/08/GSA-moves-768.webp') center/cover;color:#fff;padding:80px 20px;text-align:center}@media (min-width:769px){.std-hero{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/08/GSA-moves-1280.webp')}}
  .std-hero h1{font-size:42px;line-height:1.05;margin:0 0 12px;color:#fff;font-weight:800}
  .std-hero .lede{font-size:18px;max-width:720px;margin:0 auto;opacity:.92}
  .std{padding:64px 20px;background:#fff}
  .std .wrap{max-width:820px;margin:auto;font-size:17px;line-height:1.7;color:var(--ink)}
  .std h2{font-size:26px;color:var(--navy);margin:32px 0 14px;font-weight:800}
  .std h3{font-size:20px;color:var(--navy);margin:24px 0 10px;font-weight:700}
  .std p{margin:0 0 18px}
  .std ul,.std ol{margin:0 0 22px;padding-left:22px}
  .std a{color:var(--blue);text-decoration:none;font-weight:600;border-bottom:1px solid rgba(31,111,174,.3)}
  .std a:hover{color:var(--navy);border-bottom-color:var(--navy)}
/* used by: pages/legal/covid.php, pages/legal/privacy-policy.php, pages/partners/become-a-realtor-partner.php, pages/partners/international-moving-services.php, pages/partners/trade-partner-services.php */
.std-hero{background:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/05/19702902_10155045095538509_4933585947507131632_o-768.webp') center/cover;color:#fff;padding:80px 20px;text-align:center}@media (min-width:769px){.std-hero{background-image:linear-gradient(rgba(15,25,40,.55),rgba(15,25,40,.42)),url('/assets/img/uploads/2020/05/19702902_10155045095538509_4933585947507131632_o-1280.webp')}}
  .std-hero h1{font-size:42px;line-height:1.05;margin:0 0 12px;color:#fff;font-weight:800}
  .std-hero .lede{font-size:18px;max-width:720px;margin:0 auto;opacity:.92}
  .std{padding:64px 20px;background:#fff}
  .std .wrap{max-width:820px;margin:auto;font-size:17px;line-height:1.7;color:var(--ink)}
  .std h2{font-size:26px;color:var(--navy);margin:32px 0 14px;font-weight:800}
  .std h3{font-size:20px;color:var(--navy);margin:24px 0 10px;font-weight:700}
  .std p{margin:0 0 18px}
  .std ul,.std ol{margin:0 0 22px;padding-left:22px}
  .std a{color:var(--blue);text-decoration:none;font-weight:600;border-bottom:1px solid rgba(31,111,174,.3)}
  .std a:hover{color:var(--navy);border-bottom-color:var(--navy)}
/* ============================================================================ */
/* HOMEPAGE */
/* ============================================================================ */
/* used by: index.php */
/* Hero — poster image is the LCP. Video sits behind, attaches post-LCP
     on capable desktops only. Mobile / reduced-motion / data-saver users
     never download the video. */
  .hero{
    position:relative;color:#fff;
    background:#0a1825 url('/assets/img/hero/dn-hero-poster-1280.webp') center 30%/cover no-repeat;
    overflow:hidden;isolation:isolate;
  }
  @media (max-width:768px){.hero{background-image:url('/assets/img/hero/dn-hero-poster-768.webp')}}
  .hero-video{
    position:absolute;inset:0;width:100%;height:100%;
    object-fit:cover;z-index:0;
    opacity:0;transition:opacity .8s ease;pointer-events:none;
  }
  .hero-video.is-ready{opacity:1}
  .hero::before{
    content:"";position:absolute;inset:0;z-index:1;
    background:linear-gradient(120deg,rgba(9,25,41,.92) 0%,rgba(9,25,41,.78) 45%,rgba(9,25,41,.55) 100%);
  }
  @media (max-width:800px){.hero-video{display:none}}
  @media (prefers-reduced-motion: reduce){.hero-video{display:none}}

  .hero .wrap{position:relative;z-index:2;padding:120px 24px 110px;display:grid;grid-template-columns:1.4fr 1fr;gap:64px;align-items:end;max-width:1200px;margin:auto}
  .hero-text .pill{display:inline-block;background:rgba(242,184,75,.16);color:var(--gold);padding:7px 14px;border-radius:20px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:24px;border:1px solid rgba(242,184,75,.3)}
  .hero h1{color:#fff;font-size:68px;line-height:1.02;font-weight:800;letter-spacing:-.025em;margin-bottom:22px;text-wrap:balance}
  .hero h1 em{font-style:normal;color:var(--gold)}
  .hero .lede{font-size:19px;max-width:560px;color:#cfdbe7;margin-bottom:36px;line-height:1.55}
  .hero .actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:48px}
  .hero .trust-strip{display:flex;gap:34px;flex-wrap:wrap;align-items:center;padding-top:32px;border-top:1px solid rgba(255,255,255,.16)}
  .hero .trust-item{display:flex;flex-direction:column;gap:2px}
  .hero .trust-item strong{font-size:24px;font-weight:800;color:var(--gold);letter-spacing:-.02em;line-height:1}
  .hero .trust-item span{font-size:12px;color:#8da4bd;text-transform:uppercase;letter-spacing:.08em;font-weight:600}

  .quote-card{background:#fff;color:var(--ink);border-radius:14px;padding:28px;box-shadow:0 24px 60px rgba(0,0,0,.35);align-self:end}
  .quote-card h3{font-size:20px;font-weight:700;color:var(--navy);margin-bottom:6px;letter-spacing:-.01em}
  .quote-card .qsub{font-size:14px;color:var(--muted);margin-bottom:18px}
  .quote-fields{display:grid;gap:12px}
  .quote-fields .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .quote-fields label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:4px}
  .quote-fields input,.quote-fields select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font-size:15px;font-family:inherit;color:var(--ink);background:#fff;transition:border-color .15s}
  .quote-fields input:focus,.quote-fields select:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(31,111,174,.15)}
  .quote-card .submit{margin-top:6px;width:100%;justify-content:center}
  .quote-card .fineprint{margin-top:12px;font-size:12px;color:var(--muted);text-align:center}

  .trust-band{background:var(--bg);border-bottom:1px solid var(--line);padding:24px 0 0}
  .trust-band .wrap{display:flex;flex-direction:column;align-items:center;gap:6px}
  .trust-band .label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;padding-top:14px}
  .trust-band .label::before,.trust-band .label::after{content:" — ";opacity:.5}
  .trust-band .badges{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;width:100%;max-width:1220px;flex-wrap:wrap}
  .trust-band .badges img{height:144px;width:auto;max-width:260px;object-fit:contain;display:block;filter:grayscale(1) opacity(.7);transition:filter .25s,transform .25s}
  .trust-band .badges img:hover{filter:grayscale(0) opacity(1);transform:translateY(-2px) scale(1.04)}
  .trust-band .badges img.iamx{transform:translateY(9px)}
  .trust-band .badges img.iamx:hover{transform:translateY(7px) scale(1.04)}

  .services{padding:64px 0 80px;background:#fff}
  .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
  .svc-card{padding:36px 30px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:transform .25s,box-shadow .25s,border-color .25s;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}
  .svc-card::after{content:"";position:absolute;inset:auto 0 0 0;height:3px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s}
  .svc-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(15,50,74,.08);border-color:transparent}
  .svc-card:hover::after{transform:scaleX(1)}
  .svc-icon{width:52px;height:52px;border-radius:12px;background:rgba(31,111,174,.08);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:26px}
  .svc-card h3{font-size:22px;font-weight:700;color:var(--navy);letter-spacing:-.015em}
  .svc-card p{color:var(--muted);font-size:15px;line-height:1.6}
  .svc-card a.more{color:var(--blue);font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:6px;text-decoration:none}
  .svc-card a.more:hover{gap:10px;transition:gap .15s}

  .why{padding:64px 0 80px;background:var(--navy);color:#fff;position:relative;overflow:hidden}
  .why::before{content:"";position:absolute;top:-100px;right:-100px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(242,184,75,.08),transparent 70%)}
  .why .wrap{position:relative;display:grid;grid-template-columns:1fr 1.1fr;gap:80px;align-items:center}
  .why-content .eyebrow{margin-bottom:14px}
  .why-content h2{color:#fff;font-size:42px;font-weight:800;letter-spacing:-.025em;line-height:1.05;margin-bottom:18px}
  .why-content p{font-size:17px;color:#bcc7d2;line-height:1.65;margin-bottom:14px}
  .why-content .actions{margin-top:28px;display:flex;gap:12px}
  .stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.08);border-radius:14px;overflow:hidden}
  .stat{padding:36px 30px;background:rgba(255,255,255,.03)}
  .stat-num{font-size:54px;font-weight:800;color:var(--gold);letter-spacing:-.03em;line-height:1;margin-bottom:8px}
  .stat-label{font-size:14px;color:#cfdbe7;font-weight:500;line-height:1.5}

  .testimonials{padding:64px 0 40px;background:var(--bg)}
  .test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
  .test{background:#fff;border-radius:14px;padding:32px;border:1px solid var(--line);position:relative}
  .test .stars{color:var(--gold);font-size:16px;letter-spacing:2px;margin-bottom:14px}
  .test blockquote{font-size:15px;line-height:1.65;color:var(--ink);margin-bottom:20px;font-weight:500}
  .test .by{display:flex;align-items:center;gap:12px}
  .test .by .av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--navy));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px}
  .test .by-info strong{display:block;font-size:14px;color:var(--navy);font-weight:700}
  .test .by-info span{font-size:12px;color:var(--muted)}
  .test-grid > .test:nth-child(4){display:none}
  @media (max-width:1000px) and (min-width:681px){.test-grid > .test:nth-child(4){display:block}}
  .test-cta{text-align:center;margin-top:32px}
  .test-cta a{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--blue);padding:8px 4px;border-bottom:2px solid transparent;transition:gap .15s,border-color .15s}
  .test-cta a:hover{gap:12px;border-bottom-color:var(--blue)}

  .locations{padding:64px 0 80px;background:#fff}
  .loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}
  .loc{padding:32px 24px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:center;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:10px}
  .loc:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,50,74,.07)}
  .loc-flag{font-size:36px;line-height:1;display:block;margin-bottom:4px}
  .loc h3{font-size:18px;font-weight:700;color:var(--navy);margin:0;letter-spacing:-.01em}
  .loc p{font-size:13px;color:var(--muted);margin:0 0 6px;line-height:1.55;flex:1}
  .loc a{color:var(--blue);font-weight:700;font-size:14px;display:inline-flex;align-items:center;gap:4px;transition:gap .15s;text-decoration:none}
  .loc a:hover{gap:8px}

  .cta-band{padding:80px 0;background:linear-gradient(135deg,var(--navy-2) 0%,var(--blue) 100%);color:#fff;text-align:center}
  .cta-band h2{color:#fff;font-size:44px;font-weight:800;letter-spacing:-.025em;line-height:1.05;margin-bottom:14px;text-wrap:balance}
  .cta-band p{font-size:18px;color:#bcc7d2;margin-bottom:32px;max-width:560px;margin-left:auto;margin-right:auto}
  .cta-band .actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

  @media (max-width:1024px){
    .hero .wrap{grid-template-columns:1fr;gap:48px;padding:80px 24px}
    .hero h1{font-size:48px}
    .why .wrap{grid-template-columns:1fr;gap:48px}
    .svc-grid{grid-template-columns:1fr 1fr}
  }
  @media (max-width:1000px){.test-grid{grid-template-columns:1fr 1fr}}
  @media (max-width:680px){
    .hero h1{font-size:38px}
    .hero .lede{font-size:17px}
    .why-content h2,.cta-band h2{font-size:32px}
    .stat-num{font-size:42px}
    .svc-grid,.test-grid,.loc-grid{grid-template-columns:1fr}
    .stats{grid-template-columns:1fr 1fr}
    .quote-fields .row{grid-template-columns:1fr}
    .hero .trust-strip{gap:18px}
    .hero .trust-item strong{font-size:20px}
    .trust-band .badges img{height:74px}
  }


/* ============================================================================ */
/* NEWS POSTS (in-the-news index + 32 individual post pages)                    */
/* Replaces five recurring inline styles on each post page.                     */
/* ============================================================================ */
.svc-hero.svc-hero-news{text-align:center;padding:72px 24px 56px}
.svc-hero.svc-hero-news .eyebrow a{color:var(--gold)}
.svc-hero.svc-hero-news h1{margin-top:14px}
.post-body{padding:64px 20px;background:#fff}
.post-body > .wrap{max-width:780px}
