:root{
  --black:#0b0b0c;
  --near-black:#141416;
  --red:#e01f1f;
  --red-dark:#b91717;
  --silver:#d8dadd;
  --silver-dim:#9aa0a6;
  --white:#f7f7f8;
  --font-display:'Archivo Black', Impact, sans-serif;
  --font-body:'Inter', system-ui, sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--near-black);
  background:var(--white);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px;}

/* Buttons */
.btn{
  display:inline-block;
  padding:14px 30px;
  font-weight:700;
  font-size:.95rem;
  letter-spacing:.02em;
  border-radius:4px;
  border:2px solid transparent;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn-primary{
  background:linear-gradient(180deg,var(--red),var(--red-dark));
  color:#fff;
  box-shadow:0 6px 18px rgba(224,31,31,.35);
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(224,31,31,.45);}
.btn-ghost{
  background:transparent;
  color:#fff;
  border-color:rgba(255,255,255,.6);
}
.btn-ghost:hover{background:rgba(255,255,255,.12);}
.btn-block{display:block;text-align:center;width:100%;}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;
  background:rgba(11,11,12,.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.header-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:10px;padding-bottom:10px;
}
.brand-logo{height:48px;width:auto;}
.nav{display:flex;gap:28px;}
.nav a{
  color:var(--silver);
  font-weight:600;
  font-size:.92rem;
  transition:color .15s ease;
}
.nav a:hover{color:#fff;}
.nav-cta{padding:10px 20px;font-size:.85rem;}
@media (max-width:800px){
  .nav{display:none;}
}

/* Hero */
.hero{
  position:relative;
  min-height:88vh;
  display:flex;
  align-items:center;
  color:#fff;
  overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center 65%;
  transform:scale(1.02);
}
.hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(6,6,7,.94) 5%, rgba(6,6,7,.72) 45%, rgba(6,6,7,.45) 100%),
    linear-gradient(0deg, rgba(6,6,7,.85) 0%, rgba(6,6,7,.3) 40%, rgba(6,6,7,.55) 100%);
}
.hero-inner{position:relative;z-index:2;padding-top:60px;padding-bottom:60px;}
.eyebrow{
  color:var(--red);
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-size:.85rem;
  margin-bottom:14px;
}
.hero h1{
  font-family:var(--font-display);
  font-size:clamp(2.6rem,7vw,5.2rem);
  line-height:.98;
  letter-spacing:.01em;
  color:#fff;
  text-shadow:0 4px 30px rgba(0,0,0,.5);
}
.hero h1 span{color:var(--red);}
.hero-sub{
  max-width:520px;
  font-size:1.1rem;
  color:var(--silver);
  margin:22px 0 34px;
}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:56px;}
.hero-stats{display:flex;gap:40px;flex-wrap:wrap;}
.stat{display:flex;flex-direction:column;}
.stat strong{font-family:var(--font-display);font-size:1.6rem;color:#fff;}
.stat span{font-size:.8rem;color:var(--silver-dim);text-transform:uppercase;letter-spacing:.06em;}

/* Strip */
.strip{background:var(--red);color:#fff;padding:14px 0;overflow:hidden;}
.strip-inner{
  display:flex;gap:40px;flex-wrap:wrap;justify-content:center;
  font-weight:700;font-size:.9rem;letter-spacing:.02em;
}

/* Sections */
.section{padding:88px 0;}
.section-dark{background:var(--black);color:var(--white);}
.kicker{
  color:var(--red);font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;font-size:.82rem;margin-bottom:10px;
}
.kicker-light{color:var(--red);}
h2{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1;margin-bottom:18px;}
.section-title-light{color:#fff;}
.lead{font-size:1.15rem;font-weight:600;margin-bottom:16px;}
.section p{color:#444;max-width:560px;}
.section-dark p{color:var(--silver-dim);}

.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;}
.about-image img{border-radius:8px;box-shadow:0 20px 50px rgba(0,0,0,.25);}
.checklist{list-style:none;margin-top:22px;display:flex;flex-direction:column;gap:12px;max-width:560px;}
.checklist li{
  position:relative;padding-left:30px;color:#333;font-weight:500;
}
.checklist li::before{
  content:"✓";position:absolute;left:0;top:0;
  color:#fff;background:var(--red);
  width:20px;height:20px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.72rem;font-weight:800;
}
@media (max-width:860px){
  .about-grid{grid-template-columns:1fr;}
  .about-image{order:-1;}
}

/* Equipment grid */
.equip-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:24px;margin-top:36px;
}
.equip-card{
  background:var(--near-black);
  border:1px solid rgba(255,255,255,.08);
  border-top:3px solid var(--red);
  border-radius:6px;
  padding:26px 24px;
  transition:transform .15s ease, border-color .15s ease;
}
.equip-card:hover{transform:translateY(-4px);border-top-color:#fff;}
.equip-card h3{font-family:var(--font-display);font-size:1.05rem;color:#fff;margin-bottom:10px;letter-spacing:.01em;}
.equip-card p{color:var(--silver-dim);font-size:.94rem;}

/* Pricing */
.pricing-card{
  max-width:420px;margin-top:36px;
  background:linear-gradient(160deg,#151517,#0b0b0c);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:44px 40px;
  color:#fff;
  box-shadow:0 30px 60px rgba(0,0,0,.15);
}
.pricing-label{
  display:inline-block;color:var(--red);font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;margin-bottom:14px;
}
.pricing-amount{font-family:var(--font-display);font-size:3.6rem;color:#fff;margin-bottom:10px;}
.pricing-amount .currency{font-size:1.8rem;vertical-align:top;position:relative;top:10px;}
.pricing-amount .per{font-size:1.1rem;color:var(--silver-dim);font-family:var(--font-body);font-weight:600;}
.pricing-note{color:var(--silver-dim);font-size:.92rem;margin-bottom:28px;max-width:none;}

/* Reviews */
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:36px;}
.review-card{
  background:var(--near-black);border:1px solid rgba(255,255,255,.08);
  border-radius:8px;padding:28px 26px;
}
.stars{color:var(--red);letter-spacing:.15em;margin-bottom:14px;font-size:1.1rem;}
.review-card p{color:var(--silver);font-style:italic;font-size:.96rem;}

/* Location */
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.info-block{margin-bottom:26px;}
.info-block h3{font-family:var(--font-display);font-size:1rem;margin-bottom:8px;letter-spacing:.01em;}
.info-block p{color:#444;}
.muted{color:var(--red);font-weight:600;}
.map-embed{border-radius:8px;overflow:hidden;box-shadow:0 20px 50px rgba(0,0,0,.18);}
@media (max-width:860px){
  .location-grid{grid-template-columns:1fr;}
}

/* CTA band */
.cta-band{position:relative;padding:100px 0;color:#fff;overflow:hidden;}
.cta-overlay{background:linear-gradient(180deg, rgba(6,6,7,.88), rgba(224,31,31,.55));}
.cta-inner{position:relative;z-index:2;text-align:center;}
.cta-inner h2{color:#fff;}
.cta-inner p{color:var(--silver);margin:0 auto 30px;font-size:1.1rem;}

/* Footer */
.site-footer{background:var(--black);color:var(--silver-dim);padding:44px 0;text-align:center;}
.footer-logo{height:40px;margin:0 auto 16px;}
.footer-inner p{color:var(--silver-dim);margin:0 auto 6px;}
.footer-copy{font-size:.82rem;opacity:.7;margin-top:10px;}
