:root{
  --black:#0A0A0A; --graphite:#141517; --dark:#202124; --line:#2C2D31;
  --white:#F2F2F0; --muted:#9C9CA1; --red:#DF2028; --red-dark:#B01A21;
  box-sizing:border-box; padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-padding-top:80px;}
html,body{background:var(--black); color:var(--white); font-family:'Inter',sans-serif; -webkit-font-smoothing:antialiased;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
h1,h2,h3,h4{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.02em; line-height:1.1; font-weight:600;}
p{color:var(--muted); line-height:1.65;}
.wrap{max-width:1080px; margin:0 auto; padding:0 20px;}
.eyebrow{color:var(--red); font-size:13px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; margin-bottom:10px; display:block;}

/* header */
header.site{position:sticky; top:0; z-index:50; background:rgba(10,10,10,.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--line); padding-top:env(safe-area-inset-top,0px);}
.header-row{max-width:1080px; margin:0 auto; padding:14px 20px; display:flex; align-items:center; justify-content:space-between;}
.brand{display:flex; align-items:center; gap:10px;}
.brand img{width:40px; height:40px; border-radius:50%;}
.brand span{font-family:'Oswald',sans-serif; font-size:18px; letter-spacing:.03em;}
.brand span b{color:var(--red);}
nav.main{display:flex; gap:22px;}
nav.main a{font-size:14px; color:var(--muted); font-weight:500; transition:color .15s;}
nav.main a:hover, nav.main a.active{color:var(--white);}
.header-cta{display:flex; align-items:center; gap:16px;}
.btn-wa{background:var(--red); color:#fff; padding:10px 18px; font-size:14px; font-weight:600; border-radius:2px; white-space:nowrap;}
.burger{display:none; width:28px; height:20px; position:relative; background:none; border:none; cursor:pointer;}
.burger span{position:absolute; left:0; right:0; height:2px; background:var(--white);}
.burger span:nth-child(1){top:0;} .burger span:nth-child(2){top:9px;} .burger span:nth-child(3){top:18px;}
#navToggle{display:none;}
.mobile-nav{display:none; flex-direction:column; gap:2px; border-top:1px solid var(--line); background:var(--graphite);}
.mobile-nav a{padding:14px 20px; border-bottom:1px solid var(--line); font-size:15px;}

@media (max-width:820px){
  nav.main{display:none;}
  .header-cta .btn-wa{display:none;}
  .burger{display:block;}
  #navToggle:checked ~ .mobile-nav{display:flex;}
}

/* hero */
.hero{padding:56px 0 40px; border-bottom:1px solid var(--line);}
.hero h1{font-size:38px; max-width:14ch;}
.hero p.lead{margin-top:16px; font-size:17px; max-width:44ch; color:#C9C9CC;}
.hero .price-tag{display:inline-block; margin-top:20px; font-family:'Oswald',sans-serif; font-size:15px; color:var(--red); border:1px solid var(--red); padding:6px 14px; letter-spacing:.05em;}
.btn{display:inline-block; margin-top:24px; padding:15px 30px; background:var(--red); color:#fff; font-family:'Oswald',sans-serif; font-weight:600; letter-spacing:.03em; font-size:15px; border-radius:2px;}
.btn.outline{background:transparent; border:1px solid var(--line); color:var(--white);}
.btn-row{display:flex; gap:12px; flex-wrap:wrap;}
.hero-img{margin-top:28px; border:1px solid var(--line); border-radius:4px; overflow:hidden;}

/* sections */
section{padding:48px 0; border-bottom:1px solid var(--line);}
section h2{font-size:26px; margin-bottom:8px;}
section > .wrap > p.section-lead{max-width:56ch; margin-bottom:28px;}

/* services grid */
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line);}
.card{background:var(--graphite); padding:22px;}
.card h3{font-size:16px; font-family:'Inter',sans-serif; text-transform:none; font-weight:600; margin-bottom:8px;}
.card p{font-size:14px;}
.card a.more{display:inline-block; margin-top:12px; font-size:13px; color:var(--red); font-weight:600;}
@media (max-width:720px){ .grid-3{grid-template-columns:1fr;} .grid-2{grid-template-columns:1fr;} }

/* model cards */
.models{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.model-card{border:1px solid var(--line); border-radius:4px; overflow:hidden; background:var(--graphite);}
.model-card img{aspect-ratio:4/3; object-fit:cover; width:100%;}
.model-card .mc-body{padding:14px;}
.model-card h4{font-size:14px; text-transform:none; font-family:'Inter',sans-serif; font-weight:600; margin-bottom:4px;}
.model-card .mc-price{font-size:13px; color:var(--red); font-weight:600; margin-bottom:8px;}
.model-card a.wa-mini{font-size:12px; color:var(--muted); border:1px solid var(--line); padding:6px 10px; display:inline-block; border-radius:2px;}
@media (max-width:720px){ .models{grid-template-columns:repeat(2,1fr);} }
@media (max-width:460px){ .models{grid-template-columns:1fr 1fr; gap:10px;} }

/* gallery */
.filters{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:22px;}
.filters button{background:transparent; border:1px solid var(--line); color:var(--muted); padding:8px 16px; font-size:13px; border-radius:20px; cursor:pointer;}
.filters button.active{background:var(--red); color:#fff; border-color:var(--red);}
.gallery{columns:3 220px; column-gap:12px;}
.gallery figure{break-inside:avoid; margin-bottom:12px; border:1px solid var(--line); border-radius:4px; overflow:hidden;}
.gallery figcaption{font-size:12px; color:var(--muted); padding:8px 10px;}
@media (max-width:600px){ .gallery{columns:2 140px;} }

/* financing */
.fin-row{display:grid; grid-template-columns:repeat(2,1fr); gap:16px;}
.fin-card{border:1px solid var(--line); padding:22px; border-radius:4px;}
.fin-card h3{font-size:18px; margin-bottom:6px; font-family:'Oswald',sans-serif;}
.fin-card .fin-tag{font-size:13px; color:var(--red); margin-bottom:10px; display:block;}
@media (max-width:640px){ .fin-row{grid-template-columns:1fr;} }

/* video */
.video-wrap{max-width:420px; margin:0 auto; border:1px solid var(--line); border-radius:6px; overflow:hidden;}
video{width:100%; display:block;}

/* form */
form.quote{display:grid; gap:12px; max-width:480px;}
form.quote input, form.quote select{background:var(--graphite); border:1px solid var(--line); color:var(--white); padding:13px 14px; font-size:14px; border-radius:2px; font-family:'Inter',sans-serif;}
form.quote label{font-size:13px; color:var(--muted); margin-bottom:4px; display:block;}
form.quote button{margin-top:6px;}

/* footer */
footer.site{padding:40px 0 100px; font-size:13px; color:var(--muted);}
footer.site .f-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:24px; margin-bottom:28px;}
footer.site h5{color:var(--white); font-family:'Inter',sans-serif; text-transform:none; font-size:14px; margin-bottom:12px;}
footer.site a{display:block; margin-bottom:8px; color:var(--muted);}
footer.site a:hover{color:var(--white);}
footer.site .legal{border-top:1px solid var(--line); padding-top:18px; font-size:12px;}
@media (max-width:720px){ footer.site .f-grid{grid-template-columns:1fr;} }

/* mobile fixed CTA */
.mobile-cta{position:fixed; left:0; right:0; bottom:0; z-index:60; background:var(--red); display:none; align-items:center; justify-content:center; padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px)); font-family:'Oswald',sans-serif; font-weight:600; letter-spacing:.03em; font-size:14px; color:#fff;}
@media (max-width:820px){ .mobile-cta{display:flex;} body{padding-bottom:64px;} }

.map-frame{border:1px solid var(--line); border-radius:4px; overflow:hidden;}
.map-frame iframe{width:100%; height:340px; border:0; display:block; filter:grayscale(.3) invert(.92) contrast(.9);}

.badge-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:18px;}
.badge{font-size:12px; color:var(--muted); border:1px solid var(--line); padding:6px 12px; border-radius:20px;}
