@font-face { font-family:'Jost'; src:url('/assets/fonts/Jost[wght].woff2') format('woff2'); font-weight:100 900; font-style:normal; font-display:swap; }
@font-face { font-family:'Bodoni Moda'; src:url('/assets/fonts/BodoniModa[opsz,wght].woff') format('woff'); font-weight:400 600; font-style:normal; font-display:swap; }
:root {
  --font-sans: 'Jost', ui-sans-serif, system-ui, 'Helvetica Neue', Arial, sans-serif;
  --font-serif: 'Bodoni Moda', Didot, 'Bodoni 72', Georgia, serif;
  --w-serif: 400;
  --w-display: 250;
  --w-display-sm: 300;
  --w-heading: 300;
  --w-lead: 350;
  --w-text: 400;
  --w-label: 500;
  --t-display: .01em;
  --t-heading: .005em;
  --t-text: 0;
  --t-small: .01em;
  --t-label: .28em;
  --t-button: .24em;
  --t-nav: .22em;
  --t-price: .08em;
  --fs-label: 13.2px;
  --fs-button: 13.2px;
  --fs-nav: 13.2px;
  --lh-display: 1.2;
  --lh-heading: 1.25;
  --lh-lead: 1.6;
  --lh-text: 1.7;
  --lh-small: 1.55;
}

:root {
  --ivory:#F4F0E9; --warmstone:#E7E1D5;
  --oxblood:#4A1820; --espresso:#221A12; --charcoal:#3B3531; --linen:#DCD4C6;
  --taupe:#C9BFB0; --muted:#5F594F; --edge:#DCD4C6; --dark-text:#BCB4A6; --ink-hover:#14120F;
  --gutter:clamp(16px, 5vw, 56px);
  --measure:62ch;
}
.band-dark, .foot { --ivory:var(--linen); }

:root {
  --fs-display: clamp(31px, 4.6vw, 44px);
  --fs-heading: clamp(24px, 2.85vw, 31px);
  --fs-subhead: 18.7px;
  --fs-lead: 18.7px;
  --fs-text: 17px;
  --fs-small: 14.3px;
  --fs-meta: 13.2px;
  --fs-price: 14.3px;
}
@media (max-width:720px) { h1 { font-weight:var(--w-display-sm); } }

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0; background:var(--ivory); color:var(--charcoal);
  font-family:var(--font-sans); font-weight:var(--w-text); font-size:var(--fs-text);
  line-height:var(--lh-text); letter-spacing:var(--t-text);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  font-variant-numeric:lining-nums; text-rendering:optimizeLegibility;
}
img, svg { max-width:100%; }
a { color:inherit; }
b, strong { font-weight:inherit; }
em, i { font-style:normal; }
:focus-visible { outline:2px solid var(--oxblood); outline-offset:3px; }
.band-dark :focus-visible, .foot :focus-visible { outline-color:var(--ivory); }
.wrap { width:100%; max-width:1080px; margin-inline:auto; padding-inline:var(--gutter); }
.skip { position:absolute; left:-999px; top:8px; z-index:100; background:var(--espresso); color:var(--ivory);
  padding:10px 16px; text-decoration:none; font-size:var(--fs-button); letter-spacing:var(--t-button); text-transform:uppercase; }
.skip:focus { left:8px; }

html[lang="nl"] [data-lang="en"], html[lang="en"] [data-lang="nl"] { display:none !important; }

.ph { background:rgba(95,89,79,.10); outline:1px dashed var(--muted); outline-offset:1px;
  padding:0 .3em; color:var(--oxblood); font-size:.92em; letter-spacing:.02em; white-space:nowrap; }
.band-dark .ph, .foot .ph { color:var(--ivory); }

h1 { font-size:var(--fs-display); font-weight:var(--w-display); letter-spacing:var(--t-display); line-height:var(--lh-display);
  color:var(--espresso); margin:0; max-width:22ch; text-wrap:balance; }
h2 { font-size:var(--fs-heading); font-weight:var(--w-heading); letter-spacing:var(--t-heading); line-height:var(--lh-heading);
  color:var(--espresso); margin:14px 0 0; max-width:26ch; text-wrap:balance; }
h3 { font-size:var(--fs-subhead); font-weight:var(--w-text); letter-spacing:var(--t-text); line-height:1.4; color:var(--espresso); margin:0 0 8px; }
p { margin:0; max-width:var(--measure); }
p, li { text-wrap:pretty; }
.lede { margin:18px 0 0; max-width:48ch; font-size:var(--fs-lead); font-weight:var(--w-lead); line-height:var(--lh-lead); }
.band-dark, .band-dark .lede, .band-dark p { color:var(--dark-text); }
.band-dark h2, .band-dark h3 { color:var(--ivory); }
.note { font-size:var(--fs-small); letter-spacing:var(--t-small); line-height:var(--lh-small); color:var(--muted); }
.eyebrow { display:block; font-size:var(--fs-label); font-weight:var(--w-label); letter-spacing:var(--t-label); line-height:1.4;
  text-transform:uppercase; color:var(--oxblood); text-wrap:balance; }
.band-dark .eyebrow { color:var(--ivory); }
.more { margin-top:clamp(26px,4vw,36px); }
.head-note { margin:14px 0 0; max-width:56ch; font-size:var(--fs-text); line-height:var(--lh-text); color:var(--charcoal); }
.head-note .link { display:table; margin-top:12px; white-space:nowrap; }
.head-note > span { display:block; }
.head-note > span + span { margin-top:6px; }
main, main *, .foot * { scroll-margin-top:84px; }

.logo { display:inline-flex; color:var(--espresso); }
.logo svg { width:100%; height:auto; display:block; }
.logo-header { width:122px; }
.logo-foot { width:168px; color:var(--ivory); }
.foot-name { font-size:var(--fs-meta); letter-spacing:.06em; line-height:1.9; color:var(--dark-text); }
.logo-404 { width:min(360px, 70vw); }

.bar {
  position:sticky; top:0; padding-top:env(safe-area-inset-top, 0px); z-index:20;
  background:rgba(244,240,233,.92); backdrop-filter:saturate(120%) blur(8px);
  -webkit-backdrop-filter:saturate(120%) blur(8px);
  border-bottom:1px solid var(--edge);
}
.bar-in { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-block:14px; }
.brand { text-decoration:none; }
.nav { display:flex; align-items:center; gap:26px; }
.nav a { text-decoration:none; font-size:var(--fs-nav); font-weight:var(--w-text); letter-spacing:var(--t-nav); line-height:1;
  text-transform:uppercase; color:var(--muted); padding-block:8px; }
.nav a:hover, .nav a[aria-current="page"] { color:var(--oxblood); }
.nav a[aria-current="page"] { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:6px; }
.bar-tools { display:flex; align-items:center; gap:16px; }
.bar .bar-in { max-width:none; }
@media (min-width:721px) { .bar-tools .lang { order:2; } }
.lang { display:flex; gap:2px; align-items:center; font-size:11px; letter-spacing:var(--t-nav); }
.lang button { font:inherit; letter-spacing:inherit; background:none; border:0; cursor:pointer;
  color:var(--muted); padding:8px 4px; text-transform:uppercase; font-weight:var(--w-text); }
.lang button[aria-pressed="true"] { color:var(--oxblood); font-weight:var(--w-label); }
.lang i { font-style:normal; color:var(--edge); }
.menu-btn { display:none; font:inherit; font-size:var(--fs-nav); letter-spacing:var(--t-nav); text-transform:uppercase;
  background:none; border:0; border-bottom:1px solid var(--edge); color:var(--muted); cursor:pointer; padding:8px 2px; }
.menu-btn[aria-expanded="true"] { color:var(--oxblood); border-color:var(--oxblood); }

.btn {
  display:inline-flex; align-items:center; justify-content:center; min-height:44px; text-decoration:none; text-align:center;
  font-size:var(--fs-button); font-weight:var(--w-text); letter-spacing:var(--t-button); line-height:1.4; text-transform:uppercase; text-wrap:balance;
  padding:11px 26px; background:var(--espresso); color:var(--ivory); border:1px solid var(--espresso); border-radius:4px;
  transition:background .18s ease, color .18s ease, border-color .18s ease;
}
.btn:hover { background:var(--ink-hover); border-color:var(--ink-hover); }
.btn-bar { display:none; }
.has-book .btn-bar { display:inline-flex; width:13em; padding-inline:0; white-space:nowrap; }
.btn-small { min-height:38px; padding:8px 20px; margin-top:14px; }

.qr { display:inline-flex; flex-direction:column; align-items:flex-start; gap:8px; margin-top:16px; text-decoration:none; }
.qr img { display:block; width:96px; height:96px; border-radius:4px; }
.qr span { font-size:var(--fs-meta); letter-spacing:.06em; color:var(--muted); }
.foot .qr span { color:var(--dark-text); }
a.qr, a.qr:hover, .foot-col a.qr, .foot-col a.qr:hover { border-bottom:0 !important; padding-block:0; }
.foot-col a.btn-ghost { color:var(--ivory); border:1px solid var(--ivory); padding:8px 9px 8px 12px; }
.foot-col a.btn-ghost:hover { background:var(--ivory); color:var(--espresso); border-color:var(--ivory); }
.btn-ghost { background:transparent; color:var(--espresso); }
.btn-ghost:hover { background:var(--espresso); color:var(--ivory); }
.band-dark .btn-ghost { color:var(--ivory); border-color:var(--ivory); }
.band-dark .btn-ghost:hover { background:var(--ivory); color:var(--espresso); }
.link { text-decoration:none; font-size:var(--fs-button); font-weight:var(--w-text); letter-spacing:var(--t-button); text-transform:uppercase;
  color:var(--oxblood); border-bottom:1px solid var(--edge); padding-bottom:3px; }
.link:hover { border-color:var(--oxblood); }
.more .link { display:inline-block; }
@media (max-width:480px) { .more .sep { display:none; } .more .link + .link { margin-top:12px; } .treatment .more .link { display:block; width:max-content; } }
.band-dark .link { color:var(--ivory); border-color:rgba(220,212,198,.32); }
.band-dark .link:hover { border-color:var(--ivory); }

:root { --fs-hero: clamp(44px, 6.15vw, 79px); --w-hero: var(--w-display); --lh-hero: 1.06; }
@media (max-width:720px) { :root { --w-hero: var(--w-display-sm); } }
.hero-b { min-height:calc(100vh - 72px); display:grid; grid-template-columns:44fr 56fr; padding:0;
  animation:hero-in 1.2s ease-out both; }
.hero-text { display:flex; flex-direction:column; justify-content:center;
  padding:clamp(40px,6vw,96px) clamp(32px,4vw,64px) clamp(48px,7vw,110px) var(--gutter); }
.hero-eyebrow { display:block; font-size:var(--fs-label); font-weight:var(--w-label); letter-spacing:var(--t-label);
  line-height:1.4; text-transform:uppercase; color:var(--oxblood); margin-bottom:26px; }
.h1-hero { font-size:var(--fs-hero); font-weight:var(--w-hero); line-height:var(--lh-hero); letter-spacing:-.005em;
  margin:0; max-width:12ch; text-wrap:balance; color:var(--espresso); }
.hero-cta { margin-top:40px; display:flex; align-items:center; gap:28px; flex-wrap:wrap; }
.hero-sub { margin:22px 0 0; font-size:var(--fs-subhead); font-weight:var(--w-lead); line-height:1.5; color:var(--charcoal); }
.hero-sub + .hero-cta { margin-top:32px; }
.hero-cta .link { font-size:var(--fs-button); }
.hero-photo { position:relative; margin:0; min-height:100%; overflow:hidden; background:var(--warmstone); }
.hero-photo img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:var(--hero-focus, 62% 50%); }
.hero-photo.is-placeholder { background:
    radial-gradient(70% 55% at 62% 38%, rgba(244,240,233,.55), rgba(244,240,233,0) 70%),
    radial-gradient(50% 70% at 20% 80%, rgba(74,61,50,.35), rgba(74,61,50,0) 70%),
    linear-gradient(155deg, #E9E2D6 0%, #D6CBBA 45%, #B9AA95 80%, #8F7D68 100%); }
.hero-photo .ph { position:absolute; left:50%; bottom:28px; transform:translateX(-50%); white-space:normal; text-align:center; max-width:30ch; }
@keyframes hero-in { from { opacity:0; } to { opacity:1; } }
@media (prefers-reduced-motion: reduce) { .hero-b { animation:none; } }

@media (min-width:761px) {
  .hero-full { position:relative; grid-template-columns:1fr; }
  .hero-full .hero-photo { position:absolute; inset:0; z-index:0; }
  .hero-full .hero-photo::after { content:""; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(90deg, rgba(244,240,233,.88) 0%, rgba(244,240,233,.6) 28%, rgba(244,240,233,0) 52%); }
  .hero-full .hero-text { position:relative; z-index:1; max-width:46%; }
}
@media (max-width:760px) {
  .hero-b { grid-template-columns:1fr; grid-template-rows:48vh auto; min-height:0; }
  .hero-photo { order:-1; min-height:48vh; }
  .hero-photo img { object-position:var(--hero-focus-sm, var(--hero-focus, 62% 50%)); }
  .hero-text { padding:26px var(--gutter) 32px; justify-content:flex-start; }
  .hero-eyebrow { margin-bottom:16px; } .hero-cta { margin-top:24px; }
  .hero-sub { margin-top:12px; } .hero-sub + .hero-cta { margin-top:20px; }
}

.band { background:var(--ivory); border-block:1px solid var(--edge); }
.band + .band, .band-dark + .band { border-top:0; }
.band:has(+ .band-dark) { border-bottom:0; }
.band-dark { background:var(--espresso); }
.atelier-in.atelier-text { display:block; text-align:center; max-width:var(--measure); margin-inline:auto; }
.atelier-text h2, .atelier-text .lede { margin-inline:auto; }
section { padding-block:clamp(52px, 9vw, 96px); }

.treatments { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap:clamp(28px,5vw,64px); margin-top:clamp(18px,3vw,28px); }
.treatment h3 { margin:0; font-size:var(--fs-display); font-weight:var(--w-heading); line-height:var(--lh-heading); color:var(--espresso); }
.treatment .lede { max-width:40ch; }

.list { list-style:none; margin:clamp(28px,5vw,44px) 0 0; padding:0; border-top:1px solid var(--edge); }
.row { display:flex; align-items:baseline; justify-content:space-between; gap:20px;
  padding-block:17px; border-bottom:1px solid var(--edge); }
.row-name { color:var(--espresso); font-weight:var(--w-text); }
.row-price { font-size:var(--fs-price); font-weight:var(--w-text); letter-spacing:var(--t-price); line-height:1; color:var(--oxblood);
  font-variant-numeric:tabular-nums lining-nums; white-space:nowrap; text-transform:uppercase; }

.steps { list-style:none; margin:clamp(28px,5vw,44px) 0 0; padding:0; counter-reset:step;
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(26px,5vw,52px); }
.steps li { counter-increment:step; border-top:1px solid var(--edge); padding-top:18px; }
.steps li::before { content:counter(step, decimal-leading-zero); display:block; font-size:var(--fs-label); font-weight:var(--w-label);
  letter-spacing:var(--t-label); color:var(--oxblood); margin-bottom:10px; font-variant-numeric:tabular-nums; }
.steps p { margin:0; }
@media (max-width:720px) { .steps { grid-template-columns:1fr; } }

.atelier-in { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);
  gap:clamp(30px,6vw,64px); align-items:center; }
.atelier-photo { margin:0; aspect-ratio:4/5; overflow:hidden; }
.atelier-photo img { display:block; width:100%; height:100%; object-fit:cover; }
@media (max-width:760px) { .atelier-in { grid-template-columns:1fr; } }

.cols { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(26px,5vw,52px); margin-top:clamp(28px,5vw,44px); }
@media (max-width:760px) { .cols { grid-template-columns:1fr; } }
.col h3 { font-size:var(--fs-label); font-weight:var(--w-label); letter-spacing:var(--t-label); line-height:1.4; text-transform:uppercase;
  color:var(--oxblood); margin:0 0 12px; }
.col p { margin:0; line-height:1.9; color:var(--charcoal); }
.col a { text-decoration:none; border-bottom:1px solid var(--muted); }
.col a:hover { border-color:var(--oxblood); color:var(--oxblood); }
.col a.btn-ghost { border:1px solid var(--espresso); color:var(--espresso); }
.col a.btn-ghost:hover { background:var(--espresso); color:var(--ivory); border-color:var(--espresso); }

.foot { background:var(--espresso); color:var(--dark-text);
  padding-block:clamp(46px,8vw,72px) calc(clamp(46px,8vw,72px) + env(safe-area-inset-bottom, 0px)); }
.foot-in { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:clamp(30px,6vw,64px); align-items:start; }
.foot-mark { display:flex; flex-direction:column; gap:14px; }
.foot-cols { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(20px,4vw,40px); }
.foot-col h3 { font-size:var(--fs-label); font-weight:var(--w-label); letter-spacing:var(--t-label); line-height:1.4; text-transform:uppercase;
  color:var(--ivory); margin:0 0 10px; }
.foot-col p { margin:0; font-size:var(--fs-meta); line-height:2.1; letter-spacing:.06em; color:var(--dark-text); }
.foot-col a { text-decoration:none; border-bottom:1px solid rgba(220,212,198,.6); display:inline-block; padding-block:3px; }
.foot-col a:hover { color:var(--ivory); border-color:var(--ivory); }
@media (max-width:760px) { .foot-in { grid-template-columns:1fr; } .foot-cols { grid-template-columns:1fr 1fr; } }
@media (max-width:480px) { .foot-cols { grid-template-columns:1fr; } }

.lost { min-height:70vh; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:28px; }
.lost h1 { margin:0; font-family:var(--font-sans); font-size:var(--fs-lead); font-weight:var(--w-lead); letter-spacing:0; line-height:1.5; color:var(--charcoal); max-width:none; text-wrap:unset; }

.dock { display:none; }
@media (max-width:1024px) {
  .js .nav { display:none; position:absolute; left:0; right:0; top:100%; flex-direction:column; align-items:stretch; gap:0;
    background:var(--ivory); border-bottom:1px solid var(--edge); padding:6px var(--gutter) 14px; }
  .js .nav.open { display:flex; }
  .js .nav a { padding-block:15px; border-bottom:1px solid var(--edge); font-size:13.2px; }
  .js .nav a:last-child { border-bottom:0; }
  .js .menu-btn { display:inline-block; }
  html:not(.js) .bar-in { flex-wrap:wrap; }
  html:not(.js) .nav { order:3; flex-basis:100%; flex-wrap:wrap; gap:14px 22px; padding-top:6px; }
}
@media (max-width:720px) {
  .btn-bar, .has-book .btn-bar { display:none; }
  .dock { display:block; position:fixed; left:0; right:0; bottom:0; z-index:30;
    background:rgba(244,240,233,.95); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
    border-top:1px solid var(--edge);
    padding:12px var(--gutter) calc(12px + env(safe-area-inset-bottom, 0px)); }
  .dock .btn { display:flex; width:100%; }
  .dock { transition:transform .25s ease, opacity .25s ease; }
  .dock.is-hidden { transform:translateY(110%); opacity:0; pointer-events:none; }
  .foot { padding-bottom:calc(clamp(46px,8vw,72px) + 72px + env(safe-area-inset-bottom, 0px)); }
  body:not(:has(> .dock)) .foot { padding-bottom:calc(clamp(46px,8vw,72px) + env(safe-area-inset-bottom, 0px)); }
  main *, .foot * { scroll-margin-bottom:calc(84px + env(safe-area-inset-bottom, 0px)); }
  .lang button { padding:10px 8px; }
}
@media (prefers-reduced-motion:reduce) { * { transition:none !important; } html { scroll-behavior:auto; } }

.page-head { padding-top:clamp(44px, 8vw, 88px); padding-bottom:clamp(28px, 5vw, 48px); }
.page-head h1 { margin-top:14px; max-width:24ch; }
.page-head .lede { max-width:56ch; }
.page-head-tight { padding-bottom:0; }
.page-head + section { padding-top:clamp(20px,4vw,36px); }
.page-head + section > .list:first-child { margin-top:0; }
.cta { margin-top:clamp(28px,5vw,40px); display:flex; gap:12px; flex-wrap:wrap; }
.closing { text-align:center; }
.closing h2, .closing .lede, .closing .more { margin-inline:auto; }
.closing .more { margin-top:clamp(22px,4vw,30px); }
.closing-left { text-align:left; }
.closing-left h2, .closing-left .lede, .closing-left .more { margin-inline:0; }
.closing-left h2 { max-width:22ch; }
.closing-left .lede { max-width:44ch; }

.prose { margin-top:clamp(22px,4vw,32px); }
.prose p { margin:0 0 1.1em; max-width:var(--measure); }
.prose p:last-child { margin-bottom:0; }
.prose p + h3 { margin-top:clamp(26px,4vw,34px); }
.prose .ph { white-space:normal; }
.note { margin-top:clamp(18px,3vw,26px); max-width:var(--measure); }

.plain { list-style:none; margin:clamp(14px,2.5vw,20px) 0 0; padding:0; max-width:var(--measure); }
.plain li { position:relative; padding-left:22px; margin:0 0 10px; color:var(--charcoal); }
.plain li::before { content:""; position:absolute; left:0; top:.72em; width:10px; height:1px; background:var(--oxblood); }
.plain li .ph { white-space:normal; }
.cols-2 { grid-template-columns:repeat(2, minmax(0,1fr)); }
.col .plain { margin-top:4px; }
.col .plain li { margin-bottom:12px; line-height:1.6; }

.policy { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:clamp(26px,5vw,52px);
  border:1px solid var(--edge); background:var(--ivory); padding:clamp(24px,4vw,40px); }
.policy h3 { font-size:var(--fs-label); font-weight:var(--w-label); letter-spacing:var(--t-label); line-height:1.4; text-transform:uppercase; color:var(--oxblood); margin-bottom:10px; }
.policy p { margin:0; color:var(--charcoal); line-height:1.7; }
.policy .ph { white-space:normal; }

.faq { margin-top:clamp(22px,4vw,36px); border-top:1px solid rgba(34,26,18,.14); max-width:var(--measure); }
.faq details { border-bottom:1px solid rgba(34,26,18,.14); }
.faq summary { list-style:none; cursor:pointer; padding:16px 36px 16px 0; position:relative; color:var(--espresso); font-size:var(--fs-subhead); line-height:1.4; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; position:absolute; right:4px; top:14px; color:var(--oxblood); font-weight:var(--w-heading); font-size:22px; line-height:1; }
.faq details[open] summary::after { content:"–"; }
.faq summary:hover { color:var(--oxblood); }
.faq p { margin:0 0 18px; color:var(--charcoal); max-width:var(--measure); }
.faq .ph { white-space:normal; }

.embed { border:1px solid var(--edge); background:var(--ivory); min-height:620px; }
.embed iframe { display:block; width:100%; height:720px; border:0; }
.embed-live { padding:0; min-height:720px; }
.embed-live .salonized-booking { min-height:720px; }
.embed-live:has(iframe), .embed-live:has(iframe) .salonized-booking { min-height:0; }
.embed-live { max-width:502px; }

.legal h2 { font-family:var(--font-sans); font-size:var(--fs-subhead); font-weight:var(--w-label); letter-spacing:var(--t-text); margin:clamp(28px,5vw,40px) 0 10px; color:var(--espresso); }
.legal p { margin:0 0 1em; max-width:var(--measure); }
.legal .plain { margin-top:6px; }
.legal .note { margin-top:0; }
.legal a { text-decoration:none; border-bottom:1px solid var(--muted); }
.legal a:hover { border-color:var(--oxblood); color:var(--oxblood); }

.steps-dark li { border-top-color:rgba(220,212,198,.22); }
.steps-dark li::before { color:var(--ivory); }
.steps-dark h3 { color:var(--ivory); }

@media (max-width:760px) {
  .cols-2 { grid-template-columns:1fr; }
  .policy { grid-template-columns:1fr; gap:22px; }
}

:root {
  --fs-hero: clamp(40px, 5.7vw, 74px);
  --lh-hero: 1.04;
  --fs-display: clamp(30px, 4.4vw, 42px);
}
h1, h2, .h1-hero, .treatment h3 {
  font-family:var(--font-serif); font-weight:var(--w-serif); font-optical-sizing:auto; }
h1 { letter-spacing:-.01em; line-height:1.12; }
h2 { letter-spacing:-.005em; line-height:1.18; }
.h1-hero { letter-spacing:-.015em; }
.treatment h3 { line-height:1.18; }

.page-home, .page-laser { --sp:clamp(56px,7vw,80px); --sp-in:clamp(32px,4vw,44px); }
.page-home main > section:not(.hero-b), .page-home main > div > section,
.page-laser main > section:not(.page-head), .page-laser main > div > section { padding-block:var(--sp); }
.page-home .closing > h2:first-child, .page-laser .closing > h2:first-child { margin-top:0; }

.split { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(28px,6vw,80px); align-items:start; }
.split-head { position:sticky; top:104px; }
.split-head h2 { max-width:14ch; }
.split-head .lede { max-width:34ch; }
.split .faq { margin-top:0; max-width:none; }
@media (max-width:860px) {
  .split { grid-template-columns:1fr; gap:0; }
  .split-head { position:static; }
  .split-head h2 { max-width:22ch; }
  .split-head .lede { max-width:48ch; }
  .split > :not(.split-head) { margin-top:clamp(26px,6vw,34px); }
}

@media (max-width:760px) {
  .page-home .hero-b { grid-template-rows:auto auto; }
  .page-home .hero-photo { min-height:0; height:clamp(260px, 48svh, 460px); }
  .page-home .hero-text { padding:28px var(--gutter) 34px; }
  .page-home .hero-eyebrow { margin-bottom:14px; }
  .page-home .hero-sub { margin-top:12px; }
  .page-home .hero-sub + .hero-cta { margin-top:22px; }
  .page-home .hero-cta { row-gap:16px; }
}
@media (max-width:760px) and (max-height:700px) { .page-home .hero-photo { height:42svh; } }

.page-home .h1-hero { max-width:9em; }
@media (min-width:761px) { .page-home .h1-hero { font-size:min(var(--fs-hero), 4.9vw); } }
@media (max-width:760px) { .page-home .h1-hero { font-size:min(var(--fs-hero), 12vw); } }

.page-home .after-hero { padding-top:clamp(64px,9vw,112px); }

.steps-rows { display:block; margin:0; }
.steps-rows li { display:grid; grid-template-columns:clamp(46px,6vw,76px) minmax(0,1fr); grid-template-rows:auto auto; align-items:baseline;
  column-gap:clamp(14px,2.4vw,28px); padding-block:clamp(22px,3vw,30px); border-top:1px solid var(--edge); }
.steps-rows li:last-child { border-bottom:1px solid var(--edge); }
.steps-rows li::before { grid-column:1; grid-row:1; margin:0; font-family:var(--font-serif); font-weight:var(--w-serif);
  font-size:clamp(28px,3vw,36px); line-height:1; letter-spacing:0; color:var(--espresso); }
.steps-rows h3 { grid-column:2; grid-row:1; margin:0; }
.steps-rows p { grid-column:2; grid-row:2; margin-top:8px; max-width:48ch; }
@media (max-width:600px) {
  .steps-rows li { grid-template-columns:38px minmax(0,1fr); column-gap:14px; padding-block:24px; }
  .steps-rows li::before { font-size:28px; }
  .steps-rows p { margin-top:6px; line-height:1.65; }
}

.treat-wide .treatment { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); column-gap:clamp(28px,6vw,80px);
  grid-template-areas:"title lede" "title list" "title more"; align-items:start; }
.treat-wide .treatment h3 { grid-area:title; margin-top:4px; }
.treat-wide .treatment .lede { grid-area:lede; margin-top:0; }
.treat-wide .treatment .list { grid-area:list; margin-top:clamp(22px,3vw,30px); }
.treat-wide .treatment .more { grid-area:more; }
.treat-more { display:flex; flex-wrap:wrap; align-items:center; gap:14px 26px; }
.treat-more .sep { display:none; }
@media (max-width:760px) {
  .treat-wide .treatment { grid-template-columns:1fr; grid-template-areas:"title" "lede" "list" "more"; }
  .treat-wide .treatment .lede { margin-top:14px; }
  .treat-more .btn { width:100%; }
}

.page-home .band-short > section { padding-block:clamp(48px,6vw,72px); }
.page-home .band-short .lede { max-width:36ch; }

.opening-split { display:grid; grid-template-columns:1fr; gap:clamp(12px,3vw,18px); align-items:baseline; }
.opening-split h2 { margin:0; max-width:none; text-wrap:wrap; }
.opening-split .lede { margin:0; }
@media (min-width:900px) {
  .opening-split { grid-template-columns:auto minmax(0,1fr); column-gap:clamp(40px,5vw,64px); }
  .opening-split h2 { white-space:nowrap; }
}

.page-laser .page-head { padding-bottom:clamp(36px,5vw,56px); }

.how { display:grid; grid-template-columns:1fr; gap:clamp(28px,6vw,80px); align-items:start; }
.how:has(> figure) { grid-template-columns:minmax(0,7fr) minmax(0,5fr); }
.how:not(:has(> figure)) .how-text { max-width:var(--measure); }
.how .rows { margin-top:clamp(24px,3.4vw,34px); }
.how > figure { position:sticky; top:104px; margin:0; aspect-ratio:4/5; max-width:100%; overflow:hidden; }
.how-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:var(--focus, 50% 50%); }
.rows .col { padding-block:clamp(18px,2.4vw,22px); border-top:1px solid var(--edge); }
.rows .col:last-child { border-bottom:1px solid var(--edge); }

.fold-item { border-bottom:1px solid var(--edge); }
.fold-item > summary { list-style:none; cursor:pointer; position:relative; padding:18px 40px 18px 0;
  font-size:var(--fs-label); font-weight:var(--w-label); letter-spacing:var(--t-label); line-height:1.4; text-transform:uppercase; color:var(--oxblood); }
.fold-item > summary::-webkit-details-marker { display:none; }
.fold-item > summary::after { content:"+"; position:absolute; right:4px; top:50%; transform:translateY(-52%);
  font-size:21px; font-weight:var(--w-heading); letter-spacing:0; line-height:1; color:var(--oxblood); }
.fold-item[open] > summary::after { content:"–"; }
.fold-item > summary:hover { color:var(--espresso); }
.fold-item > p { margin:0 0 14px; line-height:1.7; color:var(--charcoal); max-width:var(--measure); }
.fold-item > p:last-child { margin-bottom:22px; }
.fold-item > p + p { color:var(--muted); font-size:.94em; }
.fold-item > .plain { margin:0 0 20px; }
.rows .col p { line-height:1.7; }
@media (max-width:760px) { .how, .how:has(> figure) { grid-template-columns:1fr; } .how > figure { position:static; aspect-ratio:4/3; margin-top:clamp(26px,6vw,34px); } }

.groups { column-gap:clamp(28px,6vw,72px); }
.groups .col h3 { margin:0 0 12px; padding-bottom:10px; border-bottom:1px solid var(--espresso); }
.groups .col .plain { margin-top:0; }
.side-note { margin-top:var(--sp-in); padding-top:clamp(18px,3vw,24px); border-top:1px solid var(--edge); }

.care-groups { display:grid; gap:clamp(26px,4vw,36px); }
.grp-head { margin:0 0 12px; padding-bottom:10px; border-bottom:1px solid var(--espresso);
  font-size:var(--fs-label); font-weight:var(--w-label); letter-spacing:var(--t-label); line-height:1.4; text-transform:uppercase; color:var(--oxblood); }
.grp .plain { margin-top:0; }
.care-notes { margin-top:clamp(26px,4vw,36px); padding-top:clamp(18px,3vw,24px); border-top:1px solid var(--edge); }

.timeline { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:clamp(28px,5vw,64px); margin-top:clamp(26px,4vw,40px); }
.tl-head { margin:0 0 6px; font-size:var(--fs-label); font-weight:var(--w-label); letter-spacing:var(--t-label); line-height:1.4; text-transform:uppercase; color:var(--oxblood); }
.tl { list-style:none; margin:0; padding:0; border-top:1px solid var(--espresso); }
.tl li { padding-block:14px 16px; border-bottom:1px solid var(--edge); }
.tl-when { display:block; color:var(--espresso); font-weight:var(--w-label); font-size:var(--fs-text); line-height:1.45; }
.tl-what { display:block; margin-top:4px; color:var(--charcoal); line-height:1.65; }
.tl-what::first-letter { text-transform:uppercase; }
.tl-note { margin-top:16px; font-size:var(--fs-small); line-height:var(--lh-small); color:var(--muted); }
@media (min-width:761px) {
  .schedule { grid-template-columns:1fr; gap:var(--sp-in); }
  .schedule .tl li { display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); column-gap:clamp(24px,4vw,48px); align-items:baseline; padding-block:16px; }
  .schedule .tl-what { margin-top:0; }
  .schedule .tl-note { max-width:var(--measure); }
}
@media (max-width:760px) {
  .timeline { grid-template-columns:1fr; gap:var(--sp-in); }
  .tl li { padding-block:16px 18px; }
  .tl-what { margin-top:6px; line-height:1.7; }
  .tl-note { margin-top:18px; }
  .page-laser .plain li { margin-bottom:12px; line-height:1.65; }
}

.page-laser .faq summary { padding-block:18px; }
.page-laser .faq summary::after { top:17px; }
.page-laser .faq details[open] summary { color:var(--oxblood); }
.page-laser .faq details[open] > p:last-child { margin-bottom:22px; }
.page-laser .faq details > p { padding-right:36px; }
@media (max-width:600px) { .page-laser .faq summary { font-size:17.5px; } .page-laser .faq details > p { padding-right:0; } }

.pl-head { padding-bottom:clamp(24px,4vw,40px); }

.pl-sec { padding-top:0 !important; padding-bottom:clamp(44px,7vw,72px); }
.pl { list-style:none; margin:0; padding:0; border-top:1px solid var(--taupe); }
.pl-row { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:clamp(20px,4vw,56px); align-items:baseline;
  padding-block:clamp(20px,2.4vw,26px) clamp(20px,2.6vw,28px); border-bottom:1px solid var(--edge); }
.pl-name { grid-column:1; grid-row:1; margin:0; max-width:none; font-family:var(--font-serif); font-weight:500;
  font-size:clamp(20px,1.9vw,22px); letter-spacing:.14em; line-height:1.2; text-transform:uppercase; color:var(--espresso); }
.pl-price { grid-column:2; grid-row:1; margin:0; max-width:none; font-family:var(--font-serif); font-weight:500; font-optical-sizing:auto;
  font-size:clamp(25px,2.4vw,30px); line-height:1; letter-spacing:0; color:var(--espresso); white-space:nowrap; text-align:right; font-variant-numeric:lining-nums; }
.pl-price .cur { font-size:.8em; }
.pl-zones { grid-column:1; grid-row:2; margin:10px 0 0; max-width:none; font-size:var(--fs-text); line-height:1.65; color:var(--charcoal); }
.pl-zones .zu { display:inline-block; }
.pl-zones .zu::first-letter, .pl-desc::first-letter { text-transform:uppercase; }
.pl-zones .dot { color:var(--muted); padding-right:.12em; }
.pl-free { font-weight:500; font-size:clamp(18px,1.7vw,20px); letter-spacing:.14em; text-transform:uppercase; color:var(--oxblood); }
.pl-consult { border-bottom-color:var(--taupe); }
.pl-consult .pl-zones { color:var(--muted); font-size:var(--fs-small); }
.pl + .note { margin-top:clamp(20px,3vw,28px); }
.pl ~ .note + .note { margin-top:8px; }
@media (max-width:600px) {
  .pl-row { column-gap:16px; padding-block:18px 20px; }
  .pl-name { font-size:19px; letter-spacing:.12em; }
  .pl-price { font-size:24px; }
  .pl-free { font-size:15px; letter-spacing:.08em; }
  .pl-consult .pl-name { font-size:18px; letter-spacing:.09em; }
  .pl-zones { margin-top:10px; font-size:16px; line-height:1.85; letter-spacing:.005em; }
  .pl-consult .pl-zones { line-height:1.6; }
}

.cpanel-sec { padding-top:0 !important; }
.cpanel { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); background:var(--warmstone);
  padding:clamp(28px,4.4vw,52px) clamp(22px,4.4vw,56px); }
.cpanel-text { padding-right:clamp(24px,4vw,52px); }
.cpanel-text h2 { margin-top:12px; }
.cpanel-text .prose { margin-top:clamp(18px,2.6vw,24px); }
.cpanel-text .prose h3 { margin-top:clamp(22px,3vw,28px); }
.cpanel-bill { border-left:1px solid var(--taupe); padding-left:clamp(24px,4vw,52px); }
.cbill-label { margin:0 0 10px; font-size:var(--fs-label); font-weight:var(--w-label); letter-spacing:var(--t-label); line-height:1.4; text-transform:uppercase; color:var(--oxblood); }
.cbill-lines { list-style:none; margin:0; padding:0; }
.cbill-lines li, .cbill-row { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin:0; max-width:none; }
.cbill-lines li { padding-block:5px; color:var(--espresso); }
.cbill-lines li > span:last-child, .cbill-row > span:last-child { font-variant-numeric:tabular-nums lining-nums; white-space:nowrap; }
.cbill-row { padding-block:5px; color:var(--charcoal); }
.cbill-sum { margin-top:10px; padding-top:14px; border-top:1px solid var(--taupe); }
.cbill-total { margin-top:12px; padding-top:16px; border-top:1px solid var(--espresso); color:var(--espresso); }
.cbill-total > span:first-child { font-weight:var(--w-label); }
.cbill-total > span:last-child { font-family:var(--font-serif); font-weight:500; font-size:clamp(28px,2.8vw,34px); line-height:1; }
@media (max-width:760px) {
  .cpanel { grid-template-columns:1fr; }
  .cpanel-text { padding-right:0; }
  .cpanel { padding:30px 22px 32px; }
  .cpanel-text .prose { margin-top:16px; }
  .cpanel-text .prose p { margin-bottom:1em; }
  .cpanel-text .prose p:last-child { margin-bottom:0; }
  .cpanel-text .prose h3 { margin-top:24px; margin-bottom:6px; }
  .cpanel-bill { border-left:0; padding-left:0; border-top:1px solid var(--taupe); margin-top:28px; padding-top:24px; }
  .cbill-label { margin-bottom:12px; }
  .cbill-lines li, .cbill-row { padding-block:6px; }
  .cbill-sum { margin-top:12px; padding-top:14px; }
  .cbill-total { margin-top:14px; padding-top:18px; }
  .cbill-total > span:last-child { font-size:28px; }
}

.page-prijzen { --sp:clamp(56px,7vw,80px); --sp-in:clamp(32px,4vw,44px); }
.page-prijzen .pl-sec { padding-bottom:var(--sp); }
.page-prijzen .cpanel-sec { padding-bottom:var(--sp); }
.page-prijzen .band > section { padding-block:var(--sp); }
.page-prijzen .band:has(+ .band) > section { padding-bottom:var(--sp-in); }
.page-prijzen .band + .band > section { padding-top:0; }
.page-prijzen .closing { padding-block:var(--sp); }
.page-prijzen .closing h2 { margin-top:0; }
.page-prijzen .band + .band { border-top:0; }
.page-prijzen .band:has(+ .band) { border-bottom:0; }
.closing .more .btn { min-width:13em; }

.note-rules { max-width:66ch; font-size:var(--fs-text); letter-spacing:var(--t-text); line-height:var(--lh-text); color:var(--espresso); }
.note-rules span { display:block; }
.note-rules span + span { margin-top:8px; }
.note-price { margin:14px 0 0; max-width:62ch; font-size:var(--fs-text); line-height:var(--lh-text); color:var(--espresso); }
.note-price + .note { margin-top:10px; }
.note-rules span, .note-price, .page-head-tight .lede, .head-note > span { text-wrap:balance; }
.note:has(+ .embed) { text-wrap:balance; }
.note + .embed { margin-top:14px; }
