@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url('/assets/fonts/barlow-condensed-700-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow Condensed'; font-style: normal; font-weight: 700; font-display: swap; src: url('/assets/fonts/barlow-condensed-700.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Barlow Condensed'; font-style: italic; font-weight: 700; font-display: swap; src: url('/assets/fonts/barlow-condensed-italic-700-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'Barlow Condensed'; font-style: italic; font-weight: 700; font-display: swap; src: url('/assets/fonts/barlow-condensed-italic-700.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 100 1000; font-display: swap; src: url('/assets/fonts/dm-sans-variable-ext.woff2') format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: 'DM Sans'; font-style: normal; font-weight: 100 1000; font-display: swap; src: url('/assets/fonts/dm-sans-variable.woff2') format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

:root {
  --black: #000;
  --white: #fff;
  --ink: #0b0b0b;
  --gray-900: #202020;
  --gray-700: #4b4b4b;
  --gray-300: #c9c9c9;
  --gray-150: #e8e8e8;
  --gray-100: #f3f3f3;
  --container: 1420px;
  --gutter: clamp(20px, 4.4vw, 72px);
  --section: clamp(80px, 10vw, 150px);
  --display: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  --body: 'DM Sans', Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: clip; color: var(--ink); background: var(--white); font-family: var(--body); font-size: 16px; line-height: 1.55; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 6px #000; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; left: 18px; top: -80px; padding: 12px 18px; color: var(--white); background: var(--black); font-weight: 700; transition: top .2s; }
.skip-link:focus { top: 18px; }

.site-header { position: absolute; z-index: 30; inset: 0 0 auto; display: flex; align-items: center; justify-content: space-between; min-height: 90px; padding: 0 var(--gutter); color: var(--white); border-bottom: 1px solid rgba(255,255,255,.32); }
.brand { display: inline-flex; align-items: center; min-width: 160px; min-height: 52px; }
.brand img { width: 150px; height: auto; filter: invert(1); }
.main-nav { display: flex; align-items: center; gap: clamp(17px, 2vw, 34px); font-size: .84rem; font-weight: 600; }
.main-nav a { position: relative; display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.main-nav a:not(.nav-cta)::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 4px; border-bottom: 2px solid currentColor; transition: right .2s; }
.main-nav a:hover::after, .main-nav a[aria-current='page']::after { right: 0; }
.main-nav .nav-cta { min-height: 46px; padding: 0 18px; color: var(--black); background: var(--white); }
.menu-button { display: none; width: 48px; min-height: 44px; padding: 10px; color: inherit; background: none; border: 0; }
.menu-button span:not(.sr-only) { display: block; margin: 7px 0; border-top: 2px solid currentColor; }

.hero { position: relative; min-height: min(920px, 100svh); overflow: hidden; color: var(--white); background: var(--black); }
.hero-image, .hero-overlay { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-image { object-fit: cover; object-position: center; filter: grayscale(1) contrast(1.05); }
.hero-overlay { background: linear-gradient(90deg, rgba(0,0,0,.93) 0%, rgba(0,0,0,.78) 38%, rgba(0,0,0,.2) 72%), linear-gradient(0deg, rgba(0,0,0,.72), transparent 42%); }
.hero-content { position: relative; z-index: 2; width: min(980px, 78vw); padding: clamp(180px, 23vh, 250px) var(--gutter) 150px; }
.eyebrow { margin: 0 0 20px; font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow.light { color: rgba(255,255,255,.72); }
.hero h1, .page-hero h1, .not-found h1 { max-width: 900px; margin: 0; font-family: var(--display); font-size: clamp(4.2rem, 8.5vw, 8.8rem); font-style: italic; font-weight: 700; letter-spacing: -.045em; line-height: .87; text-transform: uppercase; }
.hero-content > p:not(.eyebrow) { max-width: 650px; margin: 34px 0 0; color: rgba(255,255,255,.8); font-size: clamp(1rem, 1.4vw, 1.25rem); }
.hero-actions { display: flex; gap: 10px; margin-top: 42px; }
.hero-foot { position: absolute; z-index: 2; left: var(--gutter); right: var(--gutter); bottom: 30px; display: flex; justify-content: space-between; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.32); font-family: var(--display); font-size: .8rem; font-weight: 600; letter-spacing: .12em; }
.visual-label { z-index: 3; padding: 7px 10px; color: var(--white); background: rgba(0,0,0,.8); font-size: .68rem; font-weight: 700; letter-spacing: .1em; line-height: 1.2; text-transform: uppercase; }
.hero-label { position: absolute; top: 112px; right: var(--gutter); }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 52px; padding: 13px 22px; border: 1px solid currentColor; border-radius: 0; text-decoration: none; font-size: .88rem; font-weight: 700; transition: color .2s, background .2s; }
.button.white { color: var(--black); background: var(--white); border-color: var(--white); }
.button.white:hover { color: var(--white); background: var(--black); }
.button.outline { color: var(--white); background: transparent; border-color: rgba(255,255,255,.7); }
.button.outline:hover { color: var(--black); background: var(--white); }
.button.black { color: var(--white); background: var(--black); border-color: var(--black); }
.button.black:hover { color: var(--black); background: var(--white); }

.scope-strip { display: grid; grid-template-columns: repeat(4, 1fr); color: var(--white); background: var(--black); border-top: 1px solid #303030; }
.scope-strip span { display: flex; align-items: center; justify-content: center; min-height: 82px; padding: 16px; border-right: 1px solid #303030; font-family: var(--display); font-size: 1rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.scope-strip span:last-child { border: 0; }
.section { width: min(100%, var(--container)); margin: 0 auto; padding: var(--section) var(--gutter); }
.intro, .about-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); gap: clamp(60px, 10vw, 170px); }
.intro h2, .section-head h2, .image-split h2, .trust-band h2, .compliance h2, .cta-line h2, .footer-lead h2, .about-grid h2 { max-width: 850px; margin: 0; font-family: var(--display); font-size: clamp(3.1rem, 5.5vw, 6.2rem); font-weight: 700; letter-spacing: -.035em; line-height: .92; text-transform: uppercase; }
.intro-copy { padding-top: 34px; }
.intro-copy p, .section-head > p, .about-grid > div:last-child > p { color: var(--gray-700); font-size: 1.06rem; }
.text-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 10px; padding-bottom: 4px; border-bottom: 1px solid currentColor; text-decoration: none; font-weight: 700; }
.text-link.light { color: var(--white); }
.section-head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: end; margin-bottom: clamp(50px, 7vw, 100px); }
.section-head > p { max-width: 530px; margin: 0; }
.services-section, .fleet-section, .spec-section { border-top: 1px solid var(--gray-300); }
.service-list { border-top: 2px solid var(--black); }
.service-row { display: grid; grid-template-columns: 86px minmax(0, 1fr) 60px; gap: 30px; align-items: start; padding: 34px 0; border-bottom: 1px solid var(--gray-300); }
.service-row > span { padding-top: 7px; color: var(--gray-700); font-family: var(--display); font-weight: 700; }
.service-row h3 { margin: 0 0 10px; font-family: var(--display); font-size: clamp(2rem, 3vw, 3.5rem); font-weight: 700; line-height: 1; text-transform: uppercase; }
.service-row p { max-width: 850px; margin: 0; color: var(--gray-700); }
.service-row > a { display: grid; place-items: center; width: 52px; min-height: 52px; border: 1px solid var(--black); text-decoration: none; font-size: 1.25rem; }
.service-row > a:hover { color: var(--white); background: var(--black); }

.image-split { display: grid; grid-template-columns: 1.2fr .8fr; min-height: 690px; color: var(--white); background: var(--black); }
.image-split.reverse { grid-template-columns: .8fr 1.2fr; }
.image-split.reverse .transport-visual { order: 2; }
.transport-visual { position: relative; height: 100%; min-height: 690px; margin: 0; overflow: hidden; }
.transport-visual .visual-label { position: absolute; left: 16px; bottom: 14px; }
.image-split img { width: 100%; height: 100%; min-height: 690px; object-fit: cover; filter: grayscale(1) contrast(1.04); }
.image-split > div { display: flex; flex-direction: column; justify-content: center; padding: var(--gutter); }
.image-split p:not(.eyebrow) { max-width: 510px; color: rgba(255,255,255,.68); }
.image-split .button { align-self: flex-start; margin-top: 20px; }
.process { margin: 25px 0 0; padding: 0; list-style: none; border-top: 1px solid #555; }
.process li { display: grid; grid-template-columns: 55px 1fr; gap: 12px; padding: 17px 0; border-bottom: 1px solid #555; }
.process span { color: #aaa; font-family: var(--display); }
.process p { margin: 0; }

.fleet-grid { display: grid; gap: 80px; margin-bottom: 50px; }
.fleet-card { display: grid; grid-template-columns: 1.15fr .85fr; background: var(--gray-100); }
.fleet-card:nth-child(even) { grid-template-columns: .85fr 1.15fr; }
.fleet-card:nth-child(even) .fleet-image { order: 2; }
.fleet-image { position: relative; min-height: 480px; overflow: hidden; background: #ddd; }
.fleet-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: transform .5s; }
.fleet-card:hover img { transform: scale(1.02); }
.fleet-image span { position: absolute; left: 16px; bottom: 14px; padding: 7px 10px; color: var(--white); background: rgba(0,0,0,.78); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.fleet-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(32px, 5vw, 78px); }
.fleet-copy h3 { margin: 0 0 30px; font-family: var(--display); font-size: clamp(2.8rem, 4.7vw, 5.2rem); font-weight: 700; letter-spacing: -.035em; line-height: .9; text-transform: uppercase; }
.fleet-copy dl, .company-facts { margin: 0; border-top: 1px solid var(--black); }
.fleet-copy dl div, .company-facts div { display: flex; justify-content: space-between; gap: 24px; padding: 13px 0; border-bottom: 1px solid var(--gray-300); }
.fleet-copy dt, .company-facts dt { color: var(--gray-700); }
.fleet-copy dd, .company-facts dd { max-width: 58%; margin: 0; font-weight: 700; text-align: right; }
.notice { display: grid; grid-template-columns: 230px 1fr; gap: 40px; margin-bottom: 65px; padding: 25px 0; border-top: 2px solid var(--black); border-bottom: 1px solid var(--gray-300); }
.notice strong { text-transform: uppercase; }
.notice p { margin: 0; color: var(--gray-700); }
.trust-band, .compliance { display: grid; grid-template-columns: 1.15fr .85fr; gap: clamp(60px, 10vw, 170px); padding: var(--section) var(--gutter); color: var(--white); background: var(--black); }
.trust-band > div:last-child, .compliance > div:last-child { max-width: 650px; padding-top: 30px; color: rgba(255,255,255,.72); }

.page-hero { display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: end; min-height: 610px; padding: 190px var(--gutter) 95px; color: var(--white); background: var(--black); }
.page-hero h1 { font-size: clamp(3.8rem, 7vw, 7.8rem); }
.page-hero > p { max-width: 570px; margin: 0; color: rgba(255,255,255,.7); font-size: 1.08rem; }
.spec-list { border-top: 2px solid var(--black); }
.spec-list article { display: grid; grid-template-columns: 80px 1fr 1fr; gap: 32px; padding: 30px 0; border-bottom: 1px solid var(--gray-300); }
.spec-list article > span { color: var(--gray-700); font-family: var(--display); }
.spec-list h3 { margin: 0; font-family: var(--display); font-size: 1.65rem; text-transform: uppercase; }
.spec-list p { margin: 0; color: var(--gray-700); }
.about-grid > div:last-child { padding-top: 36px; }
.company-facts { margin-top: 45px; }
.compliance { margin-top: 0; }
.cta-line { display: flex; align-items: end; justify-content: space-between; gap: 50px; border-top: 1px solid var(--gray-300); }
.cta-line h2 { max-width: 900px; font-size: clamp(2.8rem, 4.6vw, 5.2rem); }

.contact-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(60px, 9vw, 145px); }
.contact-email { display: inline-block; margin: 4px 0 35px; font-family: var(--display); font-size: clamp(2rem, 3.8vw, 4rem); font-weight: 700; text-decoration-thickness: 2px; text-underline-offset: 8px; }
.inquiry-form { padding: clamp(28px, 5vw, 65px); background: var(--gray-100); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; }
.inquiry-form label { display: grid; gap: 8px; margin-bottom: 24px; font-size: .82rem; font-weight: 700; }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea { width: 100%; min-height: 52px; padding: 12px; color: var(--black); background: var(--white); border: 1px solid var(--black); border-radius: 0; }
.inquiry-form textarea { resize: vertical; }
.inquiry-form input:focus, .inquiry-form select:focus, .inquiry-form textarea:focus { outline: 3px solid var(--black); outline-offset: 2px; }
.form-note { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.form-note p { max-width: 390px; margin: 0; color: var(--gray-700); font-size: .8rem; }
.not-found { min-height: 78vh; padding: 220px var(--gutter) 100px; }
.not-found h1 { color: var(--black); }
.privacy-copy { max-width: 960px; }
.privacy-copy h2 { margin: 55px 0 12px; font-family: var(--display); font-size: clamp(2rem, 3.5vw, 3.8rem); line-height: 1; text-transform: uppercase; }
.privacy-copy h2:first-child { margin-top: 0; }
.privacy-copy p { color: var(--gray-700); }
.error-page .site-header { position: relative; color: var(--black); border-color: var(--gray-300); }
.error-page .brand img { filter: none; }
.error-page .nav-cta { color: var(--white); background: var(--black); }
.error-page .not-found { padding-top: 120px; }

.site-footer { padding: var(--section) var(--gutter) 30px; color: var(--white); background: var(--black); }
.footer-lead { max-width: 1100px; margin-bottom: 100px; }
.footer-email { display: inline-flex; gap: 12px; align-items: center; min-height: 50px; margin-top: 25px; font-size: clamp(1.4rem, 2.2vw, 2.4rem); text-underline-offset: 7px; }
.footer-grid { display: grid; grid-template-columns: 1fr .5fr .8fr; gap: 60px; padding: 45px 0; border-top: 1px solid #444; }
.footer-logo { width: 180px; height: auto; filter: invert(1); }
.footer-grid nav { display: grid; align-content: start; }
.footer-grid nav a { display: flex; align-items: center; min-height: 44px; color: #bbb; text-decoration: none; }
.footer-grid nav a:hover { color: var(--white); }
.footer-grid p { color: #aaa; }
.footer-meta { display: flex; justify-content: space-between; gap: 24px; padding-top: 22px; border-top: 1px solid #333; color: #888; font-size: .72rem; }

.js [data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity .65s, transform .65s; }
.js [data-reveal][data-visible='true'] { opacity: 1; transform: none; }

@media (max-width: 980px) {
  .intro, .about-grid, .section-head, .page-hero, .contact-layout { grid-template-columns: 1fr; }
  .section-head { align-items: start; }
  .fleet-card, .fleet-card:nth-child(even) { grid-template-columns: 1fr; }
  .fleet-card:nth-child(even) .fleet-image { order: 0; }
  .image-split, .image-split.reverse { grid-template-columns: 1fr; }
  .image-split.reverse .transport-visual { order: 0; }
  .transport-visual { min-height: 450px; }
  .image-split img { min-height: 450px; }
  .trust-band, .compliance { grid-template-columns: 1fr; }
  .spec-list article { grid-template-columns: 55px 1fr; }
  .spec-list article p { grid-column: 2; }
  .cta-line { align-items: start; flex-direction: column; }
}

@media (max-width: 760px) {
  .site-header { min-height: 76px; }
  .brand { min-width: 120px; }
  .brand img { width: 116px; }
  .menu-button { display: block; flex: 0 0 48px; }
  .main-nav { position: absolute; top: 76px; left: 0; right: 0; display: none; gap: 0; padding: 16px var(--gutter) 24px; color: var(--white); background: var(--black); border-top: 1px solid #444; }
  .main-nav[data-open='true'] { display: grid; }
  .main-nav a { padding: 6px 0; border-bottom: 1px solid #333; font-size: 1rem; }
  .main-nav .nav-cta { margin-top: 12px; padding: 0 14px; }
  html:not(.js) .site-header { position: relative; flex-wrap: wrap; height: auto; background: var(--black); }
  html:not(.js) .menu-button { display: none; }
  html:not(.js) .main-nav { position: static; display: grid; flex: 1 0 100%; width: 100%; }
  html:not(.js) .page-hero { padding-top: 80px; }
  .hero { min-height: 800px; }
  .hero-image { object-position: 66% center; }
  .hero-overlay { background: linear-gradient(90deg, rgba(0,0,0,.92), rgba(0,0,0,.18)), linear-gradient(0deg, rgba(0,0,0,.9), transparent 62%); }
  .hero-content { width: 100%; max-width: 100vw; padding-top: 150px; }
  .hero h1 { font-size: clamp(3.35rem, 15vw, 4.8rem); }
  .hero-actions { align-items: stretch; flex-direction: column; max-width: 350px; }
  .hero-foot span:last-child { display: none; }
  .scope-strip { grid-template-columns: 1fr 1fr; }
  .scope-strip span { min-height: 64px; border-bottom: 1px solid #303030; font-size: .8rem; }
  .section { padding-left: var(--gutter); padding-right: var(--gutter); }
  .service-row { grid-template-columns: 45px 1fr; gap: 16px; }
  .service-row > a { grid-column: 2; }
  .image-split img, .fleet-image { min-height: 290px; }
  .transport-visual { min-height: 290px; }
  .page-hero { min-height: 610px; padding-top: 145px; }
  .page-hero h1 { font-size: clamp(3.1rem, 14vw, 4.6rem); }
  .notice { grid-template-columns: 1fr; gap: 10px; }
  .fleet-copy { padding: 30px 22px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .form-note { align-items: stretch; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-meta { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .js [data-reveal] { opacity: 1; transform: none; }
}
