
:root{
  --bg:#050505;
  --panel:#0b0b0d;
  --panel2:#101014;
  --red:#e01820;
  --red2:#b7070f;
  --text:#f4f4f5;
  --muted:#aaaab1;
  --line:#24242a;
  --silver:#d8d8dc;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif}
body:before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:99; opacity:.08;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:28px 28px;
}
.shell{width:min(1180px,calc(100% - 40px));margin:auto}
.nav-wrap{position:fixed;z-index:50;width:100%;top:0;background:linear-gradient(#070709ee,#070709c8);backdrop-filter:blur(14px);border-bottom:1px solid #1d1d20}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:white}
.brand img{width:52px;height:52px;object-fit:cover;object-position:center;border-radius:9px;border:1px solid #54545a;box-shadow:0 0 22px #000}
.brand span{display:flex;flex-direction:column;gap:2px}
.brand b{font:800 15px/1 Montserrat,sans-serif;letter-spacing:2.4px}
.brand small{font-size:10px;letter-spacing:1.3px;text-transform:uppercase;color:#a5a5ab}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links a{color:#d1d1d5;text-decoration:none;font-size:13px;font-weight:600}
.nav-links a:hover{color:white}
.nav-cta{border:1px solid #5c1519;padding:11px 15px;border-radius:4px;background:linear-gradient(#a90d14,#75070b)}
.menu-btn{display:none;background:none;border:0;color:white;font-size:25px}

.hero{min-height:780px;position:relative;display:flex;align-items:center;overflow:hidden}
.hero-media{position:absolute;inset:0;background:url('hero-suv.jpg') center 63%/cover no-repeat;filter:saturate(.65) contrast(1.15) brightness(.62);transform:scale(1.03)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#050505 5%,rgba(5,5,5,.96) 30%,rgba(5,5,5,.58) 60%,rgba(5,5,5,.34) 100%),linear-gradient(0deg,#050505 0%,transparent 38%,#05050580 100%)}
.hero-red{position:absolute;width:620px;height:620px;right:-290px;bottom:-190px;border:1px solid #741016;transform:rotate(45deg);box-shadow:0 0 55px #85080e55,inset 0 0 55px #85080e22}
.hero-inner{position:relative;z-index:2;padding-top:94px}
.eyebrow,.kicker{color:#ef3038;font-weight:800;letter-spacing:2.1px;font-size:12px}
.hero h1{font:900 clamp(50px,7.2vw,92px)/.95 Montserrat,sans-serif;letter-spacing:-3.2px;max-width:790px;margin:18px 0 24px;text-transform:uppercase}
.hero h1 span{display:block;color:transparent;-webkit-text-stroke:1.4px #f03a41;text-shadow:0 0 26px #d00b1440;font-style:italic}
.hero-copy{max-width:630px;color:#c7c7cc;font-size:18px;line-height:1.72;margin:0 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 21px;border-radius:4px;text-decoration:none;color:white;font-weight:800;font-size:13px;letter-spacing:.4px;text-transform:uppercase}
.btn-red{background:linear-gradient(135deg,var(--red),#8f080e);box-shadow:0 10px 30px #b70b1438;border:1px solid #ef3840}
.btn-ghost{background:#0c0c0dbd;border:1px solid #4b4b50}
.hero-points{display:flex;gap:40px;margin-top:48px;padding-top:22px;border-top:1px solid #37373c;max-width:680px}
.hero-points div{display:flex;flex-direction:column;gap:5px}
.hero-points b{font-size:12px;text-transform:uppercase;letter-spacing:1.2px}
.hero-points span{font-size:12px;color:#929299}

.trust-strip{background:#09090b;border-top:1px solid #17171b;border-bottom:1px solid #17171b}
.trust-grid{min-height:110px;display:grid;grid-template-columns:repeat(4,1fr)}
.trust-grid>div{display:flex;align-items:center;justify-content:center;gap:14px;border-right:1px solid #202025}
.trust-grid>div:first-child{border-left:1px solid #202025}
.trust-grid span{color:#e42028;font-size:22px}
.trust-grid p{display:flex;flex-direction:column;margin:0;gap:4px}
.trust-grid b{font-size:12px;text-transform:uppercase;letter-spacing:1.1px}
.trust-grid small{color:#87878e;font-size:11px}

.section{padding:110px 0}
.section-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:80px;align-items:end;margin-bottom:44px}
.section-heading h2,.experience-copy h2,.area-grid h2,.contact-card h2{font:800 clamp(34px,4.6vw,57px)/1.05 Montserrat,sans-serif;letter-spacing:-1.8px;margin:12px 0 0}
.section-heading p{color:#9999a0;line-height:1.7;margin:0}

.service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.service-card{position:relative;padding:34px;min-height:270px;background:linear-gradient(145deg,#0b0b0d,#080809);border:1px solid #222228;overflow:hidden}
.service-card:after{content:"";position:absolute;width:130px;height:2px;background:linear-gradient(90deg,#e11c24,transparent);bottom:0;left:0}
.service-card.featured{border-color:#4d1418;background:linear-gradient(145deg,#16090a,#09090b 50%)}
.icon{font-size:28px;color:#ee2931;margin-bottom:44px}
.service-card h3{font:700 22px Montserrat,sans-serif;margin:0 0 12px}
.service-card p{color:#9999a0;line-height:1.65;margin:0 0 20px;max-width:520px}
.service-card span{font-size:10px;color:#e73a41;text-transform:uppercase;letter-spacing:1.4px;font-weight:700}

.split-section{padding:110px 0;background:linear-gradient(135deg,#08080a,#0c0c0f 55%,#08080a);border-top:1px solid #19191d;border-bottom:1px solid #19191d}
.split-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.photo-card{position:relative;border:1px solid #28282e;background:#050505;padding:10px;box-shadow:0 28px 70px #000}
.photo-card:before{content:"";position:absolute;left:-1px;top:-1px;width:170px;height:3px;background:#e11a22}
.photo-card img{width:100%;height:550px;display:block;object-fit:cover;filter:saturate(.7) contrast(1.08)}
.photo-badge{position:absolute;left:32px;bottom:30px;background:#060608e8;border:1px solid #38383e;border-left:3px solid #e01a22;padding:16px 20px;display:flex;flex-direction:column;gap:4px}
.photo-badge b{font-size:11px;letter-spacing:1.6px}
.photo-badge span{font-size:11px;color:#929299}
.experience-copy p,.area-grid p,.contact-card p{color:#9d9da4;line-height:1.75}
.checklist{display:grid;gap:22px;margin:30px 0 34px}
.checklist>div{display:flex;gap:14px}
.checklist i{width:30px;height:30px;border:1px solid #621216;background:#16080a;color:#f13a42;display:grid;place-items:center;font-style:normal;border-radius:50%;flex:0 0 auto}
.checklist span{display:flex;flex-direction:column;gap:5px}
.checklist b{font-size:14px}
.checklist small{color:#8f8f96;line-height:1.55}
.text-link{color:#f33b43;text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:1px;font-weight:800}

.area-section{padding:110px 0}
.area-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:center}
.airport-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:32px}
.airport-row div{border:1px solid #26262b;background:#0a0a0c;padding:20px;display:flex;flex-direction:column}
.airport-row b{font:800 24px Montserrat,sans-serif;color:#e2232b}
.airport-row span{font-size:10px;color:#8e8e94;margin-top:4px}
.map-card{height:450px;position:relative;overflow:hidden;border:1px solid #2b2b31;background:
radial-gradient(circle at 65% 60%,#2d0508 0,transparent 30%),
linear-gradient(145deg,#0e0e12,#060607)}
.map-card:before,.map-card:after{content:"";position:absolute;border:1px solid #25252a;width:420px;height:420px;border-radius:50%;right:-100px;top:-30px}
.map-card:after{width:300px;height:300px;right:-40px;top:40px}
.map-line{position:absolute;width:430px;height:2px;background:linear-gradient(90deg,transparent,#e21a22,transparent);transform:rotate(-24deg);left:100px;top:240px;box-shadow:0 0 14px #e21a22}
.pin{position:absolute;font-size:10px;letter-spacing:1px;font-weight:700;padding-left:18px;color:#d5d5d8}
.pin:before{content:"";width:8px;height:8px;background:#ef2931;border-radius:50%;position:absolute;left:0;top:2px;box-shadow:0 0 14px #ef2931}
.p1{left:245px;top:178px}.p2{left:140px;top:275px}.p3{left:360px;top:97px}
.map-title{position:absolute;left:30px;bottom:28px;font:800 42px/1 Montserrat,sans-serif;color:#313138}
.map-title span{color:#4e0c11}

.contact-section{padding:35px 0 110px}
.contact-card{background:linear-gradient(130deg,#141416,#09090b 58%,#1b0608);border:1px solid #341115;padding:54px;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;position:relative;overflow:hidden}
.contact-card:after{content:"";position:absolute;width:240px;height:240px;border:1px solid #78131a;right:-130px;bottom:-130px;transform:rotate(45deg)}
.contact-actions{display:grid;gap:12px;position:relative;z-index:2}
.contact-line{padding:14px 16px;border:1px solid #29292e;background:#08080a;color:white;text-decoration:none;display:flex;flex-direction:column;gap:3px}
.contact-line small{color:#e62830;font-size:9px;letter-spacing:1.4px;font-weight:800}
.contact-line b{font-size:18px}

footer{border-top:1px solid #1c1c20;padding:30px 0 38px;color:#78787f}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;align-items:center;gap:30px;font-size:11px}
.footer-grid p{text-align:right}
.footer-brand{display:flex;gap:12px;align-items:center}
.footer-brand img{width:42px;height:42px;object-fit:cover;border-radius:6px;border:1px solid #3a3a3f}
.footer-brand div{display:flex;flex-direction:column;gap:4px}
.footer-brand b{color:#d9d9dc;font-size:11px;letter-spacing:1px}
.footer-brand span{font-size:10px}

@media(max-width:850px){
  .nav-links{display:none}.menu-btn{display:block}
  .nav.open .nav-links{display:flex;position:absolute;top:82px;left:0;right:0;background:#08080a;border-bottom:1px solid #242429;flex-direction:column;align-items:stretch;padding:24px 30px}
  .hero{min-height:760px}.hero h1{font-size:55px}
  .hero-points{gap:18px;flex-wrap:wrap}
  .trust-grid{grid-template-columns:1fr 1fr}.trust-grid>div{min-height:90px;border:1px solid #202025}
  .section-heading,.split-grid,.area-grid,.contact-card{grid-template-columns:1fr;gap:36px}
  .service-grid{grid-template-columns:1fr}
  .photo-card img{height:420px}
  .area-grid{gap:35px}
  .footer-grid{grid-template-columns:1fr}.footer-grid p{text-align:left;margin:0}
}
@media(max-width:560px){
  .shell{width:min(100% - 28px,1180px)}
  .brand span{display:none}
  .hero{min-height:720px}
  .hero h1{font-size:44px;letter-spacing:-2px}
  .hero-copy{font-size:16px}
  .hero-points{display:grid;grid-template-columns:1fr 1fr}
  .trust-grid{grid-template-columns:1fr}
  .section,.split-section,.area-section{padding:78px 0}
  .section-heading h2,.experience-copy h2,.area-grid h2,.contact-card h2{font-size:38px}
  .service-card{padding:26px}
  .photo-card img{height:350px}
  .airport-row{grid-template-columns:1fr}
  .map-card{height:380px}
  .p1{left:170px}.p2{left:75px}.p3{left:235px}
  .contact-card{padding:30px 22px}
  .contact-line b{font-size:14px}
}


/* V2: supplied FYSE logo + Suburban hero */
.brand img,.footer-brand img{
  object-fit:contain;
  background:#050505;
  padding:4px;
}
.hero-media{
  position:absolute; inset:0;
  background:
    radial-gradient(circle at 76% 55%, rgba(177,8,17,.26), transparent 27%),
    linear-gradient(120deg,#050505 0%,#08080a 55%,#120507 100%);
  filter:none; transform:none;
}
.hero-media:before{
  content:"";position:absolute;right:0;bottom:0;width:68%;height:72%;
  background:
    linear-gradient(90deg,transparent,rgba(220,20,30,.08)),
    repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 30px);
  clip-path:polygon(18% 20%,100% 0,100% 100%,0 100%);
}
.hero-media img{
  position:absolute;
  width:min(63vw,900px);
  height:auto;
  right:-1.5%;
  bottom:4%;
  object-fit:contain;
  filter:drop-shadow(0 28px 38px rgba(0,0,0,.8)) drop-shadow(0 0 25px rgba(185,0,10,.13));
}
.hero-shade{
  background:
    linear-gradient(90deg,#050505 2%,rgba(5,5,5,.97) 28%,rgba(5,5,5,.74) 47%,rgba(5,5,5,.15) 74%,rgba(5,5,5,.1) 100%),
    linear-gradient(0deg,#050505 0%,transparent 30%,rgba(5,5,5,.4) 100%);
}
.icon{
  font-size:44px;
  line-height:1;
  min-height:52px;
  display:flex;
  align-items:center;
  color:#ee2931;
  margin-bottom:34px;
  text-shadow:0 0 18px rgba(238,41,49,.18);
}
.trust-grid>div>span{font-size:30px;min-width:34px;text-align:center}

.booking-section{
  padding:110px 0;
  background:linear-gradient(135deg,#070708,#0e0e11 55%,#130608);
  border-top:1px solid #1d1d21;
  border-bottom:1px solid #1d1d21;
}
.booking-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}
.booking-copy h2{font:800 clamp(36px,4.6vw,58px)/1.04 Montserrat,sans-serif;letter-spacing:-1.8px;margin:12px 0 20px}
.booking-copy>p{color:#9999a0;line-height:1.75;max-width:470px}
.booking-note{margin-top:34px;padding:18px;border:1px solid #2a2a30;background:#09090b;display:flex;gap:15px;align-items:center}
.booking-note>span{font:900 18px Montserrat,sans-serif;color:#ef2830;border:1px solid #5e1116;padding:10px}
.booking-note div{display:flex;flex-direction:column;gap:4px}
.booking-note b{font-size:12px}.booking-note small{font-size:10px;color:#85858c}
.booking-form{background:#09090b;border:1px solid #29292f;border-top:2px solid #d61720;padding:30px;display:grid;gap:17px;box-shadow:0 28px 60px #000}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.booking-form label{display:grid;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:1.1px;font-weight:800;color:#bdbdc3}
.booking-form input,.booking-form select,.booking-form textarea{
  width:100%;border:1px solid #303036;background:#0f0f12;color:#f3f3f4;padding:14px 13px;
  font:500 13px Inter,Arial,sans-serif;outline:none;border-radius:2px;text-transform:none;letter-spacing:0
}
.booking-form input:focus,.booking-form select:focus,.booking-form textarea:focus{border-color:#b5161d;box-shadow:0 0 0 2px rgba(213,20,29,.08)}
.booking-form textarea{resize:vertical}
.form-submit{border:0;cursor:pointer;width:100%;margin-top:4px}
.form-disclaimer{color:#696970;font-size:9px;line-height:1.5;text-align:center}

@media(max-width:850px){
  .hero-media img{width:82vw;right:-20%;bottom:7%;opacity:.78}
  .booking-grid{grid-template-columns:1fr;gap:36px}
}
@media(max-width:560px){
  .hero-media img{width:115vw;right:-48%;bottom:9%;opacity:.6}
  .form-row{grid-template-columns:1fr}
  .booking-form{padding:22px 17px}
  .booking-section{padding:78px 0}
}

/* Critique 1 only: keep red hero geometry behind the vehicle */
.hero-red{z-index:0}
.hero-media{z-index:1}
.hero-shade{z-index:2;pointer-events:none}
.hero-inner{z-index:3}

/* Critique 2 only: clear, larger service icons */
.service-svg{width:52px;height:52px;fill:none;stroke:#ee2931;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.service-card:first-child .service-svg{fill:#ee2931;stroke:#ee2931}

/* Approved South Florida map asset */
.map-card.approved-map{height:auto;background:#070708;padding:0}
.map-card.approved-map img{display:block;width:100%;height:auto}
.map-card.approved-map:before,.map-card.approved-map:after{display:none}

/* v3.1 — neon geometry fix ONLY */
.hero-red{
  display:block !important;
  z-index:1 !important;
  width:760px !important;
  height:760px !important;
  right:-330px !important;
  bottom:-235px !important;
  border:2px solid rgba(225,24,34,.78) !important;
  box-shadow:
    0 0 18px rgba(225,24,34,.30),
    0 0 42px rgba(180,8,16,.18),
    inset 0 0 20px rgba(225,24,34,.12) !important;
  opacity:1 !important;
}
.hero-media{z-index:2 !important}
.hero-media:before{z-index:0}
.hero-media img{z-index:2;position:absolute}
.hero-shade{z-index:3 !important;pointer-events:none}
.hero-inner{z-index:4 !important}
