:root{
  --bg:#000000;
  --panel:#0b0b0b;
  --panel-2:#111111;
  --gold:#D4A017;
  --purple:#7B2D8E;
  --red:#D42B2B;
  --white:#FFFFFF;
  --muted:#CFCFCF;
  --radius:18px;
  --shadow:0 0 0 1px rgba(212,160,23,.28), 0 14px 30px rgba(0,0,0,.55);
  --glow:0 0 28px rgba(212,160,23,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"Futura",system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:radial-gradient(900px 420px at 50% 0%, rgba(123,45,142,.18), transparent 60%),
             radial-gradient(700px 360px at 18% 35%, rgba(212,43,43,.08), transparent 55%),
             radial-gradient(800px 420px at 85% 45%, rgba(212,160,23,.12), transparent 60%),
             var(--bg);
  color:var(--white);
  line-height:1.45;
}

a{color:inherit;text-decoration:none}

.container{
  width:min(1100px, 92vw);
  margin-inline:auto;
}

.section{padding:64px 0}
.section__head{margin-bottom:20px}
.section__title{
  margin:0;
  font-size:clamp(24px, 2.8vw, 34px);
  color:var(--gold);
  letter-spacing:.02em;
}

.hero{
  padding:84px 0 56px;
  border-bottom:1px solid rgba(212,160,23,.18);
}
.hero__inner{text-align:center}
.hero__brand{
  margin:0;
  font-weight:800;
  color:var(--gold);
  font-size:clamp(38px, 6vw, 64px);
  letter-spacing:.03em;
  text-shadow:0 0 22px rgba(212,160,23,.18);
}
.hero__tagline{
  margin:14px 0 0;
  font-size:clamp(14px, 1.8vw, 18px);
  color:var(--white);
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:.92;
}

.card{
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
  border:1px solid rgba(212,160,23,.34);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}

.services-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}

.service-card{
  padding:18px 18px 16px;
  background:radial-gradient(520px 220px at 15% 0%, rgba(212,160,23,.08), transparent 50%),
             radial-gradient(520px 220px at 85% 100%, rgba(123,45,142,.10), transparent 55%),
             var(--panel);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.service-card:focus-within,
.service-card:hover{
  transform:translateY(-3px);
  border-color:rgba(212,160,23,.65);
  box-shadow:0 0 0 1px rgba(212,160,23,.34), 0 18px 44px rgba(0,0,0,.62), var(--glow);
}
.service-card__icon{
  width:42px;height:42px;
  display:grid;place-items:center;
  border-radius:12px;
  background:rgba(212,160,23,.10);
  border:1px solid rgba(212,160,23,.22);
  color:var(--gold);
  font-size:18px;
  margin-bottom:12px;
  box-shadow:0 0 22px rgba(212,160,23,.08);
}
.service-card__title{
  margin:0 0 6px;
  font-size:18px;
  font-weight:800;
  color:var(--white);
}
.service-card__desc{
  margin:0;
  color:var(--muted);
  font-size:14px;
}

.pricing{
  padding:10px 16px;
  background:radial-gradient(600px 240px at 10% 0%, rgba(212,43,43,.06), transparent 55%),
             radial-gradient(620px 240px at 90% 100%, rgba(212,160,23,.08), transparent 56%),
             var(--panel);
}
.pricing__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 6px;
  border-top:1px solid rgba(212,160,23,.22);
}
.pricing__row:first-child{border-top:none}
.pricing__name{
  font-weight:650;
  color:var(--white);
  letter-spacing:.01em;
}
.pricing__price{
  font-weight:850;
  color:var(--gold);
  letter-spacing:.02em;
  white-space:nowrap;
}

.why-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
}
.why-item{
  padding:18px;
  display:flex;
  align-items:center;
  gap:12px;
  background:radial-gradient(520px 220px at 15% 0%, rgba(123,45,142,.12), transparent 55%),
             var(--panel);
}
.why-item__icon{
  color:var(--gold);
  font-size:20px;
  filter:drop-shadow(0 0 10px rgba(212,160,23,.12));
}
.why-item__text{
  font-weight:750;
  color:var(--white);
}

.booking{
  padding:56px 0;
  background:var(--panel-2);
  border-top:1px solid rgba(212,160,23,.18);
  border-bottom:1px solid rgba(212,160,23,.18);
}
.booking__inner{text-align:center}
.booking__primary{
  margin:0;
  font-size:clamp(18px, 2.3vw, 22px);
  color:var(--white);
}
.booking__secondary{
  margin:10px 0 18px;
  color:var(--gold);
  font-style:italic;
  letter-spacing:.02em;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--gold);
  color:#000;
  font-weight:900;
  border-radius:999px;
  padding:12px 18px;
  min-width:160px;
  border:1px solid rgba(0,0,0,.35);
  box-shadow:0 10px 22px rgba(212,160,23,.15);
  transition:transform .18s ease, filter .18s ease, background-color .18s ease;
}
.btn:hover{filter:brightness(1.08); transform:translateY(-1px)}
.btn:focus-visible{outline:3px solid rgba(123,45,142,.65); outline-offset:3px}

.footer{padding:28px 0 38px}
.footer__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.footer__brand{color:var(--gold); font-weight:900; letter-spacing:.08em}
.footer__nav{display:flex; gap:14px; flex-wrap:wrap}
.footer__link{
  color:var(--white);
  opacity:.85;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(212,160,23,.14);
  background:rgba(255,255,255,.02);
}
.footer__link:hover{opacity:1; border-color:rgba(212,160,23,.35)}

.skip-link{
  position:absolute;
  left:12px;
  top:10px;
  transform:translateY(-180%);
  background:var(--gold);
  color:#000;
  padding:10px 12px;
  border-radius:10px;
  font-weight:800;
  z-index:10;
}
.skip-link:focus{transform:translateY(0)}

.sr-only{
  position:absolute;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

@media (max-width: 900px){
  .services-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
  .why-grid{grid-template-columns:1fr}
}

@media (max-width: 640px){
  .section{padding:52px 0}
  .hero{padding:72px 0 46px}
  .services-grid{grid-template-columns:1fr}
  .pricing{padding:8px 14px}
  .pricing__row{padding:14px 4px}
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  .service-card,.btn{transition:none}
}
