
:root{--bg:#14090f;--panel:#251019;--panel2:#351622;--gold:#d7a942;--pink:#ef7aa4;--cream:#fff2df;--muted:#d9c2c2;--line:#6d3b47}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:Georgia,'Times New Roman',serif;background:radial-gradient(circle at 70% 10%,#4a1b31 0,#180912 45%,#080406 100%);color:var(--cream);line-height:1.6}
img{max-width:100%;display:block;height:auto}a{color:inherit}
.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;background:#fff;color:#111;padding:10px 14px;z-index:999}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:24px;padding:14px 4%;background:#13080d;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;text-transform:uppercase}.brand-mark{color:var(--pink);font-size:24px}.brand strong{display:block;color:var(--gold);font-size:18px;letter-spacing:.08em}.brand em{display:block;color:var(--pink);font-style:normal;font-size:13px;letter-spacing:.22em}
.menu-toggle{display:none}.menu-label{display:none;border:1px solid var(--line);padding:8px 12px;border-radius:999px;cursor:pointer}
.main-nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.main-nav a{text-decoration:none;color:var(--cream);font-weight:700}.main-nav a:hover{color:var(--gold)}
.dropdown{position:relative}.dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:230px;background:#180b11;border:1px solid var(--line);border-radius:12px;padding:10px}.dropdown-menu a{display:block;padding:8px 10px}.dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu{display:block}
.header-actions{margin-left:auto;display:flex;gap:10px}.header-btn{display:inline-block;padding:11px 16px;border-radius:999px;text-decoration:none;font-weight:800;white-space:nowrap}.header-btn.directions{background:#0b5f63;color:#fff;border:2px solid var(--gold)}.header-btn.call{background:var(--gold);color:#1a0f13}
.hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:center;padding:64px 4%}.eyebrow{color:var(--pink);text-transform:uppercase;letter-spacing:.18em;font-size:13px;font-weight:700}.hero h1{font-size:clamp(48px,7vw,88px);line-height:.95;color:var(--gold);text-transform:uppercase;margin:18px 0 24px}.hero p{font-size:22px}.hero-card{border:1px solid var(--line);border-radius:28px;overflow:hidden;background:#000;box-shadow:0 28px 70px rgba(0,0,0,.4)}.hero-card img{width:100%}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-block;padding:13px 18px;border-radius:999px;text-decoration:none;font-weight:800}.btn.gold{background:var(--gold);color:#1a0f13}.btn.ghost{border:1px solid var(--line);color:var(--cream)}
.trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.trust-row span{border:1px solid var(--line);border-radius:999px;padding:9px 13px}
.section{padding:64px 4%;max-width:1200px;margin:auto}.section h2{color:var(--gold);font-size:clamp(30px,4vw,46px)}.section p,.section li{color:var(--muted)}
.page-hero{padding:42px 4%;background:linear-gradient(135deg,#2e111d,#16090f);border-bottom:1px solid var(--line)}.page-hero h1{margin:0 0 8px;color:var(--gold);font-size:clamp(34px,5vw,54px)}.page-hero p{margin:0;color:var(--cream)}
.service-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.service-links a{padding:14px;border:1px solid var(--line);border-radius:10px;text-decoration:none;background:rgba(255,255,255,.03)}
.contact-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);gap:28px;align-items:start}.contact-card{background:linear-gradient(145deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:18px;padding:24px}.contact-card h2{color:var(--gold)}.contact-phone{display:inline-block;background:#f6e5a6;color:#173b3f!important;padding:12px 18px;border-radius:12px;text-decoration:none;font-size:30px;font-weight:900}.shopfront{background:#12080d;border:1px solid var(--line);border-radius:18px;overflow:hidden}.shopfront figcaption{padding:14px 18px;color:var(--muted)}
footer{padding:30px 4% 90px;border-top:1px solid var(--line);color:var(--muted)}footer a{color:#fff}
.mobile-bar{display:none}
@media(max-width:980px){.site-header{flex-wrap:wrap}.menu-label{display:inline-block}.main-nav{display:none;width:100%;flex-direction:column;align-items:flex-start}.menu-toggle:checked~.main-nav{display:flex}.dropdown-menu{display:block;position:static;border:0;padding-left:12px}.hero,.contact-grid{grid-template-columns:1fr}.header-actions{margin-left:auto}}
@media(max-width:700px){.header-actions{display:none}.hero{padding:42px 4%}.hero h1{font-size:50px}.mobile-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:80}.mobile-bar a{text-align:center;padding:14px 8px;text-decoration:none;font-weight:900}.mobile-call{background:var(--gold);color:#1a0f13}.mobile-directions{background:#0b5f63;color:#fff}}

/* v4.1 therapist photo restoration */
.therapist-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
}
.therapist-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
}
.therapist-card img{
  width:100%;
  aspect-ratio:3/4;
  object-fit:cover;
}
.therapist-copy{
  padding:20px;
}
.therapist-copy h2{
  margin:0 0 10px;
  color:var(--gold);
  font-size:26px;
}
.therapist-copy p{
  margin:0;
  color:var(--muted);
}
.therapist-booking{
  text-align:center;
}
@media(max-width:900px){
  .therapist-grid{grid-template-columns:1fr}
  .therapist-card img{aspect-ratio:4/5}
}

/* v4.2 restored waxing pictorials */
.waxing-detail{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);
  gap:30px;
  align-items:center;
}
.waxing-copy a[href^="tel"]{
  color:var(--cream);
  font-weight:800;
}
.waxing-visual{
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:#12080d;
}
.waxing-visual img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.waxing-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
}
.waxing-card{
  display:block;
  text-decoration:none;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,255,255,.06),rgba(255,255,255,.03));
}
.waxing-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.waxing-card span{
  display:block;
  padding:16px;
  color:var(--gold);
  font-size:22px;
  font-weight:800;
}
@media(max-width:900px){
  .waxing-detail{grid-template-columns:1fr}
  .waxing-grid{grid-template-columns:1fr}
}
