/* Expresstran bundled stylesheet — immutable build 2026-09-24 */

/* tokens.css */
:root { --navy:#0c1745; --navy-deep:#07102e; --gold:#38C2F7; --gold-light:#38C2F7; --ink:#15213d; --muted:#596379; --paper:#fff; --wash:#f4f6f9; --line:#e0e4ed; --max:1280px; --gutter:clamp(24px,5.5vw,100px); --section:clamp(64px,7.5vw,112px); --radius:4px; --font:Arial,Helvetica,sans-serif; }

/* base.css */
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { margin:0; font:400 17px/1.65 var(--font); color:var(--ink); background:var(--paper); }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; opacity:.6; }
img { max-width:100%; display:block; object-fit:cover; }
h1,h2,h3,h4,p { margin:0; }
h1 { font-size:clamp(38px,4.25vw,64px); line-height:1.08; letter-spacing:-.045em; font-weight:700; }
h2 { font-size:clamp(30px,2.65vw,40px); line-height:1.18; letter-spacing:-.035em; }
h3 { font-size:clamp(21px,1.8vw,26px); line-height:1.25; letter-spacing:-.02em; }
p + p { margin-top:16px; }
:focus-visible { outline:3px solid var(--gold); outline-offset:5px; }
::selection { background:var(--gold-light); color:var(--navy); }
[hidden] { display:none!important; }
.skip-link { position:fixed; top:-100px; left:20px; z-index:200; background:white; padding:16px; &:focus { top:10px; } }
.sr-only { position:absolute; width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }
.icon { width:22px; height:22px; flex-shrink:0; vertical-align:middle; fill:none; stroke:currentColor; stroke-width:1.6; }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }

/* layout.css */
.container { width:min(var(--max),calc(100% - var(--gutter)*2)); margin-inline:auto; }
.section { padding-block:var(--section); }
.section--wash { background:var(--wash); }
.section-head { display:flex; justify-content:space-between; gap:60px; align-items:end; margin-bottom:38px; & > * { max-width:660px; } & > p { max-width:460px; color:var(--muted); } }
.split { display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,6vw,90px); align-items:center; }
.grid { display:grid; gap:28px; }
.grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.grid--4 { grid-template-columns:repeat(4,minmax(0,1fr)); }
.site-header { position:absolute; top:0; inset-inline:0; z-index:50; color:white; border-bottom:1px solid #ffffff12;
 & .header-inner { display:flex; align-items:center; gap:28px; min-height:112px; }
 & .brand { display:flex; align-items:center; gap:10px; margin-right:8px; flex-shrink:0; font-size:19px; font-weight:700; letter-spacing:.035em; & .icon { width:38px;height:38px; } }
 & .nav-main { display:flex; gap:4px; background:#ffffff13; border:1px solid #ffffff26; border-radius:40px; padding:5px 10px; }
 & .nav-link { display:flex; align-items:center; gap:5px; padding:11px 15px; color:inherit; background:none; border:0; border-radius:25px; white-space:nowrap; font-size:14px; & .icon { width:12px;height:12px; } &:hover,&[aria-current=page],&[aria-expanded=true] { background:#ffffff1a; } }
 & .header-actions { margin-left:auto; display:flex; align-items:center; gap:19px; font-size:14px; white-space:nowrap; }
 & .access-link:hover { color:var(--gold-light); }
 & .header-cta { padding:11px 21px; font-size:14px; }
 & .language { position:relative; }
 & .language-menu { position:absolute; right:0; top:calc(100% + 10px); width:150px; background:white;color:var(--ink); padding:8px; box-shadow:0 16px 35px #0002; border-radius:5px; & a { display:block; padding:9px 12px; &:hover,&[aria-current=true] { background:var(--wash); } } }
 & .language-button { border:0; color:inherit; background:transparent; display:flex; align-items:center; gap:5px; font-size:14px; padding:8px 0; & .icon { width:16px; } }
 & .mega { position:absolute; top:95px; inset-inline:var(--gutter); max-width:1280px; margin:auto; background:white; color:var(--ink); padding:36px; box-shadow:0 20px 55px #0003; border-radius:5px; display:grid; grid-template-columns:1fr 1.2fr 1fr; gap:40px; & h3 { font-size:13px; text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:14px; } & a { display:block; padding:8px 0; font-size:16px; &:hover { color:#38C2F7; } } & .mega-feature { padding:24px; background:var(--wash); & p { font-size:15px; margin:12px 0; } } }
 & .mobile-toggle { display:none; background:none;border:0;color:white;padding:8px; }
}
.site-footer { border-top:1px solid var(--line);padding-top:64px; & .footer-grid { display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:50px; padding-bottom:52px; } & .brand { display:flex;align-items:center;gap:9px;font-weight:700;font-size:20px; & .icon { width:32px;height:32px; } } & p { font-size:15px;color:var(--muted);margin-top:16px; } & h3 { font-size:16px;margin-bottom:16px; } & ul { list-style:none;padding:0;margin:0; } & li { margin:7px 0; font-size:15px; } & a:hover { color:#38C2F7; } & .footer-bottom { border-top:1px solid var(--line);padding-block:22px;display:flex;justify-content:space-between;gap:24px;font-size:13px;color:var(--muted); } & .legal-links { display:flex;gap:24px;flex-wrap:wrap; } }
@media (max-width:1200px) { .site-header { & .header-inner { gap:12px; } & .nav-link { padding:9px 10px; } & .header-actions { gap:12px; } & .brand { font-size:16px; } } }
@media (max-width:1140px) { .site-header { & .mobile-toggle { display:block;order:4; } & .header-inner { min-height:88px; } & .nav-main { display:none; } & .access-link { display:none; } & .mega { top:87px; } & .nav-main.is-open { display:flex; position:absolute;left:0;right:0;top:88px;background:var(--navy);border:0;border-radius:0;padding:24px;flex-direction:column; & .nav-link { font-size:18px;padding:12px; } } & .mega { position:static;grid-template-columns:1fr;padding:20px;max-height:55vh;overflow:auto; } & .mega-feature { display:none; } } .grid--4 { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .section-head { display:block; & > p { margin-top:20px; } } .split,.grid--2,.grid--3 { grid-template-columns:1fr; } .site-header { & .brand { font-size:15px;gap:7px; & .icon { width:30px;height:30px; } } & .header-cta { display:none; } } .site-footer { & .footer-grid { grid-template-columns:1fr 1fr;gap:32px; } & .footer-about { grid-column:1/-1; } & .footer-bottom { display:block; } & .legal-links { margin-top:15px; } } }

/* Official Expresstran SVG mark */
.brand--logo { display:inline-flex;align-items:center;line-height:0; }
.brand--logo .brand-logo { width:62px;height:auto;max-height:72px;object-fit:contain; }
.site-footer .brand--logo .brand-logo { width:72px;max-height:82px; }
@media (max-width:700px) {
  .site-header .brand--logo .brand-logo { width:54px;max-height:62px; }
  .site-footer .brand--logo .brand-logo { width:64px;max-height:72px; }
}

/* components.css */
.button { display:inline-flex;justify-content:center;align-items:center;gap:13px;padding:14px 26px;border-radius:30px;border:1px solid transparent;background:var(--gold);color:var(--navy-deep);font-size:16px;font-weight:600;line-height:1.3;transition:background .2s,transform .2s; &:hover { background:var(--gold-light);transform:translateY(-2px); } & .icon { width:18px;height:18px; } }
.button--outline { background:transparent;color:var(--navy);border-color:var(--line); &:hover { background:var(--wash); } }
.text-link { display:inline-flex;gap:10px;align-items:center;color:#38C2F7;font-weight:600;font-size:16px; & .icon { width:18px;height:18px;transition:transform .2s; } &:hover .icon { transform:translateX(4px); } }
.eyebrow { font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#38C2F7;margin-bottom:16px; }
.card { & .card-image { display:block;overflow:hidden;background:var(--wash);margin-bottom:23px; & img { width:100%;aspect-ratio:1.55;transition:transform .5s; } &:hover img { transform:scale(1.035); } } & h3 { margin-bottom:12px; } & p { color:var(--muted);margin-bottom:19px;font-size:16px;line-height:1.6; } & .card-body { padding-right:10px; } }
.sector-card { position:relative;display:block;overflow:hidden;min-height:224px;background:var(--navy); & img { position:absolute;inset:0;width:100%;height:100%;transition:transform .5s; } &::after { content:'';position:absolute;inset:0;background:linear-gradient(transparent 25%,#050e2eee); } & .sector-card-label { position:absolute;inset: auto 24px 22px;z-index:1;color:white;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:19px;font-weight:600;line-height:1.25; } &:hover img { transform:scale(1.055); } }
.cta-band { position:relative;background:var(--navy);color:white;overflow:hidden; & .cta-bg { position:absolute;inset:0;width:100%;height:100%;opacity:.3;object-position:50% 40%; } & .container { position:relative;padding-block:70px;display:flex;justify-content:space-between;align-items:center;gap:40px; } & h2 { max-width:700px;font-size:clamp(32px,3.6vw,52px); } & p { max-width:640px;margin:20px 0 0;color:#e1e5ef; } & .button { flex-shrink:0; } & em { color:var(--gold-light);font-style:normal; } }
.breadcrumb { display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:14px;color:#e2e6ee;margin-bottom:30px; & span:not(:last-child)::after { content:'/';padding-left:12px;opacity:.5; } & a:hover { text-decoration:underline; } }
.value-card { border-left:1px solid var(--line);padding-left:30px; & .icon { width:38px;height:38px;color:var(--gold);margin-bottom:22px; } & h3 { margin-bottom:13px; } & p { color:var(--muted);font-size:16px; } }
.process { counter-reset:step;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px; & li { counter-increment:step;border-top:1px solid var(--line);padding-top:22px; &::before { content:'0' counter(step);display:block;color:#38C2F7;font-size:35px;margin-bottom:12px; } & h3 { font-size:21px;margin-bottom:12px; } & p { font-size:16px;color:var(--muted); } } }
.faq { border-top:1px solid var(--line);padding:22px 0; & summary { cursor:pointer;font-size:19px;font-weight:600; } & p { margin-top:16px;color:var(--muted);max-width:850px; } }
.form { & .form-grid { display:grid;grid-template-columns:1fr 1fr;gap:24px; } & label { display:block;font-size:15px;font-weight:600;margin-bottom:8px; } & input,& select,& textarea { display:block;width:100%;border:1px solid #bfc6d4;border-radius:3px;background:white;color:var(--ink);padding:13px 14px;min-height:50px; } & textarea { min-height:150px;resize:vertical; } & .full { grid-column:1/-1; } & .check { display:flex;gap:12px;align-items:start;font-size:14px;font-weight:400; & input { width:19px;height:19px;min-height:0;margin-top:5px; } & a { text-decoration:underline; } } & .form-note { font-size:14px;color:var(--muted);margin:20px 0; } & .status { margin-top:20px;padding:20px;background:var(--wash);border-left:3px solid var(--gold); } }
.pill { display:inline-block;font-size:13px;padding:5px 12px;border-radius:30px;background:var(--wash);margin:0 6px 10px 0; }
.empty-state { border:1px solid var(--line);padding:40px;background:var(--wash); & p { margin:15px 0 24px;max-width:800px;color:var(--muted); } }
@media(max-width:700px) { .cta-band .container { align-items:start;flex-direction:column; } .process { grid-template-columns:1fr 1fr; } .form .form-grid { grid-template-columns:1fr; } .value-card { padding-left:22px; } .grid--4 { gap:24px; } .card { & h3 { font-size:21px; } } }
@media(max-width:450px) { .grid--4 { grid-template-columns:1fr; } }

/* Direct-send forms (Vercel serverless endpoint) */
.form {
  & .hp-field { position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important; }
  & button[disabled] { opacity:.65;cursor:wait;transform:none; }
  & .status[data-state="success"] { border-left-color:#18864b; }
  & .status[data-state="error"] { border-left-color:#b42318; }
}

/* pages.css */
.hero { position:relative;isolation:isolate;color:white;background:var(--navy-deep);overflow:hidden; & .hero-image { position:absolute;inset:0;width:100%;height:100%;z-index:-2;object-position:50% 40%; } &::before { content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#06102aed 0%,#08122cac 43%,#06102a22 100%),linear-gradient(#06102a70,transparent 40%); } & .hero-content { padding-top:170px;padding-bottom:85px;max-width:760px; } & h1 { max-width:760px; } & em { font-style:normal;color:var(--gold-light); } & .lead { color:#f0f2f7;max-width:590px;font-size:19px;line-height:1.55;margin:25px 0 30px; } & .eyebrow { color:var(--gold-light); } }
.hero--home { min-height:720px;display:flex;align-items:end; & .hero-content { padding-top:225px;padding-bottom:100px;max-width:770px; } }
.hero--small { & .hero-content { padding-top:168px;padding-bottom:55px; } & h1 { font-size:clamp(38px,4vw,58px); } }
.metrics { background:var(--navy);color:white;padding-block:42px; & .container { display:grid;grid-template-columns:repeat(3,1fr); } & .metric { display:flex;align-items:center;justify-content:center;gap:22px;padding:10px 25px; &:not(:last-child) { border-right:1px solid #ffffff40; } & .icon { width:40px;height:40px; } & strong { font-size:38px;line-height:1.1;letter-spacing:-.025em; } & span { display:block;font-size:15px;margin-top:5px;color:#dce1ed; } } }
.about-intro { background:var(--navy);color:white; & h2 { font-size:clamp(34px,3.8vw,55px); } & em { color:var(--gold-light);font-style:normal; } & p { color:#e0e5f2; } }
.wide-photo { width:100%;height:480px;object-position:center; }
.context-photo { width:100%;aspect-ratio:1; }
.context-list { margin-top:30px; & .context-item { display:flex;gap:18px;border-bottom:1px solid var(--line);padding:18px 0; & .icon { color:#38C2F7; } & h3 { font-size:18px; } & p { font-size:16px;color:var(--muted);margin-top:6px; } } }
.product-card { border:1px solid var(--line); & img { width:100%;aspect-ratio:1.45; } & .product-body { padding:30px; } & p { margin:16px 0 22px;color:var(--muted);font-size:16px; } }
.content-layout { display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:70px;align-items:start; & article > section { margin-bottom:45px; } & h2 { margin-bottom:20px; } & p,& li { color:var(--muted); } & aside { position:sticky;top:35px;background:var(--wash);padding:30px; & h3 { font-size:22px;margin-bottom:18px; } & p { font-size:16px;margin-bottom:24px; } } }
.contact-layout { display:grid;grid-template-columns:minmax(0,1.65fr) 1fr;gap:80px; & aside { background:var(--wash);padding:35px;height:fit-content; & h3 { margin-bottom:20px; } & p { margin-bottom:20px; } & a { overflow-wrap:anywhere; } } }
.reading { max-width:860px; & h2 { margin:36px 0 18px; } & p { color:var(--muted); } }
@media(max-width:700px) { .hero--home { min-height:670px; } .hero { &::before { background:linear-gradient(90deg,#06102aeb,#06102a8c); } & .hero-content { padding-top:140px;padding-bottom:60px; } & .lead { font-size:18px; } } .metrics { padding-block:24px; & .metric { padding:5px 12px;display:block;text-align:center; & .icon { display:none; } & strong { font-size:30px; } & span { font-size:13px; } } } .content-layout,.contact-layout { grid-template-columns:1fr;gap:40px; } .wide-photo { height:310px; } }

/* Keep editorial imagery compact and consistent across pages. */
.card .card-image img,
.product-card img,
.context-photo,
.wide-photo { max-height:350px;object-fit:cover; }
.wide-photo { height:350px; }
.context-photo { height:350px;aspect-ratio:auto; }
.product-card img { height:320px;aspect-ratio:auto; }

/* Improve reading hierarchy without changing approved content. */
.reading p,.content-layout article p,.about-intro p { max-width:72ch; }
.content-layout article > section + section { margin-top:42px; }
