:root { color-scheme:dark; --gold:#e9bf70; --paper:#fff5e5; --muted:#d3c6b0; --line:#51402a; }
* { box-sizing:border-box; }
body { margin:0; background:#100d0a; color:var(--paper); font:1rem/1.6 system-ui,sans-serif; }
.wrap { width:min(100% - 3rem,68rem); margin:auto; }
header, footer { border-block-end:1px solid var(--line); }
header .wrap { display:flex; justify-content:space-between; align-items:center; min-height:4.7rem; gap:1rem; }
.brand { color:var(--gold); font:1.15rem Georgia,serif; }
a { color:inherit; text-underline-offset:.2em; }
a:focus-visible { outline:2px solid white; outline-offset:5px; }
.hero { display:grid; grid-template-columns:1.1fr .9fr; gap:3rem; align-items:center; padding-block:4.2rem; }
.kicker { color:var(--gold); font-size:.76rem; letter-spacing:.19em; text-transform:uppercase; font-weight:700; }
h1,h2 { font-family:Georgia,serif; font-weight:400; line-height:1.08; margin:.35em 0; }
h1 { font-size:clamp(3rem,7vw,6rem); }
h1 em { color:var(--gold); display:block; font-size:.7em; }
h2 { font-size:clamp(1.9rem,4vw,3rem); }
p { margin:.8em 0; color:var(--muted); }
.button { display:inline-block; border-radius:.25rem; background:var(--gold); color:#171006; font-weight:750; padding:.78rem 1.4rem; text-decoration:none; }
.button:hover { background:#ffdb98; }
.logo { display:block; width:100%; height:auto; max-width:27rem; margin:auto; border-radius:50%; }
.featured-art { width:min(100%,30rem); margin:0 auto 3rem; }
.page .featured-art { margin-block:2rem 0; }
.featured-art img {
  display:block;
  width:100%;
  height:auto;
  mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),
             linear-gradient(to bottom,transparent,#000 5%,#000 97%,transparent);
  mask-composite:intersect;
}
.service { background:#1d160f; border:1px solid var(--line); border-radius:.6rem; padding:clamp(1.35rem,4vw,2.5rem); display:grid; grid-template-columns:1fr auto; gap:1.2rem; align-items:center; }
.price { display:block; color:var(--gold); font:2rem Georgia,serif; margin-bottom:.6rem; }
.detox { margin-top:2rem; padding:clamp(1.35rem,4vw,2.5rem); background:#1d160f; border:1px solid var(--line); border-radius:.6rem; }
.detox-options { list-style:none; padding:0; margin:1.25rem 0; }
.detox-options li { border-top:1px solid var(--line); padding:1rem 0; }
.detox-options li:last-child { border-bottom:1px solid var(--line); }
.detox-options h3 { margin:0; font:1.3rem/1.3 Georgia,serif; }
.detox-options p { margin:.4rem 0 0; }
.detox-options .rate { color:var(--gold); font-weight:700; }
.detox-options .button { margin-top:.75rem; }
.hours { margin-top:2rem; padding:clamp(1.35rem,4vw,2.5rem); background:#1d160f; border:1px solid var(--line); border-radius:.6rem; }
.hours table { width:100%; border-collapse:collapse; text-align:left; }
.hours caption { text-align:left; color:var(--muted); margin-bottom:.75rem; }
.hours th, .hours td { border-top:1px solid var(--line); padding:.7rem .5rem .7rem 0; vertical-align:top; }
.hours td { color:var(--muted); }
.video-section { margin-top:2rem; padding:clamp(1.35rem,4vw,2.5rem); background:#1d160f; border:1px solid var(--line); border-radius:.6rem; }
.video-section iframe { display:block; width:min(100%,20rem); height:auto; aspect-ratio:9/16; margin:1.25rem auto; border:0; border-radius:.4rem; background:#100d0a; }
.video-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr)); gap:1.25rem; text-align:center; }
.details { padding-block:2rem 3.4rem; }
footer { border-block:1px solid var(--line) 0; padding:1.4rem 0; color:var(--muted); font-size:.9rem; }
@media(max-width:640px) { .wrap { width:calc(100% - 2rem); } .hero { grid-template-columns:1fr; gap:1.35rem; padding-block:2rem 2.5rem; } .logo { max-width:15rem; grid-row:1; } .service { grid-template-columns:1fr; } }
header .wrap { flex-wrap:wrap; padding-block:.75rem; }
header .brand { text-decoration:none; }
header .button { padding:.5rem .9rem; }
nav { display:flex; flex-wrap:wrap; gap:.25rem 1.1rem; }
nav a { display:inline-block; padding:.35rem 0; color:var(--muted); text-decoration:none; }
nav a:hover, nav a[aria-current="page"] { color:var(--gold); text-decoration:underline; }
.page { padding-block:2.6rem 3.4rem; }
.page h1 { font-size:clamp(2.6rem,6vw,4.5rem); margin:0 0 .35em; }
.page > .hours:first-of-type { margin-top:0; }
.page .details { padding-block-end:0; }
.gallery { margin-top:2rem; }
.gallery-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr)); gap:1rem; }
.gallery-grid img { display:block; width:100%; aspect-ratio:1; object-fit:cover; border-radius:.4rem; border:1px solid var(--line); }
@media(max-width:760px) { header nav { order:3; width:100%; } }
