/* ==================== 01. VARIABLES ==================== */

:root { --navy:#08263b; --navy-deep:#051b2b; --navy-soft:#0d3551; --red:#c13a2f; --red-dark:#a92e25; --cream:#f4efe6; --paper:#fbfaf7; --white:#ffffff; --text:#17222b; --muted:#68747c; --line:#dfe3e5; --line-dark:rgba(255,255,255,.12); --green:#27b36a; --shadow:0 22px 55px rgba(8,38,59,.10); --container:1240px;}

/* ==================== 02. RESET & BASE ==================== */

* { box-sizing:border-box;}
html { scroll-behavior:smooth;}
body { margin:0; background:var(--paper); color:var(--text); font-family:"Inter",sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased;}
body.menu-open { overflow:hidden;}
img { max-width:100%; display:block;}
a { color:inherit; text-decoration:none;}
button,input,select,textarea { font:inherit;}
button { cursor:pointer;}
svg { display:block; width:100%; height:100%; fill:currentColor;}

/* ==================== 03. GLOBAL LAYOUT ==================== */

.container { width:min(calc(100% - 40px),var(--container)); margin:0 auto;}
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.skip-link { position:absolute; left:-9999px; top:12px; z-index:9999; padding:10px 14px; border-radius:6px; background:#fff; color:#000;}
.skip-link:focus { left:12px;}
.section { padding:96px 0;}
.section-kicker { display:inline-block; color:var(--red); font-family:"Oswald",sans-serif; font-size:17px; font-weight:700; letter-spacing:2px; text-transform:uppercase;}
.section-kicker.light { color:#ff9d93;}
.section-heading { margin-bottom:38px;}
.section-heading-row { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.7fr); gap:60px; align-items:end; margin-top:10px;}
.section-heading h2,.why-copy h2,.process-heading h2,.request-copy h2 { margin:0; font-family:"Oswald",sans-serif; font-size:clamp(38px,4vw,54px); line-height:1.05; letter-spacing:-1.3px; text-transform:uppercase;}
.section-heading p,.why-copy>p,.process-heading>p,.request-copy>p { margin:0; color:var(--muted); font-size:16px;}

/* ==================== 04. TOPBAR ==================== */

.topbar { background:var(--navy-deep); color:#c9d3db; font-size:13px;}
.topbar-inner { min-height:34px; display:flex; align-items:center; justify-content:space-between; gap:20px;}
.topbar a { color:#fff;}
.topbar strong { color:#ffb3ab;}

/* ==================== 05. HEADER ==================== */

.site-header { position:sticky; top:0; z-index:1000; border-bottom:1px solid rgba(8,38,59,.08); background:rgba(255,255,255,.96); backdrop-filter:blur(18px);}
.header-inner { min-height:80px; display:grid; grid-template-columns:320px 1fr 185px; align-items:center; gap:24px;}
.brand { display:flex; align-items:center; gap:12px; min-width:0;}
.brand img { width:62px; height:62px; object-fit:contain; flex:0 0 62px;}
.brand-text { display:flex; flex-direction:column; min-width:0; line-height:1;}
.brand-text strong { color:var(--navy); font-family:"Oswald",sans-serif; font-size:22px; font-weight:700; letter-spacing:.3px; text-transform:uppercase; white-space:nowrap;}
.brand-text span { margin-top:6px; color:#7b858c; font-size:10px; font-weight:800; letter-spacing:1.7px; text-transform:uppercase; white-space:nowrap;}
.main-nav { display:flex; align-items:center; justify-content:center; gap:28px;}
.main-nav a { position:relative; color:#35444f; font-size:14px; font-weight:700;}
.main-nav a:after { content:""; position:absolute; left:0; right:100%; bottom:-9px; height:2px; background:var(--red); transition:.2s ease;}
.main-nav a:hover { color:var(--navy);}
.main-nav a:hover:after { right:0;}
.header-call { min-height:48px; display:flex; align-items:center; justify-content:center; gap:10px; padding:7px 14px; border-radius:7px; background:var(--red); color:#fff; box-shadow:0 7px 18px rgba(193,58,47,.20);}
.header-call-icon { width:20px; height:20px; flex:0 0 20px;}
.header-call>span:last-child { display:flex; flex-direction:column; line-height:1.05;}
.header-call small { font-size:10px; font-weight:700; letter-spacing:1px; text-transform:uppercase; opacity:.85;}
.header-call strong { margin-top:3px; font-size:13px;}
.menu-toggle { display:none; width:44px; height:44px; padding:10px; border:1px solid var(--line); border-radius:7px; background:#fff;}
.menu-toggle span:not(.sr-only) { display:block; height:2px; margin:5px 0; border-radius:3px; background:var(--navy);}

/* ==================== 06. HERO ==================== */

.hero { position:relative; overflow:hidden; padding:82px 0 76px; background:linear-gradient(135deg,#f8f5ef 0%,#f4efe6 62%,#efe8dc 100%); border-bottom:1px solid #e2ded6;}
.hero-lines { position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(8,38,59,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(8,38,59,.025) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(90deg,transparent 0%,#000 40%,#000 100%);}
.hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.04fr) minmax(390px,.76fr); gap:72px; align-items:center;}
.hero-copy { max-width:690px;}
.eyebrow { display:inline-flex; align-items:center; gap:10px; color:var(--red); font-size:13px; font-weight:800; letter-spacing:1.8px; text-transform:uppercase;}
.eyebrow:before { content:""; width:30px; height:2px; background:var(--red);}
.hero h1 { margin:20px 0 24px; color:var(--navy); font-family:"Oswald",sans-serif; font-size:clamp(56px,6vw,82px); line-height:.95; letter-spacing:-2.6px; text-transform:uppercase;}
.hero h1 span { color:var(--red);}
.hero-lead { max-width:650px; margin:0; color:#4e5b63; font-size:18px; line-height:1.75;}
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:32px;}
.btn { min-height:54px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:0 24px; border:1px solid transparent; border-radius:7px; font-size:14px; font-weight:800; transition:.2s ease;}
.btn:hover { transform:translateY(-1px);}
.btn svg { width:18px; height:18px;}
.btn-primary { background:var(--red); color:#fff; box-shadow:0 9px 24px rgba(193,58,47,.18);}
.btn-primary:hover { background:var(--red-dark);}
.btn-outline { border-color:#b9c1c6; background:#fff; color:var(--navy);}
.btn-outline:hover { border-color:var(--navy);}
.hero-trust { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:38px;}
.hero-trust div { padding-top:14px; border-top:1px solid #d4d9dc;}
.hero-trust span { display:block; margin-bottom:4px; color:var(--red); font-size:10px; font-weight:800; letter-spacing:1px;}
.hero-trust strong { display:block; color:#41505a; font-size:11px; line-height:1.45;}

/* ==================== 07. DISPATCH CARD ==================== */

.dispatch-card { overflow:hidden; border:1px solid #d8dee1; border-radius:14px; background:#fff; box-shadow:var(--shadow);}
.dispatch-header { padding:25px 26px 20px; border-bottom:1px solid #e4e8ea;}
.dispatch-status { display:inline-flex; align-items:center; gap:8px; color:#587069; font-size:11px; font-weight:800; letter-spacing:.8px; text-transform:uppercase;}
.dispatch-status i { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 5px rgba(39,179,106,.10);}
.dispatch-header h2 { margin:10px 0 4px; color:var(--navy); font-family:"Oswald",sans-serif; font-size:29px; line-height:1; text-transform:uppercase;}
.dispatch-header p { margin:0; color:#7b858c; font-size:13px;}
.dispatch-services a { display:grid; grid-template-columns:42px 1fr auto; gap:13px; align-items:center; padding:16px 26px; border-bottom:1px solid #edf0f1; transition:.2s ease;}
.dispatch-services a:hover { background:#f8fafb;}

.service-icon { width:42px; height:42px; display:grid; place-items:center; padding:10px; border-radius:10px; background:#edf3f6; color:var(--navy);}

.dispatch-services strong { display:block; color:#263944; font-size:14px;}
.dispatch-services small { display:block; margin-top:3px; color:#889198; font-size:14px; line-height:1.4;}
.dispatch-services b { color:var(--red); font-size:18px;}
.dispatch-footer { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:17px 26px; background:#faf7f1; font-size:12px;}
.dispatch-footer span { color:#7b858c;}
.dispatch-footer a { color:var(--red); font-weight:800;}

/* ==================== 08. TRUST STRIP ==================== */

.trust-strip { border-bottom:1px solid #e4e7e8; background:#fff;}
.trust-strip-grid { display:grid; grid-template-columns:repeat(3,1fr);}

.trust-strip-grid>div { min-height:105px; padding:26px 20px; border-right:1px solid #e5e8ea;}

.trust-strip-grid>div:first-child { padding-left:0;}
.trust-strip-grid>div:last-child { padding-right:0; border-right:0;}

.trust-strip strong { display:block; color:var(--navy); font-size:17px;}
.trust-strip span { display:block; margin-top:5px; color:#7a858c; font-size:15px; line-height:1.55;}

/* ==================== 09. SERVICES ==================== */

.services { background:var(--paper);}
.service-grid { display:grid; grid-template-columns:1.25fr repeat(3,1fr); gap:18px;}
.service-card { min-height:340px; display:flex; flex-direction:column; padding:28px; border:1px solid #dde2e5; border-radius:12px; background:#fff; transition:.22s ease;}
.service-card:hover { transform:translateY(-3px); border-color:#c8d0d4; box-shadow:0 15px 34px rgba(8,38,59,.08);}
.service-featured { background:linear-gradient(145deg,#0a2b42,#08263b); border-color:var(--navy); color:#fff;}
.card-top { min-height:46px; display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:23px;}
.card-icon { width:46px; height:46px; display:grid; place-items:center; padding:11px; border-radius:11px; background:#edf3f6; color:var(--navy);}
.service-featured .card-icon { background:rgba(255,255,255,.11); color:#fff;}
.service-badge { padding:7px 10px; border:1px solid rgba(255,255,255,.15); border-radius:999px; color:#b9e8ce; font-size:10px; font-weight:800; letter-spacing:.6px; text-transform:uppercase;}
.service-card h3 { margin:0 0 13px; color:var(--navy); font-family:"Oswald",sans-serif; font-size:27px; line-height:1.08; text-transform:uppercase;}
.service-featured h3 { color:#fff;}
.service-card p { margin:0; color:#5e6b73; font-size:15px; line-height:1.65;}
.service-featured p { color:#ced9df;}

.service-card small {display: block;margin-top: 14px;color: #9dafb9;font-size: 14px;line-height: 1.55;margin-bottom: 14px;}

.service-card>a { width:100%; min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:9px; margin-top:auto; padding:0 16px; border:1px solid var(--red); border-radius:7px; background:var(--red); color:#fff; font-size:13px; font-weight:800; transition:.2s ease;}
.service-featured>a { border-color:#fff; background:#fff; color:var(--navy);}
.service-card>a span { font-size:18px; transition:.2s ease;}
.service-card>a:hover { background:var(--red-dark); border-color:var(--red-dark); transform:translateY(-1px);}
.service-featured>a:hover { background:#f1f4f5; border-color:#f1f4f5; color:var(--navy);}
.service-card>a:hover span { transform:translateX(3px);}

/* ==================== 10. PROCESS ==================== */

.process { position:relative; overflow:hidden; background:var(--navy); color:#fff;}
.process:after { content:""; position:absolute; width:520px; height:520px; right:-250px; top:-220px; border:1px solid rgba(255,255,255,.07); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018); pointer-events:none;}

.process-heading { position:relative; z-index:1; max-width:760px; margin-bottom:48px;}
.process-heading h2 { margin-top:10px; color:#fff;}
.process-heading>p { max-width:690px; margin-top:15px; color:#aebec8;}

.process-grid { position:relative; z-index:1; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.12);}
.process-grid article { min-height:215px; padding:31px 40px 20px 0; border-right:1px solid rgba(255,255,255,.12);}
.process-grid article:nth-child(2) { padding-left:40px;}
.process-grid article:last-child { padding-left:40px; border-right:0;}

.step-number { display:block; color:#ff7e72; font-size:10px; font-weight:800; letter-spacing:1px;}

.process-grid h3 { margin:14px 0 8px; font-family:"Oswald",sans-serif; font-size:23px; text-transform:uppercase;}
.process-grid p { max-width:340px; margin:0; color:#b8c6ce; font-size:15px; line-height:1.65;}

/* ==================== 11. WHY VANGUARD ==================== */

.why { background:#fff;}
.why-grid { display:grid; grid-template-columns:.78fr 1.22fr; gap:80px; align-items:start;}
.why-copy { position:sticky; top:130px;}
.why-copy h2 { margin-top:10px; color:var(--navy);}
.why-copy>p { margin-top:16px; line-height:1.7;}
.text-link { display:inline-flex; align-items:center; gap:8px; margin-top:24px; color:var(--red); font-size:14px; font-weight:800;}
.text-link span { font-size:17px;}
.why-request-btn { min-height:48px; display:inline-flex; align-items:center; justify-content:center; gap:9px; margin-top:26px; padding:0 20px; border:1px solid var(--red); border-radius:7px; background:var(--red); color:#fff; font-size:14px; font-weight:800; box-shadow:0 8px 20px rgba(193,58,47,.16); transition:.2s ease;}
.why-request-btn:hover { background:var(--red-dark); border-color:var(--red-dark); transform:translateY(-1px);}
.why-request-btn span { font-size:18px; transition:.2s ease;}
.why-request-btn:hover span { transform:translateX(3px);}
.why-points { border-top:1px solid #dfe4e6;}
.why-points article { display:grid; grid-template-columns:48px 1fr; gap:18px; align-items:start; padding:25px 0; border-bottom:1px solid #dfe4e6;}
.why-icon { width:42px; height:42px; display:grid; place-items:center; padding:10px; border-radius:10px; background:#edf3f6; color:var(--navy);}
.why-icon svg { width:100%; height:100%; fill:currentColor;}
.why-points h3 { margin:0 0 5px; color:var(--navy); font-size:16px;}
.why-points p { margin:0; color:#68757c; font-size:14px; line-height:1.6;}


/* ==================== 12.5 SEO CONTENT ==================== */

.seo-overview { background:#f8f6f1; border-top:1px solid #e3e6e7; border-bottom:1px solid #e3e6e7;}
.seo-overview-grid { display:grid; grid-template-columns:.86fr 1.14fr; gap:80px; align-items:start;}
.seo-overview-heading h2 { margin:10px 0 0; color:var(--navy); font-family:"Oswald",sans-serif; font-size:clamp(34px,3.6vw,40px); line-height:1.08; letter-spacing:-1px; text-transform:uppercase;}
.seo-overview-copy p { margin:0 0 16px; color:#5f6d75; font-size:15px; line-height:1.75;}
.seo-service-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:23px;}
.seo-service-links a { padding:10px 14px; border:1px solid #d5dcdf; border-radius:999px; background:#fff; color:var(--navy); font-size:12px; font-weight:800;}
.seo-service-links a:hover { border-color:var(--red); color:var(--red);}

/* ==================== 12. FAQ ==================== */

.faq { background:#f4f6f6; border-top:1px solid #e3e7e8;}
.faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.faq details { border:1px solid #dce1e3; border-radius:9px; background:#fff;}
.faq summary { position:relative; padding:21px 50px 21px 22px; color:var(--navy); font-size:15px; font-weight:800; cursor:pointer; list-style:none;}
.faq summary::-webkit-details-marker { display:none;}
.faq summary:after { content:"+"; position:absolute; right:20px; top:15px; color:var(--red); font-size:23px; font-weight:500;}
.faq details[open] summary:after { content:"–";}
.faq details p { margin:0; padding:0 22px 22px; color:#68757d; font-size:14px; line-height:1.7;}

/* ==================== 13. REQUEST ASSISTANCE ==================== */

.request { position:relative; overflow:hidden; padding:88px 0; background:linear-gradient(135deg,#071f31,#08263b 60%,#0d3551);}
.request:before { content:""; position:absolute; width:430px; height:430px; left:-240px; bottom:-270px; border:1px solid rgba(255,255,255,.06); border-radius:50%; box-shadow:0 0 0 65px rgba(255,255,255,.02),0 0 0 130px rgba(255,255,255,.015);}
.request-grid { position:relative; z-index:1; display:grid; grid-template-columns:.72fr 1.28fr; gap:75px; align-items:start;}
.request-copy { padding-top:18px; color:#fff;}
.request-copy h2 { margin-top:10px; color:#fff;}
.request-copy>p { margin-top:15px; color:#aebdc7; line-height:1.7;}
.request-call { display:flex; align-items:center; gap:13px; max-width:290px; margin-top:28px; padding:15px; border:1px solid rgba(255,255,255,.13); border-radius:9px; background:rgba(255,255,255,.05);}
.request-call>span { width:40px; height:40px; display:grid; place-items:center; flex:0 0 40px; padding:10px; border-radius:8px; background:var(--red); color:#fff;}
.request-call div { display:flex; flex-direction:column;}
.request-call small { color:#9fb0ba; font-size:11px;}
.request-call strong { margin-top:2px; color:#fff; font-size:16px;}
.request-tagline { margin-top:28px; color:#8096a2; font-family:"Oswald",sans-serif; font-size:17px; letter-spacing:1px; text-transform:uppercase;}
.request-form { padding:28px; border-radius:13px; background:#fff; box-shadow:0 28px 70px rgba(0,0,0,.18);}
.form-grid { display:grid; gap:14px;}
.form-grid.two { grid-template-columns:1fr 1fr;}
.request-form label { display:block; margin-bottom:15px;}
.request-form label>span { display:block; margin-bottom:7px; color:#42515a; font-size:12px; font-weight:800;}
.request-form input,.request-form select,.request-form textarea { width:100%; border:1px solid #d7dde0; outline:0; border-radius:7px; background:#fbfcfc; color:#26343d; transition:.2s ease;}
.request-form input,.request-form select { height:46px; padding:0 12px;}
.request-form textarea { min-height:120px; padding:12px; resize:vertical;}
.request-form input:focus,.request-form select:focus,.request-form textarea:focus { border-color:#9cacb5; box-shadow:0 0 0 3px rgba(8,38,59,.05);}
.request-form ::placeholder { color:#9ba5ab;}
.location-row { display:grid; grid-template-columns:1fr auto;}
.location-row input { border-radius:7px 0 0 7px;}
.location-row button { min-width:155px; border:1px solid var(--navy); border-left:0; border-radius:0 7px 7px 0; background:var(--navy); color:#fff; font-size:12px; font-weight:800;}
.form-note { margin:-2px 0 16px; padding:11px 13px; border-left:3px solid var(--red); background:#f8f3f1; color:#766963; font-size:11px; line-height:1.55;}
.submit-button { width:100%; min-height:50px; border:0; border-radius:7px; background:var(--red); color:#fff; font-size:14px; font-weight:800;}
.submit-button:hover { background:var(--red-dark);}
.submit-button span { margin-left:7px; font-size:16px;}
.form-message { min-height:17px; margin:9px 0 0; color:#66747d; font-size:12px; text-align:center;}

/* ==================== 14. FOOTER ==================== */

.site-footer { background:#041725; color:#fff;}
.footer-grid { display:grid; grid-template-columns:1.35fr .7fr .9fr .9fr; gap:45px; padding-top:48px; padding-bottom:48px;}
.footer-brand { display:flex; align-items:center; gap:15px;}
.footer-brand img { width:86px; height:86px; object-fit:contain;}
.footer-brand div { display:flex; flex-direction:column; line-height:1;}
.footer-brand strong { font-family:"Oswald",sans-serif; font-size:23px; text-transform:uppercase;}
.footer-brand span { margin-top:6px; color:#b9c5cc; font-size:10px; font-weight:800; letter-spacing:1.4px; text-transform:uppercase;}
.footer-brand small { margin-top:10px; color:#718996; font-size:11px;}
.footer-column { display:flex; flex-direction:column; gap:8px;}
.footer-column h3 { margin:0 0 6px; color:#fff; font-size:13px; text-transform:uppercase;}
.footer-column a { color:#9dafb9; font-size:12px;}
.footer-column a:hover { color:#fff;}
.footer-bottom { border-top:1px solid rgba(255,255,255,.08);}
.footer-bottom .container { min-height:54px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:#718995; font-size:11px;}

/* ==================== 15. MOBILE CTA ==================== */

.mobile-cta { display:none;}

/* ==================== 16. RESPONSIVE - 1100PX ==================== */

@media (max-width:1100px) {
  .header-inner { grid-template-columns:280px 1fr 170px; gap:14px;}
  .main-nav { gap:16px;}
  .main-nav a { font-size:12px;}
  .brand-text strong { font-size:20px;}
  .brand-text span { font-size:8px;}
  .hero-grid { grid-template-columns:1fr 390px; gap:42px;}
  .service-grid { grid-template-columns:1fr 1fr;}
  .request-grid { grid-template-columns:.8fr 1.2fr; gap:44px;}
  .footer-grid { grid-template-columns:1.2fr .7fr .8fr;}
  .footer-grid>.footer-column:last-child { grid-column:2 / 4;}
}

/* ==================== 17. RESPONSIVE - 820PX ==================== */

@media (max-width:820px) {
  .topbar { display:none;}
  .site-header { top:0;}
  .header-inner { min-height:70px; grid-template-columns:1fr auto;}
  .brand img { width:55px; height:55px; flex-basis:55px;}
  .brand-text strong { font-size:19px;}
  .header-call { display:none;}
  .menu-toggle { display:block;}
  .main-nav { position:absolute; left:0; right:0; top:70px; display:flex; flex-direction:column; align-items:stretch; gap:0; padding:12px 20px 18px; border-top:1px solid #e6e9ea; background:#fff; box-shadow:0 15px 25px rgba(8,38,59,.10); opacity:0; visibility:hidden; transform:translateY(-8px); transition:.2s ease;}
  .main-nav.open { opacity:1; visibility:visible; transform:none;}
  .main-nav a { padding:11px 4px; font-size:13px;}
  .main-nav a:after { display:none;}
  .hero { padding:65px 0;}
  .hero-grid,.why-grid,.request-grid { grid-template-columns:1fr;}
  .hero-grid { gap:42px;}
  .hero-copy { max-width:720px;}
  .dispatch-card { max-width:620px;}
  .hero-trust { max-width:650px;}
  .trust-strip-grid { grid-template-columns:1fr;}
  .trust-strip-grid>div,.trust-strip-grid>div:first-child,.trust-strip-grid>div:last-child { min-height:auto; padding:18px 0; border-right:0; border-bottom:1px solid #e5e8ea;}
  .trust-strip-grid>div:last-child { border-bottom:0;}
  .section { padding:72px 0;}
  .section-heading-row { grid-template-columns:1fr; gap:15px;}
  .process-grid { grid-template-columns:1fr;}
  .process-grid article,.process-grid article:nth-child(2),.process-grid article:last-child { min-height:auto; padding:25px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.12);}
  .process-grid article:last-child { border-bottom:0;}
  .why-grid { gap:40px;}
  .why-copy { position:static;}
  .seo-overview-grid { grid-template-columns:1fr; gap:28px;}
  .faq-grid { grid-template-columns:1fr;}
  .request-grid { gap:40px;}
  .request-copy { padding-top:0;}
  .request-form { max-width:700px;}
  .footer-grid { grid-template-columns:1fr 1fr;}
  .footer-brand { grid-column:1 / 3; padding-bottom:20px; border-bottom:1px solid rgba(255,255,255,.08);}
  .footer-grid>.footer-column:last-child { grid-column:auto;}
}

/* ==================== 18. RESPONSIVE - 560PX ==================== */

@media (max-width:560px) {
  .container { width:min(calc(100% - 28px),var(--container));}
  .brand-text span { display:none;}
  .hero { padding:50px 0;}
  .hero h1 { font-size:52px; letter-spacing:-1.8px;}
  .hero-lead { font-size:15px;}
  .hero-actions { display:grid; grid-template-columns:1fr;}
  .btn { width:100%;}
  .hero-trust { grid-template-columns:1fr; gap:8px;}
  .dispatch-services a { padding:15px 18px;}
  .dispatch-header,.dispatch-footer { padding-left:18px; padding-right:18px;}
  .service-grid,.form-grid.two { grid-template-columns:1fr;}
  .service-card { min-height:auto;}
  .section { padding:60px 0;}
  .section-heading h2,.why-copy h2,.process-heading h2,.request-copy h2 { font-size:38px;}
  .why-points article { grid-template-columns:44px 1fr;}
  .location-row { grid-template-columns:1fr; gap:8px;}
  .location-row input,.location-row button { border:1px solid #d7dde0; border-radius:7px;}
  .location-row button { min-height:44px; background:var(--navy); border-color:var(--navy);}
  .request { padding:60px 0;}
  .request-form { padding:20px;}
  .footer-grid { grid-template-columns:1fr;}
  .footer-brand { grid-column:auto;}
  .footer-bottom .container { min-height:auto; flex-direction:column; align-items:flex-start; padding-top:15px; padding-bottom:80px;}
  .mobile-cta { position:fixed; z-index:999; left:0; right:0; bottom:0; display:grid; grid-template-columns:1fr 1fr; min-height:58px; border-top:1px solid rgba(255,255,255,.12); box-shadow:0 -6px 22px rgba(0,0,0,.16);}
  .mobile-cta a { display:flex; align-items:center; justify-content:center; background:var(--navy-deep); color:#fff; font-size:12px; font-weight:800;}
  .mobile-cta a:last-child { background:var(--red);}
}

/* ==================== 19. PRODUCTION UTILITIES ==================== */

.hp-field { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important;}
.form-message a { color:var(--red); font-weight:800; text-decoration:underline;}
.submit-button:disabled { opacity:.7; cursor:wait;}
.install-app { margin-top:7px; padding:8px 10px; border:1px solid rgba(255,255,255,.18); border-radius:6px; background:transparent; color:#b9c9d2; font-size:10px; font-weight:800; cursor:pointer; text-align:left;}
.install-app:hover { color:#fff; border-color:rgba(255,255,255,.35);}
.footer-legal-links { display:flex; gap:14px;}
.footer-legal-links a { color:#607784;}
.footer-legal-links a:hover { color:#fff;}
.legal-page { max-width:900px;}
.legal-page h1 { margin:8px 0 12px; color:var(--navy); font-family:"Oswald",sans-serif; font-size:48px; text-transform:uppercase;}
.legal-page h2 { margin:28px 0 8px; color:var(--navy); font-size:18px;}
.legal-page p { color:#66747c; font-size:14px; line-height:1.8;}
.legal-page a { color:var(--red); font-weight:700;}

@media (max-width:560px) { .footer-legal-links { flex-wrap:wrap;} }

/* ==================== 20. LEGAL PAGES ==================== */

.legal-hero { position:relative; overflow:hidden; padding:78px 0 66px; background:linear-gradient(135deg,#071f31,#08263b 62%,#0d3551); color:#fff;}
.legal-hero:after { content:""; position:absolute; width:420px; height:420px; right:-190px; top:-210px; border:1px solid rgba(255,255,255,.07); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.015);}
.legal-hero .container { position:relative; z-index:1;}

.legal-breadcrumb { display:flex; align-items:center; gap:8px; margin-bottom:18px; color:#9eb0ba; font-size:11px; font-weight:700;}
.legal-breadcrumb a { color:#fff;}
.legal-breadcrumb span { color:#607784;}

.legal-hero h1 { max-width:760px; margin:0; font-family:"Oswald",sans-serif; font-size:clamp(48px,6vw,72px); line-height:.95; letter-spacing:-2px; text-transform:uppercase;}
.legal-hero p { max-width:700px; margin:18px 0 0; color:#b9c7cf; font-size:16px; line-height:1.7;}

.legal-meta { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px;}
.legal-meta span { padding:8px 11px; border:1px solid rgba(255,255,255,.12); border-radius:999px; background:rgba(255,255,255,.04); color:#dce5ea; font-size:13px; font-weight:800;}

.legal-wrap { display:grid; grid-template-columns:250px minmax(0,1fr); gap:56px; align-items:start; padding:72px 0 88px;}
.legal-sidebar { position:sticky; top:118px;}

.legal-sidebar-card { padding:22px; border:1px solid #dde3e5; border-radius:12px; background:#fff; box-shadow:0 12px 34px rgba(8,38,59,.05);}
.legal-sidebar-card strong { display:block; margin-bottom:13px; color:var(--navy); font-size:11px; letter-spacing:1px; text-transform:uppercase;}
.legal-sidebar-card a { display:block; padding:9px 0; border-bottom:1px solid #edf0f1; color:#66747c; font-size:14px; font-weight:700;}
.legal-sidebar-card a:last-child { border-bottom:0;}
.legal-sidebar-card a:hover { color:var(--red);}

.legal-help { margin-top:14px; padding:18px; border-radius:10px; background:var(--navy); color:#fff;}
.legal-help small { display:block; color:#91a7b3; font-size:15px; font-weight:800; text-transform:uppercase;}
.legal-help strong { display:block; margin-top:4px; font-size:14px;}
.legal-help a { display:inline-flex; margin-top:12px; color:#fff; font-size:11px; font-weight:800;}

.legal-content { min-width:0;}

.legal-intro { margin-bottom:18px; padding:24px 26px; border-left:4px solid var(--red); border-radius:0 10px 10px 0; background:#f8f4f2;}
.legal-intro p { margin:0; color:#5f6c73; font-size:14px; line-height:1.75;}

.legal-section { scroll-margin-top:120px; padding:30px 0; border-bottom:1px solid #e1e5e7;}
.legal-section:first-of-type { padding-top:10px;}
.legal-section:last-child { border-bottom:0;}

.legal-section h2 { margin:0 0 10px; color:var(--navy); font-family:"Oswald",sans-serif; font-size:28px; line-height:1.1; text-transform:uppercase;}
.legal-section p { margin:0 0 12px; color:#66747c; font-size:16px; line-height:1.8;}

.legal-section ul { margin:12px 0 0; padding-left:18px; color:#66747c; font-size:14px; line-height:1.8;}
.legal-section li+li { margin-top:5px;}

.legal-callout { display:grid; grid-template-columns:auto 1fr; gap:14px; margin-top:18px; padding:17px 18px; border:1px solid #dfe4e6; border-radius:10px; background:#fff;}
.legal-callout-icon { width:38px; height:38px; display:grid; place-items:center; padding:9px; border-radius:9px; background:#edf3f6; color:var(--navy);}

.legal-callout strong { display:block; color:var(--navy); font-size:16px;}
.legal-callout span { display:block; margin-top:3px; color:#758188; font-size:15px; line-height:1.55;}

.legal-bottom-cta { margin-top:38px; padding:28px; border-radius:14px; background:linear-gradient(135deg,#0b2b42,#08263b); color:#fff;}
.legal-bottom-cta h3 { margin:0; font-family:"Oswald",sans-serif; font-size:27px; text-transform:uppercase;}
.legal-bottom-cta p { margin:8px 0 0; color:#b7c6ce; font-size:13px;}
.legal-bottom-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px;}
.legal-bottom-actions a { min-height:44px; display:inline-flex; align-items:center; justify-content:center; padding:0 16px; border-radius:7px; font-size:11px; font-weight:800;}
.legal-bottom-actions a:first-child { background:var(--red); color:#fff;}
.legal-bottom-actions a:last-child { border:1px solid rgba(255,255,255,.18); color:#fff;}
.legal-footer-note { color:#6f818c; font-size:10px;}
@media (max-width:860px) { .legal-wrap { grid-template-columns:1fr; gap:28px;} .legal-sidebar { position:static;} .legal-sidebar-card { display:grid; grid-template-columns:repeat(2,1fr); gap:0 18px;} .legal-sidebar-card strong { grid-column:1 / -1;} }
@media (max-width:560px) { .legal-hero { padding:58px 0 50px;} .legal-hero h1 { font-size:48px;} .legal-wrap { padding:48px 0 64px;} .legal-sidebar-card { grid-template-columns:1fr;} .legal-bottom-actions { display:grid;} }

/* ==================== 10. PRICING ==================== */

.pricing { background:#f8f6f1; border-top:1px solid #e3e6e7; border-bottom:1px solid #e3e6e7;}
.pricing-heading { margin-bottom:38px;}
.pricing-grid { display:grid; grid-template-columns:1.2fr repeat(3,1fr); gap:18px;}
.pricing-card { min-height:390px; display:flex; flex-direction:column; padding:28px; border:1px solid #dde2e5; border-radius:12px; background:#fff; box-shadow:0 12px 32px rgba(8,38,59,.04); transition:.22s ease;}
.pricing-card:hover { transform:translateY(-3px); border-color:#c8d0d4; box-shadow:0 15px 34px rgba(8,38,59,.08);}
.pricing-card-featured { background:linear-gradient(145deg,#0a2b42,#08263b); border-color:var(--navy); color:#fff;}
.pricing-card-top { min-height:46px; display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:22px;}
.pricing-icon { width:46px; height:46px; display:grid; place-items:center; padding:11px; border-radius:11px; background:#edf3f6; color:var(--navy);}
.pricing-card-featured .pricing-icon { background:rgba(255,255,255,.11); color:#fff;}
.pricing-badge { padding:7px 10px; border:1px solid rgba(255,255,255,.15); border-radius:999px; color:#b9e8ce; font-size:10px; font-weight:800; letter-spacing:.6px; text-transform:uppercase;}
.pricing-card h3 { margin:0; color:var(--navy); font-family:"Oswald",sans-serif; font-size:27px; line-height:1.08; text-transform:uppercase;}
.pricing-card-featured h3 { color:#fff;}
.pricing-price { margin:24px 0 18px; padding:18px 0; border-top:1px solid #e5e9eb; border-bottom:1px solid #e5e9eb;}
.pricing-price small { display:block; margin-bottom:2px; color:#87939a; font-size:11px; font-weight:800; letter-spacing:.7px; text-transform:uppercase;}
.pricing-price strong { display:block; color:var(--navy); font-family:"Oswald",sans-serif; font-size:48px; line-height:1; letter-spacing:-1px;}
.pricing-price strong span { color:#6e7b83; font-family:"Inter",sans-serif; font-size:13px; font-weight:800; letter-spacing:0;}
.pricing-tire-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:20px 0 18px;}
.pricing-tire-options>div { padding:15px; border:1px solid rgba(255,255,255,.12); border-radius:9px; background:rgba(255,255,255,.05);}
.pricing-tire-options>div>span { display:block; color:#d9e3e8; font-size:12px; font-weight:800;}
.pricing-tire-options strong { display:block; margin-top:7px; color:#fff; font-family:"Oswald",sans-serif; font-size:33px; line-height:1;}
.pricing-tire-options small { display:block; margin-bottom:4px; color:#8fa5b0; font-family:"Inter",sans-serif; font-size:9px; font-weight:800; letter-spacing:.6px; text-transform:uppercase;}
.pricing-card p { margin:0 0 22px; color:#66747c; font-size:14px; line-height:1.65;}
.pricing-card-featured p { color:#ced9df;}
.pricing-card>a { width:100%; min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:9px; margin-top:auto; padding:0 16px; border:1px solid var(--red); border-radius:7px; background:var(--red); color:#fff; font-size:13px; font-weight:800; transition:.2s ease;}
.pricing-card-featured>a { border-color:#fff; background:#fff; color:var(--navy);}
.pricing-card>a span { font-size:18px; transition:.2s ease;}
.pricing-card>a:hover { background:var(--red-dark); border-color:var(--red-dark); transform:translateY(-1px);}
.pricing-card-featured>a:hover { background:#f1f4f5; border-color:#f1f4f5; color:var(--navy);}
.pricing-card>a:hover span { transform:translateX(3px);}
.pricing-afterhours { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:18px; padding:21px 24px; border:1px solid #d9dfe2; border-radius:12px; background:#fff;}
.pricing-afterhours-copy { display:flex; align-items:center; gap:15px;}
.pricing-afterhours-icon { width:44px; height:44px; display:grid; place-items:center; flex:0 0 44px; padding:11px; border-radius:10px; background:#edf3f6; color:var(--navy);}

.pricing-afterhours-copy strong { display:block; color:var(--navy); font-size:18px;}
.pricing-afterhours-copy span { display:block; margin-top:3px; color:#748087; font-size:15px;}
.pricing-afterhours-price { flex:0 0 auto; text-align:right;}
.pricing-afterhours-price small { display:block; color:#8a959c; font-size:10px; font-weight:800; letter-spacing:.7px; text-transform:uppercase;}
.pricing-afterhours-price strong { display:block; margin-top:2px; color:var(--red); font-family:"Oswald",sans-serif; font-size:31px; line-height:1;}
.pricing-disclaimer { max-width:900px; margin:14px auto 0; color:#7a858c; font-size:11px; line-height:1.65; text-align:center;}
@media (max-width:1100px) { .pricing-grid { grid-template-columns:1fr 1fr;} }
@media (max-width:560px) { .pricing-grid { grid-template-columns:1fr;} .pricing-card { min-height:auto;} .pricing-tire-options { grid-template-columns:1fr 1fr;} .pricing-afterhours { align-items:flex-start;} .pricing-afterhours-copy { align-items:flex-start;} .pricing-afterhours-price { padding-top:2px;} }

/* ==================== PRICING FACTS / BEFORE REQUEST ==================== */

.pricing-before-request { margin-top:18px; padding:28px; border:1px solid #d9dfe2; border-radius:12px; background:#fff; box-shadow:0 12px 32px rgba(8,38,59,.04);}
.pricing-before-request-head { display:flex; align-items:center; gap:15px; padding-bottom:20px; border-bottom:1px solid #e6eaec;}
.pricing-before-request-icon { width:46px; height:46px; display:grid; place-items:center; flex:0 0 46px; padding:11px; border-radius:11px; background:#edf3f6; color:var(--navy);}
.pricing-before-request-head h3 { margin:4px 0 0; color:var(--navy); font-family:"Oswald",sans-serif; font-size:25px; line-height:1.1; text-transform:uppercase;}

.pricing-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:4px;}
.pricing-facts>div { padding:20px 22px 18px 0; border-bottom:1px solid #edf0f1;}

.pricing-facts>div:nth-child(3n+2) { padding-left:22px; padding-right:22px; border-left:1px solid #edf0f1; border-right:1px solid #edf0f1;}
.pricing-facts>div:nth-child(3n) { padding-left:22px;}

.pricing-facts strong { display:block; margin-bottom:5px; color:var(--navy); font-size:18px;}

.pricing-facts span { display:block; color:#6d7980; font-size:15px; line-height:1.65;}
.pricing-approval-note { display:flex; align-items:flex-start; gap:10px; margin-top:20px; padding:15px 17px; border-left:3px solid var(--red); border-radius:0 8px 8px 0; background:#f8f3f1;}

.pricing-approval-note strong { flex:0 0 auto; color:var(--red-dark); font-size:16px;}

.pricing-approval-note span { color:#685f5a; font-size:15px; line-height:1.6;}

@media (max-width:820px) { .pricing-facts { grid-template-columns:1fr 1fr;} .pricing-facts>div,.pricing-facts>div:nth-child(3n+2),.pricing-facts>div:nth-child(3n) { padding:18px 18px 18px 0; border-left:0; border-right:0;} .pricing-facts>div:nth-child(even) { padding-left:18px; border-left:1px solid #edf0f1;} .pricing-approval-note { display:block;} .pricing-approval-note strong { display:block; margin-bottom:4px;} }
@media (max-width:560px) { .pricing-before-request { padding:20px;} .pricing-before-request-head { align-items:flex-start;} .pricing-before-request-head h3 { font-size:22px;} .pricing-facts { grid-template-columns:1fr;} .pricing-facts>div,.pricing-facts>div:nth-child(3n+2),.pricing-facts>div:nth-child(3n),.pricing-facts>div:nth-child(even) { padding:16px 0; border-left:0; border-right:0; border-bottom:1px solid #edf0f1;} }

