:root{
  --accent:#444444;
  --hero-text:#fff;
  --hero-shadow:0 20px 60px rgba(0,0,0,.35);
  --container:1200px;
}
.container{max-width:var(--container);margin:0 auto;padding:0 20px}
.hero{
  position:relative;
  min-height:100svh;
  display:grid;
  align-items:center;
  padding:18dvh 0 10dvh;
  isolation:isolate;
  overflow:hidden;
}
.hero-bg{
  position:absolute; inset:0;
  background-image: var(--hero-fallback);
  background-image: var(--hero-image);
  background-size: cover;
  background-position: center;
  z-index:-2;
}
.hero-overlay{
  position:absolute; inset:0; z-index:-1;
  background:
    radial-gradient(1200px 600px at 65% 55%, rgba(0,0,0,.18), rgba(0,0,0,.55)),
    linear-gradient(180deg, rgba(0,0,0,.20) 0%, rgba(0,0,0,.65) 100%);
}
.hero-inner{color:var(--hero-text)}
.hero-title{
  margin:0 0 28px 0;
  color: rgba(255,255,255,.92);
  font-weight:900;
  line-height:.95;
  letter-spacing:.2px;
  font-size:clamp(38px, 7vw, 112px);
  max-width: 24ch;
  margin-left: 0; 
}
.hero-cta{
  display:flex; gap:14px; flex-wrap:wrap;
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  text-decoration:none; border-radius:999px;
  padding:18px 32px; font-weight:800; font-size:16px;
  box-shadow:var(--hero-shadow);
}
.btn-primary{ background:var(--accent); color:#fff; }
.btn-dark{ background:rgba(22,22,22,.85); color:#fff; backdrop-filter:saturate(110%) blur(2px); }
.btn:hover{ transform:translateY(-1px); }
.btn:active{ transform:translateY(0); }
@media (max-width: 960px){
  .hero{ padding:14dvh 0 7dvh; }
  .hero-cta{ gap:10px }
  .btn{ width:auto; padding:16px 24px }
}
@media (max-width: 520px){
  .hero-title{ font-size:clamp(34px, 9vw, 56px) }
  .btn{ width:100% }
}
.hero-bg{
  background-color:#0f0f0f; 
}
.hero-title{ line-height:1.05; }
.hero-title .line + .line{ margin-top:.18em; }
@media (max-width:520px){
  .hero-title{ line-height:1.1; }
  .hero-title .line + .line{ margin-top:.24em; }
}