html, body {
  overflow-x: hidden;
}

* {
  max-width: 100vw;
}
/* Floating Go to Top Button */
#goTopBtn {
  display: none;
  position: fixed;
  bottom: 88px;
  right: 32px;
  z-index: 100;
  background: var(--gold);
  color: #0a0a0a;
  border: none;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.18);
  cursor: pointer;
  font-size: 2rem;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s, visibility 0.2s;
}
#goTopBtn.show {
  display: flex;
  opacity: 1;
  visibility: visible;
}
#goTopBtn:active {
  background: #e4c05a;
}
/* Checkbox alignment fix */
.checkbox-row {
  display: flex;
  align-items: center;
  gap: 2em;
  margin-bottom: 1em;
  min-height: 48px;
}
.checkbox-row label {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  vertical-align: middle;
  line-height: 1.2;
}
.checkbox-row input[type="checkbox"] {
  margin: 0 0.5em 0 0;
  vertical-align: middle;
  width: 20px;
  height: 20px;
}
.checkbox-row input[type="number"] {
  margin: 0 0.5em 0 0;
  vertical-align: middle;
  width: 3.5em;
  min-width: 0;
  max-width: 4em;
  text-align: center;
}
/* Highlight selected chip */
.chip {
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border 0.2s;
}
.chip.selected {
  background: #ffe066;
  color: #222;
  border: 2px solid #ffe066;
  box-shadow: 0 0 0 2px #d4af37;
}
/* Highlight pill when checkbox is checked (compatible selector) */
.chip input[type="checkbox"]:checked ~ span,
.chip input[type="checkbox"]:checked {
  background: var(--gold);
  color: #0a0a0a;
  border: 2px solid var(--gold);
}
/* Highlight pill when checkbox is checked using :has() */
.chips label:has(input[type="checkbox"]:checked) {
  background: var(--gold);
  color: #0a0a0a;
  border: 2px solid var(--gold);
}
/* Highlight pill when checkbox is checked */
.chips label input[type="checkbox"]:checked + span,
.chips label input[type="checkbox"]:checked {
  background: var(--gold);
  color: #0a0a0a;
  border: 2px solid var(--gold);
}
:root{
  --bg:#0a0a0a;
  --panel:#121212;
  --gold:#d4af37;
  --text:#e8e8e8;
  --muted:#b2b2b2;
  --accent: var(--gold);
  --shadow: 0 10px 30px rgba(0,0,0,.5);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.5}
h1,h2,h3{font-family:'Playfair Display',serif;color:var(--accent);letter-spacing:.5px}
h1.brand{font-size: clamp(40px, 9vw, 96px); margin: 0 0 .25rem 0;}
.section{padding: clamp(48px, 7vw, 96px) 24px}
.section--contrast{background:linear-gradient(180deg,#0c0c0c,#121212)}
.section--fineprint{background:#0c0c0c;color:var(--muted)}
.section--grid{display:grid;gap:28px;grid-template-columns:1fr;max-width:1100px;margin:0 auto}
@media (min-width: 900px){
  .section--grid{grid-template-columns: 1.2fr .8fr}
}
.lead{color:#f0f0f0;font-weight:600}
.fineprint{color:var(--muted);font-size:.9rem}
.checks{list-style:none;padding:0;margin:0}
.checks li{margin:.4rem 0;padding-left:28px;position:relative}
.checks li:before{content:"✓";position:absolute;left:0;color:var(--gold)}
.card{background:var(--panel);border:1px solid rgba(212,175,55,.25);border-radius:14px;padding:24px;box-shadow:var(--shadow)}
.card--velvet{background: radial-gradient(1200px 400px at -10% -10%, rgba(212,175,55,.12), transparent), var(--panel)}

.site-header .nav{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;position:sticky;top:0;background:rgba(10,10,10,.7);backdrop-filter: blur(8px);z-index:20;border-bottom:1px solid rgba(255,255,255,.05)}
.nav .logo img{height:36px}
.nav__toggle{display:none;background:none;border:1px solid rgba(255,255,255,.1);color:#fff;padding:8px 10px;border-radius:8px}
.nav__links{display:flex;gap:18px;align-items:center;list-style:none;margin:0;padding:0}
.nav__links a{color:#fff;text-decoration:none;opacity:.9}
.nav__links .btn--small{padding:6px 12px;border:1px solid rgba(212,175,55,.5);border-radius:8px}

@media (max-width: 780px){
  .nav__toggle{display:block}
  .nav__links{display:none;flex-direction:column;position:absolute;right:16px;top:58px;background:#0e0e0e;border:1px solid rgba(255,255,255,.1);padding:12px 14px;border-radius:12px}
  .nav__links.show{display:flex}
}

.hero{position:relative;display:grid;place-items:center;padding: 80px 24px 90px;background: radial-gradient(1200px 400px at 20% -10%, rgba(212,175,55,.08), transparent)}
.hero__glow{position:absolute;inset:-10% -10% auto -10%; height: 40vh; background: radial-gradient(800px 250px at 70% 20%, rgba(212,175,55,.15), transparent); filter: blur(12px); pointer-events:none}
.hero__content{text-align:center;max-width:900px}
.tagline{font-family:'Playfair Display',serif;color:var(--gold);font-size: clamp(18px, 2.8vw, 28px);margin:.25rem 0 .5rem}
.sub{color:#d8d8d8;margin:0 auto 1.3rem;max-width:640px}

.btn{display:inline-block;padding:12px 18px;border-radius:999px;text-decoration:none;color:#0a0a0a;background:var(--accent);font-weight:700;box-shadow: 0 8px 22px rgba(212,175,55,.25)}
.btn:hover{transform:translateY(-1px)}
.btn--primary{background:linear-gradient(90deg, #e4c05a, #d4af37);}
.btn--small{background:none;color:var(--gold)}

.split{display:grid;gap:28px;grid-template-columns:1fr;align-items:start;max-width:1100px;margin:0 auto}
@media (min-width: 900px){
  .split{grid-template-columns:1.2fr .8fr}
}
.ratecard ul{list-style:none;margin:0;padding:0}
.ratecard li{display:flex;align-items:center;gap:12px;margin:.5rem 0}
.ratecard span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(212,175,55,.6);color:var(--gold);}

.form-wrap{max-width: 1000px; margin: 0 auto}
form label{display:block;margin:.6rem 0}
input, select, textarea{width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:#0e0e0e;color:#fff;outline:none}
input:focus, select:focus, textarea:focus{border-color:rgba(212,175,55,.6);box-shadow:0 0 0 3px rgba(212,175,55,.12)}
.grid-2{display:grid;grid-template-columns:1fr;gap:14px}
@media (min-width: 780px){
  .grid-2{grid-template-columns:1fr 1fr}
}
.fieldset{border:1px solid rgba(255,255,255,.13);padding:12px 14px;border-radius:12px;margin:.6rem 0}
.fieldset legend{color:var(--gold);padding:0 6px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips label{background:#0e0e0e;border:1px solid rgba(255,255,255,.12);padding:8px 10px;border-radius:999px;cursor:pointer}
.chips input{margin-right:6px}

.agree{display:flex;gap:10px;align-items:flex-start}
.actions{display:flex;align-items:center;gap:16px;margin-top:10px}
#form-status{color:var(--gold)}

.site-footer{border-top:1px solid rgba(255,255,255,.08);padding:24px}
.footer__inner{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.footer__inner .social{color:var(--gold);text-decoration:none;border:1px solid rgba(212,175,55,.45);padding:6px 10px;border-radius:8px}
.footer__inner{padding-right:60px}
