/* Homepage v5.17 — product in the foreground, freight photography behind it. */
.home-page {
  --home-paper: #f2f1eb;
  --home-ink: #203b32;
  --home-muted: #59685e;
  --home-line: #c7cfc2;
  --home-accent: #b74428;
  --home-space: clamp(22px, 5vw, 88px);
  margin: 0;
  background: var(--home-paper);
  color: var(--home-ink);
  -webkit-font-smoothing: antialiased;
}
.home-page :is(h1,h2,h3,p,figure,dl) { margin: 0; }
.home-page :is(h1,h2,h3) { text-wrap: balance; }
.home-page h2 { font-size: clamp(30px, 3.2vw, 46px); line-height: 1.45; font-weight: 500; letter-spacing: -.8px; }
.home-page p { line-height: 1.9; }
.home-page img { display: block; max-width: 100%; }
.home-page :is(a,summary):focus-visible { outline: 3px solid var(--home-accent); outline-offset: 5px; }
.home-page a { transition: color .18s, background-color .18s, border-color .18s; }
.home-page a:active { opacity: .85; }
.home-page section[id] { scroll-margin-top: 24px; }
.home-header { position: relative; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 94px; padding: 20px var(--home-space); background: var(--home-paper); border-bottom: 1px solid var(--home-line); }
.home-header .brand { flex-shrink: 0; }
.home-desktop-nav { display: flex; align-items: center; gap: clamp(18px, 2.4vw, 34px); font-size: 14px; }
.home-desktop-nav a { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; }
.home-desktop-nav a:hover { color: var(--home-accent); }
.home-contact-link { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 14px; white-space: nowrap; }
.home-contact-link > span:first-child { color: var(--home-muted); font-size: 11px; }
.home-contact-link > span:last-child { font-size: 20px; color: var(--home-accent); }
.up-mobile-menu { display: none; }
.home-hero { position: relative; isolation: isolate; overflow: hidden; padding: 0 var(--home-space); background: #142b22; color: #f6f3eb; }
.home-hero-scene { position: absolute; inset: 0; z-index: -2; }
.home-hero-scene img { width: 100%; height: 100%; object-fit: cover; object-position: 62% center; }
.home-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, #10241df0 0%, #10241dcc 36%, #10241d45 72%, #10241d12), linear-gradient(0deg, #10241ddd, transparent 42%); }
.home-hero-top { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 0; font-size: 10px; letter-spacing: 1.4px; color: #e2e7df; }
.home-hero-top > span:last-child { letter-spacing: 1px; }
.home-hero-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: center; padding: 27px 0 42px; min-height: 610px; }
.home-hero-copy { min-width: 0; padding: 20px 0; }
.home-page .home-eyebrow { font-size: 12px; letter-spacing: 1.1px; color: #e4e9e0; margin-bottom: 26px; }
.home-hero h1 { font-size: clamp(44px, 4.8vw, 74px); line-height: 1.24; letter-spacing: -1.8px; font-weight: 500; }
.home-hero h1 > span { color: #e9ad89; }
.home-page .home-hero-description { font-size: 17px; line-height: 1.9; color: #e3e8df; margin: 26px 0 30px; }
.home-role-links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; max-width: 490px; }
.home-role { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 86px; padding: 17px 19px; border: 1px solid #e1e9da88; border-radius: 2px; }
.home-role strong { display: block; font-size: 20px; font-weight: 500; line-height: 1.5; white-space: nowrap; }
.home-role small { display: block; font-size: 12px; line-height: 1.6; margin-top: 4px; }
.home-role > span:last-child { font-size: 24px; flex-shrink: 0; }
.home-role-primary { background: #f6f3eb; color: #203b32; border-color: #f6f3eb; }
.home-role-primary small { color: #526254; }
.home-role-primary:hover { background: #fffdf7; }
.home-role-secondary { background: #17382fe8; color: #f6f3eb; }
.home-role-secondary small { color: #e1e7db; }
.home-role-secondary:hover { background: #2b4c40; border-color: #f0f1e8; }
.home-hero-more { display: inline-flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 44px; margin-top: 16px; font-size: 13px; }
.home-hero-more span { color: #e9ad89; font-size: 19px; }
.home-hero a:focus-visible { outline-color: #f3bc95; }
.home-product-visual { width: 100%; max-width: 500px; justify-self: end; }
.home-devices { position: relative; width: 100%; aspect-ratio: .88; }
.home-device { position: absolute; overflow: hidden; background: #f6f4ed; border: 7px solid #23372f; border-radius: 24px; box-shadow: 0 20px 38px #071d1955, 0 0 0 1px #a5ada080; }
.home-device img { width: 100%; height: auto; }
.home-device-quote { width: 56%; right: 0; top: 0; z-index: 2; aspect-ratio: auto; }
.home-device-driver { width: 45%; left: 0; top: 14%; z-index: 1; aspect-ratio: auto; transform: rotate(-5deg); }
.home-product-visual figcaption { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 19px; margin-top: 12px; border-top: 1px solid #e4e9db66; color: #f2f2e8; font-size: 12px; line-height: 1.8; }
.home-product-visual figcaption > span:last-child { font-size: 8px; letter-spacing: 1.2px; white-space: nowrap; }
.home-hero-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid #e3e9dd55; color: #e3e7dd; font-size: 11px; padding: 7px 0; }
.home-hero-bottom a { display: inline-flex; align-items: center; gap: 26px; min-height: 44px; font-size: 12px; }
.home-section { padding: 88px var(--home-space); }
.home-page .home-kicker { font-size: 10px; line-height: 1.6; font-weight: 600; letter-spacing: 1.5px; color: var(--home-muted); margin-bottom: 23px; }
.home-section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
.home-section-heading > p { color: var(--home-muted); font-size: 15px; margin-bottom: 5px; }
.home-process-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); list-style: none; padding: 0; margin: 44px 0 0; gap: 36px; }
.home-process-list li { border-top: 1px solid #8c9c8a; }
.home-process-list a { display: flex; flex-direction: column; align-items: flex-start; height: 100%; padding-top: 21px; }
.home-step-number { font-size: 12px; letter-spacing: 1px; color: var(--home-accent); }
.home-process-list h3 { font-size: clamp(22px, 2.1vw, 28px); font-weight: 500; line-height: 1.5; margin: 21px 0 12px; }
.home-process-list p { font-size: 14px; color: var(--home-muted); margin-bottom: 25px; max-width: 340px; }
.home-step-link { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 16px; border-top: 1px solid var(--home-line); padding: 12px 0; min-height: 48px; margin-top: auto; font-size: 13px; }
.home-step-link > span { color: var(--home-accent); font-size: 21px; }
.home-process-list a:hover h3 { color: var(--home-accent); }
.home-dispatch { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8%; background: #e6e9df; border-block: 1px solid #cbd2c4; align-items: center; }
.home-dispatch-visual { position: relative; min-width: 0; align-self: stretch; min-height: 550px; overflow: hidden; background: #243c31; }
.home-dispatch-visual > img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: 65% center; }
.home-image-caption { position: absolute; inset: auto 0 0; display: flex; flex-direction: column; gap: 9px; padding: 70px 26px 27px; background: linear-gradient(transparent,#10271ee8); color: #f4f3e9; font-size: 16px; line-height: 1.8; }
.home-image-caption > span:last-child { font-size: 9px; letter-spacing: 1.6px; }
.home-page .home-section-intro { margin: 23px 0 28px; color: var(--home-muted); font-size: 15px; line-height: 1.95; max-width: 510px; }
.home-dispatch-list { list-style: none; padding: 0; margin: 0 0 16px; }
.home-dispatch-list li { display: grid; grid-template-columns: 25px minmax(0,1fr); gap: 16px; padding: 19px 0; border-top: 1px solid #b9c5b2; }
.home-dispatch-list li > span { color: var(--home-accent); font-size: 11px; padding-top: 4px; }
.home-dispatch-list h3 { font-size: 17px; line-height: 1.65; font-weight: 500; margin-bottom: 5px; }
.home-dispatch-list p { color: var(--home-muted); font-size: 13px; }
.home-text-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 28px; min-height: 48px; padding: 11px 0; border-bottom: 1px solid #9dad98; font-size: 14px; line-height: 1.8; }
.home-text-link > span { color: var(--home-accent); font-size: 22px; }
.home-text-link:hover { color: var(--home-accent); border-color: var(--home-accent); }
.home-records { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8%; align-items: center; background: #1a342a; color: #f3f1e8; }
.home-records .home-kicker { color: #c4d1bf; }
.home-records .home-section-intro { color: #d0dbca; }
.home-records-list { margin-bottom: 21px !important; }
.home-records-list > div { display: grid; grid-template-columns: 85px minmax(0,1fr); gap: 18px; padding: 17px 0; border-top: 1px solid #657c67; }
.home-records-list dt { font-size: 14px; line-height: 1.9; color: #f3eee1; }
.home-records-list dd { font-size: 13px; line-height: 1.9; margin: 0; color: #cbd6c6; }
.home-records .home-text-link { color: #f5f3e9; border-color: #819079; }
.home-records .home-text-link > span { color: #eab28c; }
.home-records .home-text-link:hover { color: #f1bb96; }
.home-records a:focus-visible { outline-color: #f3bc95; }
.home-records-visual { position: relative; min-width: 0; min-height: 540px; }
.home-records-photo { position: absolute; inset: 0 0 auto; width: 100%; height: 80%; object-fit: cover; object-position: 36% center; opacity: .85; }
.home-records-screen { position: relative; width: 50%; margin: 68px 22px 0 auto; border: 5px solid #c4c8bb; border-radius: 3px; box-shadow: 0 20px 35px #071b1b55; overflow: hidden; background: #f7f5ee; }
.home-records-screen > span { display: block; padding: 11px 14px; font-size: 9px; color: #415849; border-bottom: 1px solid #cbd1c5; letter-spacing: 1px; }
.home-records-screen img { width: 100%; height: auto; aspect-ratio: 1/2; object-fit: contain; object-position: center top; }
.home-records-visual figcaption { margin-top: 22px; padding: 0 0 0 12px; font-size: 12px; color: #d9e1d2; border-left: 1px solid #b0be9f; line-height: 1.8; }
.home-about { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 10%; border-bottom: 1px solid var(--home-line); }
.home-about-copy p { font-size: 17px; line-height: 2; color: var(--home-muted); max-width: 570px; }
.home-about-copy p + p { margin-top: 17px; }
.home-about-copy .home-text-link { margin-top: 21px; }
.home-faq { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.5fr); gap: 10%; }
.home-faq-list details { border-top: 1px solid #acbba3; }
.home-faq-list details:last-child { border-bottom: 1px solid #acbba3; }
.home-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 76px; padding: 20px 0; list-style: none; font-size: 15px; line-height: 1.8; cursor: pointer; }
.home-faq-list summary::-webkit-details-marker { display: none; }
.home-faq-list summary > span { width: 16px; height: 16px; position: relative; flex-shrink: 0; }
.home-faq-list summary > span::before, .home-faq-list summary > span::after { content: ""; position: absolute; top: 7px; left: 1px; width: 14px; height: 1px; background: var(--home-accent); }
.home-faq-list summary > span::after { transform: rotate(90deg); transition: transform .18s; }
.home-faq-list details[open] summary > span::after { transform: rotate(0); }
.home-faq-list details > div { padding: 0 28px 26px 0; }
.home-faq-list p { color: var(--home-muted); font-size: 14px; }
.home-faq-list a { display: inline-flex; align-items: center; gap: 15px; min-height: 44px; font-size: 13px; margin-top: 12px; color: var(--home-accent); text-decoration: underline; text-underline-offset: 5px; }
.home-connect { display: flex; justify-content: space-between; align-items: flex-end; gap: 45px; background: #e4e8dc; border-top: 1px solid #c5ceba; }
.home-connect h2 { font-size: clamp(34px, 3.5vw, 50px); }
.home-connect p:not(.home-kicker) { font-size: 14px; color: var(--home-muted); margin-top: 23px; }
.home-connect-actions { width: min(100%, 330px); flex-shrink: 0; }
.home-button { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 18px 23px; min-height: 58px; border-radius: 2px; background: #203b32; color: #faf7ec; font-size: 15px; }
.home-button:hover { background: #335747; }
.home-button > span { font-size: 23px; }
.home-connect-actions > span { display: block; margin-top: 26px; color: var(--home-muted); font-size: 12px; }
.home-phone { display: flex; align-items: center; justify-content: space-between; gap: 22px; min-height: 52px; font-size: 28px; letter-spacing: -.5px; white-space: nowrap; }
.home-phone > span { color: var(--home-accent); font-size: 23px; }
.home-phone:hover { color: var(--home-accent); }
.home-footer { padding: 40px var(--home-space) 26px; background: #162f25; color: #f0f0e6; }
.home-footer-top { display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.home-footer-top > span { font-size: 17px; line-height: 1.6; letter-spacing: 1px; }
.home-footer-top small { font-size: 8px; color: #c6d1bf; letter-spacing: 1.3px; }
.home-footer nav { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 27px; font-size: 12px; color: #d0dbca; }
.home-footer nav a { display: inline-flex; align-items: center; min-height: 44px; }
.home-footer nav a:hover { color: #f1b793; }
.home-wordmark { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 22px 0 12px; font-size: clamp(64px, 16vw, 240px); font-weight: 600; letter-spacing: -.06em; line-height: 1.2; }
.home-wordmark > span { font-size: .62em; color: #dca27c; font-weight: 300; letter-spacing: 0; }
.home-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-top: 22px; border-top: 1px solid #576d56; font-size: 10px; color: #c2cfb9; line-height: 1.8; }
.home-footer-bottom > span:last-child { font-size: 9px; letter-spacing: 1.5px; }
.home-footer a:focus-visible { outline-color: #f3bc95; }
@media (min-width: 1600px) {
  .home-header,.home-hero,.home-section,.home-footer { padding-left: max(7vw,calc((100vw - 1460px)/2)); padding-right: max(7vw,calc((100vw - 1460px)/2)); }
  .home-product-visual { max-width: 520px; }
  .home-hero-layout { min-height: 670px; }
}
@media (max-width: 1100px) {
  .home-contact-link > span:first-child { display: none; }
  .home-hero-layout { gap: 30px; min-height: 560px; }
  .home-hero h1 { font-size: clamp(43px, 5vw, 56px); }
  .home-role { padding: 15px 13px; gap: 7px; }
  .home-role strong { font-size: 18px; }
  .home-role small { font-size: 11px; }
  .home-role > span:last-child { font-size: 20px; }
  .home-product-visual figcaption > span:last-child { display: none; }
  .home-dispatch,.home-records { gap: 6%; }
  .home-records-visual { min-height: 470px; }
  .home-process-list { gap: 26px; }
}
@media (min-width: 761px) and (max-width: 950px) {
  .home-contact-link { display: none; }
  .home-hero-layout { grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 26px; }
  .home-role-links { grid-template-columns: 1fr; max-width: 285px; gap: 10px; }
  .home-role { min-height: 72px; padding: 12px 17px; }
  .home-hero-description { font-size: 16px !important; }
  .home-dispatch-visual { min-height: 580px; }
  .home-device-driver { top: 23%; }
  .home-dispatch-list h3 { font-size: 16px; }
  .home-records-screen { width: 67%; margin-right: 12px; }
}
@media (max-width: 760px) {
  .home-page { --home-space: 22px; }
  .home-header { min-height: 80px; padding-top: 15px; padding-bottom: 15px; }
  .home-header .brand-mark { width: 34px; height: 34px; }
  .home-header .brand-type { font-size: 19px; }
  .home-header .brand-type span { font-size: 7px; }
  .home-desktop-nav,.home-contact-link { display: none; }
  .up-mobile-menu { display: block; }
  .up-mobile-menu > summary { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; width: 44px; height: 44px; border: 1px solid var(--home-line); border-radius: 2px; list-style: none; cursor: pointer; }
  .up-mobile-menu > summary::-webkit-details-marker { display: none; }
  .up-mobile-menu > summary > span { width: 18px; height: 1px; background: var(--home-ink); transition: transform .18s; }
  .up-mobile-menu[open] > summary > span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .up-mobile-menu[open] > summary > span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .up-mobile-menu nav { position: absolute; inset: 100% 0 auto; z-index: 20; display: flex; flex-direction: column; padding: 12px var(--home-space) 20px; border-bottom: 1px solid var(--home-line); background: var(--home-paper); box-shadow: 0 18px 25px #203b3212; }
  .up-mobile-menu nav a { display: flex; justify-content: space-between; align-items: center; min-height: 49px; border-bottom: 1px solid var(--home-line); font-size: 15px; }
  .up-mobile-menu nav a:last-child { border: 0; color: var(--home-accent); }
  .home-hero-top { padding: 20px 0 10px; font-size: 9px; }
  .home-hero-top > span:last-child { display: none; }
  .home-hero-layout { grid-template-columns: 1fr; min-height: 0; gap: 22px; padding: 20px 0 27px; }
  .home-hero-copy { padding: 0; }
  .home-hero::after { background: linear-gradient(180deg,#10261ef2,#10261ed9 45%,#10261d40 75%,#10261dcc); }
  .home-hero-scene img { object-position: 68% center; }
  .home-hero h1 { font-size: clamp(43px, 8.8vw, 60px); letter-spacing: -1.5px; }
  .home-page .home-eyebrow { font-size: 11px; margin-bottom: 20px; letter-spacing: .7px; }
  .home-page .home-hero-description { margin: 21px 0 24px; font-size: 15px; }
  .home-role-links { max-width: 500px; gap: 10px; }
  .home-role { min-height: 80px; padding: 13px 15px; }
  .home-role strong { font-size: 19px; }
  .home-role small { font-size: 11px; }
  .home-hero-more { margin-top: 10px; font-size: 12px; }
  .home-product-visual { max-width: 360px; justify-self: center; }
  .home-devices { aspect-ratio: 1; }
  .home-device-quote { width: 51%; right: 5%; }
  .home-device-driver { width: 42%; left: 3%; top: 12%; }
  .home-device { border-width: 5px; border-radius: 18px; }
  .home-product-visual figcaption { margin-top: 6px; padding-top: 13px; font-size: 11px; }
  .home-hero-bottom { font-size: 10px; gap: 10px; }
  .home-hero-bottom a { font-size: 11px; gap: 12px; }
  .home-section { padding-top: 58px; padding-bottom: 58px; }
  .home-page h2 { font-size: 31px; letter-spacing: -.6px; }
  .home-page .home-kicker { font-size: 9px; margin-bottom: 19px; }
  .home-section-heading { display: block; }
  .home-section-heading > p { margin-top: 20px; font-size: 14px; }
  .home-section-heading > p br { display: none; }
  .home-process-list { grid-template-columns: 1fr; gap: 22px; margin-top: 30px; }
  .home-process-list a { position: relative; padding-top: 20px; padding-left: 39px; }
  .home-step-number { position: absolute; top: 26px; left: 0; }
  .home-process-list h3 { font-size: 24px; margin: 0 0 11px; }
  .home-process-list p { max-width: none; margin-bottom: 17px; }
  .home-step-link { padding: 9px 0; font-size: 12px; }
  .home-dispatch,.home-records,.home-about,.home-faq { grid-template-columns: 1fr; gap: 33px; }
  .home-dispatch-visual { min-height: 0; aspect-ratio: 1.35; }
  .home-dispatch-visual img { object-position: center 42%; }
  .home-image-caption { padding: 60px 20px 20px; font-size: 14px; }
  .home-image-caption > span:last-child { font-size: 8px; }
  .home-page .home-section-intro { font-size: 14px; margin: 20px 0 23px; }
  .home-dispatch-list li { gap: 12px; padding: 17px 0; }
  .home-dispatch-list h3 { font-size: 16px; }
  .home-text-link { font-size: 13px; }
  .home-records-list > div { grid-template-columns: 77px minmax(0,1fr); gap: 12px; }
  .home-records-list dt { font-size: 13px; }
  .home-records-visual { min-height: 0; max-width: 470px; width: 100%; justify-self: center; }
  .home-records-photo { height: 78%; }
  .home-records-screen { width: 52%; margin: 45px 17px 0 auto; }
  .home-records-screen > span { padding: 8px; font-size: 8px; letter-spacing: .3px; }
  .home-records-visual figcaption { font-size: 11px; margin-top: 19px; }
  .home-about-copy p { font-size: 15px; }
  .home-faq-list summary { font-size: 14px; min-height: 72px; }
  .home-faq-list details > div { padding-right: 0; }
  .home-connect { display: block; }
  .home-connect p:not(.home-kicker) { font-size: 14px; }
  .home-connect-actions { width: 100%; max-width: 430px; margin-top: 30px; }
  .home-phone { font-size: 28px; }
  .home-footer { padding-top: 32px; padding-bottom: 24px; }
  .home-footer-top { display: block; }
  .home-footer nav { margin-top: 20px; gap: 0 24px; font-size: 12px; }
  .home-wordmark { padding-top: 22px; font-size: clamp(48px, 15.5vw, 117px); gap: 10px; }
  .home-footer-bottom { flex-wrap: wrap; gap: 9px 20px; font-size: 9px; padding-top: 18px; }
  .home-footer-bottom > span:last-child { display: none; }
}
@media (max-width: 380px) {
  .home-page { --home-space: 20px; }
  .home-role { padding: 12px; gap: 5px; }
  .home-role strong { font-size: 17px; }
  .home-role small { font-size: 10px; }
  .home-role > span:last-child { font-size: 18px; }
  .home-hero h1 { font-size: 41px; }
  .home-page h2 { font-size: 29px; }
  .home-hero-bottom > span { max-width: 160px; line-height: 1.8; }
  .home-phone { font-size: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .home-page a,.up-mobile-menu > summary > span,.home-faq-list summary > span::after { transition: none; }
}
