*{box-sizing:border-box}
html,body{margin:0;padding:0}

:root{
  --page-bg: #0f1214;       /* page background */
  --page-bg-alt: #151a1e;   /* alt section bg */
  --text: #e9ecef;
  --text-muted: #b8c0c8;
  --accent: #a8ff60;
  --header-h: 72px;         /* header height */
  --hero-y: 15%;   /* vertical focus point of hero image. Try 20–45% */
}

/* global */
body{
  font-family:Inter,system-ui,Arial,sans-serif;
  color:var(--text);
  background:var(--page-bg);
}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.container.narrow{max-width:900px}

/* header (hidden at first) */
.site-header {
  position: fixed; /* instead of sticky */
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  background: rgba(255,255,255,0.65);
  backdrop-filter: saturate(1.2) blur(8px);
  border-bottom: 1px solid rgba(255,255,255,.08);
  opacity: 0;
  transform: translateY(-100%);
  transition: opacity 2s ease, transform 2s ease;
  pointer-events: none;
}

.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{font-weight:800;font-size:22px;letter-spacing:0.4px;color:#111}
.nav a{margin-left:18px;text-decoration:none;color:#111;font-weight:600}
.nav .btn{padding:8px 14px;border:1px solid #111;border-radius:8px;color:#111}

/* header becomes visible after a small scroll */
body.header-on .site-header{
  opacity:1; transform:translateY(0);
  pointer-events:auto;
}

/* hero */
.hero{
  position:relative;
  height:100vh;
  min-height:560px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;

  margin:0;
  padding:0;
  top:0;
}
.hero-bg{
  position:absolute; inset:0;
  background:#111 url('hero.png') center var(--hero-y)/cover no-repeat;
  transform:scale(1.05);
  will-change:transform;
}
.hero-overlay{
  position:absolute; inset:0;
  /* bright on landing; JS increases opacity as you scroll */
  background:#000;
  opacity:0;
  transition:opacity 2s ease-out;
}

/* soft fade from hero into page bg */
.hero-fade{
  position:absolute; left:0; right:0; bottom:-1px; height:180px;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, var(--page-bg) 100%);
  z-index:1;
}

/* hero content: fade in as user starts scrolling */
.hero-content{position:relative; z-index:2; text-align:center; padding:0 12px}
.hero-title{
  opacity:0;
  transform:translateY(20px);
  transition:opacity 1.5s ease, transform 1.5s ease;
  font-size:2.5rem;
  font-weight:800;
  margin:0 0 16px;
  color:#fff;
}
.hero-sub, .cta{
  opacity:0;
  transform:translateY(14px);
  transition:opacity 1.5s ease, transform 1.5s ease;
}
.hero-sub{
  max-width:760px; margin:0 auto 12px; font-size:18px; color:#f0f0f0;
}
.cta{display:flex; gap:12px; justify-content:center}

/* buttons */
.btn{display:inline-block; padding:10px 16px; border-radius:10px; text-decoration:none; cursor:pointer}
.btn.primary{background:var(--accent); color:#111; font-weight:800; border:none}
.btn.ghost{border:1px solid rgba(255,255,255,.6); color:#fff}

/* sections */
.section{padding:80px 0}
.section.alt{background:var(--page-bg-alt)}
h2{font-size:32px;margin:0 0 18px;color:#fff}
.about p{font-size:18px;color:var(--text)}
.bullets{margin:14px 0 0 0;padding:0 0 0 18px;color:var(--text-muted)}
.bullets li{margin:8px 0}

.steps{display:grid;gap:22px;grid-template-columns:repeat(4,1fr)}
.step{background:#0e1317;border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:18px;box-shadow:0 8px 22px rgba(0,0,0,0.18)}
.step .num{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#111;color:var(--accent);font-weight:800;margin-bottom:8px}
.step h3{margin:0 0 6px}
.form input,.form textarea{width:100%;padding:12px 14px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#0c1115;color:#e9ecef}
.form textarea{resize:vertical}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}

/* footer */
.footer{padding:24px 0;border-top:1px solid rgba(255,255,255,.08);background:var(--page-bg-alt);color:var(--text-muted)}
.footer-inner{display:flex;align-items:center;justify-content:space-between}
.tiny{font-size:12px;color:var(--text-muted)}

/* responsive */
@media (max-width:900px){
  .steps{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .steps{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
}

/* === MOBILE-ONLY VERSION (<= 768px) === */
@media (max-width: 768px) {
  /* Use a mobile-cropped hero image (optional) */
  .hero-bg{
    background-image: url('hero-mobile.png'); /* add this image to the repo */
    background-position: center 10%;          /* nudge framing for phones */
    background-size: cover;
    transform: none;                           /* remove subtle scale to keep sharp */
  }

  /* Keep hero full height on phones */
  .hero{
    height: 100vh;
    min-height: 600px;     /* adjust if you want a shorter hero on small phones */
  }

  /* Typography / spacing tweaks */
  .hero-title{
    font-size: 1.9rem;
    margin-bottom: 12px;
  }
  .hero-sub{
    font-size: 1rem;
    max-width: 90%;
  }
  .cta{ gap: 10px; }
  .btn{ padding: 10px 14px; }

  /* Section paddings lighter for mobile */
  .section{ padding: 64px 0; }
}

/* Extra-small phones */
@media (max-width: 420px) {
  .hero-bg{ background-position: center 48%; } /* show more of the car */
  .hero-title{ font-size: 1.6rem; }
}

