/* Covax Trans website: base styles in the Covax driver-app design language.
   Token names and values mirror covax-driver-app/ui-prototype/css/styles.css
   (the app keeps legacy "navy"/"orange" names for its charcoal/green palette). */
@font-face{font-family:"Covax Display";src:url("/fonts/Michroma-Regular.ttf") format("truetype");font-display:swap}

:root{
  /* Driver-app tokens (same names and values as the app) */
  --navy-950:#16181b;
  --navy-900:#1e2124;
  --navy-800:#2a2e32;
  --navy-700:#353a3f;
  --navy-600:#444a50;
  --navy-400:#80878e;
  --text:#f3f6fb;
  --text-dim:#b4b9be;
  --orange:#6f8f47;
  --orange-600:#5e7a3e;
  --orange-soft:rgba(94,122,62,.22);
  --green:#3ecf8e;
  --green-soft:rgba(47,214,123,.14);
  --red:#ff5a5f;
  --red-soft:rgba(255,90,95,.14);
  --yellow:#ffc83d;
  --yellow-soft:rgba(255,200,61,.14);
  --blue:#5aa9ff;
  --blue-soft:rgba(90,169,255,.14);
  --radius:16px;
  --radius-sm:10px;
  --tap:56px;
  --header-h:60px;

  /* Website semantic aliases */
  --bg:#101214;
  --surface:var(--navy-900);
  --card:var(--navy-800);
  --line:var(--navy-700);
  --field-line:var(--navy-400);          /* app uses navy-600; lifted for 3:1 non-text contrast */
  --muted:var(--text-dim);
  --accent:var(--orange);             /* logo green: fills, borders, large marks */
  --accent-hover:#7fa052;             /* lighter fill so dark button text keeps AA */
  --accent-text:#94b56a;              /* AA green for small text on every charcoal surface */
  --accent-soft:var(--orange-soft);
  --on-accent:var(--navy-950);        /* text on green fills */
  --error-text:#ff8a8d;               /* lighter than app red so small text passes AA */
  --focus:#a9c77e;
  --hero-gradient:linear-gradient(160deg,#33402a 0%,#22262a 70%);
  --hero-border:#4f6536;
  --font-display:"Covax Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --gutter:4.4%;
  color-scheme:dark;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;background:var(--bg)}
body{margin:0;color:var(--text);background:var(--surface);font-family:var(--font-body);font-size:16px;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit;color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
h1,h2,h3,p,figure{margin:0}
p{line-height:1.65}

/* Headings: "Covax Display" (Michroma) for h1/h2, like the app; system bold for h3 */
h1,h2{font-family:var(--font-display);font-weight:400;font-synthesis:none;overflow-wrap:break-word}
h1{line-height:1.12;letter-spacing:.3px}
h2{font-size:clamp(22px,2.3vw,32px);line-height:1.25;letter-spacing:.4px;text-transform:uppercase}
h3{font-size:20px;font-weight:800;line-height:1.3;letter-spacing:0}

/* App ".card-title" style replaces the old monospace eyebrow */
.eyebrow{font-family:var(--font-body);font-size:13px;line-height:1.5;letter-spacing:1px;font-weight:700;text-transform:uppercase;color:var(--accent-text)}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--accent-text);margin-right:9px;box-shadow:0 0 0 4px var(--accent-soft);vertical-align:1px}

/* Top bars + sticky blurred header */
.utility{padding:9px var(--gutter);background:var(--navy-950);color:var(--text-dim);display:flex;justify-content:space-between;gap:16px;font-size:12px;line-height:1.3;letter-spacing:1px;font-weight:700;border-bottom:1px solid var(--line)}
.utility a{color:var(--accent-text)}
.utility a:hover{color:var(--text)}
.header{position:sticky;top:0;z-index:20;min-height:76px;background:rgba(22,24,27,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}
.logo{width:170px;display:block;flex-shrink:0}
.logo img{height:auto}
nav{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700}
nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 12px;border-radius:12px;color:var(--text-dim);transition:background .15s,color .15s}
nav a:hover{color:var(--text);background:var(--navy-800)}
.text-link:hover{color:var(--text)}
.menu-toggle{display:none}

/* Buttons: app ".btn.primary" */
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:var(--tap);background:var(--accent);color:var(--on-accent);padding:0 22px;border:2px solid transparent;border-radius:14px;font-size:16px;font-weight:800;line-height:1.15;transition:background .15s,transform .06s}
.button:hover{background:var(--accent-hover)}
.button:active{transform:scale(.98)}
.button span{font-size:20px}
.button.small{min-height:44px;padding:0 16px;border-radius:12px;font-size:14px;gap:14px}
.button.small span{font-size:17px}

/* Hero: app green→charcoal hero card gradient, photo as a large rounded card */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:630px;background:var(--hero-gradient);border-bottom:1px solid var(--line)}
.hero-copy{padding:55px 6% 0 8.8%;display:flex;flex-direction:column}
.hero h1{font-size:clamp(36px,4vw,60px);line-height:1.12;margin:28px 0 25px}
.hero h1 span{color:var(--accent-text)}
.hero-description{font-size:17px;color:var(--text-dim);max-width:470px}
.hero-actions{display:flex;align-items:center;gap:25px;margin-top:33px}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;font-size:15px;font-weight:800;color:var(--accent-text);background:transparent;border:0;padding:0;line-height:1.5}
.hero-foot{border-top:1px solid var(--hero-border);display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding:24px 0;font-size:12px;font-weight:700;letter-spacing:1px;color:var(--text-dim)}
.hero-image{position:relative;min-width:0;overflow:hidden;margin:18px 18px 18px 0;background:var(--navy-950);border-radius:var(--radius);border:1px solid var(--hero-border)}
.hero-image>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:45% center}
.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,18,20,.88),transparent 48%)}
.hero-image figcaption{position:absolute;bottom:30px;left:30px;color:#fff;z-index:1;display:flex;flex-direction:column;gap:14px;font-family:var(--font-display);font-size:22px;line-height:1.3}
.image-tag{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:1px;color:var(--text-dim)}
.image-index{position:absolute;top:18px;right:18px;z-index:1;background:rgba(22,24,27,.82);color:var(--text);padding:6px 12px;border-radius:999px;font-size:13px;font-weight:700;border:1px solid var(--navy-600)}

/* Proof strip: app ".stat" tiles */

/* Sections */
.section{padding:88px var(--gutter)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:38px}
.section-heading .eyebrow,h2+.eyebrow{margin-bottom:16px}
.section-heading>p{width:360px;color:var(--text-dim);font-size:15px}

/* Capabilities: app cards */
.capability-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.capability-grid article{position:relative;padding:26px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;align-items:flex-start}
.capability-grid h3{margin:16px 0 12px;font-size:24px}
.capability-grid p{font-size:15px;color:var(--text-dim)}
.capability-grid .text-link{margin-top:auto;padding-top:18px}
.deck-diagram{width:80%;height:90px}
.deck-diagram svg{width:100%;height:100%;stroke:var(--accent-text);fill:none;stroke-width:2}
.card-number{position:absolute;right:22px;top:22px;font-size:13px;font-weight:700;color:var(--text-dim);background:var(--navy-700);padding:4px 10px;border-radius:999px}
.capability-grid article.fit-card{background:var(--hero-gradient);border-color:var(--hero-border);border-left:5px solid var(--accent)}
.fit-card h3{font-family:var(--font-display);font-weight:400;font-size:22px;line-height:1.3;margin:18px 0 14px}
.circle-link{width:var(--tap);height:var(--tap);border:0;border-radius:50%;background:var(--accent);color:var(--on-accent);font-size:26px;font-weight:800;margin-top:22px;transition:background .15s}
.circle-link:hover{background:var(--accent-hover)}

/* Freight gallery: app chips + photo cards */
.freight{background:var(--navy-950);padding-top:75px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.filters button{min-height:44px;padding:0 16px;border:2px solid var(--field-line);background:transparent;border-radius:22px;font-size:15px;font-weight:700;color:var(--text)}
.filters button:hover{border-color:var(--text-dim)}
.filters button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-text)}
.freight-grid{display:grid;grid-template-columns:1.65fr 1fr;gap:20px}
.load-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.load-card.featured{grid-row:span 2;display:flex;flex-direction:column}
.load-card.featured .photo-button{flex:1}
.load-card[hidden]{display:none}
.photo-button{display:block;position:relative;padding:0;border:0;background:var(--navy-950);width:100%;overflow:hidden}
.photo-button picture{display:contents}
.photo-button img{width:100%;height:220px;object-fit:cover;transition:transform .45s}
.featured .photo-button img{height:100%;min-height:500px;object-position:50% 50%}
.photo-button:hover img{transform:scale(1.025)}
.photo-button:focus-visible{outline-offset:-4px}
.photo-expand{position:absolute;bottom:14px;right:14px;width:44px;height:44px;border-radius:12px;background:rgba(22,24,27,.82);color:var(--text);border:1px solid var(--navy-600);display:grid;place-items:center;font-size:20px}
.load-caption{padding:16px 18px 18px;display:flex;justify-content:space-between;gap:15px}
.load-caption .eyebrow{font-size:12px}
.load-caption h3{font-size:18px;margin-top:6px}
.load-num{align-self:flex-start;font-size:13px;font-weight:800;color:var(--accent-text);background:var(--accent-soft);padding:4px 10px;border-radius:999px}
.gallery-note{font-size:13px;color:var(--text-dim);margin-top:25px}

/* Difference: dark band with app list rows */
.difference{background:var(--surface);color:var(--text);padding:85px 6%;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.difference .eyebrow{margin-bottom:22px}
.difference-intro>p:not(.eyebrow){color:var(--text-dim);font-size:16px;margin-top:24px;max-width:430px}
.difference .text-link{margin-top:22px}
.principles{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.principles article{display:flex;gap:18px;padding:22px;border-bottom:1px solid var(--line)}
.principles article:last-child{border-bottom:0}
.principles article>span{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-text);font-size:14px;font-weight:800}
.principles h3{font-size:18px}
.principles p{font-size:15px;color:var(--text-dim);margin-top:6px}

/* Next load */
.next-load{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:start}
.next-load .eyebrow{margin-bottom:18px}
.next-load>div>p:not(.eyebrow){max-width:470px;color:var(--text-dim);font-size:16px;margin:22px 0 28px}
.inquiry-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.inquiry-steps li{display:flex;gap:16px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.inquiry-steps li>span{flex:none;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent-text);font-size:14px;font-weight:800}
.inquiry-steps p{font-size:15px;margin-top:4px;color:var(--text-dim)}
.inquiry-steps h3{font-size:18px}

/* Careers band: app hero card with accent edge */
.careers{margin:0 var(--gutter);padding:40px;background:var(--hero-gradient);border:1px solid var(--hero-border);border-left:5px solid var(--accent);border-radius:var(--radius);display:flex;justify-content:space-between;align-items:center;gap:35px}
.careers h2{margin-top:16px}
.careers>div:last-child{width:340px}
.careers p:not(.eyebrow){font-size:16px;margin-bottom:18px;color:var(--text-dim)}
.button.outline,.outline{background:transparent;color:var(--text);border-color:var(--field-line)}
.button.outline:hover,.outline:hover{background:var(--navy-800);border-color:var(--navy-400)}

/* FAQ: app list */
.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:65px;align-items:start}
.faq h2{margin-top:16px}
.faq-list{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.faq details{border-bottom:1px solid var(--line)}
.faq details:last-child{border-bottom:0}
.faq summary{cursor:pointer;min-height:64px;padding:20px 60px 20px 20px;font-size:17px;font-weight:700;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';position:absolute;right:18px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:10px;background:var(--navy-700);display:grid;place-items:center;font-size:22px;color:var(--accent-text)}
.faq details[open] summary:after{content:'−'}
.faq details p{font-size:15px;color:var(--text-dim);padding:0 30px 22px 20px}

/* Footer */
footer{padding:40px var(--gutter) 25px;background:var(--navy-950);border-top:1px solid var(--line)}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px}
.footer-top>p{font-family:var(--font-display);font-size:12px;line-height:1.8;letter-spacing:.5px;color:var(--text-dim)}
.footer-top>p strong{font-weight:400;color:var(--text)}
.back-top{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:12px;background:var(--navy-800);font-size:14px;font-weight:700}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:35px;padding-top:20px;border-top:1px solid var(--line);color:var(--text-dim);font-size:13px}
.footer-bottom a:hover{color:var(--text)}
.footer-bottom button{font-size:13px}

/* Dialogs: app bottom-sheet surface */
dialog{border:1px solid var(--navy-600);border-radius:22px;padding:45px;background:var(--card);color:var(--text);width:min(680px,calc(100% - 32px));max-height:90vh;box-shadow:0 15px 80px rgba(0,0,0,.6)}
dialog::backdrop{background:rgba(0,0,0,.62)}
dialog h2{margin:15px 0}
dialog>p{margin-bottom:20px}
dialog .dialog-note{font-size:14px;color:var(--text-dim);padding:14px;background:var(--navy-900);border-radius:12px}
.close{position:absolute;right:12px;top:10px;background:var(--navy-700);border:0;border-radius:12px;font-size:26px;width:44px;height:44px;color:var(--text);display:grid;place-items:center}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}
.form-grid label{font-size:15px;font-weight:700}
.form-grid input,.form-grid select,.form-grid textarea{display:block;width:100%;border:2px solid var(--field-line);background:var(--navy-950);padding:12px 14px;margin-top:8px;color:var(--text);min-height:var(--tap);border-radius:12px}
.full{grid-column:1/-1}
#inquiry-review pre{white-space:pre-wrap;font:15px/1.6 var(--font-body);overflow-wrap:anywhere;padding:20px;background:var(--navy-900);border-radius:12px}
#inquiry-review p{font-size:14px;margin:15px 0}
#photo-dialog{width:min(1000px,calc(100% - 24px));padding:62px 20px 20px;background:var(--navy-900)}
#expanded-photo{max-height:72vh;width:100%;object-fit:contain;border-radius:12px}
#photo-caption{font-size:15px;color:var(--text-dim);margin:15px 0 0}

.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip:focus{position:fixed;top:10px;left:10px;z-index:100;background:var(--accent);color:var(--on-accent);font-weight:800;padding:15px;border-radius:12px}
[hidden]{display:none!important}

@media(min-width:1600px){
  body{max-width:1800px;margin:auto}
  .hero{min-height:750px}
  .hero-copy{padding-top:75px}
}

@media(max-width:1100px){
  nav{gap:2px;font-size:14px}
  nav a{padding:0 8px}
  .logo{width:145px}
  .hero-actions{gap:14px;flex-wrap:wrap}
  .difference{gap:50px}
  .next-load{gap:45px}
  .capability-grid{gap:12px}
  .capability-grid article{padding:22px}
}

@media(max-width:780px){
  html{scroll-padding-top:84px}
  .utility{font-size:10px;padding:9px 5%;letter-spacing:.3px;gap:10px;white-space:nowrap}
  .header{padding:10px 5%;flex-wrap:wrap;min-height:64px}
  .logo{width:140px}
  .menu-toggle{display:flex;gap:10px;align-items:center;min-height:44px;font-size:15px;font-weight:700;border:0;border-radius:12px;background:var(--navy-800);color:var(--text);padding:0 14px}
  .menu-toggle span{font-size:18px}
  nav{display:none;width:100%;align-items:stretch;flex-direction:column;padding:10px 0 8px;font-size:17px;gap:4px}
  nav a{min-height:52px;padding:0 14px;color:var(--text)}
  nav.is-open{display:flex}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:34px 6% 0}
  .hero h1{font-size:clamp(28px,8.4vw,48px);margin:22px 0}
  .hero-description{font-size:16px;max-width:470px}
  .desktop-break{display:none}
  .hero-actions{margin:26px 0 30px;gap:18px}
  .hero-actions .button{font-size:16px}
  .hero-foot{padding:18px 0;font-size:11px}
  .hero-image{height:400px;margin:0 12px 12px}
  .hero-image>img{object-position:center 52%}
  .hero-image figcaption{font-size:18px;bottom:22px;left:20px}
  .section{padding:55px 5%}
  .section-heading{display:block;margin-bottom:28px}
  .section-heading>p{width:auto;max-width:440px;margin-top:18px}
  h2{font-size:clamp(19px,5.6vw,26px)}
  .capability-grid{grid-template-columns:1fr}
  .deck-diagram{width:65%;max-width:300px}
  .capability-grid h3{margin-top:10px}
  .freight-grid{grid-template-columns:1fr;gap:16px}
  .featured .photo-button img,.photo-button img{height:auto;min-height:0;aspect-ratio:4/3;object-fit:cover}
  .load-card.featured{grid-row:auto}
  .filters button{font-size:14px;padding:0 13px}
  .difference{grid-template-columns:1fr;padding:55px 5%;gap:30px}
  .principles article{padding:18px}
  .next-load{grid-template-columns:1fr;gap:30px}
  .careers{margin:0 5%;padding:28px 22px;display:block}
  .careers>div:last-child{width:auto;margin-top:22px}
  .faq{grid-template-columns:1fr;gap:26px}
  .faq h2 br{display:none}
  .faq summary{font-size:16px}
  .footer-top{align-items:flex-start;flex-wrap:wrap;gap:22px}
  .footer-bottom{flex-wrap:wrap;line-height:1.5;gap:14px}
  .footer-bottom span:nth-child(2){order:3;width:100%}
  dialog{padding:35px 20px}
  .form-grid{grid-template-columns:1fr;gap:15px}
  .full{grid-column:auto}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition:none!important;animation:none!important}
  .button:active,.photo-button:hover img{transform:none}
}

/* Print on paper: swap the dark tokens for light ones */
@media print{
  :root{--bg:#fff;--surface:#fff;--card:#fff;--navy-950:#fff;--navy-900:#fff;--navy-800:#f3f4f2;--navy-700:#d4d8cb;--line:#d4d8cb;--text:#202922;--text-dim:#4b544a;--accent-text:#4a6132;--hero-gradient:#fff;--hero-border:#d4d8cb;color-scheme:light}
  .utility,.header,.filters,.button,.text-link,.back-top,.footer-bottom button{display:none}
  .hero{min-height:500px}
  .section{padding:35px}
  .hero h1{font-size:48px}
  .capability-grid,.load-card,.difference,.careers{break-inside:avoid}
  .hero-image{min-height:450px}
  .footer-bottom{margin-top:10px}
}

/* Keep the complete company decal and military load visible on narrow screens. */
@media(max-width:780px){
  .hero-image{height:auto;aspect-ratio:4/3}
  .hero-image>img{object-position:center}
  .hero-image figcaption{left:auto;right:16px;bottom:16px;font-size:14px;max-width:190px;gap:8px}
  .hero-image .image-tag{font-size:10px;letter-spacing:.6px}
  .image-index{top:12px;right:12px;padding:5px 10px;font-size:12px}
}
