:root {
  --sand: #efe4cf;
  --cream: #fff9ed;
  --paper: #fffdf6;
  --navy: #09263b;
  --navy-2: #103a54;
  --orange: #f04b2f;
  --orange-dark: #bd321d;
  --sky: #82c8e8;
  --ink: #102b3c;
  --muted: #59666d;
  --line: #bcb39f;
  --white-line: rgba(255,255,255,.2);
  --condensed: "Barlow Condensed", sans-serif;
  --sans: "IBM Plex Sans", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--sand); color: var(--ink); font: 16px/1.6 var(--sans); overflow-x: hidden; }
body.menu-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
a { color: inherit; }
section { scroll-margin-top: 76px; }
.skip-link { position: fixed; z-index: 200; top: 8px; left: 8px; padding: 10px 15px; background: var(--navy); color: white; transform: translateY(-140%); }
.skip-link:focus { transform: none; }

.site-header { position: sticky; z-index: 100; top: 0; display: grid; grid-template-columns: auto 1fr auto; align-items: center; min-height: 76px; padding: 0 clamp(18px,4vw,64px); background: rgba(255,249,237,.96); border-bottom: 3px solid var(--navy); backdrop-filter: blur(12px); }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.brand-route { display: grid; place-items: center; width: 52px; height: 52px; background: var(--orange); color: white; font: 800 20px/1 var(--condensed); clip-path: polygon(10% 0,100% 0,100% 100%,10% 100%,0 50%); }
.brand-copy { display: flex; flex-direction: column; line-height: 1; }
.brand-copy strong { font: 900 24px/1 var(--condensed); letter-spacing: .06em; }
.brand-copy small { margin-top: 5px; color: var(--muted); font-size: 9px; letter-spacing: .08em; }
.desktop-nav { display: flex; justify-content: center; align-items: stretch; align-self: stretch; }
.desktop-nav a { display: grid; place-items: center; min-width: 92px; padding: 0 13px; border-left: 1px solid rgba(9,38,59,.13); font: 700 12px/1 var(--sans); text-decoration: none; transition: .2s; }
.desktop-nav a:last-child { border-right: 1px solid rgba(9,38,59,.13); }
.desktop-nav a:hover, .desktop-nav a.active { background: var(--navy); color: white; }
.header-tools { display: flex; align-items: center; gap: 12px; }
.language { display: flex; border: 2px solid var(--navy); }
.lang-btn { width: 38px; height: 31px; border: 0; background: transparent; color: var(--navy); font: 800 11px var(--sans); cursor: pointer; }
.lang-btn.active { background: var(--navy); color: white; }
.menu-toggle { display: none; width: 42px; height: 38px; border: 2px solid var(--navy); background: transparent; cursor: pointer; }
.menu-toggle span { display: block; width: 19px; height: 2px; margin: 4px auto; background: var(--navy); transition: .2s; }
.menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-6px) rotate(-45deg); }
.mobile-nav { position: fixed; inset: 76px 0 auto; z-index: 99; padding: 18px; background: var(--cream); border-bottom: 3px solid var(--navy); box-shadow: 0 25px 50px rgba(9,38,59,.2); }
.mobile-nav:not([hidden]) { display: grid; }
.mobile-nav a { padding: 13px 4px; border-bottom: 1px dashed var(--line); font-weight: 700; text-decoration: none; }

.hero { display: grid; grid-template-columns: 1.08fr .92fr; min-height: calc(100vh - 76px); background: var(--cream); border-bottom: 3px solid var(--navy); }
.hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(55px,7vw,110px) clamp(24px,6vw,92px); border-right: 2px dashed var(--line); }
.route-label { display: flex; align-items: center; gap: 13px; margin: 0 0 26px; color: var(--navy); font: 800 11px var(--sans); letter-spacing: .14em; }
.route-label b { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--navy); color: white; font: 800 23px var(--condensed); letter-spacing: 0; }
.hero h1 { display: flex; flex-direction: column; max-width: 820px; margin: 0; font: 900 clamp(54px,6.4vw,102px)/.84 var(--condensed); letter-spacing: -.035em; text-transform: uppercase; }
.hero h1 .orange { color: var(--orange); }
.hero-lead { max-width: 760px; margin: 35px 0 0; font-size: clamp(16px,1.4vw,20px); line-height: 1.55; }
.scope-warning { max-width: 730px; margin: 20px 0 0; padding: 13px 0 13px 17px; border-left: 5px solid var(--sky); color: var(--muted); font-size: 13px; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 31px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 12px 21px; border: 2px solid transparent; border-radius: 0; font: 700 13px var(--sans); text-decoration: none; cursor: pointer; transition: transform .2s, background .2s; }
.button:hover { transform: translate(-2px,-2px); }
.button-orange { background: var(--orange); color: white; box-shadow: 6px 6px 0 var(--navy); }
.button-sky { background: var(--sky); color: var(--navy); box-shadow: 6px 6px 0 var(--orange); }
.button-outline { border-color: var(--cream); color: var(--cream); }
.email-link { font-weight: 700; text-underline-offset: 5px; }
.dispatch-board { position: relative; display: flex; flex-direction: column; margin: clamp(24px,4vw,62px); background: var(--navy); color: white; box-shadow: 18px 18px 0 var(--orange); overflow: hidden; }
.board-top { display: flex; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--white-line); font: 700 11px var(--sans); letter-spacing: .13em; }
.board-map { position: relative; flex: 1; min-height: 430px; }
.board-map svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.board-map .route-line { fill: none; stroke-width: 10; stroke-linecap: square; stroke-linejoin: round; }
.route-blue { stroke: var(--sky); }
.route-orange { stroke: var(--orange); }
.route-navy { stroke: rgba(255,255,255,.24); stroke-width: 4 !important; stroke-dasharray: 8 9; }
.board-map circle { fill: var(--cream); stroke: var(--navy); stroke-width: 7; }
.map-tag { position: absolute; padding: 3px 8px; background: var(--cream); color: var(--navy); font: 800 16px var(--condensed); }
.tag-a { left: 9%; top: 8%; }.tag-b { right: 8%; top: 14%; }.tag-c { left: 8%; bottom: 15%; }.tag-d { right: 9%; bottom: 17%; }
.map-center { position: absolute; top: 43%; left: 50%; width: 112px; padding: 10px; transform: translate(-50%,-50%); background: var(--orange); color: white; text-align: center; }
.map-center small { display: block; font-size: 9px; letter-spacing: .15em; }
.map-center b { font: 800 29px/1 var(--condensed); }
.board-legend { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--white-line); }
.board-legend span { display: flex; align-items: center; gap: 9px; padding: 15px 20px; font-size: 11px; }
.board-legend span + span { border-left: 1px solid var(--white-line); }
.dot { width: 10px; height: 10px; border-radius: 50%; }.orange-dot { background: var(--orange); }.blue-dot { background: var(--sky); }

.status-strip { display: grid; grid-template-columns: repeat(4,1fr); background: var(--orange); color: white; border-bottom: 3px solid var(--navy); }
.status-strip div { padding: 18px clamp(18px,3vw,45px); border-right: 1px solid rgba(255,255,255,.3); }
.status-strip span, .status-strip b { display: block; }
.status-strip span { font-size: 9px; letter-spacing: .14em; }
.status-strip b { margin-top: 4px; font: 700 18px var(--condensed); }

.section { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: clamp(25px,5vw,80px); padding: clamp(75px,9vw,145px) clamp(22px,6vw,94px); border-bottom: 3px solid var(--navy); }
.section-marker { align-self: start; border-top: 7px solid var(--orange); }
.section-marker b { display: block; font: 900 70px/.9 var(--condensed); color: var(--navy); }
.section-marker span { display: block; margin-top: 10px; font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.section-intro { max-width: 1050px; }
.eyebrow { margin: 0 0 13px; color: var(--orange-dark); font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.eyebrow.light { color: var(--sky); }
.section h2, .freight-section h2, .use-cases h2, .documents-section h2, .builder-section h2, .governance-section h2, .contact-section h2, .retail-section h2 { margin: 0; font: 800 clamp(42px,5.4vw,78px)/.95 var(--condensed); letter-spacing: -.025em; text-transform: uppercase; }
.section-intro > p:last-child { max-width: 770px; margin: 24px 0 0; color: var(--muted); font-size: 17px; }
.directions { grid-template-rows: auto auto; }
.directions .departure-list { grid-column: 2; }
.departure-list { border-top: 3px solid var(--navy); }
.departure-list a { display: grid; grid-template-columns: 110px 1fr 50px; align-items: center; min-height: 88px; border-bottom: 1px solid var(--line); text-decoration: none; transition: .2s; }
.departure-list > a > b { font: 900 39px var(--condensed); }
.departure-list span { display: flex; align-items: baseline; gap: 16px; }
.departure-list strong { font-size: 17px; }
.departure-list small { color: var(--muted); }
.departure-list i { display: grid; place-items: center; width: 36px; height: 36px; background: var(--navy); color: white; font-style: normal; }
.departure-list a:hover { padding-left: 15px; background: var(--cream); color: var(--orange-dark); }

.split-zone { display: grid; grid-template-columns: 1.12fr .88fr; border-bottom: 3px solid var(--navy); }
.zone-side { min-height: 700px; padding: clamp(65px,8vw,125px) clamp(25px,6vw,90px); }
.tech-side { position: relative; background: var(--navy); color: white; }
.tech-side::after { content: ""; position: absolute; top: 0; right: -18px; bottom: 0; width: 36px; background: radial-gradient(circle, var(--sand) 0 9px, transparent 10px) center/36px 36px; }
.zone-number { display: inline-block; margin-bottom: 40px; padding: 6px 10px; border: 1px solid var(--sky); color: var(--sky); font: 700 11px var(--sans); letter-spacing: .13em; }
.tech-side h2 { max-width: 740px; margin: 0; font: 800 clamp(45px,5vw,74px)/.95 var(--condensed); text-transform: uppercase; }
.tech-side > p:not(.eyebrow) { max-width: 720px; color: #c5d5dc; font-size: 17px; }
.cargo-checks { margin: 38px 0 0; padding: 0; list-style: none; }
.cargo-checks li { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 18px 0; border-top: 1px solid var(--white-line); }
.cargo-checks li b { color: var(--orange); font: 800 24px var(--condensed); }
.label-side { display: grid; place-items: center; background: var(--orange); }
.cargo-label { width: min(100%,470px); padding: 34px; background: var(--cream); color: var(--navy); border: 2px solid var(--navy); box-shadow: 13px 13px 0 var(--navy); transform: rotate(1.5deg); }
.cargo-label p { display: grid; grid-template-columns: 125px 1fr; margin: 0; padding: 16px 0; border-bottom: 1px dashed var(--line); }
.cargo-label p span { font-size: 9px; letter-spacing: .14em; }
.cargo-label p b { font: 700 20px var(--condensed); }
.barcode { height: 65px; margin: 28px 0 13px; background: repeating-linear-gradient(90deg,var(--navy) 0 3px,transparent 3px 7px,var(--navy) 7px 9px,transparent 9px 14px); }
.cargo-label small { font-size: 9px; font-weight: 700; letter-spacing: .1em; }

.engineering { grid-template-rows: auto auto; background: var(--cream); }
.engineering .waypoint-grid { grid-column: 2; }
.waypoint-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 50px; border: 2px solid var(--navy); }
.waypoint-grid article { min-height: 320px; padding: 30px; border-right: 1px solid var(--navy); }
.waypoint-grid article:last-child { border: 0; }
.waypoint-grid span { display: inline-block; padding: 5px 9px; background: var(--sky); font: 800 18px var(--condensed); }
.waypoint-grid h3 { margin: 55px 0 13px; font: 800 30px var(--condensed); text-transform: uppercase; }
.waypoint-grid p { color: var(--muted); }
.safety { background: var(--sky); }
.safety-layout { display: grid; grid-template-columns: 1.15fr .9fr .65fr; gap: 30px; }
.boundary-ticket { position: relative; padding: 30px; background: var(--cream); border: 2px solid var(--navy); }
.boundary-ticket::before, .boundary-ticket::after { content: ""; position: absolute; left: -12px; width: 22px; height: 22px; border-radius: 50%; background: var(--sky); border-right: 2px solid var(--navy); }
.boundary-ticket::before { top: 40px; }.boundary-ticket::after { bottom: 40px; }
.boundary-ticket h3 { font: 800 25px var(--condensed); text-transform: uppercase; }
.boundary-ticket ul { padding-left: 20px; }
.boundary-ticket li { margin: 13px 0; }
.safety-layout aside { align-self: end; padding: 25px; background: var(--orange); color: white; }
.safety-layout aside strong { font: 800 20px var(--condensed); }

.freight-section { padding: clamp(75px,9vw,140px) clamp(22px,6vw,94px); background: var(--navy); color: white; border-bottom: 3px solid var(--orange); }
.freight-head, .builder-head { display: grid; grid-template-columns: 180px 1fr; gap: 55px; align-items: end; }
.giant-number { font: 900 clamp(120px,16vw,250px)/.68 var(--condensed); color: var(--orange); }
.freight-lead { max-width: 950px; margin: 55px 0 65px 235px; color: #bfd0d8; font-size: 18px; }
.route-stops { position: relative; display: grid; grid-template-columns: repeat(4,1fr); }
.route-stops::before { content: ""; position: absolute; left: 12%; right: 12%; top: 31px; height: 8px; background: var(--sky); }
.route-stops article { position: relative; padding: 0 25px; text-align: center; }
.route-stops article b { position: relative; z-index: 2; display: grid; place-items: center; width: 65px; height: 65px; margin: 0 auto 30px; border: 8px solid var(--navy); border-radius: 50%; background: var(--cream); color: var(--navy); font: 800 22px var(--condensed); }
.route-stops h3 { font: 800 28px var(--condensed); text-transform: uppercase; }
.route-stops p { color: #bfd0d8; }

.rental { grid-template-rows: auto auto; background: var(--cream); }
.rental-layout { grid-column: 2; display: grid; grid-template-columns: 1fr .8fr; gap: 60px; }
.ticket-stack { align-self: end; }
.ticket { display: grid; grid-template-columns: 70px 1fr; align-items: center; min-height: 90px; margin-top: -1px; background: var(--sand); border: 1px solid var(--navy); }
.ticket > b { display: grid; place-items: center; align-self: stretch; background: var(--orange); color: white; font: 800 35px var(--condensed); }
.ticket span { padding: 15px 22px; }
.ticket strong, .ticket small { display: block; }
.ticket strong { font: 700 21px var(--condensed); text-transform: uppercase; }
.ticket small { color: var(--muted); }
.retail-section { display: grid; grid-template-columns: 150px 1fr .8fr; gap: 50px; padding: clamp(65px,8vw,120px) clamp(22px,6vw,94px); background: var(--orange); color: white; border-bottom: 3px solid var(--navy); }
.retail-code { font: 800 20px var(--condensed); letter-spacing: .08em; }
.retail-copy { align-self: end; }
.retail-copy a { display: inline-block; margin-top: 15px; font-weight: 700; text-underline-offset: 5px; }

.boundaries { grid-template-rows: auto auto; }
.boundaries .boundary-grid { grid-column: 2; }
.boundary-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1px; margin-top: 45px; background: var(--navy); border: 1px solid var(--navy); }
.boundary-grid article { display: grid; grid-template-columns: 45px 1fr; gap: 15px; align-items: start; min-height: 150px; padding: 28px; background: var(--sand); }
.boundary-grid span { display: grid; place-items: center; width: 37px; height: 37px; background: var(--orange); color: white; font-size: 26px; }
.boundary-grid p { margin: 0; }
.inputs { grid-template-rows: auto auto; background: var(--cream); }
.inputs .manifest { grid-column: 2; }
.manifest { margin: 45px 0 0; padding: 0; list-style: none; border-top: 4px solid var(--navy); }
.manifest li { display: grid; grid-template-columns: 100px .65fr 1fr; align-items: center; min-height: 105px; border-bottom: 1px solid var(--line); }
.manifest li > b { font: 900 43px var(--condensed); color: var(--orange); }
.manifest h3 { margin: 0; font: 800 26px var(--condensed); text-transform: uppercase; }
.manifest p { color: var(--muted); }

.use-cases { padding: clamp(75px,9vw,140px) clamp(22px,6vw,94px); background: var(--navy); color: white; border-bottom: 3px solid var(--navy); }
.use-title, .governance-title { display: grid; grid-template-columns: 160px 1fr; gap: 40px; align-items: end; }
.use-title > span, .governance-title > span { font: 900 130px/.7 var(--condensed); color: var(--orange); }
.use-grid { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 70px; border: 1px solid var(--white-line); }
.use-grid article { min-height: 210px; padding: 30px; border-right: 1px solid var(--white-line); border-bottom: 1px solid var(--white-line); }
.use-grid article:nth-child(3n) { border-right: 0; }
.use-grid article:nth-child(n+4) { border-bottom: 0; }
.use-grid strong { font: 700 25px var(--condensed); text-transform: uppercase; }
.use-grid p { color: #bfd0d8; }

.process { grid-template-rows: auto auto; }
.process .process-line { grid-column: 2; }
.process-line { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 55px; }
.process-line article { position: relative; padding: 68px 22px 22px; border-top: 8px solid var(--navy); }
.process-line article::before { content: ""; position: absolute; top: -18px; left: 20px; width: 27px; height: 27px; border-radius: 50%; background: var(--orange); border: 5px solid var(--sand); }
.process-line b { color: var(--orange); font: 800 26px var(--condensed); }
.process-line h3 { margin: 9px 0; font: 700 22px var(--condensed); text-transform: uppercase; }
.process-line p { color: var(--muted); }

.documents-section { display: grid; grid-template-columns: .9fr 1.1fr; background: var(--sky); border-bottom: 3px solid var(--navy); }
.doc-heading { padding: clamp(65px,8vw,120px) clamp(22px,6vw,90px); }
.doc-heading > span { font: 800 14px var(--condensed); letter-spacing: .12em; }
.doc-heading p { margin-top: 28px; }
.doc-list { padding: clamp(65px,8vw,120px) clamp(22px,6vw,90px); background: var(--cream); }
.doc-list p { display: grid; grid-template-columns: 60px 1fr; gap: 18px; margin: 0; padding: 22px 0; border-bottom: 1px dashed var(--line); }
.doc-list b { font: 800 26px var(--condensed); color: var(--orange); }

.builder-section { padding: clamp(75px,9vw,140px) clamp(22px,6vw,94px); background: var(--navy); color: white; border-bottom: 3px solid var(--orange); }
.builder-head p:last-child { max-width: 720px; color: #bfd0d8; }
.request-builder { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; margin: 75px 0 0 235px; }
.request-builder label { display: block; padding: 20px; border: 1px solid var(--white-line); }
.request-builder label > span { display: flex; gap: 14px; margin-bottom: 11px; }
.request-builder label b { color: var(--orange); font: 800 21px var(--condensed); }
.request-builder label:nth-child(n+3) { grid-column: span 2; }
.request-builder input, .request-builder select, .request-builder textarea, .contact-form input, .contact-form textarea { width: 100%; border: 0; border-bottom: 2px solid currentColor; border-radius: 0; outline: 0; }
.request-builder input, .request-builder select, .request-builder textarea { padding: 11px 4px; background: var(--navy); color: white; }
.request-builder select option { background: var(--navy); }
.request-builder textarea { min-height: 88px; resize: vertical; }
.request-builder input:focus, .request-builder select:focus, .request-builder textarea:focus { border-color: var(--sky); }
.request-builder .button { justify-self: start; margin-top: 10px; }
.summary-panel { margin: 55px 0 0 235px; padding: 32px; border: 2px solid var(--sky); background: #0d3148; }
.summary-head { display: flex; justify-content: space-between; gap: 20px; }
.summary-head h3 { margin: 0; font: 800 30px var(--condensed); text-transform: uppercase; }
.summary-head span { color: var(--sky); font-size: 10px; letter-spacing: .13em; }
.summary-panel pre { padding: 25px 0; white-space: pre-wrap; color: white; font: 15px/1.8 var(--sans); }
.summary-panel > p { color: #bfd0d8; font-size: 13px; }
.summary-actions { display: flex; gap: 14px; margin-top: 24px; }

.registry { grid-template-rows: auto auto; background: var(--cream); }
.registry .registry-grid { grid-column: 2; }
.registry-grid { display: grid; grid-template-columns: repeat(2,1fr); margin: 50px 0 0; border: 2px solid var(--navy); }
.registry-grid div { min-height: 118px; padding: 22px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.registry-grid .wide { grid-column: span 2; }
.registry-grid dt { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.registry-grid dd { margin: 12px 0 0; font-weight: 700; }
.governance-section { padding: clamp(75px,9vw,140px) clamp(22px,6vw,94px); background: var(--navy); color: white; border-bottom: 3px solid var(--navy); }
.governance-grid { display: grid; grid-template-columns: repeat(2,1fr); margin-top: 70px; border: 1px solid var(--white-line); }
.governance-grid article { min-height: 190px; padding: 30px; border-right: 1px solid var(--white-line); border-bottom: 1px solid var(--white-line); }
.governance-grid article:nth-child(2n) { border-right: 0; }
.governance-grid article:nth-child(n+3) { border-bottom: 0; }
.governance-grid small { color: var(--sky); font-size: 9px; letter-spacing: .14em; }
.governance-grid h3 { margin: 28px 0 8px; font: 700 27px/1.15 var(--condensed); text-transform: uppercase; }
.governance-grid p { color: #bfd0d8; }

.faq { grid-template-rows: auto auto; }
.faq .faq-list { grid-column: 2; }
.faq-list { margin-top: 45px; border-top: 3px solid var(--navy); }
.faq-list details { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 22px 55px 22px 0; font: 700 22px var(--condensed); cursor: pointer; list-style: none; text-transform: uppercase; }
.faq-list summary::after { content: "+"; position: absolute; right: 10px; top: 14px; color: var(--orange); font: 700 34px var(--condensed); }
.faq-list details[open] summary::after { content: "−"; }
.faq-list details p { max-width: 850px; margin: 0; padding: 0 0 24px; color: var(--muted); }

.contact-section { display: grid; grid-template-columns: 170px 1fr 1fr; gap: 55px; padding: clamp(75px,9vw,140px) clamp(22px,6vw,94px); background: var(--orange); color: white; }
.contact-route { font: 900 135px/.7 var(--condensed); }
.contact-route span { display: block; margin-top: 24px; font: 700 14px var(--sans); letter-spacing: .12em; }
.contact-email { display: inline-block; margin: 38px 0 17px; font: 700 clamp(25px,3vw,44px) var(--condensed); text-underline-offset: 7px; }
.contact-copy > p:last-child { max-width: 620px; }
.contact-form { padding: 30px; background: var(--cream); color: var(--navy); box-shadow: 12px 12px 0 var(--navy); }
.contact-form label { display: block; margin-bottom: 20px; }
.contact-form label span { display: block; margin-bottom: 7px; font-size: 11px; font-weight: 700; }
.contact-form input, .contact-form textarea { padding: 10px 2px; background: transparent; }
.contact-form textarea { min-height: 105px; resize: vertical; }
.contact-form .button { margin-top: 6px; }
.form-status { min-height: 23px; margin: 18px 0 0; font-size: 13px; font-weight: 700; }
footer { display: grid; grid-template-columns: 1fr 1.5fr auto; gap: 35px; align-items: center; padding: 35px clamp(22px,6vw,94px); background: var(--cream); border-top: 3px solid var(--navy); }
footer div { display: flex; flex-direction: column; }
footer strong { font: 800 24px var(--condensed); }
footer span, footer p { color: var(--muted); font-size: 11px; }
footer a { font-weight: 700; }

@media (max-width: 1050px) {
  .desktop-nav { display: none; }
  .site-header { grid-template-columns: 1fr auto; }
  .menu-toggle { display: block; }
  .hero { grid-template-columns: 1fr; }
  .hero-copy { border-right: 0; border-bottom: 2px dashed var(--line); }
  .dispatch-board { min-height: 620px; }
  .section { grid-template-columns: 85px 1fr; gap: 30px; }
  .section-marker b { font-size: 54px; }
  .safety-layout { grid-template-columns: 1fr 1fr; }
  .safety-layout aside { grid-column: span 2; }
  .retail-section { grid-template-columns: 100px 1fr; }
  .retail-copy { grid-column: 2; }
  .request-builder, .summary-panel, .freight-lead { margin-left: 0; }
  .contact-section { grid-template-columns: 120px 1fr; }
  .contact-form { grid-column: 2; }
}

@media (max-width: 760px) {
  .brand-copy small { display: none; }
  .site-header { min-height: 68px; }
  .mobile-nav { top: 68px; }
  .hero h1 { font-size: clamp(48px,16vw,75px); }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; }
  .dispatch-board { min-height: 520px; margin: 20px 20px 35px; box-shadow: 9px 9px 0 var(--orange); }
  .board-map { min-height: 380px; }
  .status-strip { grid-template-columns: repeat(2,1fr); }
  .status-strip div:nth-child(2) { border-right: 0; }
  .status-strip div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.3); }
  .section { display: block; padding: 70px 20px; }
  .section-marker { display: flex; align-items: center; gap: 15px; margin-bottom: 40px; }
  .section-marker b { font-size: 45px; }
  .section-marker span { margin: 0; }
  .section h2, .freight-section h2, .use-cases h2, .documents-section h2, .builder-section h2, .governance-section h2, .contact-section h2, .retail-section h2 { font-size: clamp(39px,12vw,58px); }
  .departure-list { margin-top: 40px; }
  .departure-list a { grid-template-columns: 75px 1fr 35px; }
  .departure-list > a > b { font-size: 29px; }
  .departure-list span { display: block; padding: 12px; }
  .departure-list strong, .departure-list small { display: block; }
  .split-zone { grid-template-columns: 1fr; }
  .zone-side { min-height: auto; padding: 70px 22px; }
  .tech-side::after { display: none; }
  .label-side { padding: 70px 28px; }
  .waypoint-grid { grid-template-columns: 1fr; margin-top: 40px; }
  .waypoint-grid article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--navy); }
  .waypoint-grid h3 { margin-top: 28px; }
  .safety-layout, .rental-layout { grid-template-columns: 1fr; }
  .safety-layout aside { grid-column: auto; }
  .freight-section, .builder-section, .use-cases, .governance-section { padding: 75px 20px; }
  .freight-head, .builder-head, .use-title, .governance-title { grid-template-columns: 1fr; gap: 35px; }
  .giant-number { font-size: 135px; }
  .freight-lead { margin: 35px 0 50px; }
  .route-stops { grid-template-columns: 1fr; }
  .route-stops::before { top: 20px; bottom: 20px; left: 31px; right: auto; width: 8px; height: auto; }
  .route-stops article { display: grid; grid-template-columns: 65px 1fr; gap: 20px; padding: 18px 0; text-align: left; }
  .route-stops article b { grid-row: span 2; margin: 0; }
  .route-stops h3, .route-stops p { margin: 0; }
  .retail-section { display: block; padding: 70px 20px; }
  .retail-section > div { margin-bottom: 30px; }
  .boundary-grid { grid-template-columns: 1fr; }
  .manifest li { grid-template-columns: 65px 1fr; padding: 20px 0; }
  .manifest li p { grid-column: 2; margin-top: 4px; }
  .use-title > span, .governance-title > span { font-size: 100px; }
  .use-grid, .governance-grid { grid-template-columns: 1fr; margin-top: 50px; }
  .use-grid article, .governance-grid article { min-height: auto; border-right: 0; border-bottom: 1px solid var(--white-line) !important; }
  .use-grid article:last-child, .governance-grid article:last-child { border-bottom: 0 !important; }
  .process-line { grid-template-columns: 1fr; margin-top: 45px; padding-left: 23px; }
  .process-line article { padding: 15px 20px 25px 45px; border-top: 0; border-left: 7px solid var(--navy); }
  .process-line article::before { top: 16px; left: -17px; }
  .documents-section { grid-template-columns: 1fr; }
  .doc-heading, .doc-list { padding: 70px 20px; }
  .request-builder { grid-template-columns: 1fr; margin-top: 50px; }
  .request-builder label:nth-child(n) { grid-column: auto; }
  .summary-panel { padding: 22px; }
  .summary-head { display: block; }
  .summary-actions { align-items: stretch; flex-direction: column; }
  .registry-grid { grid-template-columns: 1fr; }
  .registry-grid .wide { grid-column: auto; }
  .registry-grid div { border-right: 0; }
  .contact-section { display: block; padding: 70px 20px; }
  .contact-route { margin-bottom: 50px; font-size: 95px; }
  .contact-form { margin-top: 45px; box-shadow: 8px 8px 0 var(--navy); }
  footer { grid-template-columns: 1fr; gap: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; }
}
