:root{--bg:#FBF9F5;--surface:#fff;--ink:#2A2520;--muted:#6B6258;--line:#E8E1D5;--gold:#C59A56;--gold-text:#8C6A2F;--gold-soft:#F4EBDA;--on-gold:#2A2520;
--serif:"Newsreader",Georgia,serif;--sans:"DM Sans","Segoe UI",system-ui,sans-serif;color-scheme:light}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#171411;--surface:#1F1B17;--ink:#F1EBE1;--muted:#B5AB9C;--line:#382F26;--gold:#D4AB68;--gold-text:#D9B572;--gold-soft:#2B241A;--on-gold:#171411;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#171411;--surface:#1F1B17;--ink:#F1EBE1;--muted:#B5AB9C;--line:#382F26;--gold:#D4AB68;--gold-text:#D9B572;--gold-soft:#2B241A;--on-gold:#171411;color-scheme:dark}
:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 72px);scroll-behavior:smooth}
*{box-sizing:border-box}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 var(--sans)}
a{color:inherit}p{margin:0}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0;text-wrap:balance}
h1{font-size:clamp(2.4rem,5.5vw,4rem)}h2{font-size:clamp(1.8rem,3.4vw,2.4rem)}h3{font-size:1.3rem}
.wrap{max-width:1080px;margin:0 auto;padding-inline:max(20px,4vw)}
section{padding-block:clamp(56px,9vw,104px)}
.alt{background:var(--surface);border-block:1px solid var(--line)}
.lead{color:var(--muted);max-width:34em}
.head{display:grid;gap:10px;margin-bottom:36px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;font:500 .95rem/1 var(--sans);text-decoration:none;border:1.5px solid var(--ink);color:var(--ink);background:none;cursor:pointer}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}
.btn:hover{filter:brightness(.95)}
.util{border-bottom:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.util .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 24px;padding-block:8px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--bg);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;position:relative}
.brand{font:500 1.35rem/1 var(--serif);text-decoration:none}
.brand small{display:block;font:400 .72rem var(--sans);color:var(--muted);margin-top:4px}
nav{display:flex;align-items:center;gap:22px;font-size:.95rem}
nav a{text-decoration:none}nav a:not(.btn):hover{color:var(--gold-text)}
.menu{display:none}
@media(max-width:900px){nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:stretch;gap:0;background:var(--surface);border-bottom:1px solid var(--line);padding:8px max(20px,4vw) 16px}
nav.open{display:flex}nav a:not(.btn){padding:12px 0;border-bottom:1px solid var(--line)}nav .btn{margin-top:10px}.menu{display:inline-flex}}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(28px,6vw,72px);align-items:center}
.hero .lead{font-size:1.15rem;margin-top:20px}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.small{font-size:.9rem;color:var(--muted);margin-top:18px}
.small a{color:var(--gold-text);font-weight:500}
.ring{width:min(340px,100%);aspect-ratio:1;border-radius:50%;justify-self:center;background:linear-gradient(90deg,var(--gold) 50%,var(--gold-soft) 50%);display:grid;grid-template-columns:1fr 1fr;align-items:center;text-align:center;font:500 1.15rem var(--serif);border:1px solid var(--line)}
.ring span:first-child{color:var(--on-gold)}.ring span:last-child{color:var(--gold-text)}
.ring-cap{text-align:center;font-size:.88rem;color:var(--muted);margin-top:14px}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr}.ring{width:min(220px,70%)}}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,72px)}
.cols h3{padding-bottom:12px;border-bottom:2px solid var(--gold)}
.row{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.row small{display:block;color:var(--muted);font-size:.88rem}
.row .p{white-space:nowrap;color:var(--gold-text);font-size:.92rem;text-align:right}
.note{margin-top:22px;font-size:.9rem;color:var(--muted)}
@media(max-width:760px){.cols{grid-template-columns:1fr}}
.member{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center;background:var(--gold-soft);border-radius:20px;padding:clamp(28px,5vw,56px)}
.member p{margin:14px 0 22px;color:var(--muted)}
.card{background:var(--surface);border-radius:14px;padding:8px 22px}
.card div{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.92rem}
.card div:last-child{border:0}.card span+span{color:var(--muted)}
@media(max-width:760px){.member{grid-template-columns:1fr}}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 24px}
.team div{display:grid;gap:2px;align-content:start;border-top:1px solid var(--line);padding-top:14px}
.team b{font-weight:500}.team span{font-size:.88rem;color:var(--muted)}
.team a{font-size:.88rem;color:var(--gold-text);font-weight:500;text-decoration:none;margin-top:6px}
.team a:hover{text-decoration:underline}
@media(max-width:900px){.team{grid-template-columns:1fr 1fr}}
.gal{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ba{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:16/10;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.ba i{font-style:normal;font-size:.8rem;color:var(--muted);padding:10px;display:grid;align-items:end;background:var(--gold-soft)}
.ba i+i{background:var(--bg)}
.cap{font-size:.88rem;color:var(--muted);margin-top:8px}
@media(max-width:760px){.gal{grid-template-columns:1fr}}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,6vw,72px)}
.info div{display:grid;grid-template-columns:84px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.info span:first-child{color:var(--muted);font-size:.85rem}
.map{aspect-ratio:16/8;border-radius:12px;background:var(--gold-soft);border:1px solid var(--line);display:grid;place-items:center;margin-bottom:12px;font-size:.88rem;font-weight:500}
form{display:grid;gap:12px;margin-top:16px}
label{display:grid;gap:6px;font-size:.85rem;font-weight:500}
input,textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 12px;width:100%}
textarea{min-height:96px;resize:vertical}
.hint{font-size:.82rem;color:var(--muted)}
.msg{font-size:.9rem;color:var(--gold-text);font-weight:500}
@media(max-width:760px){.contact{grid-template-columns:1fr}}
.pol{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-bottom:64px;font-size:.92rem;color:var(--muted)}
.pol b{display:block;color:var(--ink);font-weight:500;margin-bottom:2px}
@media(max-width:760px){.pol{grid-template-columns:1fr}}
footer{background:var(--ink);color:var(--bg);padding-block:48px}
footer a{text-decoration:none;opacity:.85}footer a:hover{opacity:1;text-decoration:underline}
.fg{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}
.fc{display:grid;gap:8px;align-content:start;font-size:.92rem}
.news{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.news input{flex:1 1 180px;background:none;color:var(--bg);border-color:#ffffff40}
.news .btn{background:var(--gold);border-color:var(--gold);color:#2A2520}
.fine{margin-top:32px;padding-top:16px;border-top:1px solid #ffffff30;font-size:.82rem;opacity:.7;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
@media(max-width:760px){.fg{grid-template-columns:1fr}}
.bar{display:none}
@media(max-width:640px){.bar{display:grid;grid-template-columns:1fr 1fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px))}body{padding-bottom:72px}}


/* ===== Additions for the multi-page site (same tokens, no changes to the client's rules above) ===== */
img{max-width:100%;height:auto}
nav a[aria-current="page"]{color:var(--gold-text);font-weight:500}
.eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-text)}
.link{color:var(--gold-text);font-weight:500}
.more{margin-top:18px}
.cols>div,.row>div,.contact>div{min-width:0}
.row .new{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-text);margin-left:8px}
.page-hero{padding-block:clamp(44px,7vw,80px) clamp(28px,4vw,40px)}
.page-hero .lead{margin-top:14px;font-size:1.1rem}
.howto{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.howto>div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:10px;align-content:start;min-width:0}
.howto .btn{justify-self:start;margin-top:6px}
@media(max-width:700px){.howto{grid-template-columns:1fr}}
.products{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.product{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:grid;align-content:start;min-width:0}
.product .ph{aspect-ratio:4/3;background:var(--gold-soft);display:grid;place-items:center;color:var(--gold-text);font-size:.85rem;font-weight:500}
.product .body{padding:16px 18px;display:grid;gap:4px}
.product b{font-weight:500}.product small{color:var(--muted);font-size:.88rem}
.product .price{color:var(--gold-text);font-weight:500;font-variant-numeric:tabular-nums}
@media(max-width:900px){.products{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.products{grid-template-columns:1fr}}
.revlinks{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.revlinks a{display:grid;gap:4px;padding:20px;border:1px solid var(--line);border-radius:14px;text-decoration:none;background:var(--bg)}
.revlinks a:hover{border-color:var(--gold)}
.revlinks b{font-weight:500}.revlinks span{font-size:.88rem;color:var(--muted)}
@media(max-width:700px){.revlinks{grid-template-columns:1fr}}
iframe.map{width:100%;aspect-ratio:16/9;display:block}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.news-msg{font-size:.85rem;opacity:.85}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.badge{display:inline-grid;padding:7px 14px;border:1px solid #ffffff40;border-radius:10px;font-size:.82rem;line-height:1.25}
.badge small{opacity:.7;font-size:.7rem}
.cookie{position:fixed;left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:40;max-width:560px;margin-inline:auto;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;gap:12px;align-items:center;justify-content:space-between;box-shadow:0 10px 30px -12px rgba(0,0,0,.35);font-size:.88rem}
.cookie[hidden]{display:none}
@media(max-width:640px){.cookie{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
/* ===== Stage 3 additions (Oct 2026): photos, booking request, peptides, consent ===== */
.brand{white-space:nowrap}
nav a{white-space:nowrap}
@media(min-width:901px) and (max-width:1180px){nav{gap:16px;font-size:.9rem}}
s{color:var(--muted);font-size:.85em;margin-left:4px}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.strip img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;border:1px solid var(--line);display:block}
@media(max-width:700px){.strip{grid-template-columns:1fr 1fr}.strip img:last-child{display:none}}
.split{display:grid;grid-template-columns:1.4fr .6fr;gap:clamp(24px,5vw,56px);align-items:start}
.split>div{min-width:0}
.split img.tall{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:14px;border:1px solid var(--line)}
@media(max-width:760px){.split{grid-template-columns:1fr}.split img.tall{aspect-ratio:4/3}}
.sub{font-size:1rem;font-family:var(--sans);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-text);margin:8px 0 14px}
.sub~.sub{margin-top:32px}
.sub2{margin:8px 0 20px}.sub2~.sub2{margin-top:56px}
.svcs{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.svc{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:grid;grid-template-rows:auto 1fr;min-width:0;scroll-margin-top:90px}
.svc img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--gold-soft)}
.svc .body{padding:20px 22px 22px;display:grid;gap:10px;align-content:start}
.svc .top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.svc h3{font-size:1.25rem}
.svc .price{color:var(--gold-text);font-weight:500;white-space:nowrap}
.svc .s{font-weight:500}.svc p{color:var(--muted);font-size:.93rem}.svc .s{color:var(--ink)}
.svc .btn{justify-self:start;margin-top:4px}
@media(max-width:760px){.svcs{grid-template-columns:1fr}}
details.info{display:inline-block;margin-left:8px;vertical-align:middle}
details.info summary{list-style:none;cursor:pointer;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--gold-text);color:var(--gold-text);font:700 .75rem/19px var(--serif);text-align:center;font-style:italic}
details.info summary::-webkit-details-marker{display:none}
details.info[open] summary{background:var(--gold);border-color:var(--gold);color:var(--on-gold)}
details.info p{margin-top:8px;font-size:.9rem;color:var(--muted);background:var(--gold-soft);border-radius:10px;padding:10px 12px;max-width:34em}
.row details.info p{display:block}
.bookbox{display:grid;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,4vw,32px);scroll-margin-top:90px}
.steps{margin:14px 0 6px;padding-left:20px;color:var(--muted);font-size:.93rem;display:grid;gap:6px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.two{grid-template-columns:1fr}}
select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:11px 12px;width:100%}
label.check{display:flex;gap:10px;align-items:flex-start;font-weight:400;font-size:.88rem;color:var(--muted)}
label.check input{width:auto;margin-top:3px;accent-color:var(--gold)}
.after{display:grid;gap:10px;background:var(--gold-soft);border-radius:12px;padding:14px 16px;font-size:.92rem}
.after[hidden]{display:none}.after .btn{justify-self:start}
.gal figure{margin:0}
.gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;border:1px solid var(--line);display:block}
@media(min-width:761px) and (max-width:1000px){.gal{grid-template-columns:repeat(2,1fr)}}
.reviews{min-height:60px}
.cookie-btns{display:flex;gap:8px;flex:none}
@media(max-width:640px){.bar{grid-template-columns:1.2fr 1fr 1fr}}
.product .body{padding:20px 22px}
.gal.sq img{aspect-ratio:1}
@media(max-width:640px){.bar .btn{padding-inline:8px;min-width:0}}
@media(max-width:640px){.cookie{flex-wrap:wrap}.cookie>span:first-child{flex:1 1 100%}}
/* ===== Client corrections (Oct 14) ===== */
.ring{overflow:hidden}
.ring a{display:grid;place-items:center;height:100%;text-decoration:none;transition:filter .15s}
.ring a:first-child{color:var(--on-gold)}.ring a:last-child{color:var(--gold-text)}
.ring a:hover{filter:brightness(.94);text-decoration:underline}
.cols h3 a{text-decoration:none}.cols h3 a:hover{color:var(--gold-text)}
.cols h3 a::after{content:" →";font-size:.85em;color:var(--gold-text)}
a.ask{color:var(--gold-text);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.cols img.tall{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:14px;border:1px solid var(--line)}
.pay{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);margin-top:6px;padding-top:16px;font-size:.92rem}
.paydlg{max-width:480px;width:calc(100% - 32px);border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--surface);color:var(--ink)}
.paydlg::backdrop{background:rgba(20,16,12,.55)}
.paydlg p{margin-top:10px;color:var(--muted);font-size:.95rem}
.paydlg h3{font-size:1.5rem}
.bookbox h3,.paydlg h3{border:0;padding:0}
.healow-box{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;height:780px}
.healow-box iframe{width:100%!important;height:100%!important;border:0}
@media(max-width:640px){.healow-box{height:860px}}
details.fallback{margin-top:28px;border-top:1px solid var(--line);padding-top:18px}
details.fallback summary{cursor:pointer;font-weight:500;color:var(--gold-text)}
.healow-box .healow-oa-practice-widget{height:100%;width:100%}
/* Every service clickable to book (client request, Oct 15) */
a.svc-link{text-decoration:none;color:inherit}
a.svc-link:hover b,a.svc-link:hover{color:var(--gold-text);text-decoration:underline}
.row .p{display:grid;justify-items:end;align-content:start;gap:4px}
a.booklink{font-size:.82rem;font-weight:700;color:var(--gold-text);text-decoration:none;white-space:nowrap}
a.booklink:hover{text-decoration:underline}
.svc>a{display:block}
@media(max-width:640px){.bar{grid-template-columns:repeat(4,1fr);gap:6px}.bar .btn{padding-inline:4px;font-size:.88rem}}
