
:root{
  --bg:#ffffff;
  --text:#111111;
  --muted:#7b8a98;
  --border:#e9ecef;
  --gold:#d4af37;
}

*{box-sizing:border-box}
html, body { height: 100%; }
body{
  min-height:100vh;
  display:flex; flex-direction:column;
  margin:0;
  font-family:-apple-system, system-ui, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color:var(--text); background:var(--bg);
  line-height:1.45;
}
main{ flex:1; }
.container{max-width:1100px;margin:0 auto;padding:2rem 1rem}

/* Navbar */
.navbar{position:sticky; top:0; background:#000; color:#fff; border-bottom:1px solid rgba(255,255,255,.08); z-index:100}
.navbar .nav{
  position:relative;
  display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center; max-width:1100px; margin:0 auto; padding:.6rem 1rem
}
.brand.brand-img{justify-self:center}
.brand.brand-img img{height:48px; width:auto; display:block}
.icon-btn{background:transparent;border:0;color:#fff;cursor:pointer;padding:.5rem;display:inline-flex;align-items:center;gap:.5rem;border-radius:8px}
.icon{width:22px;height:22px;display:block}
.menu-label{font-weight:700;letter-spacing:.06em}
.badge{position:absolute;top:-6px;right:-6px;background:#ff9800;color:#fff;border-radius:999px;font-size:.7rem;line-height:1;padding:.15rem .35rem}
.nav-right{justify-self:end}

/* Coming Soon hero */
.hero-coming{
  background:#ffffff;
  padding:3.5rem 1rem; text-align:center;
}
.hero-coming h1{
  font-size:clamp(2.4rem,6vw,3.25rem);
  margin:0 0 .5rem;
  color:#e5b33d;
  letter-spacing:.06em; font-weight:800;
}
.hero-coming .lead{font-size:1.05rem;color:#333;max-width:720px;margin:.25rem auto 1.25rem}

/* Form */
.form-vertical{display:flex;flex-direction:column;gap:.75rem;max-width:760px;margin:0 auto 1rem;align-items:stretch}
.form-vertical input[type="email"],
.form-vertical input[type="tel"]{
  padding:1rem;border:1px solid #e6c766;border-radius:14px;outline:none;background:#fff;font-size:1rem}
.form-vertical button{padding:1rem 1.25rem;border:0;border-radius:14px;background:linear-gradient(90deg,#f7c948,#e0a100);color:#111;font-weight:700;cursor:pointer}
.sms-consent{font-size:.9rem;color:#666;text-align:left}
.hidden{display:none}

/* Social row (commented out in HTML; style kept if needed) */
.social-row{display:flex;gap:1rem;justify-content:center;margin:1rem auto}
.social-row a{width:44px;height:44px;display:grid;place-items:center;border:1px solid #e6e8eb;border-radius:999px;color:#111;text-decoration:none}
.social-row a:hover{border-color:var(--gold)}

/* Footer */
footer{
  margin-top:auto;
  display:flex; justify-content:center; align-items:flex-end;
  min-height:72px; padding:0 1rem 16px; text-align:center;
  background:#ffffff;
}


/* Drawer (hamburger menu) */
.drawer{position:fixed; inset:0; pointer-events:none; z-index:120}
.drawer .panel{
  position:absolute; left:0; top:0; height:100%; width:min(84vw, 320px);
  background:#ffffff; color:#111; transform:translateX(-100%);
  transition:transform .25s ease; box-shadow:0 10px 30px rgba(0,0,0,.35); padding:1rem 1.25rem;
}
.drawer .backdrop{position:absolute; inset:0; background:rgba(0,0,0,.45); opacity:0; transition:opacity .25s ease;}
.drawer.open{pointer-events:auto}
.drawer.open .panel{transform:none}
.drawer.open .backdrop{opacity:1}
.drawer nav ul{list-style:none; margin:0; padding:0}
.drawer nav li{border-bottom:1px solid #eee}
.drawer nav a{display:block; padding:.9rem 0; color:#111; text-decoration:none; font-weight:600}
.drawer nav a:hover{color:#c59d25}
/* Responsive tweaks */
@media (max-width: 768px){
  .brand.brand-img img{height:44px}
}
@media (max-width: 480px){
  .brand.brand-img img{height:40px}
  .hero-coming{padding:2.25rem 1rem}
  .social-row a{width:40px;height:40px}
}
