:root {
  color-scheme: dark;
  --ink: #f7f1e6;
  --muted: #aebbc2;
  --bg: #071117;
  --panel: #0d1c25;
  --panel-2: #102833;
  --line: rgba(203, 222, 230, .17);
  --gold: #ffbd4a;
  --gold-2: #f08b2f;
  --teal: #48d7ce;
  --danger: #ff6d63;
  --good: #63df93;
  --shadow: 0 22px 55px rgba(0,0,0,.36);
}
* { box-sizing: border-box; }
html { width: 100%; max-width: 100%; overflow-x: hidden; overscroll-behavior-x: none; scroll-behavior: smooth; }
body { position: relative; width: 100%; min-width: 0; max-width: 100%; margin: 0; overflow-x: hidden; overscroll-behavior-x: none; background: radial-gradient(circle at 50% -10%, #183746 0, var(--bg) 36rem); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
@supports (overflow: clip) { html, body { overflow-x: clip; } }
body > header, body > nav, body > main, body > footer, body > section { max-width: 100%; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
.site-header { position: sticky; top: 0; z-index: 70; min-height: 74px; padding: max(10px, env(safe-area-inset-top)) clamp(14px, 3vw, 40px) 10px; display: flex; align-items: center; justify-content: space-between; gap: 20px; background: rgba(6, 16, 22, .91); border-bottom: 1px solid var(--line); backdrop-filter: blur(18px); }
.brand { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.brand-mark { width: 46px; height: 46px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,189,74,.52); border-radius: 13px; color: #091015; background: linear-gradient(145deg, var(--gold), var(--gold-2)); box-shadow: inset 0 1px 0 rgba(255,255,255,.45); font-weight: 950; font-size: .72rem; }
.brand-mark img { width: 40px; height: 40px; display: block; object-fit: contain; filter: drop-shadow(0 1px 1px rgba(255,255,255,.18)); }
.brand > span:last-child { display: flex; flex-direction: column; line-height: .95; }
.brand strong { font-size: 1.05rem; letter-spacing: .08em; }
.brand small { margin-top: 5px; color: var(--gold); font-size: .68rem; letter-spacing: .36em; font-weight: 900; }
.desktop-nav { display: flex; align-items: center; gap: 25px; color: #d7e0e4; font-size: .86rem; font-weight: 750; }
.desktop-nav a:hover { color: var(--gold); }
.nav-request, .mobile-menu button { min-height: 42px; padding: 0 17px; border: 1px solid #ffc765; border-radius: 10px; background: linear-gradient(180deg, #ffc95e, #ee922e); color: #111a1f; font-weight: 950; }
.menu-button { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 10px; background: #0e2029; color: white; font-size: 1.3rem; }
.mobile-menu { position: fixed; z-index: 65; top: 73px; left: 10px; right: 10px; padding: 12px; border: 1px solid var(--line); border-radius: 14px; background: rgba(8,20,27,.98); box-shadow: var(--shadow); }
.mobile-menu a, .mobile-menu button { width: 100%; min-height: 47px; display: flex; align-items: center; padding: 0 12px; border-radius: 10px; font-weight: 800; }
.mobile-menu a { border-bottom: 1px solid rgba(255,255,255,.06); }
.hero { width: min(1280px, calc(100% - 30px)); margin: 0 auto; min-height: 700px; display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: clamp(24px, 3.5vw, 54px); padding: clamp(48px, 8vw, 100px) 0; }
.eyebrow { margin: 0 0 14px; color: var(--gold); font-size: .72rem; font-weight: 950; letter-spacing: .2em; }
h1 { max-width: 780px; margin: 0; font-size: clamp(2.55rem, 6vw, 5.7rem); line-height: .94; letter-spacing: -.05em; }
.hero-lead { max-width: 670px; margin: 25px 0 0; color: #c3cdd2; font-size: clamp(1rem, 2vw, 1.24rem); line-height: 1.55; }
.hero-actions { margin-top: 30px; display: flex; align-items: stretch; gap: 12px; flex-wrap: wrap; }
.primary-action { min-width: min(100%, 360px); min-height: 64px; display: flex; align-items: center; gap: 13px; padding: 10px 18px; border: 1px solid #ffd477; border-radius: 13px; background: linear-gradient(180deg, #ffca60, #ec8c2c); color: #10191d; box-shadow: 0 12px 30px rgba(237,142,43,.2), inset 0 1px 0 rgba(255,255,255,.5); text-align: left; }
.primary-action:active, .nav-request:active, .service-strip button:active { transform: translateY(1px) scale(.99); }
.primary-action .action-icon { font-size: 1.65rem; }
.primary-action span:last-child { display: flex; flex-direction: column; }
.primary-action strong { font-size: .92rem; letter-spacing: .055em; }
.primary-action small { margin-top: 3px; opacity: .73; font-weight: 800; }
.secondary-action { min-height: 64px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.035); font-weight: 850; }
.trust-row { margin-top: 24px; display: flex; gap: 18px; flex-wrap: wrap; color: #9fb0b7; font-size: .8rem; }
.trust-row span::first-letter { color: var(--teal); }
.hero-panel { min-width: 0; }
.road-card { padding: 12px; border: 1px solid rgba(255,189,74,.32); border-radius: 22px; background: linear-gradient(180deg, rgba(18,42,53,.9), rgba(8,19,25,.96)); box-shadow: var(--shadow), inset 0 1px 0 rgba(255,255,255,.04); }
.road-card-top, .road-card-bottom { display: flex; align-items: center; gap: 9px; padding: 5px 6px 12px; color: #cedadd; font-size: .68rem; font-weight: 900; letter-spacing: .13em; }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--good); box-shadow: 0 0 12px var(--good); }
[data-open-request][disabled],[data-service][disabled],[data-active-request-locked="true"]{cursor:not-allowed!important;opacity:.42!important;filter:grayscale(.7)!important;box-shadow:none!important;transform:none!important}
.truck-scene svg { display: block; width: 100%; border-radius: 15px; }
.road-card-bottom { padding: 14px 6px 5px; justify-content: space-between; letter-spacing: 0; }
.road-card-bottom div { display: flex; flex-direction: column; }
.road-card-bottom small { color: #7f949e; font-size: .55rem; letter-spacing: .13em; }
.road-card-bottom strong { margin-top: 3px; font-size: .78rem; color: #edf3f4; }
.service-strip { min-height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px max(18px, calc((100% - 1200px)/2)); border-block: 1px solid rgba(255,189,74,.18); background: linear-gradient(90deg, rgba(255,189,74,.08), rgba(72,215,206,.055)); }
.service-strip > div { display: flex; align-items: center; gap: 11px; flex-wrap: wrap; }
.service-strip strong { color: #fff; }
.service-strip span:last-child { color: #aebdc3; }
.pulse-dot { width: 9px; height: 9px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 0 rgba(255,189,74,.4); animation: pulse 2s infinite; }
@keyframes pulse { 70% { box-shadow: 0 0 0 10px rgba(255,189,74,0); } 100% { box-shadow: 0 0 0 0 rgba(255,189,74,0); } }
.service-strip button { min-height: 46px; padding: 0 18px; border: 1px solid #ffc75f; border-radius: 10px; background: var(--gold); color: #10191d; font-weight: 950; }
.section { width: min(1200px, calc(100% - 30px)); margin: 0 auto; padding: clamp(70px, 9vw, 120px) 0; }
.section-heading { max-width: 780px; }
.section-heading h2, .about-section h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.7rem); line-height: 1.03; letter-spacing: -.035em; }
.section-heading > p:last-child, .about-section > div:first-child > p:last-child { color: #aebcc2; line-height: 1.6; }
.service-grid { margin-top: 38px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.service-card { min-height: 245px; padding: 22px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(180deg, rgba(17,39,49,.9), rgba(9,20,27,.92)); }
.service-card > span { font-size: 1.9rem; }
.service-card h3 { margin: 15px 0 7px; font-size: 1.15rem; }
.service-card p { margin: 0; color: #9faeb5; line-height: 1.5; }
.service-card button { margin-top: auto; align-self: flex-start; padding: 8px 0; border: 0; background: transparent; color: var(--gold); font-weight: 900; }
.service-card button::after { content: "  →"; }
.process-section { border-top: 1px solid var(--line); }
.steps-grid { margin-top: 38px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.steps-grid article { padding: 18px 8px 0; border-top: 1px solid rgba(255,189,74,.35); }
.steps-grid article > span { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,189,74,.12); color: var(--gold); font-weight: 950; }
.steps-grid h3 { margin: 16px 0 8px; font-size: 1rem; }
.steps-grid p { margin: 0; color: #9faeb5; line-height: 1.5; font-size: .9rem; }
.about-section { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(35px, 7vw, 100px); align-items: center; }
.about-points { display: grid; gap: 12px; }
.about-points > div { padding: 18px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.025); }
.about-points strong { color: var(--gold); }
.about-points span { margin-top: 4px; color: #9faeb5; }
.site-footer { min-height: 150px; padding: 28px max(16px, calc((100% - 1200px)/2)); display: flex; align-items: center; justify-content: space-between; gap: 25px; border-top: 1px solid var(--line); background: #050d12; color: #81939c; }
.site-footer button { min-height: 44px; padding: 0 15px; border: 1px solid rgba(255,189,74,.45); border-radius: 9px; background: transparent; color: var(--gold); font-weight: 900; }
.request-overlay, .success-overlay { position: fixed; inset: 0; z-index: 120; padding: max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom)); display: grid; place-items: center; overflow: auto; background: rgba(2,8,12,.78); backdrop-filter: blur(8px); }
.request-overlay[hidden], .success-overlay[hidden] { display: none !important; }
.request-dialog { width: min(720px, 100%); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); overflow: auto; overscroll-behavior: contain; border: 1px solid rgba(255,189,74,.48); border-radius: 19px; background: linear-gradient(180deg, #102631, #08151c 85%); box-shadow: 0 25px 80px rgba(0,0,0,.55); }
.request-header { position: sticky; top: 0; z-index: 3; min-height: 75px; padding: 14px 15px 12px 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--line); background: rgba(11,28,36,.96); backdrop-filter: blur(10px); }
.request-kicker { color: var(--gold); font-size: .58rem; letter-spacing: .17em; font-weight: 950; }
.request-header h2 { margin: 3px 0 0; font-size: 1.3rem; }
.close-request { width: 42px; height: 42px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.04); color: white; font-size: 1.45rem; }
.progress { padding: 17px 24px 8px; display: flex; align-items: center; }
.progress span { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid #45606d; border-radius: 50%; background: #0b1920; color: #7f929b; font-size: .68rem; font-weight: 950; }
.progress span.active, .progress span.complete { border-color: var(--gold); background: var(--gold); color: #11191d; }
.progress i { height: 1px; flex: 1; background: #30444e; }
.progress i.complete { background: var(--gold); }
#roadside-request-form { padding: 8px 22px 20px; }
.request-step { min-height: 390px; }
.step-label { margin: 12px 0 5px; color: var(--gold); font-size: .59rem; letter-spacing: .15em; font-weight: 950; }
.request-step h3 { margin: 0; font-size: clamp(1.5rem, 4vw, 2rem); }
.step-copy { margin: 8px 0 18px; color: #a5b4ba; line-height: 1.5; }
.request-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.request-service-grid label { min-width: 0; }
.request-service-grid input { position: absolute; opacity: 0; pointer-events: none; }
.request-service-grid span { min-height: 94px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1px solid #2d4652; border-radius: 12px; background: rgba(255,255,255,.025); color: #dfe7e9; cursor: pointer; }
.request-service-grid b { font-size: 1.35rem; }
.request-service-grid strong { font-size: .73rem; }
.request-service-grid input:checked + span { border-color: var(--gold); background: rgba(255,189,74,.13); color: #fff3d4; box-shadow: inset 0 0 0 1px rgba(255,189,74,.17); }
.location-button { width: 100%; min-height: 70px; display: flex; align-items: center; gap: 14px; padding: 12px 15px; border: 1px solid rgba(72,215,206,.48); border-radius: 12px; background: rgba(72,215,206,.07); color: #e9ffff; text-align: left; }
.location-button > span:first-child { font-size: 1.55rem; }
.location-button > span:last-child { display: flex; flex-direction: column; }
.location-button small { margin-top: 3px; color: #8fbdbb; }
.location-status { margin-top: 9px; padding: 10px 12px; border: 1px solid rgba(99,223,147,.35); border-radius: 9px; background: rgba(99,223,147,.08); color: #baf0ce; font-size: .82rem; }
.field-group { margin-top: 14px; }
.field-group label { display: block; margin-bottom: 6px; color: #dce5e8; font-size: .76rem; font-weight: 850; }
.field-group label span { color: #7e929c; font-weight: 650; }
.field-group input, .field-group textarea { width: 100%; border: 1px solid #304752; border-radius: 10px; background: #09161d; color: white; outline: none; }
.field-group input { height: 45px; padding: 0 12px; }
.field-group textarea { resize: vertical; min-height: 80px; padding: 10px 12px; line-height: 1.4; }
.field-group input:focus, .field-group textarea:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(72,215,206,.09); }
.two-column-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 0 12px; }
.form-message { min-height: 20px; margin-top: 8px; color: #ffaaa4; font-size: .78rem; font-weight: 750; }
.review-card { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.review-row { padding: 10px 12px; display: grid; grid-template-columns: 145px 1fr; gap: 12px; border-bottom: 1px solid rgba(255,255,255,.055); }
.review-row:last-child { border-bottom: 0; }
.review-row small { color: #8499a2; font-weight: 800; }
.review-row strong { min-width: 0; overflow-wrap: anywhere; font-size: .82rem; }
.consent-row { margin-top: 14px; display: flex; gap: 9px; align-items: flex-start; color: #c9d4d8; font-size: .8rem; }
.consent-row input { width: 20px; height: 20px; accent-color: var(--gold); }
.request-actions { position: sticky; bottom: 0; z-index: 4; margin: 15px -22px -20px; padding: 12px 22px max(13px, env(safe-area-inset-bottom)); display: flex; gap: 9px; border-top: 1px solid var(--line); background: rgba(8,21,28,.985); box-shadow: 0 -8px 18px rgba(2,8,12,.28); }
.request-actions button { min-height: 46px; padding: 0 18px; border-radius: 10px; font-weight: 950; }
.back-button { border: 1px solid #344b56; background: transparent; color: #d4dfe2; }
.next-button, .submit-button { margin-left: auto; border: 1px solid #ffca66; background: linear-gradient(180deg, #ffca62, #ed902e); color: #111a1f; }
.success-dialog { width: min(450px, 100%); padding: 28px; text-align: center; border: 1px solid rgba(99,223,147,.42); border-radius: 18px; background: linear-gradient(180deg, #10252b, #07161b); box-shadow: var(--shadow); }
.success-icon { width: 58px; height: 58px; margin: 0 auto 17px; display: grid; place-items: center; border-radius: 50%; background: rgba(99,223,147,.14); color: var(--good); font-size: 1.8rem; font-weight: 950; }
.success-dialog h2 { margin: 0; }
.success-dialog > p:not(.eyebrow) { color: #aab8bd; line-height: 1.5; }
.request-number { margin: 18px 0; padding: 13px; display: flex; flex-direction: column; border: 1px solid var(--line); border-radius: 10px; }
.request-number small { color: #7f939c; letter-spacing: .12em; }
.request-number strong { margin-top: 4px; color: var(--gold); font-size: 1.1rem; letter-spacing: .08em; }
.success-dialog button { min-height: 46px; min-width: 140px; border: 1px solid #ffca66; border-radius: 10px; background: var(--gold); color: #10191d; font-weight: 950; }
body.modal-open { overflow: hidden; }
@media (max-width: 900px) {
  .desktop-nav { display: none; }
  .menu-button { display: grid; place-items: center; }
  .hero { grid-template-columns: 1fr; min-height: 0; padding-top: 56px; }
  .hero-panel { max-width: 690px; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .steps-grid { grid-template-columns: repeat(2, 1fr); gap: 26px 14px; }
  .about-section { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .site-header { min-height: 64px; padding-inline: 10px; }
  .brand-mark { width: 40px; height: 40px; }
  .brand strong { font-size: .86rem; }
  .brand small { font-size: .56rem; }
  .mobile-menu { top: 64px; }
  .hero { width: min(100% - 22px, 1200px); padding: 38px 0 55px; gap: 34px; }
  h1 { font-size: clamp(2.55rem, 14vw, 4.2rem); }
  .hero-lead { margin-top: 18px; }
  .hero-actions { margin-top: 22px; }
  .primary-action, .secondary-action { width: 100%; }
  .trust-row { gap: 8px 14px; font-size: .72rem; }
  .service-strip { align-items: stretch; flex-direction: column; padding: 14px 12px; }
  .service-strip button { width: 100%; }
  .section { width: min(100% - 22px, 1200px); padding: 65px 0; }
  .service-grid, .steps-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 210px; }
  .site-footer { align-items: flex-start; flex-direction: column; padding: 28px 14px; }
  .site-footer button { width: 100%; }
  .request-overlay { padding-inline: 6px; }
  .request-dialog { max-height: calc(100vh - 12px); max-height: calc(100dvh - 12px); border-radius: 14px; }
  .request-header { min-height: 68px; padding: 11px 11px 10px 14px; }
  .request-header h2 { font-size: 1.08rem; }
  .progress { padding: 14px 16px 6px; }
  #roadside-request-form { padding: 5px 13px 0; }
  .request-step { min-height: 365px; }
  .request-service-grid { grid-template-columns: repeat(2, 1fr); gap: 7px; }
  .request-service-grid span { min-height: 78px; }
  .two-column-fields { grid-template-columns: 1fr 1fr; gap: 0 8px; }
  .request-actions { bottom: 0; margin: 12px -13px 0; padding: 10px 13px calc(18px + env(safe-area-inset-bottom)); }
  #roadside-request-form[data-current-step="4"] .request-actions { padding-bottom: calc(22px + env(safe-area-inset-bottom)); }
  .request-actions button { min-height: 44px; padding-inline: 15px; }
  .review-row { grid-template-columns: 100px 1fr; gap: 9px; }
}
@media (max-width: 390px) {
  .two-column-fields { grid-template-columns: 1fr; }
  .review-row { grid-template-columns: 1fr; gap: 2px; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; animation: none !important; transition: none !important; } }


/* ================================================================
   v0.2.0 — GPS location confirmation
   ================================================================ */
.gps-confirmation {
  margin: 12px 0 14px;
  padding: 12px;
  border: 1px solid rgba(89, 220, 153, .38);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(17, 58, 54, .54), rgba(8, 28, 34, .72));
}
.gps-confirmation-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.gps-confirmation-head > div { display: flex; align-items: center; gap: 8px; color: #dff9e9; font-size: .78rem; letter-spacing: .08em; }
.gps-dot { width: 9px; height: 9px; border-radius: 50%; background: #65e4a0; box-shadow: 0 0 10px rgba(101,228,160,.6); }
.gps-refresh {
  min-height: 32px;
  padding: 5px 10px;
  border: 1px solid rgba(255,186,67,.45);
  border-radius: 8px;
  background: rgba(255,186,67,.09);
  color: #ffd68c;
  font: inherit;
  font-size: .72rem;
  font-weight: 800;
  cursor: pointer;
}
.gps-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px;
  margin: 10px 0;
}
.gps-grid > div {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  background: rgba(0,0,0,.18);
}
.gps-grid small { display:block; margin-bottom: 2px; color: #83a1ac; font-size: .62rem; font-weight: 900; letter-spacing: .08em; }
.gps-grid strong { display:block; overflow:hidden; color:#f7fbf7; font-size:.80rem; text-overflow:ellipsis; white-space:nowrap; }
.gps-map-link {
  display: inline-flex;
  min-height: 35px;
  align-items: center;
  justify-content: center;
  padding: 7px 11px;
  border: 1px solid rgba(255,186,67,.36);
  border-radius: 9px;
  background: rgba(255,186,67,.08);
  color: #ffd68c;
  font-size: .75rem;
  font-weight: 900;
  text-decoration: none;
}
.gps-confirmation p { margin: 9px 0 0; color:#b7c6cb; font-size:.72rem; line-height:1.35; }
@media (max-width: 430px) {
  .gps-confirmation { padding: 10px; }
  .gps-grid { gap: 6px; }
  .gps-grid > div { padding: 8px; }
  .gps-grid strong { font-size: .72rem; }
}

/* v0.3.0 — server request submission */
.request-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
.submit-button:disabled { opacity: .62; cursor: wait; }
.server-request-status {
  margin: 12px auto 0;
  padding: 10px 14px;
  max-width: 320px;
  border: 1px solid rgba(91, 214, 255, .28);
  border-radius: 12px;
  background: rgba(91, 214, 255, .07);
  text-align: center;
}
.server-request-status small { display: block; margin-bottom: 3px; color: #8fb5c7; font-size: .68rem; letter-spacing: .12em; }
.server-request-status strong { color: #dff8ff; }
/* v0.5.0 active service-call tracking */
.active-request-bar{position:sticky;top:72px;z-index:18;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px max(18px,calc((100% - 1220px)/2));border-bottom:1px solid rgba(70,223,232,.32);background:rgba(10,38,49,.97);box-shadow:0 8px 22px rgba(0,0,0,.18)}.active-request-bar[hidden]{display:none}.active-request-bar div{display:flex;align-items:center;gap:9px;min-width:0}.active-request-bar small{color:#74dfe5;font-size:.63rem;font-weight:900;letter-spacing:.12em}.active-request-bar strong{color:#fff0bd}.active-request-bar span{overflow:hidden;color:#b9cbd2;font-size:.77rem;text-overflow:ellipsis;white-space:nowrap}.active-request-bar button{border:1px solid #3c6673;border-radius:9px;background:#12313c;color:#eef8f9;padding:8px 11px;font-weight:850;white-space:nowrap}.server-driver-status{margin:10px 0 16px;padding:12px;border:1px solid rgba(110,231,161,.35);border-radius:10px;background:rgba(110,231,161,.06)}.server-driver-status small,.server-driver-status strong,.server-driver-status span{display:block}.server-driver-status small{color:#9cebb8;font-size:.68rem;letter-spacing:.12em}.server-driver-status strong{margin-top:3px;color:#e9fff0}.server-driver-status span{margin-top:2px;color:#a9c5b3;font-size:.78rem}@media(max-width:700px){.active-request-bar{top:61px;padding:8px 10px}.active-request-bar div{display:grid;grid-template-columns:auto auto;gap:2px 8px}.active-request-bar span{grid-column:1/-1}.active-request-bar small{font-size:.55rem}.active-request-bar strong,.active-request-bar span{font-size:.7rem}}


/* v0.6.0 — live truck location on customer status */
.server-driver-location {
  margin: 12px auto 0;
  padding: 12px 14px;
  border: 1px solid rgba(70, 223, 232, .42);
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(12, 53, 66, .72), rgba(7, 31, 41, .78));
  text-align: left;
}
.server-driver-location small,
.server-driver-location strong,
.server-driver-location span { display:block; }
.server-driver-location small { color:#8debf0; font-size:.64rem; font-weight:900; letter-spacing:.12em; }
.server-driver-location strong { margin-top:4px; color:#f7fbfb; font-size:1rem; }
.server-driver-location span { margin-top:4px; color:#b9cbd1; font-size:.73rem; }
.server-driver-location a { display:inline-flex; margin-top:9px; min-height:36px; align-items:center; justify-content:center; padding:7px 11px; border:1px solid rgba(70,223,232,.38); border-radius:9px; background:rgba(70,223,232,.08); color:#a9f5f7; font-size:.74rem; font-weight:900; text-decoration:none; }
.server-driver-location p { margin:8px 0 0; color:#8fa5ad; font-size:.66rem; line-height:1.3; }

/* v0.7.0 — customer road distance + ETA */
.tracking-points{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:center;gap:8px;margin:12px 0}.tracking-point{display:flex;align-items:center;gap:8px;min-width:0;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:11px;background:rgba(0,0,0,.15)}.tracking-point>span{font-size:1.35rem}.tracking-point div{min-width:0}.tracking-point small{font-size:.57rem}.tracking-point strong{margin-top:2px;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tracking-route-line{display:flex;align-items:center;gap:5px;color:#ffcb68}.tracking-route-line i{display:block;flex:1;border-top:2px dashed rgba(255,203,104,.55)}.tracking-route-line b{font-size:1rem}.route-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.route-metrics>div{padding:10px 11px;border:1px solid rgba(255,186,67,.28);border-radius:10px;background:rgba(255,186,67,.07)}.route-metrics small{color:#d5aa5a;font-size:.57rem}.route-metrics strong{margin-top:3px;color:#fff2c9;font-size:1.03rem}.tracking-fallback{margin-top:8px!important;font-size:.82rem!important;color:#d9e7ea!important}.route-note{color:#93aab2!important;font-size:.68rem!important}.server-driver-location.route-ready .tracking-fallback{display:none}.server-driver-location a{width:100%;box-sizing:border-box}.server-driver-location p{border-top:1px solid rgba(255,255,255,.07);padding-top:8px}.server-driver-location.arrived .tracking-route-line b{font-size:0}.server-driver-location.arrived .tracking-route-line b::after{content:'✓';font-size:1rem;color:#9cebb8}@media(max-width:430px){.tracking-points{grid-template-columns:1fr 42px 1fr;gap:5px}.tracking-point{padding:8px 7px;gap:5px}.tracking-point>span{font-size:1.05rem}.tracking-point small{font-size:.49rem}.tracking-point strong{font-size:.67rem}.route-metrics{gap:6px}.route-metrics>div{padding:8px}.route-metrics strong{font-size:.9rem}}

/* v0.8.0 — polished customer live tracking experience */
.success-dialog.tracking-active{width:min(520px,100%);padding:20px;text-align:left;border-color:rgba(72,215,206,.5);background:linear-gradient(180deg,#102b35,#07161b 88%)}
.success-dialog.tracking-active>button{display:block;width:100%;margin-top:14px}
.customer-tracking-hero{padding:18px 16px 16px;border:1px solid rgba(255,189,74,.34);border-radius:16px;background:linear-gradient(180deg,rgba(255,189,74,.10),rgba(72,215,206,.045));text-align:center}
.customer-tracking-hero[hidden]{display:none!important}.tracking-live-badge{display:inline-flex;align-items:center;gap:7px;margin-bottom:12px;padding:5px 9px;border:1px solid rgba(72,215,206,.30);border-radius:999px;background:rgba(72,215,206,.07);color:#a9f5f7;font-size:.59rem;font-weight:950;letter-spacing:.12em}.tracking-live-badge i{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 0 rgba(99,223,147,.45);animation:trackingPulse 1.7s infinite}@keyframes trackingPulse{70%{box-shadow:0 0 0 7px rgba(99,223,147,0)}100%{box-shadow:0 0 0 0 rgba(99,223,147,0)}}
.customer-tracking-hero>small{display:block;color:#d0a65b;font-size:.59rem;font-weight:900;letter-spacing:.13em}.customer-tracking-hero>strong{display:block;margin-top:3px;color:#fff0bd;font-size:clamp(2.5rem,11vw,4rem);line-height:.95;letter-spacing:-.04em}.customer-tracking-hero>span{display:block;margin-top:6px;color:#d7e7ea;font-size:.9rem;font-weight:850}.customer-tracking-hero>p{margin:12px 0 0;color:#aebfc5;font-size:.78rem;line-height:1.42}
.tracking-meta-row{display:grid;grid-template-columns:1fr 1.2fr;gap:8px;margin-top:10px}.tracking-meta-row .request-number,.tracking-meta-row .server-request-status{max-width:none;margin:0;min-width:0;padding:9px 10px;text-align:left}.tracking-meta-row .request-number strong,.tracking-meta-row .server-request-status strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;letter-spacing:0}.tracking-meta-row .request-number strong{color:#ffd17c}
.customer-progress{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr auto;align-items:start;gap:5px;margin:15px 0 12px}.customer-progress>div{display:grid;justify-items:center;gap:4px;min-width:48px;color:#6f838b}.customer-progress>div span{width:25px;height:25px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:50%;background:#0a1a21;color:#78909a;font-size:.64rem;font-weight:950}.customer-progress>div small{font-size:.54rem;font-weight:850;white-space:nowrap}.customer-progress>i{margin-top:12px;border-top:2px solid rgba(255,255,255,.09)}.customer-progress>div.complete{color:#d8e8e9}.customer-progress>div.complete span{border-color:rgba(99,223,147,.5);background:rgba(99,223,147,.11);color:#aef0c6}.customer-progress>div.current span{box-shadow:0 0 0 4px rgba(99,223,147,.06)}.customer-progress>i.complete{border-color:rgba(99,223,147,.5)}
.server-driver-status{display:flex;align-items:center;gap:11px;margin:10px 0 12px;padding:11px 12px;text-align:left}.server-driver-status[hidden]{display:none!important}.server-driver-status .driver-avatar{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(110,231,161,.27);border-radius:11px;background:rgba(110,231,161,.08);font-size:1.25rem}.server-driver-status>div:last-child{min-width:0}.server-driver-status strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.success-dialog.tracking-active .server-driver-location{margin-top:0;padding:12px}.success-dialog.tracking-active .route-metrics>div{text-align:center}.success-dialog.tracking-active .server-driver-location>a{min-height:42px;font-size:.79rem}.success-dialog.tracking-active .server-driver-location>p{margin-bottom:0}
.server-driver-location.arrived+.dummy{display:none}.server-driver-location.arrived{border-color:rgba(99,223,147,.48);background:linear-gradient(180deg,rgba(25,70,52,.48),rgba(7,31,31,.78))}.server-driver-location.arrived .tracking-route-line i{border-color:rgba(99,223,147,.55)}
@media(max-width:520px){.success-overlay{place-items:start center;padding:8px 6px}.success-dialog.tracking-active{padding:14px;border-radius:14px}.customer-tracking-hero{padding:15px 10px 13px}.tracking-meta-row{grid-template-columns:1fr 1fr}.customer-progress{gap:2px}.customer-progress>div{min-width:42px}.customer-progress>div small{font-size:.49rem}.customer-progress>i{margin-top:12px}.success-dialog.tracking-active .server-driver-location{padding:10px}}
@media(max-width:365px){.tracking-meta-row{grid-template-columns:1fr}.customer-progress>div small{font-size:.45rem}.customer-progress>div{min-width:38px}.customer-progress{gap:1px}}

/* v0.9.0 — driver portrait in customer tracking + tap-to-enlarge */
.server-driver-status .driver-avatar{appearance:none;padding:0;overflow:hidden;position:relative;border:1px solid rgba(110,231,161,.34);border-radius:12px;background:rgba(110,231,161,.08);color:inherit;cursor:default}
.server-driver-status .driver-avatar.has-photo{cursor:zoom-in;border-color:rgba(255,189,74,.48);box-shadow:0 0 0 2px rgba(255,189,74,.05)}
.server-driver-status .driver-avatar:disabled{opacity:1}
.server-driver-status .driver-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.server-driver-status .driver-avatar span{display:grid;width:100%;height:100%;place-items:center;font-size:1.25rem}
.server-driver-status .driver-avatar img[hidden],.server-driver-status .driver-avatar span[hidden]{display:none!important}
.driver-photo-viewer{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:22px;background:rgba(1,7,10,.92);backdrop-filter:blur(10px)}
.driver-photo-viewer[hidden]{display:none!important}
.driver-photo-viewer>img{display:block;max-width:min(88vw,620px);max-height:78vh;width:auto;height:auto;border:2px solid rgba(255,189,74,.62);border-radius:18px;background:#07161b;box-shadow:0 24px 70px rgba(0,0,0,.55);object-fit:contain}
.driver-photo-viewer>button{position:fixed;top:max(14px,env(safe-area-inset-top));right:16px;width:46px;height:46px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:rgba(6,20,27,.94);color:#fff;font-size:1.65rem;line-height:1;cursor:pointer}
.driver-photo-viewer>p{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:16px;right:16px;margin:0;color:#e8f3f4;text-align:center;font-size:.9rem;font-weight:850}
body.driver-photo-open{overflow:hidden}
@media(max-width:520px){.server-driver-status .driver-avatar{width:48px;height:48px}.driver-photo-viewer{padding:14px}.driver-photo-viewer>img{max-width:94vw;max-height:76vh;border-radius:15px}}

/* ================================================================
   v1.0.2 — public website professional polish
   ================================================================ */
body { padding-bottom: 0; }
.hero { position: relative; }
.hero::before {
  content: "";
  position: absolute;
  inset: 7% 53% auto -8%;
  height: 340px;
  pointer-events: none;
  background: radial-gradient(circle, rgba(72,215,206,.08), transparent 68%);
  filter: blur(8px);
}
.hero-copy { position: relative; z-index: 1; }
.hero-copy h1 { text-wrap: balance; }
.hero-lead { max-width: 720px; }
.hero-panel { position: relative; }
.hero-panel::after {
  content: "LIVE";
  position: absolute;
  right: 19px;
  top: 18px;
  z-index: 2;
  padding: 5px 8px;
  border: 1px solid rgba(99,223,147,.4);
  border-radius: 999px;
  background: rgba(7,24,27,.82);
  color: #aef0c6;
  font-size: .56rem;
  font-weight: 950;
  letter-spacing: .14em;
}
.road-card { overflow: hidden; }
.hero-live-steps {
  margin: 7px 2px 1px;
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto;
  align-items: center;
  gap: 7px;
  color: #c8d4d8;
  font-size: .64rem;
  font-weight: 800;
}
.hero-live-steps span { display: flex; align-items: center; gap: 5px; white-space: nowrap; }
.hero-live-steps b { width: 20px; height: 20px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,189,74,.13); color: var(--gold); font-size: .58rem; }
.hero-live-steps i { min-width: 14px; border-top: 1px dashed rgba(72,215,206,.38); }
.service-card { position: relative; overflow: hidden; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.service-card::after { content: ""; position: absolute; inset: auto -40px -55px auto; width: 130px; height: 130px; border-radius: 50%; background: radial-gradient(circle, rgba(255,189,74,.07), transparent 68%); pointer-events: none; }
.service-card:hover { transform: translateY(-3px); border-color: rgba(255,189,74,.34); background: linear-gradient(180deg, rgba(20,46,57,.96), rgba(9,20,27,.96)); }
.service-card button { position: relative; z-index: 1; }
.benefits-section { border-top: 1px solid var(--line); }
.benefits-heading { max-width: 860px; }
.benefit-grid { margin-top: 38px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.benefit-grid article { min-height: 170px; display: flex; gap: 16px; padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg, rgba(14,37,47,.88), rgba(8,20,26,.9)); }
.benefit-icon { width: 48px; height: 48px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,189,74,.25); border-radius: 14px; background: rgba(255,189,74,.08); font-size: 1.45rem; }
.benefit-grid h3 { margin: 2px 0 7px; font-size: 1.08rem; }
.benefit-grid p { margin: 0; color: #a4b4bb; line-height: 1.55; font-size: .9rem; }
.about-section { position: relative; }
.about-section::before { content: ""; position: absolute; inset: 18% -15% 10% 55%; pointer-events: none; background: radial-gradient(circle, rgba(255,189,74,.06), transparent 70%); }
.about-section > * { position: relative; z-index: 1; }
.about-points > div { min-height: 84px; justify-content: center; background: linear-gradient(180deg,rgba(255,255,255,.032),rgba(255,255,255,.018)); }
.faq-section { border-top: 1px solid var(--line); }
.faq-grid { margin-top: 36px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; align-items: start; }
.faq-grid details { border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.025); overflow: hidden; }
.faq-grid summary { min-height: 62px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 17px; color: #e9f0f2; font-weight: 850; cursor: pointer; list-style: none; }
.faq-grid summary::-webkit-details-marker { display: none; }
.faq-grid summary::after { content: "+"; width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 auto; border: 1px solid rgba(255,189,74,.25); border-radius: 50%; color: var(--gold); font-size: 1.05rem; }
.faq-grid details[open] summary::after { content: "−"; }
.faq-grid details[open] summary { border-bottom: 1px solid rgba(255,255,255,.07); }
.faq-grid p { margin: 0; padding: 15px 17px 18px; color: #a5b5bc; line-height: 1.55; font-size: .9rem; }
.site-footer { min-height: 0; display: grid; grid-template-columns: minmax(260px,.72fr) minmax(560px,1.28fr); align-items: start; gap: 42px 70px; padding-top: 44px; padding-bottom: 28px; color: #8fa1a8; }
.footer-main > p { max-width: 560px; margin: 17px 0 0; color: #8fa1a8; line-height: 1.55; }
.footer-links { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.footer-links > div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.footer-links small { margin-bottom: 4px; color: #6f858e; font-size: .61rem; font-weight: 950; letter-spacing: .14em; }
.footer-links a,.footer-links button { padding: 0; border: 0; background: none; color: #d4dfe2; font: inherit; font-size: .82rem; font-weight: 800; text-align: left; }
.footer-links a:hover,.footer-links button:hover { color: var(--gold); }
.footer-bottom { grid-column: 1 / -1; margin-top: 8px; padding-top: 18px; display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid rgba(255,255,255,.07); color: #637780; font-size: .7rem; }
.request-step .step-copy { line-height: 1.5; }
.submit-button { min-width: 190px; }

@media (max-width: 900px) {
  .benefit-grid,.faq-grid { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 600px) {
  .hero { padding-top: 34px; }
  .hero-panel::after { right: 15px; top: 15px; }
  .hero-live-steps { grid-template-columns: 1fr; gap: 5px; }
  .hero-live-steps i { display: none; }
  .hero-live-steps span { padding: 4px 2px; }
  .service-card:hover { transform: none; }
  .benefit-grid { margin-top: 28px; }
  .benefit-grid article { min-height: 0; padding: 17px; gap: 12px; }
  .benefit-icon { width: 42px; height: 42px; border-radius: 12px; font-size: 1.25rem; }
  .faq-grid { margin-top: 28px; }
  .faq-grid summary { min-height: 58px; padding: 14px; font-size: .9rem; }
  .faq-grid p { padding: 13px 14px 16px; font-size: .84rem; }
  .site-footer { padding: 34px 16px 28px; }
  .footer-links { width: 100%; grid-template-columns: 1fr 1fr; gap: 22px; }
  .footer-bottom { flex-direction: column; gap: 5px; }
  .active-request-bar { z-index: 56; }
}
@media (max-width: 390px) {
  .footer-links { grid-template-columns: 1fr; }
}
.footer-links button { min-height: 0; width: auto; }

/* v1.3.3 — larger 4:3 homepage artwork window; full image is always visible */
.truck-scene{position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:15px;background:#0b1820}
.truck-scene .homepage-default-artwork{position:absolute;inset:0;z-index:1}
.truck-scene .homepage-default-artwork svg{width:100%;height:100%;border-radius:0}
.homepage-artwork-image{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0;transition:opacity .18s ease;background:#0b1820}
.homepage-artwork-image.is-loaded{opacity:1}

/* Stage 1C · estimate approval */
.customer-estimate-card{margin:14px 0 0;border:1px solid rgba(255,189,74,.42);border-radius:14px;background:linear-gradient(180deg,rgba(42,35,20,.86),rgba(10,27,34,.96));padding:14px;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.estimate-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.estimate-card-head small{display:block;color:#ffd071;font-size:.62rem;font-weight:900;letter-spacing:.13em}.estimate-card-head strong{display:block;margin-top:3px;color:#fff8e8;font-size:clamp(1.8rem,8vw,2.45rem);line-height:1}.estimate-card-head>span{border:1px solid rgba(255,189,74,.45);border-radius:999px;background:rgba(255,189,74,.11);color:#ffd989;padding:6px 9px;font-size:.6rem;font-weight:900;letter-spacing:.08em}.estimate-card-head>span[data-state="accepted"]{border-color:rgba(110,231,161,.5);background:rgba(110,231,161,.11);color:#bdf5cf}.estimate-card-head>span[data-state="declined"]{border-color:rgba(255,118,109,.5);background:rgba(255,118,109,.1);color:#ffc2bd}
.customer-estimate-card p{line-height:1.45}.estimate-from{margin:9px 0 0;color:#cbd7da;font-size:.78rem}.estimate-notes{margin:10px 0 0;border-left:3px solid rgba(255,189,74,.58);background:rgba(255,255,255,.035);padding:9px 10px;color:#eef2ee;font-weight:700}.estimate-disclaimer{margin:10px 0 0;color:#aebdc2;font-size:.72rem}.estimate-response-actions{display:grid;grid-template-columns:1.35fr .8fr;gap:8px;margin-top:12px}.estimate-response-actions button{min-height:46px;border-radius:10px;font-weight:900;cursor:pointer}.accept-estimate{border:1px solid #d69636;background:linear-gradient(#ffc35b,#f29a2e);color:#11161a}.decline-estimate{border:1px solid #47616c;background:#102832;color:#edf4f6}.estimate-response-actions button:disabled{opacity:.42;cursor:not-allowed;filter:grayscale(1);background:#344249!important;border-color:#55646b!important;color:#aeb9bd!important;box-shadow:none!important}.estimate-response-message{margin-top:12px;border-radius:10px;background:rgba(110,231,161,.09);color:#c9f5d8;padding:10px 11px;font-size:.78rem;font-weight:800;line-height:1.45}
.estimate-protection-banner{margin-top:12px;display:grid;grid-template-columns:1fr auto;gap:3px 14px;align-items:center;border:1px solid rgba(69,220,230,.48);border-radius:11px;background:rgba(21,91,105,.25);padding:11px 12px}.estimate-protection-banner[hidden]{display:none!important}.estimate-protection-banner small{color:#92eef3;font-size:.61rem;font-weight:950;letter-spacing:.11em}.estimate-protection-banner strong{grid-row:1/3;grid-column:2;color:#fff0a8;font-size:1.65rem;line-height:1}.estimate-protection-banner span{color:#c2dfe3;font-size:.7rem;line-height:1.4}.estimate-protection-banner[data-expired="true"]{border-color:rgba(255,189,74,.42);background:rgba(100,67,15,.22)}.estimate-protection-banner[data-expired="true"] small,.estimate-protection-banner[data-expired="true"] strong{color:#ffd487}
@media(max-width:520px){.customer-estimate-card{padding:12px}.estimate-card-head{align-items:flex-start;flex-direction:column}.estimate-response-actions{grid-template-columns:1fr}.estimate-response-actions button{width:100%}}


/* Stage 1D · automatic live map in Connected Roadside Service card */
.homepage-live-map-wrap{position:absolute;inset:0;z-index:4;background:#091820}
.homepage-live-map-wrap[hidden]{display:none!important}
.homepage-live-map{position:absolute;inset:0;z-index:1;background:#0a1b23}
.homepage-live-map .leaflet-control-attribution{font-size:8px;background:rgba(4,15,20,.76);color:#b9c7cb}
.homepage-live-map .leaflet-control-attribution a{color:#ffd071}
.homepage-live-map .leaflet-control-zoom{border:0;box-shadow:0 3px 12px rgba(0,0,0,.3)}
.homepage-live-map .leaflet-control-zoom a{background:#0b202a;color:#f5f8f8;border-color:#213e49}
.homepage-live-map-overlay{position:absolute;inset:10px 10px auto 10px;z-index:500;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;pointer-events:none}
.homepage-live-map-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(72,215,206,.42);border-radius:999px;background:rgba(6,24,31,.9);color:#c8fbfb;font-size:.58rem;font-weight:950;letter-spacing:.1em;box-shadow:0 4px 16px rgba(0,0,0,.28)}
.homepage-live-map-badge i{width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 0 0 rgba(99,223,147,.5);animation:trackingPulse 1.7s infinite}
.homepage-live-map-metrics{min-width:112px;padding:7px 9px;border:1px solid rgba(255,189,74,.38);border-radius:10px;background:rgba(6,24,31,.9);text-align:right;box-shadow:0 4px 16px rgba(0,0,0,.28)}
.homepage-live-map-metrics strong{display:block;color:#ffe6a7;font-size:.92rem;line-height:1.05}
.homepage-live-map-metrics span{display:block;margin-top:3px;color:#d5e1e4;font-size:.58rem;font-weight:850}
.homepage-live-map-wait{position:absolute;left:50%;bottom:14px;z-index:500;transform:translateX(-50%);width:max-content;max-width:calc(100% - 28px);padding:7px 10px;border-radius:999px;background:rgba(6,24,31,.9);color:#dbe7e9;font-size:.62rem;font-weight:850;text-align:center;box-shadow:0 4px 16px rgba(0,0,0,.28)}
.homepage-live-map-wait[hidden]{display:none!important}
.homepage-map-marker-wrap{background:transparent;border:0}
.homepage-map-marker{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:3px solid #48d7ce;background:#0a2530;font-size:20px;box-shadow:0 4px 14px rgba(0,0,0,.38)}
.homepage-map-marker.pickup{border-color:#ffbd4a;background:#382914}
.road-card.is-live-map{border-color:rgba(72,215,206,.48);box-shadow:var(--shadow),0 0 0 1px rgba(72,215,206,.08),inset 0 1px 0 rgba(255,255,255,.04)}
.road-card.is-live-map .road-card-top{color:#bff6f6}
@media(max-width:600px){.homepage-live-map-overlay{inset:8px 8px auto 8px}.homepage-live-map-badge{font-size:.52rem;padding:5px 7px}.homepage-live-map-metrics{min-width:96px;padding:6px 7px}.homepage-live-map-metrics strong{font-size:.82rem}.homepage-live-map-metrics span{font-size:.52rem}.homepage-live-map-wait{bottom:9px;font-size:.55rem}}

/* Stage 1E: required tow destination + selectable address lookup */
.required-label { color: #ffca66 !important; font-weight: 850 !important; }
.address-search-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: stretch; }
.address-search-row input { min-width: 0; }
.find-address-button { min-height: 45px; padding: 0 14px; border: 1px solid #56727d; border-radius: 10px; background: linear-gradient(180deg, #17303a, #10232b); color: #eaf6f7; font-weight: 850; cursor: pointer; white-space: nowrap; }
.find-address-button:hover { border-color: #7ca1af; }
.find-address-button:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
.find-address-button:disabled { opacity: .58; cursor: wait; }
.address-search-help { margin: 7px 0 0; color: #8399a3; font-size: .73rem; line-height: 1.4; }
.address-search-status { margin-top: 9px; padding: 9px 11px; border: 1px solid #31515c; border-radius: 9px; background: #0a1b22; color: #c9dde3; font-size: .76rem; line-height: 1.4; }
.address-search-status[data-state="selected"] { border-color: rgba(99,223,147,.38); background: rgba(99,223,147,.08); color: #baf0ce; }
.address-search-status[data-state="error"] { border-color: rgba(255,109,99,.38); background: rgba(255,109,99,.08); color: #ffc0bb; }
.address-search-results { margin-top: 8px; display: grid; gap: 7px; }
.address-search-result { width: 100%; padding: 10px 11px; border: 1px solid #294550; border-radius: 10px; background: #0a1820; color: #eef7f8; text-align: left; cursor: pointer; }
.address-search-result strong { display: block; font-size: .82rem; line-height: 1.35; }
.address-search-result small { display: block; margin-top: 3px; color: #8ba1aa; font-size: .69rem; }
.address-search-result:hover { border-color: #4f7b89; background: #0d2029; }
.address-search-result:focus-visible { outline: 2px solid var(--teal); outline-offset: 2px; }
@media (max-width: 520px) {
  .address-search-row { grid-template-columns: 1fr; }
  .find-address-button { width: 100%; }
}


/* Stage 1F · phone space optimization for faster live-map visibility */
@media (max-width: 600px) {
  .site-header { min-height: 58px; padding-top: max(7px, env(safe-area-inset-top)); padding-bottom: 7px; }
  .brand { gap: 8px; }
  .brand-mark { width: 36px; height: 36px; border-radius: 10px; }
  .brand-mark img { width: 32px; height: 32px; }
  .brand > span:last-child { line-height: 1; }
  .brand strong { font-size: 1rem; letter-spacing: .025em; }
  .mobile-menu { top: 58px; }
  .hero { padding: 18px 0 34px; gap: 16px; }
  .eyebrow { margin-bottom: 8px; font-size: .62rem; letter-spacing: .14em; }
  h1 { font-size: clamp(2.18rem, 11.5vw, 3.45rem); line-height: .97; }
  .hero-lead { margin-top: 11px; font-size: .92rem; line-height: 1.38; }
  .hero-actions { margin-top: 14px; gap: 7px; }
  .primary-action { min-height: 54px; padding: 8px 14px; }
  .primary-action .action-icon { font-size: 1.4rem; }
  .primary-action strong { font-size: .86rem; }
  .primary-action small { margin-top: 1px; font-size: .72rem; }
  .secondary-action { min-height: 40px; padding: 0 14px; border-radius: 10px; font-size: .84rem; }
  .trust-row { display: none !important; }
  .road-card { padding: 8px; border-radius: 17px; }
  .road-card-top { padding: 3px 4px 8px; font-size: .61rem; }
  .road-card-bottom { padding: 9px 4px 3px; }
}


/* Stage 1G · final price confirmation */
.customer-final-price{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin:11px 0;border:1px solid rgba(99,223,147,.4);border-left:4px solid #63df93;border-radius:11px;background:rgba(28,91,57,.16);padding:12px 13px}.customer-final-price small,.customer-final-price strong,.customer-final-price span{display:block}.customer-final-price small{color:#9ff0bd;font-size:.6rem;font-weight:950;letter-spacing:.11em}.customer-final-price strong{margin-top:3px;font-size:1.65rem;color:#f3fff6}.customer-final-price span{margin-top:3px;color:#bed1c5;font-size:.72rem}.customer-final-price p{margin:0;border-top:1px solid rgba(255,255,255,.09);padding-top:8px;color:#e6eee8;font-size:.76rem;line-height:1.4}
@media(max-width:520px){.customer-progress>div{min-width:34px}.customer-progress>div small{font-size:.44rem}.customer-progress{gap:1px}.customer-progress>i{margin-top:12px}}
/* Stage 5A · WreckerLink professional three-product showcase */
.product-story{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:clamp(34px,6vw,82px);align-items:center;padding:clamp(72px,9vw,118px) max(24px,calc((100vw - 1200px)/2));overflow:hidden}
.product-story:nth-of-type(even){background:#071923}
.product-story-copy{position:relative;z-index:1}.product-story-copy h2,.subscription-showcase h2{max-width:760px;margin:9px 0 16px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,4.2vw,3.75rem);line-height:1.04;letter-spacing:-.035em;color:#f8f3e8}.product-story-copy>p:not(.eyebrow),.subscription-showcase>div>p:not(.eyebrow){max-width:760px;margin:0;color:#b2c0c6;font-size:clamp(.96rem,1.3vw,1.08rem);line-height:1.75}
.public-product{background:radial-gradient(circle at 82% 45%,rgba(210,168,55,.13),transparent 30%),linear-gradient(180deg,#0b202a,#071820)}
.product-feature-list{display:grid;gap:10px;margin:28px 0}.product-feature-list>div{display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start;padding:12px 14px;border:1px solid rgba(202,169,84,.2);border-radius:12px;background:rgba(9,30,39,.72)}.product-feature-list b{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#d6ad42;color:#111;font-weight:1000}.product-feature-list strong,.product-feature-list small{display:block}.product-feature-list strong{color:#f5ecd5}.product-feature-list small{margin-top:3px;color:#93a7af;line-height:1.45}
.showcase-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:1px solid transparent;border-radius:10px;text-decoration:none;font-size:.76rem;font-weight:1000;letter-spacing:.045em;text-transform:uppercase;cursor:pointer}.showcase-cta.gold{border-color:#e6bd52;background:linear-gradient(180deg,#edc967,#c79322);color:#111;box-shadow:0 12px 26px rgba(0,0,0,.22)}.showcase-cta.gold:hover{filter:brightness(1.08);transform:translateY(-1px)}.showcase-cta.outline{border-color:#58707a;background:rgba(8,28,37,.65);color:#e9eff1}.showcase-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.phone-product{justify-self:center;width:min(100%,365px);padding:14px;border:1px solid #4b5960;border-radius:35px;background:linear-gradient(145deg,#1f282d,#05090b);box-shadow:0 38px 80px rgba(0,0,0,.52),inset 0 0 0 2px #070a0c}.phone-product-top{display:flex;align-items:center;justify-content:center;gap:9px;padding:7px 0 14px;color:#e9d38f;font-size:.69rem;font-weight:1000;letter-spacing:.13em}.phone-product-top img{width:35px;height:35px;object-fit:contain;border-radius:9px;background:#d4af37}.phone-product-screen{min-height:430px;padding:29px 21px;border-radius:24px;background:radial-gradient(circle at top right,rgba(215,174,63,.18),transparent 28%),#091c25}.phone-product-screen>small{color:#d4af37;font-size:.63rem;font-weight:900;letter-spacing:.13em}.phone-product-screen>strong{display:block;margin:9px 0 24px;color:white;font:700 1.7rem/1.1 Georgia,serif}.phone-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.phone-service-grid span{min-height:64px;padding:12px 9px;border:1px solid #334c56;border-radius:11px;background:#102a35;color:#d8e1e4;font-size:.75rem;font-weight:850}.phone-product-screen button{width:100%;min-height:48px;margin-top:24px;border:1px solid #e2b950;border-radius:10px;background:linear-gradient(#edca69,#c99725);color:#111;font-weight:1000}
.network-product{grid-template-columns:minmax(390px,.95fr) minmax(0,1.05fr);background:linear-gradient(135deg,#06141c,#0b2029 58%,#101d20)}.network-visual{padding:24px;border:1px solid rgba(207,171,73,.32);border-radius:20px;background:linear-gradient(145deg,rgba(17,43,53,.96),rgba(5,17,23,.98));box-shadow:0 28px 70px rgba(0,0,0,.36)}.network-brand{display:flex;align-items:center;gap:13px;padding-bottom:18px;border-bottom:1px solid #29434d}.network-brand img{width:58px;height:58px;border-radius:14px;background:#d4af37;object-fit:contain}.network-brand small,.network-brand strong{display:block}.network-brand small{color:#caa747;font-size:.62rem;letter-spacing:.15em}.network-brand strong{margin-top:4px;color:#fff;font:700 1.25rem Georgia,serif}.network-flow{display:grid;gap:10px;padding-top:20px}.network-flow>div{padding:15px;border:1px solid #2d4a55;border-radius:12px;background:#0d2833}.network-flow span{color:#d4af37;font-size:.62rem;font-weight:1000;letter-spacing:.12em}.network-flow strong,.network-flow small{display:block}.network-flow strong{margin-top:4px;color:#f5f7f7}.network-flow small{margin-top:4px;color:#8fa3ab;line-height:1.45}.network-flow>i{justify-self:center;color:#c99f37;font-style:normal;transform:rotate(90deg)}
.capability-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}.capability-columns article{padding:19px;border:1px solid rgba(207,171,73,.27);border-radius:14px;background:rgba(8,27,35,.75)}.capability-columns article>span{color:#d7b454;font-size:.61rem;font-weight:1000;letter-spacing:.12em}.capability-columns h3{margin:7px 0 12px;color:#f6f0df;font-size:1rem}.capability-columns ul{display:grid;gap:7px;margin:0;padding-left:17px;color:#9fb0b7;font-size:.76rem;line-height:1.4}.capability-columns li::marker{color:#d2aa43}
.ticket-product{background:radial-gradient(circle at 78% 48%,rgba(209,168,55,.12),transparent 28%),#0a1d25}.ticket-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:25px}.ticket-feature-grid span{position:relative;padding:10px 10px 10px 30px;border:1px solid #28434d;border-radius:9px;background:rgba(8,28,36,.74);color:#bdc9cd;font-size:.74rem}.ticket-feature-grid span::before{content:'✓';position:absolute;left:10px;color:#d7b24d;font-weight:1000}
.ticket-paper{justify-self:center;width:min(100%,410px);padding:25px;border:1px solid #d7c99f;border-radius:5px;background:#f5f0e2;color:#172127;box-shadow:0 40px 80px rgba(0,0,0,.48),10px 12px 0 rgba(213,173,65,.18);transform:rotate(1.2deg)}.ticket-paper header{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:11px;padding-bottom:15px;border-bottom:3px double #1f2b30}.ticket-paper header img{width:48px;height:48px;border-radius:9px;background:#d4af37;object-fit:contain}.ticket-paper header small,.ticket-paper header strong{display:block}.ticket-paper header small{font-size:.52rem;letter-spacing:.15em}.ticket-paper header strong{font:700 1.3rem Georgia,serif}.ticket-paper header b{font-size:.8rem}.ticket-paper-row{margin-top:17px}.ticket-paper-row span{display:block;font-size:.52rem;font-weight:900;letter-spacing:.09em}.ticket-paper-row i{display:block;height:18px;border-bottom:1px solid #9a9a8c}.ticket-paper-charges{margin-top:25px;border:1px solid #8b8b7d}.ticket-paper-charges>div{display:flex;justify-content:space-between;padding:9px 10px;border-bottom:1px solid #aaa99a;font-size:.62rem}.ticket-paper-charges>div:last-child{border-bottom:0}.ticket-paper-charges .total{background:#19262b;color:white;font-weight:1000}.ticket-paper footer{margin-top:20px;color:#777568;font-size:.57rem;text-align:center;letter-spacing:.06em}
.subscription-showcase{padding:clamp(72px,8vw,108px) max(24px,calc((100vw - 1200px)/2));background:linear-gradient(135deg,#121a1d,#09171d);border-top:1px solid rgba(207,171,73,.3);border-bottom:1px solid rgba(207,171,73,.3)}.subscription-showcase>div:first-child{text-align:center}.subscription-showcase>div:first-child p{margin-left:auto;margin-right:auto}.subscription-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:38px}.subscription-cards article{padding:28px;border:1px solid rgba(215,178,75,.36);border-radius:16px;background:linear-gradient(145deg,#102a34,#081b23);box-shadow:0 20px 48px rgba(0,0,0,.24)}.subscription-cards small{color:#d5ae45;font-size:.61rem;font-weight:1000;letter-spacing:.14em}.subscription-cards h3{margin:8px 0 10px;color:#fff;font:700 1.55rem Georgia,serif}.subscription-cards p{min-height:52px;color:#9eafb6;line-height:1.55}.subscription-cards a{display:inline-flex;margin-top:12px;padding:11px 15px;border-radius:9px;background:#d4af37;color:#111;text-decoration:none;font-size:.7rem;font-weight:1000;text-transform:uppercase}
@media(max-width:900px){.product-story,.network-product{grid-template-columns:1fr}.network-visual{order:2}.phone-product,.ticket-paper{margin-top:12px}.capability-columns{grid-template-columns:1fr}.subscription-cards{grid-template-columns:1fr}}
@media(max-width:620px){.product-story{padding:62px 16px;gap:32px}.product-story-copy h2,.subscription-showcase h2{font-size:2.2rem}.phone-product{width:100%;max-width:340px}.ticket-feature-grid{grid-template-columns:1fr}.ticket-paper{width:calc(100% - 12px);padding:18px}.subscription-showcase{padding:62px 16px}.subscription-cards article{padding:22px}.showcase-actions{display:grid}.showcase-cta{width:100%}}
