
*{box-sizing:border-box}
:root{
  --bg:#05070a;
  --bg2:#090d12;
  --panel:#0b1016;
  --panel2:#0f151d;
  --text:#f7f9fb;
  --muted:#a8b0bb;
  --line:#222a34;
  --blue:#6480a5;
  --blue2:#82a8d5;
  --blueDark:#314d70;
  --shadow:0 30px 90px rgba(0,0,0,.45);
}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
body.modal-open{overflow:hidden}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.container{width:min(1180px,calc(100% - 44px));margin:auto}
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(5,7,10,.9);backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.05)
}
.nav-wrap{height:82px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.logo{display:flex;flex-direction:column;min-width:max-content}
.logo-main{
  font-family:Montserrat,sans-serif;font-weight:600;
  font-size:25px;letter-spacing:5px;line-height:1
}
.logo-main b{color:var(--blue2)}
.logo-sub{font-size:9px;letter-spacing:5px;margin-top:8px;color:#d7dde5}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links>a{
  font-size:12px;text-transform:uppercase;letter-spacing:.7px;
  color:#c7ced7;position:relative
}
.nav-links>a:after{
  content:"";position:absolute;left:0;right:100%;bottom:-12px;height:1px;
  background:var(--blue2);transition:.25s
}
.nav-links>a:hover:after{right:0}
.menu-btn{display:none;background:none;border:0;padding:8px}
.menu-btn span{display:block;width:24px;height:1px;background:white;margin:6px 0}

.btn{
  border:1px solid transparent;border-radius:0;
  min-height:44px;padding:0 23px;
  display:inline-flex;align-items:center;justify-content:center;
  text-transform:uppercase;letter-spacing:1.2px;font-size:11px;font-weight:600;
  transition:transform .2s,background .2s,border-color .2s
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:white}
.btn-outline,.btn-ghost,.btn-card{
  color:white;background:transparent;border-color:var(--blue)
}
.btn-outline:hover,.btn-ghost:hover,.btn-card:hover{background:rgba(100,128,165,.12)}
.full{width:100%}

.hero{
  min-height:690px;position:relative;overflow:hidden;display:flex;align-items:center;
  background:
    radial-gradient(circle at 78% 32%,rgba(100,128,165,.13),transparent 29%),
    linear-gradient(100deg,#040608 0%,#070a0e 54%,#080c11 100%)
}
.hero-noise{
  position:absolute;inset:0;opacity:.13;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.012) 1px,transparent 1px);
  background-size:32px 32px
}
.hero-orb{position:absolute;border-radius:50%;filter:blur(10px);opacity:.35}
.orb-one{width:440px;height:440px;right:5%;top:5%;background:rgba(100,128,165,.13)}
.orb-two{width:300px;height:300px;right:28%;bottom:-15%;background:rgba(130,168,213,.08)}
.hero-grid{
  position:relative;z-index:2;display:grid;grid-template-columns:.95fr 1.05fr;
  align-items:center;gap:58px;padding:80px 0
}
.eyebrow{
  color:var(--blue2);font-size:11px;font-weight:600;letter-spacing:3.6px;
  margin:0 0 17px;text-transform:uppercase
}
h1,h2,h3,p{margin-top:0}
h1{
  font-family:Montserrat,sans-serif;font-size:67px;line-height:.98;
  letter-spacing:-2.6px;font-weight:500;margin-bottom:24px
}
h1 span{color:var(--blue2)}
h2{
  font-family:Montserrat,sans-serif;font-weight:500;
  font-size:43px;letter-spacing:-1.5px;line-height:1.08;margin-bottom:18px
}
.accent-rule{width:42px;height:2px;background:var(--blue2);margin:23px 0}
.hero-text{max-width:590px;color:#aeb6c0;font-size:16px;line-height:1.8}
.hero-actions{display:flex;gap:14px;margin-top:30px}
.hero-mini{
  display:flex;gap:13px;margin-top:37px;color:#6f7985;
  font-size:9px;letter-spacing:2px
}

.hero-visual{height:450px;position:relative}
.visual-glow{
  position:absolute;width:440px;height:210px;border-radius:50%;
  right:10px;bottom:30px;background:rgba(100,128,165,.14);filter:blur(45px)
}
.van-card{
  position:absolute;left:4%;top:28px;width:58%;height:66%;
  transform:perspective(900px) rotateY(7deg);
  border:1px solid #202a35;border-radius:24px 20px 16px 24px;
  background:linear-gradient(145deg,#131921,#080b0e);
  box-shadow:var(--shadow)
}
.mini-logo{position:absolute;left:19%;top:37%;display:flex;flex-direction:column}
.mini-logo>span{font-family:Montserrat;font-size:21px;letter-spacing:4px}
.mini-logo b{color:var(--blue2)}
.mini-logo small{font-size:6px;letter-spacing:4px;margin-top:7px}
.van-lines{
  position:absolute;left:7%;right:7%;bottom:16%;height:1px;
  background:linear-gradient(90deg,transparent,var(--blue2),transparent)
}
.car-shape{position:absolute;right:-2%;bottom:20px;width:79%;height:63%}
.car-body{
  position:absolute;left:3%;right:1%;bottom:31px;height:53%;
  border-radius:48% 12% 18% 22% / 57% 33% 27% 29%;
  background:linear-gradient(155deg,#1a2028,#060708 60%,#161b20);
  border-top:1px solid #69717a;box-shadow:0 30px 50px rgba(0,0,0,.72)
}
.car-roof{
  position:absolute;left:33%;top:10%;width:45%;height:39%;
  border-radius:65% 45% 0 0;
  background:linear-gradient(145deg,#1b222a,#07090c);transform:skewX(18deg)
}
.car-window{
  position:absolute;left:39%;top:16%;width:32%;height:26%;
  border-radius:55% 30% 5% 0;background:linear-gradient(145deg,#273441,#080b0f)
}
.headlight{
  position:absolute;right:6%;bottom:43%;width:16%;height:7%;
  border-radius:20px;background:linear-gradient(90deg,#dcecff,var(--blue2));
  box-shadow:0 0 16px rgba(130,168,213,.45)
}
.wheel{
  position:absolute;bottom:0;width:95px;height:95px;border:11px solid #0a0b0d;
  border-radius:50%;background:
    radial-gradient(circle,#76808b 0 5%,#1a1d21 6% 18%,#76808b 19% 21%,#0d0f12 22% 100%);
  box-shadow:inset 0 0 0 1px #555
}
.wheel-one{left:13%}.wheel-two{right:10%}
.reflection{
  position:absolute;left:11%;right:0;bottom:4px;height:26px;
  background:linear-gradient(90deg,transparent,rgba(100,128,165,.14),transparent);
  filter:blur(10px)
}

.trust-strip{background:linear-gradient(180deg,#0a0e13,#080b0f);border-top:1px solid #232b34;border-bottom:1px solid #202731}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{text-align:center;padding:38px 28px;position:relative}
.trust-item:not(:last-child):after{content:"";position:absolute;right:0;top:28%;height:44%;width:1px;background:#28303a}
.icon{font-size:33px;color:var(--blue2);height:39px;margin-bottom:12px}
.trust-item h3{text-transform:uppercase;font-size:12px;letter-spacing:.6px;margin-bottom:8px}
.trust-item p{font-size:12px;line-height:1.6;color:#9ca6b2;margin:0}

.section{padding:105px 0}
.packages-section{background:#050709}
.section-title-row{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:40px}
.section-title-row h2{margin-bottom:0}
.section-note{color:#747f8b;font-size:12px}
.package-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.package-card{
  background:linear-gradient(180deg,#0d1218,#090d11);border:1px solid #2a323d;
  position:relative;padding-bottom:24px;display:flex;flex-direction:column;
  min-width:0
}
.package-card.featured{border-color:var(--blue);box-shadow:0 0 0 1px rgba(130,168,213,.08),0 25px 70px rgba(0,0,0,.28)}
.popular{
  position:absolute;left:-1px;top:-14px;height:28px;padding:7px 34px 0 20px;
  background:linear-gradient(90deg,var(--blueDark),var(--blue2));font-size:9px;letter-spacing:2px;z-index:2
}
.popular:after{content:"";position:absolute;right:-18px;top:0;border-left:18px solid var(--blue2);border-top:28px solid transparent}
.package-top{display:flex;justify-content:space-between;gap:12px;padding:28px 22px 18px}
.package-label{font-size:9px;letter-spacing:1.7px;color:#798491;margin-bottom:8px}
.package-top h3{font-size:20px;font-weight:500;margin:0}
.price{color:var(--blue2);font-size:25px;font-weight:600}
.price span{font-size:13px;color:#9aa4af}
.package-art{height:140px;position:relative;overflow:hidden;background:#070a0e;border-top:1px solid #161d25;border-bottom:1px solid #161d25}
.wash-art{background:radial-gradient(circle at 50% 110%,#202a35,#07090d 62%)}
.shine-line{position:absolute;left:12%;right:12%;bottom:28%;height:3px;background:linear-gradient(90deg,transparent,var(--blue2),white,var(--blue2),transparent);filter:blur(.2px)}
.water-drop{position:absolute;width:7px;height:12px;border:1px solid #7f9fbe;border-radius:70% 35% 65% 45%;transform:rotate(35deg)}
.d1{top:24%;left:19%}.d2{top:17%;right:23%;transform:scale(.7) rotate(35deg)}.d3{top:46%;right:39%;transform:scale(.5) rotate(35deg)}
.interior-art{background:linear-gradient(135deg,#171c23,#050608)}
.seat{position:absolute;left:16%;top:14%;width:35%;height:86%;border-radius:55% 22% 15% 22%;background:linear-gradient(135deg,#242b33,#090b0d);transform:rotate(-7deg);box-shadow:inset 1px 0 #4f5964}
.dash{position:absolute;right:2%;top:27%;width:48%;height:23%;transform:skewX(-14deg);background:linear-gradient(#222831,#0a0c0f);border-top:1px solid #4b5662}
.console{position:absolute;left:50%;bottom:4%;width:19%;height:56%;transform:skewX(-11deg);background:#12171d;border-left:1px solid #3c454f}
.protect-art{background:radial-gradient(circle at 55% 55%,#1c2731,#06080b 63%)}
.drop-grid{
  position:absolute;inset:0;background:
  radial-gradient(circle at 13% 24%,rgba(180,205,229,.58) 0 2px,transparent 3px),
  radial-gradient(circle at 31% 56%,rgba(180,205,229,.42) 0 4px,transparent 5px),
  radial-gradient(circle at 51% 27%,rgba(180,205,229,.5) 0 6px,transparent 7px),
  radial-gradient(circle at 70% 62%,rgba(180,205,229,.45) 0 3px,transparent 4px),
  radial-gradient(circle at 86% 34%,rgba(180,205,229,.56) 0 7px,transparent 8px),
  radial-gradient(circle at 25% 79%,rgba(180,205,229,.45) 0 3px,transparent 4px)
}
.package-card ul{list-style:none;margin:20px 23px 23px;padding:0;flex:1}
.package-card li{font-size:12px;color:#bdc5ce;margin:10px 0;padding-left:16px;position:relative}
.package-card li:before{content:"•";position:absolute;left:0;color:var(--blue2)}
.package-card>.btn{margin:0 22px}
.fine-print{text-align:center;color:#6f7884;font-size:11px;margin:18px 0 0}

.story-section{background:linear-gradient(120deg,#0a0e13,#06080b)}
.story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.story-panel{border-left:1px solid var(--blue);padding:28px 0 28px 34px;position:relative}
.story-number{position:absolute;right:5%;top:-30px;font-family:Montserrat;font-size:120px;color:rgba(100,128,165,.07)}
.story-panel>p:not(.eyebrow){color:#aab3bd;line-height:1.8;max-width:650px}
blockquote{margin:30px 0 0;font-family:Montserrat;font-size:18px;letter-spacing:.7px;color:#dbe4ee}
.story-visual{height:330px;border:1px solid #252d37;position:relative;background:radial-gradient(circle at center,rgba(100,128,165,.12),#080b0f 60%);display:flex;align-items:center;justify-content:center;overflow:hidden}
.badge-circle{width:130px;height:130px;border:1px solid var(--blue);border-radius:50%;display:grid;place-items:center;font-family:Montserrat;font-size:38px;letter-spacing:3px;color:var(--blue2);box-shadow:0 0 60px rgba(100,128,165,.1)}
.story-lines{position:absolute;inset:18px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end}
.story-lines span{font-size:8px;letter-spacing:2.5px;color:#67717c}

.area-section{padding:0;border-top:1px solid #1d242d;border-bottom:1px solid #1d242d}
.area-grid{min-height:390px;display:grid;grid-template-columns:.8fr 1.2fr}
.area-copy{padding:70px 55px 60px 0}
.area-copy>p:not(.eyebrow){color:#aab2bd;line-height:1.7;font-size:14px}
.city-list{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:24px}
.city-list span{text-transform:uppercase;font-size:9px;letter-spacing:1.3px}
.city-list span:before{content:"•";color:var(--blue2);margin-right:8px}
.map-card{position:relative;min-height:390px;overflow:hidden;background:#080b0f}
.map-grid-lines{position:absolute;inset:0;background-image:linear-gradient(rgba(100,128,165,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(100,128,165,.08) 1px,transparent 1px);background-size:34px 34px;transform:rotate(-4deg) scale(1.1)}
.ring{position:absolute;border:1px solid var(--blue);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%)}
.ring-one{width:245px;height:245px}.ring-two{width:175px;height:175px;opacity:.3}
.map-pin{position:absolute;left:50%;top:42%;width:23px;height:29px;background:var(--blue);clip-path:polygon(50% 100%,0 40%,5% 20%,20% 5%,50% 0,80% 5%,95% 20%,100% 40%);transform:translate(-50%,-50%)}
.map-pin span{position:absolute;width:8px;height:8px;border-radius:50%;background:#0b1118;left:8px;top:7px}
.map-city{position:absolute;font-size:9px;letter-spacing:.6px;color:#e1e6eb}
.main-city{left:50%;top:53%;transform:translateX(-50%);font-size:18px;line-height:1.2;text-align:center}
.edmond{left:50%;top:15%;transform:translateX(-50%)}.moore{left:51%;top:75%}.norman{left:59%;bottom:7%}.yukon{left:10%;top:27%}.mustang{left:12%;bottom:19%}

.booking-band{background:radial-gradient(circle at 10% 60%,rgba(100,128,165,.08),transparent 34%),#06080b}
.booking-grid{display:grid;grid-template-columns:1fr .8fr;gap:90px;align-items:center}
.booking-grid>div>p:not(.eyebrow){color:#aab3be;line-height:1.7;margin-bottom:26px}
.contact-box{border:1px solid #29313b;background:#0a0e13;padding:25px 28px}
.contact-row{display:flex;justify-content:space-between;gap:20px;padding:17px 0;border-bottom:1px solid #202832}
.contact-row span{font-size:9px;letter-spacing:1.8px;color:#697581}
.contact-row a{font-size:13px;color:#dce2e9}
.placeholder-note{font-size:10px!important;color:#626d78!important;margin:16px 0 0!important}

footer{border-top:1px solid #1e252e;padding:32px 0;background:#040608}
.footer-wrap{display:flex;align-items:center;justify-content:space-between;gap:30px}
.footer-logo .logo-main{font-size:18px}.footer-logo .logo-sub{font-size:6px;letter-spacing:4px}
footer p{margin:0;color:#626c77;font-size:10px}

/* modal */
.modal{position:fixed;inset:0;z-index:100;display:none}
.modal.active{display:block}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}
.modal-card{
  position:relative;width:min(610px,calc(100% - 30px));max-height:90vh;overflow:auto;
  margin:5vh auto;background:#0b1016;border:1px solid #34404c;padding:34px;
  box-shadow:0 40px 100px rgba(0,0,0,.7)
}
.modal-close{position:absolute;right:17px;top:12px;border:0;background:transparent;color:#aeb7c1;font-size:28px}
.modal-card h2{font-size:34px;margin-bottom:8px}
.modal-intro{color:#89949f;font-size:13px}
#bookingForm{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:25px}
#bookingForm label{font-size:10px;letter-spacing:1px;color:#919ca7;text-transform:uppercase}
#bookingForm input,#bookingForm select,#bookingForm textarea{
  width:100%;margin-top:7px;background:#070a0e;border:1px solid #29323c;
  color:white;padding:12px;outline:none;border-radius:0
}
#bookingForm input:focus,#bookingForm select:focus,#bookingForm textarea:focus{border-color:var(--blue)}
#bookingForm label:last-of-type{grid-column:1/-1}
#bookingForm .btn,#bookingForm .form-note{grid-column:1/-1}
.form-note{font-size:9px;color:#65707c;text-align:center;margin:0}

@media(max-width:980px){
  .nav-links{display:none;position:absolute;left:0;right:0;top:82px;background:#070a0e;border-bottom:1px solid #222a34;padding:20px 25px;flex-direction:column;align-items:stretch}
  .nav-links.open{display:flex}
  .nav-links>a,.nav-links .btn{text-align:center}
  .menu-btn{display:block}
  .hero-grid{grid-template-columns:1fr;padding-top:70px}
  .hero-copy{max-width:720px}
  .hero-visual{height:390px}
  .trust-grid{grid-template-columns:1fr 1fr}
  .trust-item:nth-child(2):after{display:none}
  .package-grid{grid-template-columns:1fr}
  .package-card{max-width:650px;margin:auto;width:100%}
  .story-grid,.booking-grid{grid-template-columns:1fr}
  .area-grid{grid-template-columns:1fr}
  .area-copy{padding-right:0}
}
@media(max-width:650px){
  .container{width:min(100% - 28px,1180px)}
  .site-header .logo-main{font-size:20px}
  .site-header .logo-sub{font-size:7px}
  h1{font-size:45px;letter-spacing:-1.9px}
  h2{font-size:33px}
  .hero{min-height:auto}
  .hero-grid{gap:20px;padding-bottom:45px}
  .hero-actions{flex-direction:column}
  .hero-actions .btn{width:100%}
  .hero-mini{flex-wrap:wrap}
  .hero-visual{height:300px}
  .van-card{width:65%;height:61%}
  .mini-logo>span{font-size:15px}
  .car-shape{width:92%;height:65%}
  .wheel{width:67px;height:67px;border-width:8px}
  .trust-grid{grid-template-columns:1fr}
  .trust-item:after{display:none}
  .trust-item{border-bottom:1px solid #1f2730}
  .section{padding:75px 0}
  .section-title-row{display:block}
  .section-note{margin-top:12px}
  .story-panel{padding-left:22px}
  .story-number{font-size:80px}
  .area-copy{padding:65px 0 40px}
  .map-card{min-height:320px}
  .booking-grid{gap:40px}
  .contact-row{flex-direction:column;gap:7px}
  .footer-wrap{flex-direction:column;align-items:flex-start}
  #bookingForm{grid-template-columns:1fr}
  #bookingForm label:last-of-type,#bookingForm .btn,#bookingForm .form-note{grid-column:1}
}
