/*
 * RAVEL · Website 1.0.0
 * Autonomous stylesheet. No remote fonts, frameworks or imports.
 * Brand colors are centralized here for easy maintenance.
 */
:root {
  --yellow: #ebc341;
  --yellow-hover: #f3d264;
  --ink: #141414;
  --ink-soft: #22231f;
  --white: #fff;
  --paper: #f5f5f0;
  --muted: #62645d;
  --line: #dedfd6;
  --font: Arial, Helvetica, sans-serif;
  --container: 1280px;
  --header-height: 88px;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 24px); }
body { margin: 0; color: var(--ink); background: var(--white); font-family: var(--font); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
[hidden] { display: none !important; }
img { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; color: inherit; }
button, a, input, select, textarea, summary { -webkit-tap-highlight-color: transparent; }
a { color: inherit; text-decoration: none; }
button { cursor: pointer; }
button:disabled { cursor: default; }
h1, h2, h3, h4, p { margin: 0; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }
h2 { font-size: clamp(36px, 3.35vw, 48px); line-height: 1.08; letter-spacing: -1.8px; font-weight: 700; }
h3 { line-height: 1.2; }
address { font-style: normal; }
::selection { color: var(--ink); background: var(--yellow); }
:focus-visible { outline: 3px solid #8d6c0c; outline-offset: 5px; }
.hero :focus-visible, .coverage :focus-visible, .site-footer :focus-visible { outline-color: var(--yellow); }
.container { width: min(var(--container), calc(100% - 112px)); margin-inline: auto; }
.section { padding-block: 100px; }
.section-kicker { display: flex; justify-content: space-between; gap: 24px; padding-bottom: 22px; margin-bottom: 46px; border-bottom: 1px solid var(--line); font-size: 10px; line-height: 1.4; font-weight: 700; letter-spacing: 1.8px; }
.section-kicker > :last-child { text-align: right; color: var(--muted); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 64px; margin-bottom: 40px; }
.section-heading > p { max-width: 325px; color: var(--muted); line-height: 1.75; }
.eyebrow { display: block; font-size: 10px; font-weight: 700; line-height: 1.5; letter-spacing: 1.7px; }
.text-muted { color: var(--muted); }
.text-yellow { color: var(--yellow); }
.icon { display: inline-block; flex: 0 0 auto; width: 24px; height: 24px; vertical-align: middle; }
.svg-library { position: absolute; pointer-events: none; overflow: hidden; }
.arrow-down { transform: rotate(90deg); }
.arrow-upward { transform: rotate(-90deg); }
.arrow-left { transform: rotate(180deg); }
.button { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 54px; padding: 15px 24px; font-size: 13px; font-weight: 700; line-height: 1.5; border: 1px solid transparent; border-radius: 0; transition: background .2s, color .2s, border-color .2s; }
.button .icon { width: 20px; height: 20px; transition: transform .2s; }
.button:hover .icon { transform: translate(2px, -2px); }
.button-yellow { background: var(--yellow); color: var(--ink); }
.button-yellow:hover { background: var(--yellow-hover); }
.button-dark { color: var(--white); background: var(--ink); }
.button-dark:hover { color: var(--ink); background: var(--yellow); }
.button-outline { background: transparent; border-color: var(--line); color: var(--ink); }
.button-outline:hover { border-color: var(--ink); }
.text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 44px; font-size: 13px; font-weight: 700; }
.text-link .icon { width: 19px; height: 19px; transition: transform .2s; }
.text-link:hover .icon { transform: translate(3px, -3px); }
.text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.skip-link { position: fixed; z-index: 200; top: 8px; left: 8px; padding: 12px 22px; background: var(--yellow); color: var(--ink); font-weight: 700; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
/* Header */
.site-header { position: sticky; z-index: 50; top: 0; background: var(--white); border-bottom: 1px solid transparent; }
.site-header.is-scrolled { border-color: var(--line); }
.header-inner { display: flex; align-items: center; gap: 36px; height: var(--header-height); }
.brand { display: inline-flex; align-items: center; flex-shrink: 0; min-height: 44px; }
.brand img { width: 176px; height: auto; }
.site-nav { display: flex; align-items: center; gap: 29px; margin-left: auto; }
.site-nav > a { position: relative; padding-block: 12px; font-size: 12px; font-weight: 700; }
.site-nav > a:not(.nav-mobile-cta)::after { position: absolute; content: ''; height: 2px; background: var(--ink); bottom: 5px; left: 0; right: 100%; transition: right .2s; }
.site-nav > a:hover::after { right: 0; }
.header-cta { min-height: 45px; padding: 11px 19px; font-size: 11px; gap: 22px; }
.nav-mobile-cta, .menu-toggle { display: none; }
/* Hero: flat corporate color fields, bespoke vector artwork. */
.hero { color: var(--white); background: var(--ink); overflow: hidden; }
.hero-inner { display: grid; grid-template-columns: .91fr 1.09fr; min-height: 715px; position: relative; }
.hero-copy { z-index: 2; padding-block: 62px 60px; }
.hero-eyebrow { display: flex; align-items: center; gap: 9px; color: #d1d2c9; margin-bottom: 30px; font-size: 10px; letter-spacing: 2px; }
.status-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--yellow); }
.hero h1 { font-size: clamp(65px, 5.8vw, 86px); line-height: .99; letter-spacing: -4.2px; font-weight: 700; }
.hero h1 span { color: var(--yellow); }
.hero-description { color: #c0c1b9; margin-top: 28px; max-width: 385px; font-size: 14px; line-height: 1.85; }
.hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 31px; }
.hero-actions .button { padding-inline: 21px; gap: 22px; }
.hero-secondary { display: inline-flex; align-items: center; gap: 14px; min-height: 44px; font-size: 11px; font-weight: 700; }
.hero-secondary .icon { width: 17px; height: 17px; }
.hero-secondary:hover { color: var(--yellow); }
.hero-art { position: relative; min-width: 0; align-self: stretch; margin-right: -42px; }
.hero-yellow-field { position: absolute; top: 51px; right: 0; width: 96%; bottom: 70px; background: var(--yellow); clip-path: polygon(23% 0, 100% 0, 100% 100%, 0 100%, 0 40%); }
.hero-art-word { position: absolute; z-index: 1; top: 116px; right: 13px; font-size: clamp(108px, 11.8vw, 174px); font-weight: 700; line-height: 1; letter-spacing: -10px; color: #141414; opacity: .12; }
.hero-art-top { position: absolute; z-index: 2; top: 81px; left: 31%; right: 25px; display: flex; align-items: center; justify-content: space-between; gap: 20px; font-size: 9px; letter-spacing: 1.5px; font-weight: 700; color: var(--ink); }
.hero-art-top > :last-child { display: inline-flex; align-items: center; gap: 8px; }
.hero-art-top .icon { width: 19px; height: 19px; }
.hero-route { position: absolute; top: 253px; bottom: 128px; left: 18%; right: 5%; border: 1px dashed #6a5a28; border-radius: 60%; transform: rotate(-24deg); opacity: .35; }
.hero-route span { position: absolute; height: 8px; width: 8px; background: var(--ink); border-radius: 50%; }
.hero-route span:first-child { left: 25%; top: 2px; }
.hero-route span:last-child { right: 30%; bottom: 2px; }
.hero-truck { position: absolute; z-index: 3; top: 173px; right: -53px; width: 121%; max-width: none; height: auto; }
.hero-assurance { position: absolute; z-index: 4; left: 8%; bottom: 103px; display: flex; align-items: center; gap: 14px; background: var(--ink); padding: 14px 19px; font-size: 10px; line-height: 1.7; }
.hero-assurance .icon { width: 27px; height: 27px; color: var(--yellow); }
.hero-assurance span { color: #c6c8ba; }
.hero-assurance strong { color: var(--white); font-size: 12px; }
.hero-art-caption { position: absolute; z-index: 4; right: 21px; bottom: 83px; font-size: 7px; font-weight: 700; letter-spacing: 1px; color: var(--ink); }
.hero-bottom { display: flex; justify-content: space-between; gap: 30px; align-items: center; height: 60px; border-top: 1px solid #393a33; font-size: 9px; font-weight: 700; letter-spacing: 1.3px; color: #b2b5a8; }
.hero-bottom > a { display: inline-flex; align-items: center; gap: 18px; min-height: 44px; }
.hero-bottom .icon { color: var(--yellow); width: 19px; height: 19px; }
/* Key figures */
.metrics { border-bottom: 1px solid var(--line); background: var(--white); }
.metrics-grid { display: grid; grid-template-columns: repeat(4, 1fr); padding-block: 32px; }
.metric { padding-left: 36px; border-left: 1px solid var(--line); }
.metric:first-child { padding-left: 0; border-left: 0; }
.metric strong { display: flex; align-items: baseline; gap: 10px; font-size: 43px; line-height: 1.15; letter-spacing: -1.5px; }
.metric strong span { font-size: 11px; letter-spacing: 0; }
.metric p { margin-top: 8px; font-size: 11px; color: var(--muted); }
/* Company */
.about-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 100px; }
.about-copy p { font-size: 14px; color: var(--muted); margin-top: 17px; }
.about-copy .lead { color: var(--ink); font-size: 19px; line-height: 1.55; margin-top: 0; }
.principles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; margin-top: 58px; }
.principle { position: relative; padding: 26px 0 28px; border-top: 2px solid var(--ink); }
.principle > .icon { color: var(--ink); width: 28px; height: 28px; margin-bottom: 20px; }
.principle h3 { font-size: 16px; margin-bottom: 10px; }
.principle p { max-width: 220px; font-size: 12px; line-height: 1.8; color: var(--muted); }
.purpose-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 50px; padding: 36px; margin-top: 23px; background: var(--paper); }
.purpose-grid article { display: grid; grid-template-columns: .9fr 1fr; column-gap: 28px; }
.purpose-grid .eyebrow { grid-column: 1/-1; margin-bottom: 16px; font-size: 9px; color: var(--muted); }
.purpose-grid h3 { font-size: 21px; letter-spacing: -.5px; }
.purpose-grid p { font-size: 12px; color: var(--muted); line-height: 1.75; }
.values-details { margin-top: 20px; border-bottom: 1px solid var(--line); }
.values-details summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 58px; font-weight: 700; font-size: 13px; cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }
summary::marker { content: ''; }
.values-details summary .icon { width: 18px; height: 18px; transition: transform .2s; }
details[open] > summary .icon { transform: rotate(45deg); }
.values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; padding: 18px 0 38px; }
.values-grid h3 { font-size: 14px; margin-bottom: 8px; }
.values-grid p { font-size: 13px; color: var(--muted); }
/* Services */
.services { background: var(--paper); }
.services-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #d5d7cc; }
.service { position: relative; border-right: 1px solid #d5d7cc; padding: 27px 25px 78px; transition: background .2s; }
.service:last-child { border-right: 0; }
.service:hover, .service:focus-within { background: var(--yellow); }
.service-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 42px; }
.service-top > span { font-size: 10px; color: var(--muted); }
.service-top .icon { width: 33px; height: 33px; }
.service h3 { font-size: 23px; letter-spacing: -.7px; margin-bottom: 17px; }
.service p { font-size: 13px; line-height: 1.8; color: var(--muted); }
.service:hover p, .service:focus-within p { color: #4a421f; }
.service:hover .service-top > span, .service:focus-within .service-top > span { color: #4a421f; }
.service-link { position: absolute; bottom: 19px; left: 19px; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.service-link::after { content: ''; position: absolute; width: 28px; height: 1px; right: -28px; top: 21px; background: var(--ink); opacity: 0; transition: opacity .2s; }
.service:hover .service-link::after { opacity: 1; }
.operation-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 36px; }
.operation-row > .eyebrow { font-size: 9px; color: var(--muted); }
.operation-row ol { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 31px; }
.operation-row li { font-size: 11px; font-weight: 700; }
.operation-row li > span { display: inline-block; font-size: 9px; margin-right: 7px; color: var(--muted); }
/* Fleet selector */
.fleet-tabs { display: flex; border-bottom: 1px solid var(--line); margin-bottom: 28px; gap: 12px; }
.fleet-tab { position: relative; border: 0; background: transparent; padding: 17px 23px 19px; font-size: 12px; font-weight: 700; color: var(--muted); min-height: 54px; }
.fleet-tab[aria-selected="true"] { color: var(--ink); background: var(--yellow); }
.fleet-tab:not([aria-selected="true"]):hover { background: var(--paper); color: var(--ink); }
.fleet-tab:focus-visible { outline-offset: -4px; }
.fleet-panel { display: grid; grid-template-columns: 1.3fr 1fr; border: 1px solid var(--line); margin-bottom: 24px; }
.fleet-visual { position: relative; overflow: hidden; background: var(--paper); display: flex; align-items: center; min-height: 390px; }
.fleet-visual-top { position: absolute; top: 22px; right: 26px; left: 26px; display: flex; justify-content: space-between; font-size: 8px; letter-spacing: 1.3px; font-weight: 700; color: var(--muted); }
.fleet-visual > img { position: relative; width: 100%; z-index: 2; }
.fleet-watermark { position: absolute; z-index: 1; top: 55px; left: 37px; font-size: 106px; font-weight: 700; color: #e6e7df; line-height: 1; letter-spacing: -6px; white-space: nowrap; }
.fleet-caption { position: absolute; bottom: 18px; left: 26px; right: 20px; font-size: 9px; color: var(--muted); }
.fleet-info { padding: 38px 40px; }
.fleet-info .eyebrow { margin-bottom: 14px; font-size: 9px; color: var(--muted); }
.fleet-info h3 { font-size: clamp(27px, 2.5vw, 35px); line-height: 1.1; letter-spacing: -1px; margin-bottom: 18px; }
.fleet-info > p:not(.eyebrow) { font-size: 13px; color: var(--muted); }
.check-list { list-style: none; margin: 20px 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 17px; }
.check-list li { display: inline-flex; align-items: center; gap: 5px; font-size: 10px; }
.check-list .icon { width: 15px; height: 15px; }
.fleet-info .text-link { border-bottom: 1px solid var(--ink); font-size: 12px; }
.section-note { font-size: 11px; color: var(--muted); line-height: 1.7; }
/* Coverage and GPS */
.coverage { color: var(--white); background: var(--ink); }
.coverage .section-kicker { border-color: #3c3e35; }
.coverage .section-kicker > :last-child { color: #a9ac9e; }
.coverage-grid { display: grid; grid-template-columns: 1.4fr 1fr; gap: 80px; }
.coverage-main { min-width: 0; }
.coverage-main > .eyebrow { margin-bottom: 21px; }
.coverage h2 { font-size: 53px; }
.coverage-main > p:not(.eyebrow):not(.coverage-note) { max-width: 420px; color: #afb2a5; font-size: 14px; margin-top: 23px; }
.coverage-map { width: calc(100% + 38px); max-width: none; margin-top: 14px; margin-left: -20px; }
.coverage-note { color: #a5a899; font-size: 9px; max-width: 480px; }
.tracking-card { align-self: start; padding: 34px 33px 25px; background: #22231f; border: 1px solid #42443b; }
.tracking-top { display: flex; align-items: center; gap: 11px; color: #bfc1b5; margin-bottom: 39px; }
.tracking-top > span { font-size: 8px; letter-spacing: 1.3px; }
.tracking-top > .icon { width: 21px; height: 21px; color: var(--yellow); }
.tracking-card h3 { font-size: 35px; letter-spacing: -1.2px; line-height: 1.14; margin-bottom: 20px; }
.tracking-card h3 span { color: var(--yellow); }
.tracking-card > p { color: #bfc1b5; font-size: 13px; }
.tracking-number { display: flex; align-items: center; gap: 25px; padding-block: 27px; border-bottom: 1px solid #4a4c40; margin-bottom: 25px; }
.tracking-number > strong { font-size: 64px; line-height: 1; font-weight: 400; letter-spacing: -3px; }
.tracking-number > span { font-size: 11px; color: #bfc1b5; line-height: 1.8; }
.mirror-note { display: flex; gap: 16px; margin-bottom: 31px; }
.mirror-note > .icon { color: var(--yellow); width: 20px; height: 20px; }
.mirror-note h4 { font-size: 12px; margin-bottom: 9px; }
.mirror-note p { font-size: 11px; line-height: 1.9; color: #bfc1b5; }
.tracking-card .button { display: flex; font-size: 11px; gap: 12px; padding-inline: 17px; }
.tracking-card .tracking-caption { font-size: 9px; color: #bfc1b5; text-align: center; margin-top: 14px; }
/* Commercial relationships */
.partners { background: var(--yellow); padding-block: 48px; }
.partners-inner { display: grid; grid-template-columns: .65fr 1.3fr .5fr; gap: 40px; align-items: center; }
.partners-number { font-size: 75px; line-height: 1; letter-spacing: -3px; border-right: 1px solid #8a732d; }
.partners-number > span { display: block; margin-top: 10px; font-size: 10px; letter-spacing: 1px; font-weight: 700; }
.partners-copy h2 { font-size: 29px; letter-spacing: -.9px; }
.partners-copy p { max-width: 400px; font-size: 12px; line-height: 1.8; margin-top: 14px; }
.industry-tags { display: flex; flex-direction: column; gap: 12px; }
.industry-tags > span { display: flex; align-items: center; gap: 10px; font-size: 11px; font-weight: 700; }
.industry-tags .icon { width: 22px; height: 22px; }
/* FAQs */
.faq { padding-bottom: 85px; }
.faq-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; }
.faq .eyebrow { margin-bottom: 23px; }
.faq h2 { margin-bottom: 23px; }
.faq-grid > div > p:not(.eyebrow) { font-size: 14px; color: var(--muted); max-width: 240px; }
.faq-item { border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 71px; padding: 17px 0; cursor: pointer; font-size: 14px; font-weight: 700; line-height: 1.5; list-style: none; }
.faq-item summary .icon { width: 18px; height: 18px; transition: transform .2s; }
.faq-item > p { font-size: 13px; line-height: 1.85; color: var(--muted); padding: 0 28px 24px 0; }
/* Quote workflow */
.quote { background: var(--paper); }
.quote-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 87px; }
.quote-copy > .eyebrow { margin: 4px 0 26px; }
.quote h2 { font-size: clamp(47px, 4.7vw, 65px); line-height: 1.02; letter-spacing: -2.9px; }
.quote h2 span { color: var(--muted); }
.quote-copy > p:not(.eyebrow) { font-size: 14px; color: var(--muted); margin-top: 28px; }
.quote-direct { display: flex; align-items: center; gap: 20px; border-top: 1px solid #d1d3c6; padding-top: 29px; margin-top: 44px; max-width: 365px; }
.quote-direct > .icon:first-child { width: 23px; height: 23px; }
.quote-direct > .icon:last-child { margin-left: auto; width: 20px; height: 20px; }
.quote-direct span { font-size: 27px; font-weight: 700; line-height: 1.4; letter-spacing: -.4px; }
.quote-direct small { display: block; font-size: 8px; color: var(--muted); letter-spacing: 1.5px; margin-bottom: 6px; }
.quote-email { display: block; font-size: 12px; line-height: 1.7; margin-top: 14px; overflow-wrap: anywhere; }
.quote-email:hover { text-decoration: underline; text-underline-offset: 4px; }
.quote-promise { display: flex; align-items: center; gap: 12px; margin-top: 34px; color: var(--muted); font-size: 11px; }
.quote-promise > .icon { width: 28px; height: 28px; }
.quote-form-wrap { min-width: 0; background: var(--white); padding: 34px; }
.form-heading { display: flex; justify-content: space-between; align-items: start; gap: 15px; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.form-heading > .eyebrow { font-size: 8px; letter-spacing: 1.1px; }
.form-heading > :last-child { color: var(--muted); font-size: 8px; white-space: nowrap; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 18px; }
.field { min-width: 0; }
.field-full { grid-column: 1/-1; }
.field > label { display: block; font-size: 11px; line-height: 1.5; font-weight: 700; margin-bottom: 8px; }
.field > label > small { color: var(--muted); font-size: 9px; font-weight: 400; margin-left: 4px; }
input, select, textarea { display: block; width: 100%; min-width: 0; border: 1px solid #909487; border-radius: 0; background: var(--white); padding: 13px 12px; font-size: 12px; line-height: 1.5; transition: border-color .2s; }
input, select { height: 47px; }
textarea { resize: vertical; min-height: 115px; max-height: 380px; }
input::placeholder, textarea::placeholder { color: #6f7269; opacity: 1; }
input:hover, select:hover, textarea:hover { border-color: #858a7b; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--ink); outline-offset: 1px; border-color: var(--ink); }
.was-validated input:invalid, .was-validated textarea:invalid { border-color: #745014; outline-color: #745014; }
.field-help { display: block; margin-top: 5px; font-size: 9px; color: var(--muted); }
.textarea-meta { display: flex; justify-content: space-between; gap: 14px; color: var(--muted); font-size: 8px; margin-top: 7px; }
.form-submit { width: 100%; margin-top: 22px; }
.form-fine-print { font-size: 9px; color: var(--muted); line-height: 1.8; margin-top: 13px; }
.form-fine-print a { text-decoration: underline; text-underline-offset: 2px; }
.service-context { font-size: 10px; background: var(--paper); padding: 9px 12px; margin-top: 17px; }
.review-icon { display: inline-flex; align-items: center; justify-content: center; width: 43px; height: 43px; background: var(--yellow); margin-bottom: 19px; }
.quote-review > .eyebrow { font-size: 9px; margin-bottom: 13px; }
.quote-review h3 { font-size: 29px; letter-spacing: -.9px; line-height: 1.15; margin-bottom: 14px; }
.quote-review > p:not(.eyebrow):not(.form-fine-print):not(.quote-status) { font-size: 12px; color: var(--muted); }
.quote-review pre { max-height: 325px; overflow-y: auto; white-space: pre-wrap; overflow-wrap: anywhere; font: 11px/1.8 var(--font); background: var(--paper); padding: 18px; margin: 20px 0; border-left: 3px solid var(--yellow); }
.quote-review .button { width: 100%; margin-bottom: 10px; font-size: 12px; }
.review-tools { display: flex; justify-content: space-between; gap: 7px; flex-wrap: wrap; padding-top: 8px; }
.review-tools > button { display: flex; align-items: center; gap: 6px; border: 0; background: transparent; padding: 10px 4px; min-height: 44px; font-size: 10px; }
.review-tools .icon { width: 15px; height: 15px; }
.review-tools > button:hover { text-decoration: underline; text-underline-offset: 3px; }
.quote-status { min-height: 22px; font-size: 11px; }
.no-script-quote h3 { font-size: 27px; }
.no-script-quote p { font-size: 14px; margin: 18px 0 25px; }
.no-script-quote > a { margin-top: 12px; }
/* Locations */
.contact .section-heading > .text-link { margin-bottom: 3px; }
.contact .eyebrow { margin-bottom: 21px; }
.locations { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 65px; margin-top: 51px; }
.location { display: flex; gap: 27px; border-top: 1px solid var(--line); padding-top: 30px; }
.location-icon { display: flex; flex-direction: column; justify-content: space-between; gap: 18px; }
.location-icon > .icon { width: 34px; height: 34px; }
.location-icon > span { font-size: 10px; color: var(--muted); }
.location .eyebrow { font-size: 9px; margin-bottom: 13px; color: var(--muted); }
.location h3 { font-size: 22px; letter-spacing: -.6px; }
.location address { margin-top: 16px; color: var(--muted); font-size: 12px; line-height: 1.9; }
.location .text-link { font-size: 11px; margin-top: 14px; }
/* Footer */
.site-footer { background: var(--ink); color: var(--white); padding-top: 59px; }
.footer-main { display: grid; grid-template-columns: 1fr .6fr 1fr; gap: 55px; padding-bottom: 49px; }
.footer-brand img { max-width: 235px; }
.footer-brand p { color: #b8bbac; font-size: 12px; line-height: 1.8; margin-top: 23px; }
.footer-main nav { display: flex; flex-direction: column; align-items: start; gap: 5px; }
.footer-main nav a { display: inline-flex; align-items: center; min-height: 34px; font-size: 11px; }
.footer-main nav a:hover { color: var(--yellow); }
.footer-contact { display: flex; flex-direction: column; align-items: start; gap: 11px; }
.footer-contact .eyebrow { color: #b8bbac; font-size: 8px; margin-bottom: 2px; }
.footer-contact > a:first-of-type { display: flex; align-items: center; gap: 39px; font-size: 21px; letter-spacing: -.3px; }
.footer-contact .icon { width: 17px; height: 17px; color: var(--yellow); }
.footer-contact > a:nth-of-type(2) { font-size: 11px; overflow-wrap: anywhere; }
.footer-contact > span:last-child { font-size: 10px; color: #b8bbac; }
.footer-bottom { border-top: 1px solid #3a3d31; min-height: 66px; display: flex; align-items: center; gap: 40px; font-size: 9px; color: #b8bbac; }
.footer-bottom > p { margin-right: auto; }
.footer-bottom > a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; }
.footer-bottom .icon { width: 16px; height: 16px; color: var(--yellow); }
.mobile-contact-bar { display: none; }
/* Privacy and error documents */
.legal-main { padding-block: 64px 100px; }
.legal-container { max-width: 780px; }
.legal-container > .text-link { margin-bottom: 58px; }
.legal-container > .eyebrow { margin-bottom: 20px; color: var(--muted); }
.legal-container h1 { font-size: clamp(48px, 6vw, 75px); line-height: 1; letter-spacing: -3px; margin-bottom: 30px; }
.legal-intro { font-size: 18px; line-height: 1.7; color: var(--muted); margin-bottom: 50px; }
.legal-container section { margin-block: 30px; }
.legal-container h2 { font-size: 23px; line-height: 1.3; letter-spacing: -.5px; margin-bottom: 15px; }
.legal-container section p { color: var(--muted); font-size: 14px; margin-top: 14px; }
.legal-container section a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.legal-container > .button { margin-top: 25px; }
.notfound { position: relative; display: flex; flex-direction: column; align-items: start; min-height: 100svh; padding: 50px max(28px, calc((100% - 1000px)/2)); background: var(--paper); overflow: hidden; }
.notfound .brand { margin-bottom: 95px; position: relative; }
.notfound-code { position: absolute; right: 8%; top: 20%; font-size: clamp(180px, 28vw, 400px); color: #e4e6db; font-weight: 700; line-height: 1; letter-spacing: -12px; }
.notfound > :not(.notfound-code) { position: relative; }
.notfound h1 { font-size: clamp(40px, 4.8vw, 62px); line-height: 1.08; letter-spacing: -2px; margin: 15px 0 23px; }
.notfound p:not(.eyebrow) { color: var(--muted); margin-bottom: 27px; }
.notfound > .text-link { margin-top: 20px; }
/* Laptop */
@media (max-width: 1199px) {
  .container { width: calc(100% - 72px); }
  .header-inner { gap: 27px; }
  .site-nav { gap: 22px; }
  .site-nav > a { font-size: 11px; }
  .brand img { width: 160px; }
  .header-cta { padding-inline: 14px; gap: 11px; }
  .hero-inner { min-height: 673px; }
  .hero h1 { font-size: 72px; }
  .hero-actions { gap: 17px; flex-wrap: wrap; }
  .hero-art { margin-right: -17px; }
  .hero-truck { right: -30px; top: 209px; width: 123%; }
  .hero-art-word { top: 164px; }
  .hero-yellow-field { top: 61px; bottom: 58px; }
  .hero-art-top { top: 90px; left: 28%; font-size: 8px; }
  .hero-assurance { bottom: 102px; }
  .hero-art-caption { bottom: 74px; font-size: 6px; }
  .section { padding-block: 80px; }
  .about-grid { gap: 60px; }
  .purpose-grid { gap: 33px; padding: 28px; }
  .purpose-grid article { display: block; }
  .purpose-grid h3 { margin-block: 13px; }
  .service { padding-inline: 20px; }
  .service h3 { font-size: 21px; }
  .service p { font-size: 12px; }
  .operation-row { align-items: start; }
  .operation-row ol { gap: 21px; }
  .fleet-info { padding: 31px; }
  .fleet-watermark { font-size: 85px; }
  .coverage-grid { gap: 43px; }
  .coverage h2 { font-size: 47px; }
  .tracking-card { padding: 30px 25px 24px; }
  .tracking-card h3 { font-size: 31px; }
  .quote-grid { gap: 47px; grid-template-columns: .8fr 1.1fr; }
  .quote-form-wrap { padding: 28px; }
  .quote h2 { font-size: 58px; }
  .form-grid { gap: 18px 13px; }
  .faq-grid { gap: 70px; }
  .footer-main { gap: 35px; }
}
/* Tablet and accessible full-screen navigation */
@media (max-width: 999px) {
  :root { --header-height: 78px; }
  .container { width: calc(100% - 56px); }
  .header-inner { justify-content: space-between; }
  .header-cta { margin-left: auto; }
  .menu-toggle { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; background: transparent; border: 1px solid var(--line); padding: 9px; }
  .menu-toggle .close-icon { display: none; }
  .menu-toggle[aria-expanded="true"] .close-icon { display: block; }
  .menu-toggle[aria-expanded="true"] .menu-icon { display: none; }
  .site-nav { flex-wrap: wrap; gap: 5px 20px; }
  .js .site-nav { display: none; }
  .js .site-nav.is-open { position: fixed; top: var(--header-height); left: 0; right: 0; bottom: 0; height: calc(100dvh - var(--header-height)); display: flex; flex-direction: column; align-items: stretch; justify-content: start; flex-wrap: nowrap; gap: 0; margin: 0; padding: 30px 28px max(35px, env(safe-area-inset-bottom)); background: var(--white); overflow-y: auto; }
  .site-nav.is-open > a { font-size: 25px; min-height: 61px; padding: 14px 0; border-bottom: 1px solid var(--line); }
  .site-nav.is-open > a::after { display: none; }
  .site-nav.is-open > .nav-mobile-cta { display: flex; align-items: center; justify-content: space-between; font-size: 16px; padding: 20px; margin-top: 32px; background: var(--yellow); border: 0; }
  .menu-open { overflow: hidden; }
  html:not(.js) .header-inner { height: auto; min-height: var(--header-height); padding-block: 15px; flex-wrap: wrap; }
  html:not(.js) .site-nav { order: 3; width: 100%; }
  .hero-inner { grid-template-columns: 1fr 1fr; min-height: 677px; }
  .hero h1 { font-size: 66px; letter-spacing: -3.3px; }
  .hero-copy { padding-top: 52px; padding-bottom: 42px; }
  .hero-eyebrow { font-size: 8px; letter-spacing: 1.4px; }
  .hero-description { font-size: 13px; line-height: 1.8; max-width: 310px; }
  .hero-actions { flex-direction: column; align-items: start; gap: 10px; margin-top: 26px; }
  .hero-truck { width: 123%; top: 265px; right: -20px; }
  .hero-art-top { font-size: 6px; top: 125px; left: 31%; right: 10px; gap: 10px; }
  .hero-art-top .icon { width: 14px; height: 14px; }
  .hero-yellow-field { top: 105px; bottom: 106px; }
  .hero-art-word { top: 195px; right: 4px; font-size: 113px; letter-spacing: -8px; }
  .hero-assurance { left: 10%; bottom: 137px; padding: 13px 14px; gap: 10px; }
  .hero-art-caption { bottom: 115px; right: 8px; letter-spacing: .5px; font-size: 5px; }
  .hero-route { top: 228px; bottom: 139px; }
  .hero-bottom { font-size: 7px; letter-spacing: 1px; }
  .metric { padding-left: 24px; }
  .metric strong { font-size: 35px; gap: 7px; }
  .metric strong span { font-size: 9px; }
  .metric p { font-size: 9px; }
  .about-grid { gap: 43px; grid-template-columns: 1fr 1fr; }
  .about h2 { font-size: 34px; }
  .about-copy .lead { font-size: 17px; }
  .about-copy p { font-size: 13px; }
  .principles { gap: 18px; }
  .principle h3 { font-size: 14px; }
  .principle p { font-size: 11px; }
  .section-heading { gap: 35px; }
  .section-heading > p { max-width: 265px; font-size: 13px; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .service { padding: 27px 27px 75px; }
  .service:nth-child(2) { border-right: 0; }
  .service:nth-child(-n+2) { border-bottom: 1px solid #d5d7cc; }
  .service-top { margin-bottom: 25px; }
  .service h3 { font-size: 25px; }
  .service p { font-size: 13px; }
  .operation-row { flex-direction: column; gap: 12px; }
  .operation-row ol { width: 100%; justify-content: space-between; }
  .fleet-tab { padding-inline: 17px; font-size: 11px; }
  .fleet-tabs { gap: 0; }
  .fleet-panel { grid-template-columns: 1.1fr 1fr; }
  .fleet-info { padding: 27px 24px; }
  .fleet-info h3 { font-size: 28px; }
  .fleet-visual { min-height: 370px; }
  .fleet-watermark { top: 90px; font-size: 66px; left: 24px; letter-spacing: -3px; }
  .fleet-visual > img { width: 112%; max-width: none; margin-left: -6%; }
  .fleet-caption { font-size: 8px; left: 15px; }
  .coverage-grid { gap: 33px; grid-template-columns: 1.1fr 1fr; }
  .coverage h2 { font-size: 39px; }
  .coverage-main > .eyebrow { font-size: 8px; }
  .coverage-main > p:not(.eyebrow):not(.coverage-note) { font-size: 12px; }
  .coverage-map { margin-top: 50px; width: calc(100% + 40px); }
  .tracking-card { padding: 25px 22px; }
  .tracking-card h3 { font-size: 29px; }
  .tracking-top { gap: 9px; margin-bottom: 27px; }
  .tracking-top > span { font-size: 6px; letter-spacing: 1px; }
  .tracking-card > p { font-size: 12px; }
  .tracking-number { gap: 18px; }
  .tracking-number > strong { font-size: 55px; }
  .tracking-card .button { padding-inline: 13px; font-size: 10px; gap: 7px; }
  .partners-inner { grid-template-columns: .7fr 1.2fr; gap: 35px; }
  .industry-tags { grid-column: 2; flex-direction: row; gap: 25px; margin-top: -15px; }
  .partners-number { grid-row: 1/3; }
  .partners-copy h2 { font-size: 26px; }
  .faq-grid { gap: 45px; grid-template-columns: .7fr 1.2fr; }
  .faq-item summary { font-size: 13px; }
  .quote-grid { gap: 34px; grid-template-columns: .7fr 1.1fr; }
  .quote h2 { font-size: 47px; letter-spacing: -2px; }
  .quote-form-wrap { padding: 24px; }
  .quote-copy > p:not(.eyebrow) { font-size: 13px; }
  .quote-direct { gap: 10px; }
  .quote-direct span { font-size: 22px; }
  .quote-direct > .icon:last-child { display: none; }
  .quote-email { font-size: 11px; }
  .form-heading { flex-direction: column; gap: 4px; }
  .form-grid { column-gap: 10px; }
  .field > label { font-size: 10px; }
  .field > label small { font-size: 8px; }
  input, select, textarea { font-size: 11px; padding-inline: 9px; }
  .form-submit { font-size: 11px; padding-inline: 16px; }
  .locations { gap: 37px; }
  .location { gap: 18px; }
  .location h3 { font-size: 19px; }
  .location address { font-size: 11px; }
  .footer-main { grid-template-columns: 1fr .5fr 1.2fr; gap: 28px; }
  .footer-brand img { width: 180px; }
  .footer-contact > a:first-of-type { font-size: 18px; gap: 20px; }
  .footer-contact > a:nth-of-type(2) { font-size: 10px; }
}
/* Mobile */
@media (max-width: 699px) {
  :root { --header-height: 72px; }
  .container { width: calc(100% - 40px); }
  .section { padding-block: 62px; }
  h2 { font-size: 35px; line-height: 1.1; letter-spacing: -1.3px; }
  .section-kicker { font-size: 8px; letter-spacing: 1.2px; margin-bottom: 30px; padding-bottom: 17px; }
  .section-kicker > :last-child { display: none; }
  .section-heading { display: block; margin-bottom: 28px; }
  .section-heading > p { font-size: 14px; max-width: 350px; margin-top: 23px; }
  .eyebrow { font-size: 9px; letter-spacing: 1.5px; }
  .header-inner { gap: 17px; }
  .brand img { width: 151px; }
  .header-cta { min-height: 40px; padding: 10px 12px; font-size: 10px; gap: 10px; }
  .header-cta .icon { width: 15px; height: 15px; }
  .menu-toggle { border: 0; }
  .header-inner > .header-cta { display: none; }
  .js .site-nav.is-open { padding-inline: 22px; }
  .hero-inner { display: block; min-height: 0; }
  .hero-copy { padding-block: 35px 0; }
  .hero-eyebrow { margin-bottom: 24px; font-size: 8px; letter-spacing: 1.6px; }
  .hero h1 { font-size: clamp(57px, 14.35vw, 90px); line-height: .99; letter-spacing: -3px; }
  .hero-description { max-width: 385px; font-size: 13px; line-height: 1.85; margin-top: 25px; }
  .hero-actions { flex-direction: row; align-items: center; gap: 19px; margin-top: 25px; flex-wrap: wrap; }
  .hero-actions .button { min-height: 49px; font-size: 11px; padding: 13px 18px; gap: 23px; }
  .hero-secondary { font-size: 9px; gap: 9px; }
  .hero-art { margin: 29px -20px 0 0; height: clamp(285px, 71vw, 480px); }
  .hero-yellow-field { top: 0; bottom: 26px; right: 0; width: 93%; clip-path: polygon(24% 0, 100% 0, 100% 100%, 0 100%, 0 46%); }
  .hero-art-top { top: 17px; right: 19px; left: 32%; font-size: 6px; }
  .hero-art-word { font-size: clamp(83px, 26vw, 148px); letter-spacing: -7px; top: 47px; right: 15px; }
  .hero-truck { width: 108%; right: -11px; top: 40px; }
  .hero-assurance { left: 9%; bottom: 35px; padding: 10px 13px; font-size: 8px; gap: 9px; }
  .hero-assurance .icon { width: 21px; height: 21px; }
  .hero-assurance strong { font-size: 10px; }
  .hero-art-caption { right: 12px; bottom: 30px; font-size: 5px; line-height: 1; letter-spacing: .3px; }
  .hero-route { top: 72px; bottom: 58px; left: 30%; }
  .hero-bottom { height: 55px; font-size: 6px; letter-spacing: .7px; }
  .hero-bottom > a { display: none; }
  .metrics-grid { grid-template-columns: repeat(2, 1fr); padding-block: 12px; }
  .metric { padding: 22px 0 22px 22px; }
  .metric:nth-child(odd) { border-left: 0; padding-left: 0; }
  .metric:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .metric strong { font-size: 38px; gap: 10px; }
  .metric strong span { font-size: 10px; }
  .metric p { margin-top: 6px; font-size: 9px; }
  .about-grid { display: block; }
  .about h2 { font-size: 35px; }
  .about-copy { margin-top: 28px; }
  .about-copy .lead { font-size: 18px; }
  .about-copy p { font-size: 14px; }
  .principles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 25px; margin-top: 36px; }
  .principle { padding-block: 21px; }
  .principle > .icon { margin-bottom: 18px; width: 26px; height: 26px; }
  .principle h3 { font-size: 15px; }
  .principle p { font-size: 12px; line-height: 1.7; }
  .purpose-grid { display: block; padding: 26px; margin-top: 18px; }
  .purpose-grid article + article { border-top: 1px solid var(--line); margin-top: 26px; padding-top: 26px; }
  .purpose-grid h3 { font-size: 24px; }
  .purpose-grid p { font-size: 13px; }
  .values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
  .values-grid h3 { font-size: 13px; }
  .values-grid p { font-size: 12px; }
  .values-details summary { font-size: 12px; }
  .service { padding: 22px 18px 67px; }
  .service-top { margin-bottom: 24px; }
  .service-top .icon { width: 28px; height: 28px; }
  .service h3 { font-size: 21px; letter-spacing: -.7px; line-height: 1.2; }
  .service p { font-size: 12px; line-height: 1.7; }
  .service-link { left: 11px; bottom: 11px; }
  .service-link::after { display: none; }
  .operation-row { margin-top: 25px; }
  .operation-row ol { display: grid; grid-template-columns: repeat(2, 1fr); gap: 13px 22px; }
  .operation-row li { font-size: 10px; }
  .fleet-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; border-bottom: 0; margin-bottom: 18px; }
  .fleet-tab { border: 1px solid var(--line); min-height: 45px; padding: 11px 5px; font-size: 10px; }
  .fleet-tab[aria-selected="true"] { border-color: var(--yellow); }
  .fleet-panel { display: block; }
  .fleet-visual { min-height: 255px; height: 68vw; max-height: 360px; }
  .fleet-visual-top { top: 18px; left: 20px; right: 20px; }
  .fleet-watermark { top: 51px; left: 24px; font-size: 80px; }
  .fleet-visual > img { width: 100%; margin-left: 0; }
  .fleet-caption { font-size: 8px; bottom: 15px; left: 20px; }
  .fleet-info { padding: 30px 24px; }
  .fleet-info h3 { font-size: 32px; }
  .fleet-info > p:not(.eyebrow) { font-size: 14px; }
  .check-list { gap: 10px 17px; }
  .check-list li { font-size: 11px; }
  .section-note { font-size: 10px; }
  .coverage-grid { display: block; }
  .coverage-main > .eyebrow { font-size: 9px; }
  .coverage h2 { font-size: 43px; }
  .coverage-main > p:not(.eyebrow):not(.coverage-note) { font-size: 14px; }
  .coverage-map { width: calc(100% + 10px); margin-left: -5px; margin-top: 22px; }
  .coverage-note { font-size: 9px; }
  .tracking-card { margin-top: 32px; padding: 29px 26px 23px; }
  .tracking-top { margin-bottom: 31px; }
  .tracking-top > span { font-size: 8px; }
  .tracking-card h3 { font-size: 35px; }
  .tracking-card > p { font-size: 14px; }
  .tracking-number > strong { font-size: 65px; }
  .tracking-number > span { font-size: 12px; }
  .mirror-note h4 { font-size: 13px; }
  .mirror-note p { font-size: 12px; }
  .tracking-card .button { padding-inline: 20px; font-size: 12px; }
  .tracking-card .tracking-caption { font-size: 9px; }
  .partners { padding-block: 35px; }
  .partners-inner { grid-template-columns: .7fr 1.3fr; gap: 25px; }
  .partners-number { font-size: 60px; letter-spacing: -2px; padding-right: 15px; }
  .partners-number > span { font-size: 8px; line-height: 1.6; letter-spacing: .5px; max-width: 90px; }
  .partners-copy h2 { font-size: 22px; letter-spacing: -.7px; }
  .partners-copy p { font-size: 11px; margin-top: 12px; }
  .industry-tags { gap: 17px; flex-wrap: wrap; margin-top: -10px; }
  .industry-tags > span { font-size: 9px; gap: 5px; }
  .industry-tags .icon { width: 17px; height: 17px; }
  .faq-grid { display: block; }
  .faq .eyebrow { margin-bottom: 18px; }
  .faq h2 { margin-bottom: 19px; }
  .faq-grid > div > p:not(.eyebrow) { max-width: 300px; }
  .faq-list { margin-top: 30px; }
  .faq-item summary { font-size: 14px; min-height: 72px; }
  .faq-item > p { font-size: 14px; padding-right: 18px; }
  .quote-grid { display: block; }
  .quote h2 { font-size: 54px; letter-spacing: -2.6px; }
  .quote-copy > .eyebrow { margin-bottom: 21px; }
  .quote-copy > p:not(.eyebrow) { font-size: 14px; margin-top: 22px; }
  .quote-direct { margin-top: 27px; padding-top: 25px; max-width: none; gap: 17px; }
  .quote-direct span { font-size: 26px; }
  .quote-direct > .icon:last-child { display: block; }
  .quote-direct small { font-size: 8px; }
  .quote-email { font-size: 13px; }
  .quote-promise { margin-top: 21px; font-size: 11px; }
  .quote-form-wrap { margin-top: 33px; padding: 26px 21px; }
  .form-heading { flex-direction: row; gap: 10px; margin-bottom: 25px; }
  .form-heading > .eyebrow { font-size: 8px; max-width: 180px; }
  .form-heading > :last-child { font-size: 7px; }
  .form-grid { grid-template-columns: 1fr; gap: 20px; }
  .field > label { font-size: 12px; }
  .field > label small { font-size: 10px; }
  input, select, textarea { font-size: 16px; padding: 13px 12px; }
  input, select { height: 50px; }
  input::placeholder, textarea::placeholder { font-size: 12px; }
  .field-help { font-size: 10px; }
  .textarea-meta { font-size: 9px; }
  .form-submit { min-height: 55px; font-size: 12px; padding-inline: 19px; }
  .form-fine-print { font-size: 10px; }
  .service-context { font-size: 11px; }
  .quote-review h3 { font-size: 30px; }
  .quote-review > p:not(.eyebrow):not(.form-fine-print):not(.quote-status) { font-size: 13px; }
  .quote-review pre { font-size: 12px; }
  .quote-review .button { font-size: 13px; }
  .review-tools > button { font-size: 11px; }
  .contact .section-heading > .text-link { margin-top: 21px; }
  .locations { display: block; margin-top: 30px; }
  .location { gap: 20px; padding-top: 25px; }
  .location + .location { margin-top: 32px; }
  .location h3 { font-size: 23px; }
  .location address { font-size: 13px; line-height: 1.9; }
  .location .eyebrow { font-size: 9px; }
  .location-icon > .icon { width: 29px; height: 29px; }
  .location .text-link { font-size: 12px; }
  .site-footer { padding-top: 42px; padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)); }
  .footer-main { display: grid; grid-template-columns: 1.3fr .7fr; gap: 38px 25px; padding-bottom: 32px; }
  .footer-brand img { width: 183px; }
  .footer-brand p { font-size: 11px; }
  .footer-main nav { align-items: end; }
  .footer-main nav a { font-size: 11px; min-height: 39px; }
  .footer-contact { grid-column: 1/-1; gap: 12px; }
  .footer-contact > a:first-of-type { font-size: 25px; gap: 29px; }
  .footer-contact > a:nth-of-type(2) { font-size: 12px; }
  .footer-contact > span:last-child { font-size: 11px; }
  .footer-bottom { flex-wrap: wrap; gap: 4px 20px; padding-block: 19px 12px; font-size: 9px; }
  .footer-bottom > p { flex: 0 0 100%; }
  .footer-bottom > a:last-child { margin-left: auto; }
  .mobile-contact-bar { display: grid; grid-template-columns: .8fr 1.4fr; position: fixed; z-index: 40; bottom: 0; left: 0; right: 0; background: var(--yellow); padding-bottom: env(safe-area-inset-bottom, 0px); border-top: 1px solid var(--ink); }
  .mobile-contact-bar > a { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 56px; font-size: 12px; font-weight: 700; }
  .mobile-contact-bar > a:first-child { background: var(--ink); color: var(--white); }
  .mobile-contact-bar .icon { width: 18px; height: 18px; }
  .legal-main { padding-block: 35px 60px; }
  .legal-container > .text-link { margin-bottom: 37px; }
  .legal-container h1 { font-size: 59px; letter-spacing: -2.5px; }
  .legal-intro { font-size: 17px; margin-bottom: 34px; }
  .legal-container h2 { font-size: 22px; }
  .legal-container section p { font-size: 14px; }
  .notfound { padding: 30px 24px; }
  .notfound .brand { margin-bottom: 98px; }
  .notfound-code { right: 10px; top: 18%; font-size: 180px; }
  .notfound h1 { font-size: 43px; }
  .notfound p:not(.eyebrow) { font-size: 14px; }
}
@media (max-width: 359px) {
  .container { width: calc(100% - 32px); }
  .hero h1 { font-size: 51px; letter-spacing: -2.8px; }
  .hero-actions { gap: 8px 15px; }
  .hero-art { margin-right: -16px; }
  .hero-assurance { bottom: 46px; }
  .hero-art-caption { font-size: 4.5px; }
  .hero-art-word { font-size: 83px; }
  .metric strong { font-size: 34px; }
  .metric strong span { font-size: 8px; }
  .metric { padding-left: 14px; }
  .metric p { font-size: 8px; }
  .service { padding: 18px 13px 65px; }
  .service h3 { font-size: 18px; }
  .service p { font-size: 11px; }
  .values-grid { grid-template-columns: 1fr; }
  .tracking-card { padding-inline: 21px; }
  .tracking-card h3 { font-size: 31px; }
  .partners-inner { gap: 18px; }
  .partners-number { font-size: 53px; }
  .partners-copy h2 { font-size: 21px; }
  .quote-form-wrap { padding: 23px 17px; }
  .form-heading { flex-direction: column; }
  .footer-brand img { width: 163px; }
}
/* Motion preferences and print: content always remains available. */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
@media print {
  html { scroll-behavior: auto; }
  body { color: #000; background: #fff; font-size: 11pt; }
  .site-header { position: static; }
  .site-nav, .menu-toggle, .header-cta, .hero-actions, .hero-bottom a, .fleet-tabs, .service-link, .tracking-card .button, .mobile-contact-bar, .footer-main nav, .footer-bottom a, .quote-form-wrap, .review-tools { display: none !important; }
  .container { width: 100%; }
  .section { padding-block: 25px; }
  .hero, .coverage, .site-footer { color: #000; background: #fff; }
  .hero-inner { min-height: 0; }
  .hero-copy { padding-block: 15px; }
  .hero h1 { font-size: 43pt; }
  .hero-art { display: none; }
  .hero-description, .hero-eyebrow, .coverage p, .tracking-card p { color: #333 !important; }
  .hero-inner, .coverage-grid, .quote-grid { display: block; }
  .tracking-card { background: #f5f5f5; border-color: #999; margin-top: 20px; }
  .fleet-panel[hidden] { display: grid !important; }
  .fleet-panel, .service, .location { break-inside: avoid; }
  .fleet-visual { min-height: 190px; }
  .fleet-info h3 { font-size: 20pt; }
  .footer-brand img { filter: invert(1); }
  .site-footer { padding: 20px 0 0; }
}


/* Actualización visual con fotografías reales */
.hero-truck { border-radius: 18px; box-shadow: 0 28px 55px rgba(0,0,0,.28); object-fit: cover; aspect-ratio: 1280/886; }
.hero-art-caption { background: rgba(255,203,39,.92); padding: 7px 10px; }
.real-fleet { background: #fff; }
.real-fleet-grid { display: grid; grid-template-columns: 1.25fr 1fr 1fr; gap: 22px; align-items: stretch; }
.real-fleet-card { margin: 0; border: 1px solid var(--line); background: #fff; overflow: hidden; }
.real-fleet-card img { display: block; width: 100%; height: 100%; min-height: 280px; object-fit: cover; }
.real-fleet-card figcaption { padding: 14px 16px 16px; font-size: 12px; color: var(--muted); }
.real-fleet-card-wide { grid-row: span 2; }
.real-fleet-card-wide img { min-height: 100%; }
.real-fleet-card-tall img { min-height: 582px; }
.fleet-visual > img { width: 100%; height: 100%; object-fit: cover; }
.fleet-caption { background: rgba(255,255,255,.92); display: inline-block; padding: 8px 11px; max-width: calc(100% - 38px); }
@media (max-width: 1100px) { .real-fleet-grid { grid-template-columns: 1fr 1fr; } .real-fleet-card-wide { grid-column: 1 / -1; grid-row: auto; } .real-fleet-card-tall img { min-height: 320px; } }
@media (max-width: 767px) { .real-fleet-grid { grid-template-columns: 1fr; } .real-fleet-card img, .real-fleet-card-tall img, .real-fleet-card-wide img { min-height: 230px; } .hero-truck { height: calc(100% - 55px); } .hero-art-caption { padding: 5px 7px; } }


@media (prefers-reduced-motion: reduce) { .real-fleet-track { animation: none; } }


/* Ajustes v3 solicitados por el cliente */
.hero-art::after { content: ""; position: absolute; right: 14%; bottom: 15%; width: 40%; height: 18%; background: radial-gradient(circle at center, rgba(255,203,39,.42), rgba(255,203,39,0) 72%); filter: blur(14px); z-index: 2; pointer-events: none; }
.hero-truck { border-radius: 0; box-shadow: none; object-fit: contain; aspect-ratio: auto; width: min(88%, 760px); right: 2%; top: auto; bottom: 68px; filter: drop-shadow(0 28px 28px rgba(0,0,0,.34)); }
.hero-assurance { left: 7%; bottom: 102px; min-width: 210px; padding: 16px 18px; gap: 12px; border-left: 3px solid var(--yellow); background: rgba(10,10,10,.92); backdrop-filter: blur(2px); }
.hero-assurance .icon { width: 24px; height: 24px; }
.hero-assurance strong { display: block; font-size: 15px; line-height: 1.3; }
.hero-art-caption { right: 3.5%; bottom: 104px; min-width: 200px; text-align: center; font-size: 9px; letter-spacing: 1.3px; padding: 11px 14px; background: rgba(255,203,39,.96); color: var(--ink); }

.real-fleet { background: #fff; overflow: hidden; }
.real-fleet-slider { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-block: 16px; }
.real-fleet-viewport { overflow: hidden; }
.real-fleet-track { display: flex; gap: 22px; will-change: transform; }
.real-fleet-card { position: relative; flex: 0 0 calc((100% - 44px) / 3); margin: 0; overflow: hidden; background: #111; aspect-ratio: 16 / 10; border: 1px solid var(--line); }
.real-fleet-card img { display: block; width: 100%; height: 100%; object-fit: cover; }
.real-fleet-card.is-rural img { object-position: center 58%; }
.real-fleet-card.is-nissan img { object-position: center 57%; }
.real-fleet-card.is-box img { object-position: center 39%; }
.real-fleet-card figcaption { position: absolute; left: 14px; right: 14px; bottom: 14px; margin: 0; padding: 11px 13px; font-size: 12px; line-height: 1.4; color: var(--white); background: linear-gradient(90deg, rgba(10,10,10,.88), rgba(10,10,10,.54)); backdrop-filter: blur(2px); }

.coverage-grid { grid-template-columns: 1.18fr .94fr; gap: 46px; align-items: start; }
.coverage-main > p:not(.eyebrow):not(.coverage-note) { max-width: 520px; }
.coverage-visual-card { margin-top: 22px; padding: 24px 24px 18px; border: 1px solid #2f3029; background: linear-gradient(180deg, #0f100d 0%, #12130f 100%); }
.coverage-visual-head { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 14px; font-size: 10px; letter-spacing: 1.6px; color: #c3c6b6; }
.coverage-map { display: block; width: 100%; max-width: 100%; margin: 0; }
.coverage-city-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 14px; }
.coverage-city-strip article { padding: 14px 14px 12px; background: rgba(255,255,255,.03); border: 1px solid #2b2d26; min-width: 0; }
.coverage-city-strip strong { display: block; font-size: 18px; line-height: 1.1; color: var(--white); }
.coverage-city-strip span { display: block; margin-top: 6px; font-size: 11px; color: #b0b4a2; }
.coverage-note { margin-top: 12px; color: #a5a899; font-size: 10px; max-width: 620px; }

.fleet-visual { background: linear-gradient(180deg, #f8f8f4 0%, #efefe9 100%); }
.fleet-visual > img { width: 100%; height: 100%; object-fit: contain; padding: 14px; margin-left: 0 !important; }
#panel-rabon .fleet-visual > img, #panel-caja-seca .fleet-visual > img { padding: 18px 10px; }

@media (max-width: 1180px) {
  .hero-truck { width: min(92%, 680px); right: 0; bottom: 60px; }
  .hero-assurance { left: 6%; bottom: 94px; min-width: 190px; }
  .hero-art-caption { right: 2%; bottom: 95px; min-width: 180px; }
}
@media (max-width: 999px) {
  .hero-art::after { width: 48%; right: 20%; bottom: 18%; }
  .hero-truck { width: min(100%, 650px); right: -3%; bottom: 32px; }
  .hero-assurance { bottom: 58px; padding: 12px 14px; min-width: 175px; }
  .hero-art-caption { bottom: 58px; min-width: 162px; font-size: 8px; }
  .real-fleet-card { flex-basis: calc((100% - 24px) / 3); }
  .coverage-grid { grid-template-columns: 1fr; gap: 30px; }
}
@media (max-width: 767px) {
  .hero-truck { width: 98%; right: -2%; bottom: 18px; }
  .hero-assurance { left: 6%; right: auto; bottom: 26px; min-width: 154px; padding: 10px 12px; }
  .hero-assurance strong { font-size: 12px; }
  .hero-art-caption { right: 8px; bottom: 26px; min-width: 132px; padding: 8px 9px; font-size: 6px; }
  .real-fleet-slider { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .real-fleet-track { gap: 14px; }
  .real-fleet-card { flex: 0 0 82vw; }
  .real-fleet-card figcaption { font-size: 11px; left: 10px; right: 10px; bottom: 10px; }
  .coverage-visual-card { padding: 18px 14px 14px; }
  .coverage-visual-head { font-size: 8px; }
  .coverage-city-strip { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .real-fleet-track { transition: none !important; } }


/* RAVEL · ajuste final de composición solicitado */
.hero-art { overflow: visible; }
.hero-truck {
  width: min(86%, 735px) !important;
  right: 3.5% !important;
  bottom: 86px !important;
  top: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 25px 28px rgba(0,0,0,.30)) !important;
  opacity: .985;
}
.hero-art::before {
  content: "";
  position: absolute;
  z-index: 2;
  width: 70%;
  height: 54%;
  right: 4%;
  bottom: 80px;
  background: radial-gradient(ellipse at 55% 55%, rgba(255,255,255,.11), rgba(255,255,255,0) 68%);
  filter: blur(18px);
  pointer-events: none;
}
.hero-assurance,
.hero-art-caption {
  box-sizing: border-box;
  bottom: 58px !important;
  width: 218px;
  height: 66px;
  min-width: 0 !important;
  padding: 0 17px !important;
  margin: 0;
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.35;
}
.hero-assurance {
  left: 8% !important;
  gap: 12px;
  justify-content: flex-start;
  border-left: 3px solid var(--yellow);
  background: rgba(12,12,12,.94);
  backdrop-filter: blur(3px);
}
.hero-assurance span { font-size: 10px; }
.hero-assurance strong { font-size: 14px; }
.hero-art-caption {
  right: 4% !important;
  color: var(--ink);
  background: var(--yellow);
  text-align: center;
  font-size: 8px !important;
  font-weight: 800;
  letter-spacing: 1.15px !important;
}

/* Tres recuerdos: siempre tres cuadros visibles en escritorio, rotando a la izquierda. */
.real-fleet-slider {
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden;
}
.real-fleet-viewport {
  overflow: hidden;
  width: 100%;
}
.real-fleet-track {
  display: flex !important;
  gap: 16px !important;
  width: 100%;
  will-change: transform;
}
.real-fleet-card {
  flex: 0 0 calc((100% - 32px) / 3) !important;
  aspect-ratio: 4 / 3 !important;
  min-width: 0;
  border: 0 !important;
  border-radius: 2px;
  background: #111;
  overflow: hidden;
}
.real-fleet-card img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
}
.real-fleet-card.is-rural img { object-position: 56% 53% !important; }
.real-fleet-card.is-nissan img { object-position: 50% 52% !important; }
.real-fleet-card.is-box img { object-position: 52% 46% !important; }
.real-fleet-card figcaption {
  left: 12px !important;
  right: 12px !important;
  bottom: 12px !important;
  padding: 10px 12px !important;
  background: rgba(10,10,10,.78) !important;
  font-size: 11px !important;
}

/* Cobertura: mapa geográfico limpio, sin bloques apretados debajo. */
.coverage-grid {
  grid-template-columns: minmax(0,1.2fr) minmax(360px,.78fr) !important;
  gap: 48px !important;
  align-items: start !important;
}
.coverage-main { min-width: 0; }
.coverage-main > p:not(.eyebrow):not(.coverage-note) {
  max-width: 560px !important;
  margin-top: 20px !important;
}
.coverage-map-card {
  margin-top: 28px;
  border: 1px solid #30322c;
  background: #11120f;
  padding: 20px;
  overflow: hidden;
}
.coverage-map-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 0 2px 14px;
  color: #aeb1a4;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 1.45px;
}
.coverage-map-stage {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #11120f;
}
.coverage-map {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  object-fit: cover;
}
.coverage-map-badge {
  position: absolute;
  display: grid;
  gap: 2px;
  padding: 8px 10px;
  border-left: 2px solid var(--yellow);
  background: rgba(8,8,8,.82);
  color: #fff;
  backdrop-filter: blur(3px);
}
.coverage-map-badge small {
  color: var(--yellow);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: 1.2px;
}
.coverage-map-badge strong { font-size: 11px; }
.coverage-map-badge-office { left: 3.5%; bottom: 8%; }
.coverage-map-badge-yard { left: 29%; bottom: 8%; }
.coverage-map-footer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  padding-top: 14px;
}
.coverage-map-footer span {
  display: flex;
  gap: 8px;
  align-items: baseline;
  color: #aeb1a4;
  font-size: 10px;
}
.coverage-map-footer strong {
  color: #fff;
  font-size: 13px;
}
.coverage-note {
  margin-top: 11px !important;
  max-width: 630px !important;
  font-size: 9px !important;
  color: #92958a !important;
}
.tracking-card {
  margin-top: 0;
  min-height: 0;
}

@media (max-width: 1100px) {
  .hero-truck { width: min(91%, 680px) !important; right: 0 !important; }
  .hero-assurance, .hero-art-caption { width: 190px; height: 60px; bottom: 52px !important; }
  .coverage-grid { grid-template-columns: 1.08fr .92fr !important; gap: 30px !important; }
}
@media (max-width: 900px) {
  .coverage-grid { grid-template-columns: 1fr !important; }
  .tracking-card { max-width: none; }
  .real-fleet-card { flex-basis: calc((100% - 24px) / 3) !important; }
  .real-fleet-track { gap: 12px !important; }
}
@media (max-width: 767px) {
  .hero-truck { width: 96% !important; right: -1% !important; bottom: 54px !important; }
  .hero-assurance, .hero-art-caption { width: 44%; height: 52px; bottom: 24px !important; padding: 0 10px !important; }
  .hero-assurance { left: 4% !important; }
  .hero-art-caption { right: 4% !important; font-size: 6px !important; }
  .real-fleet-slider { overflow-x: auto; scroll-snap-type: x mandatory; }
  .real-fleet-track { width: max-content; gap: 12px !important; }
  .real-fleet-card { flex: 0 0 74vw !important; scroll-snap-align: start; }
  .coverage-map-card { padding: 12px; }
  .coverage-map-stage { aspect-ratio: 4 / 3; }
  .coverage-map-badge { padding: 7px 8px; }
  .coverage-map-badge-yard { left: auto; right: 3.5%; }
  .coverage-map-footer { grid-template-columns: 1fr; gap: 6px; }
}


/* =========================================================
   RAVEL · AJUSTE VISUAL DEFINITIVO
   1) Hero sin tarjetas superpuestas
   2) Fotos reales en tres cuadros compactos
   3) Mapa de México reconstruido y limpio
   ========================================================= */
.hero-art { overflow: hidden !important; }
.hero-truck {
  width: min(82%, 710px) !important;
  right: 5% !important;
  bottom: 42px !important;
  top: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: drop-shadow(0 24px 28px rgba(0,0,0,.28)) !important;
}
.hero-assurance,
.hero-art-caption { display: none !important; }
.hero-art::before {
  width: 66% !important;
  height: 52% !important;
  right: 7% !important;
  bottom: 48px !important;
  opacity: .82;
}

.real-fleet { padding-top: 74px !important; padding-bottom: 86px !important; }
.real-fleet .section-heading { margin-bottom: 28px !important; }
.real-fleet-compact {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100%;
}
.real-fleet-tile {
  position: relative;
  margin: 0;
  height: 238px;
  min-width: 0;
  overflow: hidden;
  border-radius: 14px;
  background: #111;
  box-shadow: 0 12px 30px rgba(16,16,16,.08);
}
.real-fleet-tile::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 38%;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.54));
  pointer-events: none;
}
.real-fleet-tile img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  object-fit: cover !important;
  transform: scale(1.01);
  transition: transform .45s ease;
}
.real-fleet-tile:hover img { transform: scale(1.045); }
.real-fleet-tile.is-rural img { object-position: 55% 57% !important; }
.real-fleet-tile.is-nissan img { object-position: 50% 55% !important; }
.real-fleet-tile.is-box img { object-position: 51% 40% !important; }
.real-fleet-tile span {
  position: absolute;
  z-index: 2;
  left: 16px;
  bottom: 14px;
  color: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 1.25px;
  text-transform: uppercase;
}

.coverage-grid {
  grid-template-columns: minmax(0, 1.18fr) minmax(340px, .82fr) !important;
  gap: 54px !important;
  align-items: start !important;
}
.coverage-main { min-width: 0 !important; }
.coverage-main > p:not(.eyebrow):not(.coverage-note) {
  max-width: 520px !important;
  margin-top: 20px !important;
}
.coverage-map-card {
  margin-top: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 18px;
  overflow: hidden !important;
  background: #11120f !important;
  box-shadow: inset 0 0 0 1px #2c2e28;
}
.coverage-map {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
}
.coverage-inline-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  padding-top: 15px;
  color: #aeb1a4;
  font-size: 10px;
  letter-spacing: .35px;
}
.coverage-inline-meta span { white-space: nowrap; }
.coverage-inline-meta b { color: #fff; font-weight: 700; }
.coverage-note {
  margin-top: 10px !important;
  max-width: 620px !important;
  color: #85897e !important;
  font-size: 9px !important;
}
.coverage-map-head,
.coverage-map-stage,
.coverage-map-badge,
.coverage-map-footer,
.coverage-visual-card,
.coverage-city-strip { display: none !important; }
.tracking-card { margin-top: 0 !important; }

@media (max-width: 1100px) {
  .hero-truck { width: min(86%, 650px) !important; right: 2% !important; bottom: 34px !important; }
  .real-fleet-tile { height: 205px; }
  .coverage-grid { grid-template-columns: 1.05fr .95fr !important; gap: 32px !important; }
}
@media (max-width: 900px) {
  .real-fleet-tile { height: 170px; border-radius: 11px; }
  .coverage-grid { grid-template-columns: 1fr !important; gap: 30px !important; }
}
@media (max-width: 767px) {
  .hero-truck { width: 96% !important; right: -2% !important; bottom: 12px !important; }
  .real-fleet { padding-top: 54px !important; padding-bottom: 64px !important; }
  .real-fleet-compact { gap: 7px !important; }
  .real-fleet-tile { height: 118px; border-radius: 7px; }
  .real-fleet-tile span { display: none; }
  .coverage-map-card { margin-top: 20px !important; border-radius: 12px; }
  .coverage-inline-meta { gap: 7px 14px; font-size: 9px; }
}
@media (max-width: 430px) {
  .real-fleet-tile { height: 94px; }
  .real-fleet-compact { gap: 5px !important; }
}

/* ================================================================
   RAVEL 5.0 · adaptive viewport, subpages, compact footer, dialogs
   ================================================================ */
:root{--ravel-vh:100vh;scroll-padding-top:104px}
html{scroll-behavior:smooth}body{overflow-x:hidden}
section[id],#cotizar,#contacto{scroll-margin-top:104px}
.hero-inner{min-height:clamp(590px,calc(var(--ravel-vh) - 149px),715px)}
.hero h1 [data-ravel-text="heroAccent"]{color:var(--yellow)}
.hero h1 [data-ravel-text="heroTail"]{white-space:pre-line;color:inherit}
.section-deeplink{margin-top:28px;font-size:11px}.section-deeplink a{display:inline-flex;min-height:44px;align-items:center}

/* Secondary pages */
.subpage-hero{padding:66px 0 42px;background:var(--ink);color:var(--white);overflow:hidden}.subpage-hero .container{position:relative}.subpage-kicker{font-size:9px;letter-spacing:1.8px;color:#c3c5ba;margin-bottom:24px}.subpage-hero h1{max-width:900px;font-size:clamp(50px,7.1vw,94px);line-height:.97;letter-spacing:-4px;white-space:pre-line}.subpage-hero h1::first-line{color:var(--yellow)}.subpage-hero p{max-width:570px;margin-top:25px;color:#c5c7bd;font-size:14px;line-height:1.85}.subpage-back{display:inline-flex;align-items:center;gap:11px;margin-top:30px;font-size:11px;font-weight:700;color:var(--yellow)}

/* Legal pages */
.legal-main{padding:0}.legal-hero{padding:62px 0 45px;background:var(--ink);color:var(--white)}.legal-hero .eyebrow{color:var(--yellow)}.legal-hero h1{margin-top:17px;font-size:clamp(45px,6vw,78px);line-height:1;letter-spacing:-3px}.legal-hero p{max-width:650px;margin-top:23px;color:#c4c6bd;font-size:14px;line-height:1.85}.legal-document{max-width:860px;padding-top:56px;padding-bottom:80px}.legal-document section{padding:0 0 30px;margin-bottom:30px;border-bottom:1px solid var(--line)}.legal-document section:last-child{border-bottom:0}.legal-document h2{font-size:27px;letter-spacing:-.8px;margin-bottom:13px}.legal-document h3{font-size:16px;margin:18px 0 8px}.legal-document p,.legal-document li{font-size:14px;line-height:1.9;color:#3e413b}.legal-document ul{padding-left:20px}.legal-document a{text-decoration:underline;text-underline-offset:4px}.legal-meta{margin-bottom:28px;padding:14px 16px;background:var(--paper);font-size:11px;line-height:1.7;color:var(--muted)}.legal-callout{padding:18px 20px;border-left:3px solid var(--yellow);background:#fbfaf4;margin:18px 0;font-size:12px;line-height:1.8}.legal-document [data-ravel-text]{white-space:pre-line}
html.legal-embed .site-header,html.legal-embed .site-footer,html.legal-embed .mobile-contact-bar,html.legal-embed .ravel-edit-tab,html.legal-embed .legal-hero{display:none!important}html.legal-embed .legal-document{padding:22px 2px 40px;width:auto}html.legal-embed body{background:var(--white)}

/* Compact footer */
.site-footer{padding:25px 0 0}.footer-main{display:grid;grid-template-columns:minmax(210px,1fr) auto minmax(260px,.9fr);gap:24px 48px;align-items:start;padding-bottom:22px}.footer-brand img{width:190px}.footer-brand p{font-size:11px;line-height:1.7;margin-top:15px;max-width:260px}.footer-main nav{display:grid;grid-template-columns:repeat(2,auto);gap:1px 20px}.footer-main nav a{min-height:34px;font-size:10px}.footer-contact{gap:7px}.footer-contact> a:first-of-type{font-size:21px;gap:0}.footer-contact> a:nth-of-type(2){font-size:10px}.footer-bottom{min-height:58px;display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:10px 24px;align-items:center}.footer-bottom>p{margin:0}.footer-legal{display:flex;align-items:center;gap:18px}.footer-legal a,.footer-support,.footer-top-link{display:inline-flex;align-items:center;min-height:40px;font-size:9px;color:#b8bbac}.footer-support{white-space:nowrap}.footer-support strong{margin-inline:3px;color:var(--white);font-weight:600}.footer-top-link{color:#b8bbac}

/* Dialogs */
.ravel-dialog{border:1px solid var(--line);border-radius:18px;padding:0;background:var(--white);color:var(--ink);width:min(860px,calc(100vw - 40px));max-width:calc(100vw - 40px);max-height:calc(100dvh - 42px);box-shadow:0 30px 90px #0003;overflow:hidden}.ravel-dialog[open]{display:flex;flex-direction:column}.ravel-dialog::backdrop{background:#111d;backdrop-filter:blur(3px)}.ravel-dialog-header{padding:22px 26px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-shrink:0}.ravel-dialog-header h2{font-size:31px;letter-spacing:-1px;margin-top:8px}.ravel-dialog-close{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:24px;cursor:pointer;flex:0 0 auto}.ravel-dialog-body{min-height:0;overflow:hidden;flex:1}.ravel-legal-frame{display:block;border:0;width:100%;height:min(70dvh,700px);background:var(--white)}.ravel-dialog-footer{padding:13px 26px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.ravel-dialog-footer a{text-decoration:underline;text-underline-offset:3px}.ravel-dialog-open{overflow:hidden}.ravel-contact-dialog{width:min(560px,calc(100vw - 30px))}.ravel-contact-body{padding:25px 28px 29px;overflow:auto}.ravel-contact-brand{font-size:9px;letter-spacing:1.7px;color:var(--muted)}.ravel-contact-number{font-size:30px;font-weight:700;margin-top:13px;letter-spacing:-1px}.ravel-contact-email{display:inline-block;margin-top:5px;font-size:12px;text-decoration:underline;text-underline-offset:4px}.ravel-contact-help{font-size:11px;line-height:1.75;color:var(--muted);margin:20px 0}.ravel-contact-actions{display:flex;flex-wrap:wrap;gap:10px}.ravel-contact-actions .button{min-height:46px;padding:11px 15px;font-size:11px}.ravel-copy-row{display:flex;gap:9px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.ravel-copy-row input{min-width:0;flex:1;border:1px solid var(--line);background:var(--paper);border-radius:7px;padding:10px;font:14px var(--font);color:var(--ink)}.ravel-copy-row button{padding-inline:14px}.ravel-contact-status{min-height:18px;margin-top:8px;font-size:10px;color:var(--muted)}

/* Better viewport fit */
@media(max-width:1199px){.hero-inner{min-height:clamp(565px,calc(var(--ravel-vh) - 149px),673px)}.footer-main{gap:20px 32px}}
@media(max-width:999px){:root{scroll-padding-top:100px}.hero-inner{min-height:clamp(550px,calc(var(--ravel-vh) - 149px),650px)}.hero-copy{padding-top:42px}.hero h1{font-size:clamp(54px,6.4vw,66px)}.hero-description{margin-top:19px}.hero-actions{margin-top:21px}.hero-truck{bottom:20px!important}.hero-yellow-field{top:70px;bottom:70px}.hero-art-word{top:150px}.footer-main{grid-template-columns:1fr 1fr}.footer-contact{grid-column:2}.footer-main nav{grid-row:2;grid-column:1/-1;display:flex;gap:22px;flex-wrap:wrap}.footer-bottom{grid-template-columns:1fr auto auto}.footer-top-link{display:none}.footer-support{justify-self:end}}
@media(max-width:699px){:root{scroll-padding-top:86px}.hero-inner{min-height:calc(var(--ravel-vh) - 73px);display:block}.hero-copy{padding:31px 0 0}.hero-eyebrow{margin-bottom:20px}.hero h1{font-size:clamp(50px,13.4vw,72px);letter-spacing:-3px}.hero-description{margin-top:19px}.hero-actions{margin-top:19px}.hero-art{height:clamp(245px,60vw,330px);margin-top:20px}.hero-truck{top:26px!important;bottom:auto!important;width:98%!important}.hero-yellow-field{top:0;bottom:18px}.hero-art-word{top:37px}.hero-assurance{display:none!important}.hero-art-caption{display:none!important}.hero-bottom{display:none}.subpage-hero{padding:42px 0 32px}.subpage-hero h1{font-size:clamp(42px,13vw,62px);letter-spacing:-2.5px}.site-footer{padding:22px 0 calc(70px + env(safe-area-inset-bottom,0px))}.footer-main{grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;padding-bottom:16px}.footer-brand img{width:155px}.footer-brand p{font-size:10px;margin-top:10px}.footer-contact{grid-column:1/-1;grid-row:2;gap:6px}.footer-contact> a:first-of-type{font-size:20px}.footer-main nav{grid-column:1/-1;grid-row:3;gap:12px 22px}.footer-main nav a{font-size:10px}.footer-bottom{grid-template-columns:1fr auto;gap:3px 12px;padding:10px 0}.footer-bottom>p{grid-column:1/-1}.footer-legal{grid-column:1/-1;gap:16px;flex-wrap:wrap}.footer-support{grid-column:2;grid-row:1;white-space:normal;max-width:130px;text-align:right;justify-content:flex-end;font-size:9px;line-height:1.4}.ravel-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:14px}.ravel-dialog-header{padding:17px 18px 14px}.ravel-dialog-header h2{font-size:26px}.ravel-dialog-footer{padding:12px 18px}.ravel-dialog-footer span{display:none}.ravel-legal-frame{height:74dvh}.ravel-contact-body{padding:20px}.ravel-contact-number{font-size:25px}.ravel-contact-actions{flex-direction:column}.ravel-contact-actions .button{width:100%}.legal-document{padding-top:35px;padding-bottom:50px}.legal-document h2{font-size:23px}.legal-document p,.legal-document li{font-size:13px}.legal-hero{padding:42px 0 32px}.legal-hero h1{font-size:45px}.section-deeplink{margin-top:18px}}
@media(max-width:699px) and (max-height:760px){.hero-copy{padding-top:22px}.hero-eyebrow{margin-bottom:12px}.hero h1{font-size:clamp(42px,12.5vw,52px);letter-spacing:-2.2px}.hero-description{margin-top:12px;font-size:11px;line-height:1.6;max-width:330px}.hero-actions{margin-top:12px;gap:8px}.hero-actions .button{min-height:40px;padding:9px 13px;font-size:10px}.hero-secondary{font-size:8px}.hero-art{height:195px;margin-top:11px}.hero-yellow-field{bottom:8px}.hero-art-word{top:24px;font-size:70px}.hero-truck{top:16px!important;width:94%!important}.hero-art-top{top:7px}.hero-route{top:48px;bottom:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ravel-dialog::backdrop{backdrop-filter:none}}
@media print{.ravel-edit-tab,.ravel-dialog,.footer-support,.mobile-contact-bar,.section-deeplink{display:none!important}.legal-document{max-width:none;padding:0}.site-footer{padding:10px 0}.footer-main nav,.footer-legal{display:none!important}}
/* Short-screen composition: the whole hero fits the visible frame instead of being cropped. */
@media (min-width:700px) and (max-height:820px){
  .hero-inner{height:calc(var(--ravel-vh) - 137px);min-height:0!important;max-height:none}
  .hero-copy{padding-top:34px;padding-bottom:24px}
  .hero-eyebrow{margin-bottom:20px}
  .hero h1{font-size:clamp(58px,5vw,70px);line-height:.96;letter-spacing:-3.2px}
  .hero-description{margin-top:16px;font-size:12px;line-height:1.65}
  .hero-actions{margin-top:18px}
  .hero-art{min-height:0}
  .hero-yellow-field{top:35px;bottom:35px}
  .hero-art-top{top:52px}
  .hero-art-word{top:92px;font-size:clamp(96px,10vw,138px)}
  .hero-truck{width:min(82%,650px)!important;right:3%!important;bottom:20px!important}
  .hero-route{top:170px;bottom:90px}
  .hero-bottom{height:48px}
}
@media(max-width:699px){
  .footer-main{grid-template-columns:minmax(100px,.9fr) minmax(180px,1.4fr);row-gap:10px;column-gap:16px;padding-bottom:10px}
  .footer-brand{grid-column:1;grid-row:1}.footer-brand p{display:none}
  .footer-main nav{grid-column:2;grid-row:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px;align-items:start}
  .footer-main nav a{min-height:34px;font-size:9px;justify-content:start}
  .footer-contact{grid-column:1/-1;grid-row:2;min-height:0;gap:5px}
  .footer-contact> a:first-of-type{font-size:19px}.footer-contact> a:nth-of-type(2){font-size:10px}.footer-contact>span:last-child{font-size:9px}
  .footer-bottom{min-height:0;padding:8px 0 4px;grid-template-columns:1fr auto;row-gap:2px;column-gap:10px}
  .footer-bottom>p{grid-column:1;grid-row:1;font-size:8px;align-self:center}
  .footer-support{grid-column:2;grid-row:1;min-height:38px;max-width:130px;font-size:8px}
  .footer-legal{grid-column:1/-1;grid-row:2;min-height:36px;gap:14px}
  .footer-legal a{min-height:36px;font-size:9px}
}
/* Final mobile footer compaction: keeps support visible without adding a third visual row. */
@media(max-width:699px){
  .site-footer{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}
  .footer-contact{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:12px;row-gap:2px;align-items:center}
  .footer-contact .eyebrow{display:none}
  .footer-contact>a:first-of-type{grid-column:1;font-size:17px;line-height:1.2}
  .footer-contact>a:nth-of-type(2){grid-column:2;justify-self:end;text-align:right;font-size:9px;line-height:1.35;min-width:0;overflow-wrap:anywhere}
  .footer-contact>span:last-child{grid-column:1/-1;font-size:8px;line-height:1.35}
}

/* RAVEL V6 · visual density now has real behavior. */
body[data-ravel-density="compact"] .section{padding-block:72px}
body[data-ravel-density="compact"] .section-kicker{margin-bottom:32px}
body[data-ravel-density="compact"] .section-heading{margin-bottom:30px}
body[data-ravel-density="compact"] .principles{margin-top:40px}
body[data-ravel-density="compact"] .partners{padding-block:28px}
body[data-ravel-density="compact"] .site-footer{padding-top:30px}
body[data-ravel-density="compact"] .footer-main{padding-bottom:25px}
body[data-ravel-density="air"] .section{padding-block:122px}
body[data-ravel-density="air"] .section-kicker{margin-bottom:58px}
body[data-ravel-density="air"] .section-heading{margin-bottom:50px}
body[data-ravel-density="air"] .principles{margin-top:72px}
body[data-ravel-density="air"] .partners{padding-block:56px}
body[data-ravel-density="air"] .site-footer{padding-top:58px}
body[data-ravel-density="air"] .footer-main{padding-bottom:50px}
@media(max-width:699px){
  body[data-ravel-density="compact"] .section{padding-block:46px}
  body[data-ravel-density="compact"] .section-kicker{margin-bottom:22px}
  body[data-ravel-density="compact"] .section-heading{margin-bottom:22px}
  body[data-ravel-density="compact"] .site-footer{padding-top:30px}
  body[data-ravel-density="air"] .section{padding-block:82px}
  body[data-ravel-density="air"] .section-kicker{margin-bottom:38px}
  body[data-ravel-density="air"] .section-heading{margin-bottom:36px}
  body[data-ravel-density="air"] .site-footer{padding-top:54px}
}
.ravel-external-icon{display:inline-block;width:16px;height:16px;flex:0 0 auto;vertical-align:-3px;margin-left:5px}.ravel-close-icon{width:18px;height:18px;display:block;margin:auto}.footer-support .ravel-external-icon{width:14px;height:14px;margin-left:3px}.section-deeplink .ravel-external-icon{width:15px;height:15px}
.ravel-back-icon{width:17px;height:17px;flex:0 0 auto}
body[data-ravel-density="compact"] .real-fleet{padding-top:54px!important;padding-bottom:62px!important}
body[data-ravel-density="air"] .real-fleet{padding-top:98px!important;padding-bottom:110px!important}
@media(max-width:699px){body[data-ravel-density="compact"] .real-fleet{padding-top:40px!important;padding-bottom:48px!important}body[data-ravel-density="air"] .real-fleet{padding-top:70px!important;padding-bottom:78px!important}}


/* RAVEL V7 · combinations with materially different visual identities. */
body[data-ravel-theme="original"]{background:#fff}

/* Carbon: dark operating surfaces, tighter rhythm and brighter technical contrast. */
body[data-ravel-theme="carbon"] .metrics,
body[data-ravel-theme="carbon"] .services,
body[data-ravel-theme="carbon"] .faq{background:var(--ink);color:#f7f8f3}
body[data-ravel-theme="carbon"] .metrics{border-color:#343833}
body[data-ravel-theme="carbon"] .metric{border-color:#343833}
body[data-ravel-theme="carbon"] .metric p,
body[data-ravel-theme="carbon"] .services .section-kicker>:last-child,
body[data-ravel-theme="carbon"] .service p,
body[data-ravel-theme="carbon"] .faq .section-heading>p,
body[data-ravel-theme="carbon"] .faq-answer{color:#b9beb5}
body[data-ravel-theme="carbon"] .services-grid,
body[data-ravel-theme="carbon"] .service,
body[data-ravel-theme="carbon"] .faq-item,
body[data-ravel-theme="carbon"] .section-kicker{border-color:#353a35}
body[data-ravel-theme="carbon"] .service:hover{background:#151916}
body[data-ravel-theme="carbon"] .service-link,
body[data-ravel-theme="carbon"] .faq-item summary{color:#f7f8f3}
body[data-ravel-theme="carbon"] .purpose-grid,
body[data-ravel-theme="carbon"] .quote{background:#e9ece5}
body[data-ravel-theme="carbon"] .site-header.is-scrolled{box-shadow:0 8px 24px rgba(0,0,0,.08)}
body[data-ravel-theme="carbon"] .real-fleet-slider{border-color:#c6cbc2}

/* Arena: warmer editorial surface across the whole site, more breathing room. */
body[data-ravel-theme="arena"]{background:#faf6ed}
body[data-ravel-theme="arena"] .site-header,
body[data-ravel-theme="arena"] .metrics,
body[data-ravel-theme="arena"] .about,
body[data-ravel-theme="arena"] .fleet,
body[data-ravel-theme="arena"] .faq,
body[data-ravel-theme="arena"] .real-fleet,
body[data-ravel-theme="arena"] .quote-form-wrap,
body[data-ravel-theme="arena"] .legal-document{background:#faf6ed}
body[data-ravel-theme="arena"] .services,
body[data-ravel-theme="arena"] .quote,
body[data-ravel-theme="arena"] .purpose-grid,
body[data-ravel-theme="arena"] .legal-meta{background:var(--paper)}
body[data-ravel-theme="arena"] .services-grid,
body[data-ravel-theme="arena"] .service,
body[data-ravel-theme="arena"] .fleet-panel,
body[data-ravel-theme="arena"] .real-fleet-card{border-color:#d0c3a8}
body[data-ravel-theme="arena"] .fleet-visual{background:linear-gradient(180deg,#f4ecdd 0%,#e9dcc2 100%)}
body[data-ravel-theme="arena"] .fleet-watermark{color:#ddd0b7}
body[data-ravel-theme="arena"] .site-header.is-scrolled{background:#faf6ed;border-color:#d5c8ad}
body[data-ravel-theme="arena"] .button-outline{border-color:#c6b89c}

/* Signal: stronger high-visibility bands and hard industrial separation. */
body[data-ravel-theme="signal"] .site-header.is-scrolled{border-bottom:3px solid var(--yellow)}
body[data-ravel-theme="signal"] .metrics{background:var(--yellow);color:var(--ink);border-color:var(--ink)}
body[data-ravel-theme="signal"] .metric{border-color:rgba(9,10,9,.28)}
body[data-ravel-theme="signal"] .metric p{color:var(--ink)}
body[data-ravel-theme="signal"] .services-grid{border-top:4px solid var(--yellow)}
body[data-ravel-theme="signal"] .service{background:#fff}
body[data-ravel-theme="signal"] .service:hover{background:#fffbea}
body[data-ravel-theme="signal"] .partners{background:var(--ink);color:#fff}
body[data-ravel-theme="signal"] .partners p,
body[data-ravel-theme="signal"] .partners .industry-tags{color:#d4d6cf}
body[data-ravel-theme="signal"] .partners-number{color:var(--yellow);border-color:#40433d}
body[data-ravel-theme="signal"] .section-kicker{border-bottom-width:2px}
body[data-ravel-theme="signal"] .quote-form-wrap{border-top:4px solid var(--yellow)}

@media(max-width:699px){
 body[data-ravel-theme="carbon"] .services-grid{border-color:#353a35}
 body[data-ravel-theme="arena"] .site-header{background:#faf6ed}
 body[data-ravel-theme="signal"] .metrics-grid{padding-block:24px}
}

body[data-ravel-theme="carbon"] .site-header{background:var(--ink);color:#f7f8f3;border-bottom-color:#303530}
body[data-ravel-theme="carbon"] .site-nav>a:not(.nav-mobile-cta)::after{background:var(--yellow)}
body[data-ravel-theme="carbon"] .header-cta{background:var(--yellow);color:var(--ink)}
body[data-ravel-theme="carbon"] .menu-toggle{color:#f7f8f3;border-color:#3a3f3a}
body[data-ravel-theme="carbon"] .js .site-nav.is-open{background:var(--ink);color:#f7f8f3}
body[data-ravel-theme="carbon"] .site-nav.is-open>a{border-color:#333833}
body[data-ravel-theme="signal"] .site-header{background:#fffdf1}
body[data-ravel-theme="signal"] .header-cta{box-shadow:inset 0 -4px 0 var(--yellow)}
