@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,560;0,9..144,680;1,9..144,500&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@500;700&display=swap');

:root{
  --ink:#1B2430;
  --ink-soft:#4B5563;
  --paper:#F7F7F3;
  --paper-dim:#EFEEE7;
  --amber:#E0891E;
  --amber-deep:#B96A0F;
  --highway:#0F6B57;
  --highway-deep:#0B4F41;
  --line:#DCD8CC;
  --white:#FFFFFF;

  --font-display:'Fraunces', serif;
  --font-body:'Inter', system-ui, sans-serif;
  --font-mono:'JetBrains Mono', monospace;

  --container: 1180px;
  --radius: 2px;
  --edge: 2px;
  --hard-shadow: 5px 5px 0 var(--ink);
  --hard-shadow-sm: 3px 3px 0 var(--ink);
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  margin:0;
  background-color:var(--paper);
  background-image:linear-gradient(rgba(247, 247, 243, 0.747), rgba(247, 247, 243, 0.758)), url("../images/texture.jpg");
  background-size:cover;
  background-attachment:fixed;
  background-blend-mode:normal;
  color:var(--ink);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}

a{color:inherit;text-decoration:none;}

ul{margin:0;padding:0;list-style:none;}

h1,h2,h3,h4{font-family:var(--font-display);margin:0;font-weight:680;letter-spacing:-0.01em;}

p{margin:0;}

button{font-family:inherit;cursor:pointer;}

.wrap{max-width:var(--container);margin:0 auto;padding:0 28px;}

.route-tag{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-family:var(--font-mono);
  font-size:12.5px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--white);
  background:var(--highway);
  border:var(--edge) solid var(--ink);
  padding:6px 13px;
  border-radius:var(--radius);
  line-height:1;
  box-shadow:var(--hard-shadow-sm);
}

.route-tag::before{
  content:'';
  width:7px;height:7px;
  background:var(--white);
  border-radius:50%;
  flex:none;
}

.route-tag.amber{background:var(--amber);}

.route-tag.outline{
  background:rgba(239,238,231,0.8);
  backdrop-filter:blur(4px);
  color:var(--highway);
  border:var(--edge) solid var(--ink);
}

.route-tag.outline::before{background:var(--highway);}

.navbar{
  position:sticky; top:0; z-index:50;
  background:rgba(247,247,243,0.75);
  backdrop-filter:blur(12px);
  border-bottom:var(--edge) solid var(--ink);
}

.nav-inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:15px 28px;
  max-width:var(--container); margin:0 auto;
}

.brand{
  display:flex; align-items:center; gap:10px;
  font-family:var(--font-display);
  font-weight:680; font-size:21px; color:var(--ink);
}

.brand .logo-img{
  width:60px;
  height:60px;
  object-fit:contain;
  flex:none;
  border-radius:var(--radius);
  border:var(--edge) solid var(--ink);
  box-shadow:var(--hard-shadow-sm);
}

.brand .mark{
  width:36px;height:36px;border-radius:var(--radius);
  background:var(--highway);
  color:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono); font-weight:700; font-size:15px;
  border:var(--edge) solid var(--ink); box-shadow:var(--hard-shadow-sm);
}

.nav-links{display:flex; align-items:center; gap:2px;}

.nav-links a{
  padding:9px 13px; font-size:14.5px; font-weight:600;
  border-radius:var(--radius); color:var(--ink-soft);
  transition:color .15s ease, background .15s ease;
}

.nav-links a:hover{color:var(--ink); background:var(--paper-dim);}

.nav-links a.active{color:var(--highway); background:var(--paper-dim);}

.nav-cta{
  background:var(--amber); color:var(--white)!important;
  padding:8px 20px!important; border-radius:var(--radius);
  font-weight:700!important;
  border:var(--edge) solid var(--ink)!important; box-shadow:var(--hard-shadow-sm);
  transition:transform .12s ease, box-shadow .12s ease;
}

.nav-cta:hover{
  background:var(--amber-deep)!important;
  transform:translate(2px,2px);
  box-shadow:1px 1px 0 var(--ink);
}

.hamburger{display:none; flex-direction:column; gap:5px; background:none; border:none; padding:6px;}

.hamburger span{width:22px; height:2px; background:var(--ink);}

.ticker{
  background:var(--ink); color:var(--paper);
  overflow:hidden; white-space:nowrap;
  border-top:1px solid var(--line); border-bottom:var(--edge) solid var(--ink);
}

.ticker-track{
  display:inline-block;
  padding:10px 0;
  animation:scroll-left 25s linear infinite;
  font-family:var(--font-mono); font-size:13px; letter-spacing:.03em;
}

.ticker-track span{margin:0 22px; color:var(--paper);}

.ticker-track span.dest{color:var(--amber); font-weight:700;}

@keyframes scroll-left{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}

.hero{padding:72px 0 60px; border-bottom:var(--edge) solid var(--ink);}

.hero-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:52px; align-items:center;}

.hero h1{
  font-size:clamp(38px, 5.2vw, 64px);
  line-height:1.05;
  color:var(--ink);
}

.hero h1 em{font-style:italic; color:var(--highway);}

.hero .lede{
  margin-top:20px; font-size:18px; color:var(--ink-soft); max-width:46ch;
}

.hero-actions{display:flex; gap:12px; margin-top:32px; flex-wrap:wrap;}

.btn{
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 26px; border-radius:var(--radius);
  font-weight:700; font-size:15px;
  border:var(--edge) solid var(--ink);
  box-shadow:var(--hard-shadow-sm);
  transition:transform .12s ease, box-shadow .12s ease;
}

.btn:active, .btn:hover{
  transform:translate(2px,2px);
  box-shadow:1px 1px 0 var(--ink);
}

.btn-primary{background:var(--ink); color:var(--white);}

.btn-ghost{background:rgba(255,255,255,0.7); backdrop-filter:blur(4px); color:var(--ink);}

.btn-amber{background:var(--amber); color:var(--white);}

.hero-panel{
  background:var(--white); border:var(--edge) solid var(--ink); border-radius:var(--radius);
  padding:20px; box-shadow:var(--hard-shadow);
}

.hero-panel img{
  object-fit: cover;
  object-position: top center;
  border-radius:var(--radius);
  width:100%;
}

.hero-panel .cap{
  display:flex; justify-content:space-between; align-items:center;
  margin-top:14px; font-family:var(--font-mono); font-size:12px; color:var(--ink-soft);
}

.hero-panel .image-container-class {
  background-size: cover;
  background-position: top center;
}

.section{padding:72px 0;}

.section-alt{background:rgba(239,238,231,0.6);}

.section-head{max-width:640px; margin-bottom:44px;}

.section-head .route-tag{margin-bottom:16px;}

.section-head h2{font-size:clamp(28px,3.4vw,40px); line-height:1.1;}

.section-head p{margin-top:14px; color:var(--ink-soft); font-size:16.5px;}

.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}

.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:22px;}

.card{
  background:var(--white); border:var(--edge) solid var(--ink); border-radius:var(--radius);
  padding:26px; box-shadow:var(--hard-shadow-sm); transition:transform .15s ease, box-shadow .15s ease;
}

.card:hover{transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--ink);}

.owner-photo{
  width:88px;
  height:88px;
  border-radius:50%;
  object-fit:cover;
  margin-bottom:16px;
  border:var(--edge) solid var(--ink);
  box-shadow:var(--hard-shadow-sm);
}

.card .num{
  font-family:var(--font-mono); font-size:12.5px; color:var(--amber-deep); font-weight:700;
  letter-spacing:.04em;
}

.card h3{font-size:21px; margin-top:12px;}

.card p{margin-top:10px; color:var(--ink-soft); font-size:15px;}

.card .meta{
  margin-top:16px; padding-top:14px; border-top:2px dashed var(--line);
  display:flex; gap:14px; font-family:var(--font-mono); font-size:12.5px; color:var(--ink-soft);
}

.fleet-card, .Vehicles-card{
  background:var(--white); border:var(--edge) solid var(--ink); border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--hard-shadow-sm); transition:transform .15s ease, box-shadow .15s ease;
  display:flex; flex-direction:column;
}

.fleet-card:hover, .Vehicles-card:hover{transform:translate(-2px,-2px); box-shadow:6px 6px 0 var(--ink);}

.fleet-img{
  aspect-ratio:16/10;
  display:flex; align-items:center; justify-content:center;
  background:var(--paper-dim);
  padding:22px 26px 10px;
  position:relative;
  overflow:hidden;
  border-bottom:var(--edge) solid var(--ink);
}

.fleet-img img{
  max-width:88%; max-height:82%; object-fit:contain;
  filter:drop-shadow(0 14px 10px rgba(27,36,48,.28));
  position:relative; z-index:2;
}

.fleet-card > img, .Vehicles-card > img{
  width:100%;
  aspect-ratio:16/10;
  object-fit:contain;
  background:var(--paper-dim);
  border-bottom:var(--edge) solid var(--ink);
  padding:24px;
  filter:drop-shadow(0 8px 10px rgba(27,36,48,.20));
}

.fleet-body{padding:22px; flex-grow:1;}

.fleet-body h3{font-size:19px;}

.fleet-tags{display:flex; gap:8px; margin-top:12px; flex-wrap:wrap;}

.pill{
  font-family:var(--font-mono); font-size:11.5px; font-weight:700;
  border:1px solid var(--line); padding:4px 9px; border-radius:var(--radius); color:var(--ink-soft);
}

.stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  border:var(--edge) solid var(--ink); border-radius:var(--radius); overflow:hidden;
  background:var(--white); box-shadow:var(--hard-shadow);
}

.stat{padding:26px 22px; border-right:var(--edge) solid var(--ink); text-align:center;}

.stat:last-child{border-right:none;}

.stat .n{font-family:var(--font-display); font-size:34px; font-weight:680; color:var(--highway);}

.stat .l{margin-top:6px; font-size:13px; color:var(--ink-soft); font-family:var(--font-mono);}

.testi{
  background:var(--white); border:var(--edge) solid var(--ink); border-radius:var(--radius); padding:26px;
  box-shadow:var(--hard-shadow-sm);
}

.testi p.quote{font-family:var(--font-display); font-style:italic; font-size:18px; line-height:1.5;}

.testi .who{margin-top:16px; font-family:var(--font-mono); font-size:12.5px; color:var(--ink-soft);}

.cta-band{
  background:var(--ink); color:var(--paper); border-radius:var(--radius);
  padding:48px; display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap;
  border:var(--edge) solid var(--ink); box-shadow:var(--hard-shadow);
}

.cta-band h2{color:var(--white); font-size:clamp(24px,3vw,32px);}

.cta-band p{color:#B9C0C9; margin-top:8px;}

.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px;}

.field{display:flex; flex-direction:column; gap:6px; margin-bottom:16px;}

.field.full{grid-column:1/-1;}

.field label{font-size:13px; font-weight:600; color:var(--ink-soft); font-family:var(--font-mono);}

.field input, .field select, .field textarea{
  border:var(--edge) solid var(--ink); border-radius:var(--radius); padding:12px 14px;
  font-family:var(--font-body); font-size:15px; background:var(--white); color:var(--ink);
}

.field input:focus, .field select:focus, .field textarea:focus{
  outline:none; border-color:var(--highway); box-shadow:2px 2px 0 var(--ink);
}

.form-panel{
  background:var(--white); border:var(--edge) solid var(--ink); border-radius:var(--radius); padding:32px;
  box-shadow:var(--hard-shadow);
}

.info-list{display:flex; flex-direction:column; gap:22px;}

.info-item{display:flex; gap:16px; align-items:flex-start;}

.info-item .ico{
  width:40px;height:40px;flex:none;border-radius:var(--radius);
  background:var(--paper-dim); border:var(--edge) solid var(--ink);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-mono); font-weight:700; color:var(--highway);
}

.info-item h4{font-size:15px; font-family:var(--font-body); font-weight:700;}

.info-item p{margin-top:4px; color:var(--ink-soft); font-size:14.5px;}

footer{border-top:var(--edge) solid var(--ink); background:var(--paper-dim); padding:52px 0 24px;}

.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px;}

.footer-grid h4{font-family:var(--font-mono); font-size:12.5px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-soft); margin-bottom:14px;}

.footer-grid ul li{margin-bottom:9px;}

.footer-grid ul li a{font-size:14.5px; color:var(--ink); transition:color .15s ease;}

.footer-grid ul li a:hover{color:var(--highway);}

.footer-bottom{
  margin-top:40px; padding-top:20px; border-top:1px solid var(--line);
  display:flex; justify-content:space-between; font-size:13px; color:var(--ink-soft); flex-wrap:wrap; gap:10px;
}

.page-header{padding:52px 0 40px; border-bottom:1px solid var(--line);}

.page-header h1{font-size:clamp(32px,4.4vw,50px);}

.page-header p{margin-top:14px; color:var(--ink-soft); font-size:17px; max-width:60ch;}

.crumbs{font-family:var(--font-mono); font-size:12.5px; color:var(--ink-soft); margin-bottom:16px;}

.crumbs a{color:var(--highway);}

.mt-8{margin-top:8px;} .mt-16{margin-top:16px;} .mt-24{margin-top:24px;} .mt-40{margin-top:40px;}

@media (max-width: 900px){
  .hero-grid{grid-template-columns:1fr;}
  .grid-3{grid-template-columns:1fr 1fr;}
  .stats{grid-template-columns:1fr 1fr;}
  .stat:nth-child(2){border-right:none;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .form-grid{grid-template-columns:1fr;}
}

@media (max-width: 680px){
  .nav-links{position:fixed; top:69px; left:0; right:0; background:rgba(247,247,243,0.95); backdrop-filter:blur(8px);
    flex-direction:column; align-items:stretch; padding:14px 20px; border-bottom:var(--edge) solid var(--ink);
    transform:translateY(-140%); transition:transform .2s ease; z-index:40;}
  .nav-links.open{transform:translateY(0);}
  .hamburger{display:flex;}
  .grid-3{grid-template-columns:1fr;}
  .grid-2{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr 1fr;}
  .cta-band{flex-direction:column; align-items:flex-start;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}

@media (prefers-reduced-motion: reduce){
  .ticker-track{animation:none;}
  html{scroll-behavior:auto;}
}