*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#030b18;color:#f5f8ff;font-family:Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}.header{height:82px;position:absolute;z-index:10;top:0;left:0;right:0;display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:30px;padding:0 max(5vw,42px);background:linear-gradient(180deg,rgba(2,9,21,.94),rgba(2,9,21,.65));border-bottom:1px solid rgba(255,255,255,.08)}.logo img{width:170px;max-height:72px;object-fit:contain}.header nav{display:flex;justify-content:center;gap:42px}.header nav a{font-weight:800;text-transform:uppercase;font-size:.78rem}.btn{display:inline-flex;align-items:center;justify-content:center;background:#0868ed;border:1px solid #1679ff;color:white;min-height:46px;padding:0 26px;text-transform:uppercase;font-weight:800;font-size:.78rem;letter-spacing:.025em;cursor:pointer}.btn:hover{background:#2580f2}.btn.small{min-height:42px}.btn.ghost{background:rgba(2,9,20,.45);border-color:#e6edf8}.menu{display:none}.hero{min-height:650px;position:relative;background-image:url('assets/austin-skyline.jpg');background-size:cover;background-position:center;overflow:hidden}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(1,8,20,.98) 0%,rgba(1,8,20,.69) 43%,rgba(1,8,20,.5) 68%,rgba(1,8,20,.92) 100%),linear-gradient(180deg,rgba(0,0,0,.15),#020b18 100%)}.hero-inner{position:relative;z-index:2;max-width:1450px;margin:auto;padding:112px 5vw 22px;display:grid;grid-template-columns:1.25fr .75fr;gap:75px;align-items:center}.hero-copy h1,.section-title h2,.fleet h2,.area h2,.about h2{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;line-height:.92;margin:0}.hero-copy h1{font-size:clamp(4rem,6.6vw,7rem);letter-spacing:-.025em}.hero-copy h1 span,.section-title span,.fleet span,.area span,.about span{color:#1975ff}.hero-copy>p{max-width:480px;font-size:1rem;line-height:1.5;color:#ecf1f7}.actions{display:flex;gap:14px;margin-top:22px}.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:18px}.trust div{display:grid;grid-template-columns:22px 1fr}.trust b{color:#1982ff}.trust strong,.trust small{display:block}.trust small{grid-column:2;color:#e2e9f2;font-size:.72rem}.hero-form{background:rgba(2,10,23,.79);border:1px solid rgba(205,222,246,.38);border-radius:6px;padding:23px;box-shadow:0 25px 60px rgba(0,0,0,.3)}.hero-form h2{margin:0;text-transform:uppercase;font-size:1.12rem}.hero-form p{margin:2px 0 12px;font-size:.8rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hero-form input,.hero-form textarea{width:100%;margin-bottom:8px;padding:10px 12px;background:#071426;border:1px solid #496076;color:white;outline:none}.hero-form input:focus,.hero-form textarea:focus{border-color:#1d7dff}.form-btn{width:100%}.hero-form>small{display:block;text-align:center;margin-top:10px;color:#c7d0dc;font-size:.67rem}.services{padding:28px 5vw 16px;display:grid;grid-template-columns:260px 1fr;gap:28px;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);background:#020b18}.section-title p,.fleet-title p,.label{color:#237dff;font-weight:800;text-transform:uppercase;font-size:.73rem;margin:0 0 6px}.section-title h2,.fleet h2,.area h2,.about h2{font-size:2rem}.cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.cards article{
  background:#071526;
  padding:16px 10px;
  text-align:center;
  min-height:130px;
  border:1px solid transparent;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease,background .24s ease
}
.cards article:hover{
  transform:translateY(-3px);
  border-color:rgba(38,132,255,.48);
  background:#091b31;
  box-shadow:0 0 0 1px rgba(34,126,255,.08),0 10px 28px rgba(13,100,230,.16),inset 0 0 20px rgba(24,105,230,.06)
}.cards i,.fleet-item i,.principle i{font-style:normal;color:#1978ff;font-size:2rem}.cards h3{font-size:.74rem;text-transform:uppercase;margin:8px 0 5px}.cards p{font-size:.67rem;color:#d4dde9;margin:0}.fleet{display:grid;grid-template-columns:260px repeat(4,1fr);gap:25px;padding:20px 5vw;background:linear-gradient(90deg,#06152a,#0a3b83 55%,#061a35);align-items:center}.fleet-title{padding-right:24px;border-right:1px solid rgba(255,255,255,.38)}.fleet-item{display:grid;grid-template-columns:48px 1fr;gap:10px}.fleet-item h3{font-size:.75rem;text-transform:uppercase;margin:0}.fleet-item p{font-size:.67rem;margin:4px 0 0;color:#e0e8f2}.area{display:grid;grid-template-columns:300px minmax(330px,.8fr) minmax(560px,1.45fr);gap:24px;align-items:center;padding-left:5vw;background:#030c19;border-bottom:1px solid rgba(255,255,255,.15)}
.area>div:first-child{padding:22px 0}
.area>div:first-child>p:last-child{font-size:.72rem;line-height:1.45;color:#e0e7f1}
.cities{display:flex;flex-wrap:wrap;gap:9px;align-content:center}
.cities button{appearance:none;border:1px solid rgba(33,126,255,.58);background:linear-gradient(180deg,rgba(4,18,38,.96),rgba(4,13,29,.96));color:#dce9fa;padding:10px 16px;font:700 .68rem Inter,Arial,sans-serif;cursor:pointer;transition:.22s ease;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.cities button:hover,.cities button.active{border-color:#2c8cff;background:linear-gradient(180deg,rgba(12,46,91,.96),rgba(5,21,44,.98));color:#79bdff;box-shadow:0 0 0 2px rgba(35,130,255,.10),0 0 18px rgba(27,118,255,.28),inset 0 0 18px rgba(24,102,214,.10);transform:translateY(-1px)}
.map{height:220px;position:relative;overflow:hidden;background:radial-gradient(circle at 52% 56%,rgba(28,128,255,.84),rgba(10,62,138,.80) 30%,#061327 70%);border-left:1px solid rgba(255,255,255,.1);isolation:isolate}
.map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(70,125,200,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(70,125,200,.10) 1px,transparent 1px);background-size:38px 38px;opacity:.72;z-index:-3}
.map:after{content:"";position:absolute;width:150px;height:150px;left:calc(52% - 75px);top:calc(56% - 75px);border-radius:50%;background:radial-gradient(circle,rgba(56,160,255,.44),rgba(46,145,255,.13) 50%,transparent 72%);filter:blur(3px);z-index:-2}
.map-city{position:absolute;appearance:none;border:0;background:transparent;color:#e5effb;font:800 .72rem Inter,Arial,sans-serif;cursor:pointer;padding:4px 6px;transition:.2s ease;text-shadow:0 1px 3px rgba(0,0,0,.8);z-index:3}
.map-city:before{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:#6ab6ff;left:50%;bottom:-2px;transform:translateX(-50%);box-shadow:0 0 10px rgba(66,157,255,.65)}
.map-city:hover,.map-city.active{color:white;transform:scale(1.08)}
.map-city:hover:before,.map-city.active:before{width:8px;height:8px;background:white;box-shadow:0 0 0 4px rgba(43,136,255,.20),0 0 18px rgba(62,154,255,.95)}
.map-city.austin{left:50%;top:50%;font-size:1.55rem;transform:translate(-50%,-50%)}
.map-city.austin:hover,.map-city.austin.active{transform:translate(-50%,-50%) scale(1.08)}
.map-city.cedar-park{left:24%;top:20%}
.map-city.round-rock{left:50%;top:12%}
.map-city.hutto{left:72%;top:17%}
.map-city.pflugerville{left:61%;top:35%}
.map-city.manor{left:68%;top:58%}
.map-city.bastrop{left:87%;top:60%}
.route{position:absolute;height:1px;left:52%;top:56%;transform-origin:left center;background:linear-gradient(90deg,rgba(62,151,255,.8),rgba(62,151,255,.08));opacity:.42;z-index:1;transition:.25s ease}
.route:after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:#62aaff}
.route-cedar{width:32%;transform:rotate(-143deg)}
.route-round{width:31%;transform:rotate(-98deg)}
.route-hutto{width:28%;transform:rotate(-57deg)}
.route-pflugerville{width:17%;transform:rotate(-48deg)}
.route-manor{width:19%;transform:rotate(8deg)}
.route-bastrop{width:38%;transform:rotate(7deg)}
.map[data-active="cedar-park"] .route-cedar,
.map[data-active="round-rock"] .route-round,
.map[data-active="hutto"] .route-hutto,
.map[data-active="pflugerville"] .route-pflugerville,
.map[data-active="manor"] .route-manor,
.map[data-active="bastrop"] .route-bastrop{opacity:1;height:2px;box-shadow:0 0 9px rgba(49,143,255,.7)}
.map[data-active="nearby"] .route{opacity:.72}.about{display:grid;grid-template-columns:1.2fr repeat(3,.65fr);gap:0;padding:12px 5vw;border-bottom:1px solid rgba(255,255,255,.14)}.about-copy{padding-right:28px}.about-copy>p:last-child{font-size:.72rem;color:#dbe3ed}.principle{text-align:center;padding:10px 22px;border-left:1px solid rgba(255,255,255,.25)}.principle h3{font-size:.72rem;text-transform:uppercase}.principle p{font-size:.66rem;color:#d7e0eb}footer{display:grid;grid-template-columns:1.3fr 1fr .8fr .8fr;gap:30px;align-items:center;padding:14px 5vw 18px;background:#020814;font-size:.7rem}.foot-brand{display:grid;grid-template-columns:85px 1fr;align-items:center;gap:16px}.foot-brand img{width:80px}.foot-brand p{margin:0;color:#d7e0eb}footer a{color:#dce8f7}footer span{color:#dce4ee}@media(max-width:1000px){.header{grid-template-columns:1fr auto}.header nav,.header>.btn{display:none}.menu{display:block;background:transparent;color:white;border:1px solid #456;padding:8px 12px}.header nav.open{position:absolute;display:flex;top:82px;left:0;right:0;background:#020b18;flex-direction:column;align-items:center;padding:25px}.hero-inner{grid-template-columns:1fr;padding-top:125px}.hero-form{max-width:650px}.services{grid-template-columns:1fr}.cards{grid-template-columns:repeat(3,1fr)}.fleet{grid-template-columns:1fr 1fr}.fleet-title{grid-column:1/-1;border-right:0}.area{grid-template-columns:1fr;padding:30px 5vw}.map{margin-inline:-5vw;height:220px;border-left:0}.about{grid-template-columns:1fr}.principle{border-left:0;border-top:1px solid rgba(255,255,255,.2)}footer{grid-template-columns:1fr 1fr}}@media(max-width:600px){.header{height:72px;padding-inline:18px}.logo img{width:132px}.hero-inner{padding:110px 20px 35px}.hero-copy h1{font-size:3.45rem}.actions{flex-direction:column}.trust{grid-template-columns:1fr}.two{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.fleet{grid-template-columns:1fr}.area{padding-inline:20px}.map{margin-inline:-20px}.about{padding-inline:20px}.section-title h2,.fleet h2,.area h2,.about h2{font-size:2.4rem}footer{grid-template-columns:1fr;padding-inline:20px}.foot-brand{grid-template-columns:75px 1fr}}
@keyframes routePulse{
  0%{opacity:.18;filter:brightness(.85)}
  35%{opacity:1;filter:brightness(1.45)}
  70%{opacity:.55;filter:brightness(1.05)}
  100%{opacity:.18;filter:brightness(.85)}
}
@keyframes cityPulse{
  0%,100%{text-shadow:0 1px 3px rgba(0,0,0,.8)}
  45%{color:#fff;text-shadow:0 0 10px rgba(72,166,255,.95),0 0 22px rgba(35,122,255,.55)}
}
.map.auto-cycle .route.is-pulsing{animation:routePulse 2.6s ease-in-out}
.map.auto-cycle .map-city.is-pulsing{animation:cityPulse 2.6s ease-in-out}
.map.auto-cycle .map-city.is-pulsing:before{width:9px;height:9px;background:#fff;box-shadow:0 0 0 5px rgba(43,136,255,.18),0 0 22px rgba(62,154,255,1)}

.reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .65s ease,transform .65s ease;
  will-change:opacity,transform
}
.reveal.visible{
  opacity:1;
  transform:none
}
@media (prefers-reduced-motion:reduce){
  .reveal,.reveal.visible{
    opacity:1;
    transform:none;
    transition:none
  }
  .cards article{
    transition:none
  }
}

.header>.btn,
.hero .btn,
.hero-form .btn{
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,border-color .22s ease;
}
.header>.btn:hover,
.hero .btn:hover,
.hero-form .btn:hover{
  transform:translateY(-2px);
  border-color:#4a9dff;
  box-shadow:0 0 0 2px rgba(42,137,255,.11),0 0 22px rgba(22,113,255,.30),0 9px 24px rgba(0,0,0,.20);
}
.header>.btn:focus-visible,
.hero .btn:focus-visible,
.hero-form .btn:focus-visible{
  outline:2px solid #7ab7ff;
  outline-offset:3px;
}

.cities button{
  position:relative;
  overflow:hidden;
}
.cities button:after{
  content:"";
  position:absolute;
  inset:-1px;
  background:linear-gradient(110deg,transparent 20%,rgba(75,164,255,.18) 50%,transparent 80%);
  transform:translateX(-130%);
  transition:transform .45s ease;
  pointer-events:none;
}
.cities button:hover:after,
.cities button.active:after{
  transform:translateX(130%);
}
.cities button:hover,
.cities button.active{
  transform:translateY(-2px) scale(1.025);
}

section[id]{
  scroll-margin-top:92px;
}
.header nav a{
  position:relative;
  transition:color .2s ease;
}
.header nav a:after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-8px;
  height:2px;
  background:#2485ff;
  transition:right .24s ease;
}
.header nav a:hover,
.header nav a.active{
  color:#75b7ff;
}
.header nav a:hover:after,
.header nav a.active:after{
  right:0;
}
