:root {
  --ink: #2b241d;
  --muted: #71665b;
  --paper: #fbf8f2;
  --cream: #f3eadc;
  --beige: #dfcfba;
  --gold: #b68a45;
  --gold-dark: #8d672f;
  --line: rgba(74, 57, 39, .16);
  --shadow: 0 28px 80px rgba(86, 61, 31, .14);
  --serif: "Manrope", "Segoe UI", sans-serif;
  --sans: "Manrope", "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); line-height: 1.55; overflow-x: hidden; }
body::before { display: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
:focus-visible { outline: 2px solid var(--gold-dark); outline-offset: 4px; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; background: #fff; padding: .8rem 1rem; }
.skip-link:focus { top: 1rem; }

.site-header { position: fixed; top: 0; left: 0; width: 100%; min-height: 84px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: .7rem clamp(1rem, 4vw, 4rem); z-index: 40; border-bottom: 1px solid transparent; transition: .35s ease; }
.site-header.scrolled { min-height: 70px; background: rgba(251,248,242,.88); backdrop-filter: blur(18px); border-color: var(--line); }
.brand { justify-self: start; display: flex; align-items: center; gap: .65rem; letter-spacing: .18em; font-size: .78rem; }
.brand img { width: 50px; height: 50px; object-fit: contain; }
.brand strong { font-weight: 700; }
nav { display: flex; gap: clamp(1rem, 2.2vw, 2.4rem); font-size: .76rem; text-transform: uppercase; letter-spacing: .12em; }
nav a { position: relative; }
nav a::after { content: ""; position: absolute; left: 0; bottom: -.5rem; width: 0; height: 1px; background: var(--gold-dark); transition: width .25s; }
nav a:hover::after { width: 100%; }
.header-cta { justify-self: end; }
.menu-toggle { display: none; border: 0; background: transparent; padding: .6rem; }
.menu-toggle span { display: block; width: 26px; height: 1px; background: var(--ink); margin: 6px 0; }

.button { display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--ink); color: #fff; background: var(--ink); min-height: 52px; padding: .85rem 1.5rem; cursor: pointer; text-transform: uppercase; letter-spacing: .12em; font-size: .72rem; transition: transform .25s, background .25s, color .25s; }
.button:hover { transform: translateY(-3px); background: var(--gold-dark); border-color: var(--gold-dark); }
.button-small { min-height: 43px; padding: .65rem 1rem; }
.button-light { background: #fff; border-color: #fff; color: var(--ink); }
.button-light:hover { background: var(--cream); color: var(--ink); }
.text-link, .card-link { display: inline-flex; gap: .8rem; align-items: center; border: 0; background: transparent; padding: .3rem 0; cursor: pointer; font-size: .82rem; letter-spacing: .06em; border-bottom: 1px solid currentColor; }
.text-link span, .card-link span { transition: transform .25s; }
.text-link:hover span, .card-link:hover span { transform: translate(3px, 3px); }
.text-link-light { color: #fff; }
.eyebrow { margin: 0 0 1.2rem; color: var(--gold-dark); text-transform: uppercase; letter-spacing: .2em; font-size: .72rem; font-weight: 700; }
h1, h2, h3 { font-family: var(--serif); font-weight: 400; margin-top: 0; line-height: .98; }
h1 { font-size: clamp(4.1rem, 8vw, 8.5rem); letter-spacing: -.055em; max-width: 8ch; }
h1 { font-size: clamp(4.1rem, 7vw, 7.8rem); max-width: 12ch; }
h1 em { font-weight: 400; color: var(--gold-dark); }
h2 { font-size: clamp(3rem, 5.7vw, 6.2rem); letter-spacing: -.045em; }
h3 { font-size: clamp(2rem, 3vw, 2.8rem); }
.section { position: relative; padding: clamp(6rem, 10vw, 10rem) clamp(1.25rem, 6vw, 7rem); }
.section-number { position: absolute; left: clamp(1.25rem, 3vw, 3rem); top: 3rem; color: var(--gold); font-size: .7rem; letter-spacing: .18em; }

.hero { height: 175svh; background: linear-gradient(135deg, #fbf8f2 0%, #efe2d0 100%); }
.hero-inner { position: sticky; top: 0; height: 100svh; display: grid; grid-template-columns: minmax(0,1.05fr) minmax(420px,.95fr); align-items: center; gap: 2rem; padding: 8rem clamp(1.25rem, 6vw, 7rem) 4rem; overflow: hidden; isolation: isolate; }
.hero-backdrop { position: absolute; inset: 0; z-index: 0; opacity: var(--hero-backdrop-opacity,0); pointer-events: none; overflow: hidden; }
.hero-backdrop img { width: 100%; height: 100%; object-fit: cover; object-position: center 35%; transform: scale(var(--hero-backdrop-scale,1.18)); }
.hero-backdrop::after { content: ""; position: absolute; inset: 0; background: rgba(30,21,14,.58); }
.hero-scroll-message { position: absolute; z-index: 3; left: 8vw; bottom: 14vh; max-width: 11ch; color: white; font-family: var(--serif); font-size: clamp(3.8rem,8vw,8rem); line-height: .95; letter-spacing: -.045em; opacity: var(--hero-message-opacity,0); transform: translateY(var(--hero-message-y,35px)); pointer-events: none; }
.hero-scroll-message em { color: #dfbd87; }
.hero-copy { z-index: 2; padding-top: 2rem; }
.hero-lead { max-width: 560px; font-size: clamp(1.05rem, 1.6vw, 1.35rem); color: var(--muted); }
.hero-actions { display: flex; align-items: center; gap: 2rem; margin: 2.5rem 0 3rem; flex-wrap: wrap; }
.trust-row { display: flex; gap: 1.5rem; flex-wrap: wrap; color: var(--muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; }
.trust-row i { color: var(--gold); font-style: normal; margin-right: .4rem; }
.hero-art { position: relative; min-height: min(78vh, 760px); display: grid; place-items: center; z-index: 1; }
.logo-stage { width: min(88%, 660px); aspect-ratio: 1; display: grid; place-items: center; filter: drop-shadow(0 40px 45px rgba(71,48,28,.27)); }
.logo-stage img { width: 100%; }
.floating-note { position: absolute; min-width: 180px; padding: .85rem 1rem; background: rgba(255,255,255,.76); backdrop-filter: blur(14px); border: 1px solid rgba(182,138,69,.25); box-shadow: 0 15px 40px rgba(75,52,25,.12); font-size: .75rem; letter-spacing: .05em; }
.floating-note span { color: var(--gold-dark); margin-right: .8rem; }
.note-one { left: 0; top: 26%; }
.note-two { right: -2%; bottom: 24%; }
.scroll-cue { position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: .7rem; font-size: .65rem; text-transform: uppercase; letter-spacing: .18em; }
.hero .scroll-cue { opacity: var(--hero-content-opacity,1); }
.scroll-cue span { width: 36px; height: 1px; background: var(--ink); }

.intro { display: grid; grid-template-columns: 1.4fr .6fr; gap: 8vw; background: #fff; }
.intro-statement { padding-left: 6vw; }
.intro-statement h2 { max-width: 11ch; }
.intro-copy { align-self: end; max-width: 420px; padding-bottom: 2rem; color: var(--muted); }
.round-link { margin-top: 2rem; width: 64px; height: 64px; border: 1px solid var(--gold); background: transparent; cursor: pointer; color: var(--gold-dark); font-size: 1.4rem; transition: .25s; }
.round-link:hover { color: #fff; background: var(--gold-dark); transform: rotate(45deg); }

.services { background: var(--cream); }
.section-head { display: grid; grid-template-columns: 1fr minmax(280px, 400px); gap: 3rem; align-items: end; margin-bottom: 4rem; }
.section-head h2 { margin-bottom: 0; }
.section-head > p { color: var(--muted); }
.service-grid { display: grid; grid-template-columns: repeat(4,1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-card { position: relative; min-height: 480px; padding: 2rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); display: flex; flex-direction: column; transition: .35s ease; overflow: hidden; }
.service-card:hover { background: #fff; transform: translateY(-8px); box-shadow: var(--shadow); z-index: 2; }
.service-primary { background: var(--ink); color: #fff; }
.service-primary p { color: #d5cbc0 !important; }
.service-index { font-size: .7rem; color: var(--gold); letter-spacing: .1em; }
.service-icon { font-family: var(--serif); font-size: 4.5rem; line-height: 1; color: var(--gold); margin: 4.5rem 0 2rem; }
.service-card h3 { margin-bottom: 1.2rem; }
.service-card p { color: var(--muted); font-size: .92rem; }
.service-card .card-link { margin-top: auto; width: fit-content; }
.soon-label { position: absolute; top: 2rem; right: 1.5rem; color: var(--gold-dark); font-size: .62rem; text-transform: uppercase; letter-spacing: .14em; }

.consultation { display: grid; grid-template-columns: .9fr 1.1fr; gap: 8vw; background: #fff; align-items: center; }
.consultation-visual { min-height: 650px; background: linear-gradient(145deg,#d6c0a6,#f7efe5); position: relative; display: grid; place-items: center; overflow: hidden; }
.consultation-mark { position: relative; z-index: 2; padding: 1.5rem 2.3rem; border: 1px solid rgba(255,255,255,.65); background: rgba(65,43,25,.38); backdrop-filter: blur(8px); color: white; font-family: var(--serif); font-size: 4rem; letter-spacing: .12em; line-height: 1; }
.consultation-mark small { display: block; margin-top: .7rem; font-family: var(--sans); font-size: .55rem; letter-spacing: .4em; text-align: center; }
.consultation-visual > p { position: absolute; z-index: 2; bottom: 2rem; left: 2rem; right: 2rem; background: rgba(255,255,255,.83); padding: 1.5rem; font-family: var(--serif); font-size: 1.5rem; }
.consultation-copy ol { list-style: none; padding: 0; margin: 3rem 0; }
.consultation-copy li { display: grid; grid-template-columns: 50px 1fr; gap: 1rem; padding: 1.4rem 0; border-top: 1px solid var(--line); }
.consultation-copy li > span { color: var(--gold); font-size: .7rem; }
.consultation-copy strong { font-family: var(--serif); font-size: 1.6rem; font-weight: 400; }
.consultation-copy li p { color: var(--muted); margin: .5rem 0 0; }

.team { background: #f2e8da; }
.team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.person-card { display: grid; grid-template-columns: minmax(220px,.9fr) 1.1fr; min-height: 440px; background: #fff; }
.person-photo { min-height: 440px; background: #d7c4ab; }
.pending-photo { display: grid; place-items: center; align-content: center; gap: 1rem; background: linear-gradient(145deg,#fff8eb,#c8aa80); position: relative; overflow: hidden; }
.pending-photo span { font-family: var(--serif); font-size: 5rem; z-index: 1; color: rgba(79,55,32,.62); }
.pending-photo small { z-index: 1; text-transform: uppercase; letter-spacing: .16em; }
.person-info { align-self: end; padding: 2.2rem; }
.person-info p { color: var(--gold-dark); text-transform: uppercase; font-size: .65rem; letter-spacing: .14em; }
.person-info h3 { margin-bottom: .8rem; }
.person-info span { color: var(--muted); }

.credentials { background: #fff; display: grid; grid-template-columns: .85fr 1.15fr; gap: 8vw; align-items: center; }
.credential-copy h2 { max-width: 9ch; }
.credential-copy > p:not(.eyebrow) { color: var(--muted); max-width: 470px; }
.certificate-card { border: 0; background: var(--cream); padding: 1.5rem; cursor: zoom-in; box-shadow: var(--shadow); transform: rotate(1.5deg); transition: transform .35s; }
.certificate-card:hover { transform: rotate(0) scale(1.02); }
.certificate-card img { width: 100%; max-height: 680px; object-fit: contain; background: #fff; }
.certificate-card span { display: block; text-align: left; padding: 1rem .5rem 0; color: var(--muted); font-size: .75rem; letter-spacing: .08em; }

.voucher { padding-top: 2rem; background: #fff; }
.voucher-card { min-height: 360px; display: grid; grid-template-columns: 180px 1fr auto; align-items: center; gap: 3rem; padding: clamp(2rem,5vw,5rem); background: var(--ink); color: #fff; position: relative; overflow: hidden; }
.voucher-card::after { content: "GIFT"; position: absolute; right: -2rem; top: -5rem; font-family: var(--serif); font-size: 18rem; color: rgba(255,255,255,.035); }
.voucher-card h2 { margin-bottom: 1rem; }
.voucher-card p { color: #d5cbc0; max-width: 600px; }
.voucher-seal img { filter: drop-shadow(0 16px 25px rgba(0,0,0,.35)); }

.region { display: grid; grid-template-columns: 1.2fr .8fr; gap: 5vw; align-items: stretch; background: var(--cream); }
.region-copy h2 { max-width: 11ch; }
.region-copy > p:not(.eyebrow) { max-width: 700px; color: var(--muted); margin-bottom: 2rem; }
.address-card { min-height: 420px; background: #fff; padding: 3rem; display: flex; flex-direction: column; justify-content: end; box-shadow: var(--shadow); }
.address-pin { font-size: 3rem; color: var(--gold); margin-bottom: auto; }
.address-card p { font-family: var(--serif); font-size: 2.2rem; margin: 0; }
.address-card strong { font-size: 1rem; margin-bottom: 1.5rem; }
.address-card a { color: var(--muted); margin-top: .35rem; }

.faq { background: #fff; }
.accordion { max-width: 1100px; margin-left: auto; }
.accordion details { border-top: 1px solid var(--line); padding: 1.5rem 0; }
.accordion details:last-child { border-bottom: 1px solid var(--line); }
.accordion summary { cursor: pointer; font-family: var(--serif); font-size: clamp(1.5rem,2.6vw,2.3rem); list-style: none; display: flex; justify-content: space-between; }
.accordion summary::after { content: "+"; color: var(--gold); }
.accordion details[open] summary::after { content: "−"; }
.accordion details p { max-width: 750px; color: var(--muted); }

.final-cta { background: var(--gold-dark); color: #fff; text-align: center; min-height: 580px; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.final-cta .eyebrow { color: #eeddbf; }
.final-cta h2 { font-size: clamp(4rem,9vw,9rem); margin-bottom: 1rem; }
.final-cta > p:not(.eyebrow) { max-width: 650px; color: #f0e6d5; }
.final-cta > div { display: flex; gap: 2rem; align-items: center; margin-top: 2rem; flex-wrap: wrap; justify-content: center; }

footer { position: relative; display: grid; grid-template-columns: 1.6fr repeat(3,1fr); gap: 3rem; padding: 5rem clamp(1.25rem,6vw,7rem) 7rem; background: #1f1a15; color: #fff; }
.footer-brand img { width: 110px; margin-bottom: 1rem; }
.footer-brand span { letter-spacing: .2em; }
footer strong { display: block; color: #c7a56d; text-transform: uppercase; font-size: .7rem; letter-spacing: .13em; margin-bottom: 1.2rem; }
footer a, footer button, footer p { display: block; color: #cfc7be; margin: .45rem 0; }
footer button { border: 0; background: transparent; padding: 0; cursor: pointer; }
.footer-bottom { position: absolute; bottom: 1.5rem; left: clamp(1.25rem,6vw,7rem); font-size: .7rem; }
.mobile-actions { display: none; }

.dialog, .image-dialog { width: min(760px, calc(100% - 2rem)); border: 0; padding: 0; color: var(--ink); background: var(--paper); box-shadow: 0 40px 120px rgba(0,0,0,.35); }
.dialog::backdrop, .image-dialog::backdrop { background: rgba(27,21,16,.68); backdrop-filter: blur(8px); }
.dialog-close { position: absolute; right: 1rem; top: 1rem; z-index: 2; border: 1px solid var(--line); background: rgba(255,255,255,.8); width: 42px; height: 42px; cursor: pointer; font-size: 1.5rem; }
#dialog-content { padding: clamp(2rem,6vw,5rem); }
#dialog-content h2 { font-size: clamp(2.8rem,6vw,5rem); }
#dialog-content > p { color: var(--muted); }
.contact-form { display: grid; gap: 1rem; margin-top: 2rem; }
.field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.contact-form label { display: grid; gap: .45rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--muted); }
.contact-form input, .contact-form textarea, .contact-form select { width: 100%; border: 1px solid var(--line); background: #fff; padding: .9rem; color: var(--ink); }
.contact-form textarea { min-height: 120px; resize: vertical; }
.form-note { font-size: .72rem; color: var(--muted); }
.amounts { display: flex; gap: .7rem; flex-wrap: wrap; margin: 2rem 0; }
.amounts button { border: 1px solid var(--gold); background: transparent; padding: .8rem 1rem; cursor: pointer; }
.amounts button.active { background: var(--gold-dark); color: #fff; }
.legal-copy { max-height: 70vh; overflow: auto; padding-right: 1rem; }
.legal-copy h3 { font-size: 1.7rem; margin-top: 2rem; }
.legal-copy p { color: var(--muted); }
.image-dialog { width: min(920px, calc(100% - 2rem)); padding: 1rem; background: #fff; }
.image-dialog img { width: 100%; max-height: 88vh; object-fit: contain; }

.reveal { opacity: 0; transform: translateY(32px); transition: opacity .8s ease, transform .8s ease; }
.reveal.visible { opacity: 1; transform: none; }

/* Editorial imagery and movement for the Zen Beauty preview */
.scroll-progress { position: fixed; inset: 0 0 auto; height: 3px; z-index: 80; pointer-events: none; }
.scroll-progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,#8d672f,#e6c991,#8d672f); transform: scaleX(0); transform-origin: left; }
.hero-art { isolation: isolate; }
.hero-portrait { position: absolute; inset: 5% 8% 7% 16%; overflow: hidden; box-shadow: 0 40px 85px rgba(77,52,31,.18); }
.hero-portrait::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(42,27,18,.28),transparent 42%); pointer-events: none; }
.hero-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.12) translateY(var(--hero-shift,0px)); }
.hero-art .logo-stage { position: absolute; width: 42%; min-width: 220px; left: -6%; bottom: 0; z-index: 3; filter: drop-shadow(0 24px 24px rgba(42,27,18,.28)); }
.hero-art .floating-note { z-index: 4; }
.hero-art .note-one { left: auto; right: 1%; top: 16%; }
.hero-art .note-two { right: 1%; bottom: 17%; }
.mood-label { position: absolute; right: 11%; bottom: 10%; z-index: 2; color: #fff; font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; text-shadow: 0 2px 8px #1b130f; }
.editorial-strip { overflow: hidden; background: var(--ink); color: #f7eee1; padding: .7rem 0 .85rem; white-space: nowrap; font-family: var(--serif); font-size: clamp(1.7rem,3vw,3rem); letter-spacing: .09em; }
.editorial-strip div { width: max-content; transform: translateX(var(--strip-shift,0px)); will-change: transform; }
.editorial-strip span { color: #d3ac70; font-family: var(--sans); font-size: .4em; vertical-align: middle; margin: 0 1.4rem; }
.intro { grid-template-columns: 1.1fr .65fr; }
.intro-image { grid-column: 1 / -1; position: relative; height: min(50vw,440px); margin: 3rem 0 -2rem 15vw; overflow: hidden; }
.intro-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 53%; }
.intro-image figcaption { position: absolute; bottom: 0; right: 0; background: var(--paper); padding: 1.1rem 1.5rem; font-family: var(--serif); font-size: clamp(1.2rem,2vw,2rem); }
.image-reveal { clip-path: inset(0 100% 0 0); transition: clip-path 1.15s cubic-bezier(.2,.7,.2,1); }
.image-reveal.visible, .visible .image-reveal { clip-path: inset(0 0 0 0); }
.service-grid { gap: .9rem; border: 0; }
.service-card { min-height: 560px; border: 1px solid var(--line); background: #fffaf3; padding: 1rem 1rem 1.7rem; }
.service-card:hover { transform: translateY(-10px); }
.service-primary, .service-primary:hover { background: var(--ink); color: #fff; }
.service-index { padding: .4rem .45rem 1rem; }
.service-image { height: clamp(180px,17vw,250px); overflow: hidden; margin: 0 0 1.5rem; background: #dac9b7; }
.service-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.service-card:hover .service-image img { transform: scale(1.06); }
.service-card h3, .service-card p, .service-card .card-link { margin-left: .45rem; margin-right: .45rem; }
.service-card h3 { font-size: clamp(1.8rem,2.55vw,2.6rem); }
.service-soon .soon-label { top: 1.25rem; right: 1.5rem; }
.consultation-visual { background: #4b3629; }
.consultation-photo { position: absolute; inset: 0; width: 100%; height: 110%; object-fit: cover; object-position: 54% center; transform: translateY(var(--consultation-shift,0px)); opacity: .82; }
.consultation-visual::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(0deg,rgba(31,23,17,.34),transparent 65%); }
.consultation-visual > p { z-index: 3; }
.visual-disclaimer { color: var(--muted); font-size: .8rem; margin: -2rem 0 2rem; }
.person-card:first-child .pending-photo { background: linear-gradient(rgba(223,207,186,.32),rgba(97,68,43,.3)), url('assets/spa-still-life.jpg') center / cover; }
.person-card:last-child .pending-photo { background: linear-gradient(rgba(223,207,186,.32),rgba(97,68,43,.3)), url('assets/beauty-product.jpg') 42% center / cover; }
.pending-photo span, .pending-photo small { color: #fff; text-shadow: 0 2px 12px rgba(45,30,17,.55); }
.photo-note { grid-column: 1 / -1; font-size: .68rem; margin: 0; color: #aa9b89; }
.photo-note a { display: inline; text-decoration: underline; }
.reveal[data-reveal="left"] { transform: translateX(-65px); }
.reveal[data-reveal="right"] { transform: translateX(65px); }
.reveal[data-reveal="scale"] { transform: scale(.94); }
.reveal.visible { transform: none; }
.hero .hero-copy.visible { opacity: var(--hero-content-opacity,1); transform: translateY(var(--hero-copy-y,0px)); }
.hero .hero-art.visible { opacity: var(--hero-content-opacity,1); transform: translateX(var(--hero-art-x,0px)) scale(var(--hero-art-scale,1)); }
.hero.scroll-active .hero-copy.visible, .hero.scroll-active .hero-art.visible { transition: none; }
.service-card:nth-child(2) { transition-delay: .08s; }
.service-card:nth-child(3) { transition-delay: .16s; }
.service-card:nth-child(4) { transition-delay: .24s; }
@media (max-width: 1100px) {
  .site-header { grid-template-columns: 1fr auto; }
  nav { position: fixed; inset: 70px 1rem auto; display: none; background: #fff; padding: 1.5rem; box-shadow: var(--shadow); flex-direction: column; }
  nav.open { display: flex; }
  .header-cta { display: none; }
  .menu-toggle { display: block; justify-self: end; }
  .hero-inner { grid-template-columns: 1fr 420px; }
  .service-grid { grid-template-columns: 1fr 1fr; }
  .person-card { grid-template-columns: 1fr; }
  .person-info { align-self: auto; }
  .voucher-card { grid-template-columns: 120px 1fr; }
  .voucher-card .button { grid-column: 2; justify-self: start; }
}

@media (max-width: 760px) {
  body { padding-bottom: 62px; }
  .site-header { min-height: 68px; padding: .45rem 1rem; background: rgba(251,248,242,.9); backdrop-filter: blur(14px); }
  .brand img { width: 45px; height: 45px; }
  .hero { height: auto; }
  .hero-inner { position: relative; height: auto; min-height: 100svh; grid-template-columns: 1fr; padding: 7rem 1.25rem 4rem; }
  .hero-backdrop, .hero-scroll-message { display: none; }
  .hero-copy { order: 1; }
  .hero-art { min-height: 390px; order: 2; }
  .logo-stage { width: min(96%, 420px); }
  .floating-note { min-width: 150px; font-size: .65rem; }
  .note-one { left: -1rem; top: 20%; }
  .note-two { right: -1rem; bottom: 12%; }
  h1 { font-size: clamp(3.5rem, 15vw, 5.7rem); }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 1.3rem; }
  .scroll-cue { display: none; }
  .section { padding: 6rem 1.25rem; }
  .intro, .consultation, .credentials, .region { grid-template-columns: 1fr; }
  .intro-statement { padding-left: 0; }
  .section-head { grid-template-columns: 1fr; gap: 1rem; }
  .service-grid, .team-grid { grid-template-columns: 1fr; }
  .service-card { min-height: 410px; }
  .consultation-visual { min-height: 480px; }
  .person-card { min-height: 0; }
  .person-photo { min-height: 360px; }
  .voucher-card { grid-template-columns: 1fr; text-align: center; }
  .voucher-seal img { width: 140px; margin: auto; }
  .voucher-card .button { grid-column: 1; justify-self: center; }
  footer { grid-template-columns: 1fr 1fr; padding-bottom: 8rem; }
  .footer-brand { grid-column: 1 / -1; }
  .mobile-actions { position: fixed; z-index: 45; bottom: 0; left: 0; right: 0; display: grid; grid-template-columns: repeat(3,1fr); background: var(--ink); color: #fff; }
  .mobile-actions a, .mobile-actions button { border: 0; border-right: 1px solid rgba(255,255,255,.14); background: transparent; color: #fff; padding: 1rem .3rem; text-align: center; text-transform: uppercase; font-size: .64rem; letter-spacing: .09em; }
  .field-row { grid-template-columns: 1fr; }
  .hero-art { min-height: 350px; }
  .hero-portrait { inset: 1% 9% 7% 12%; }
  .hero-art .logo-stage { width: 45%; min-width: 170px; left: -4%; bottom: 0; }
  .hero-art .floating-note { display: none; }
  .mood-label { right: 14%; bottom: 20%; }
  .intro-image { grid-column: 1; height: 320px; margin: 1rem 0 -1rem; }
  .service-grid { gap: 1rem; }
  .service-card { min-height: 510px; }
  .service-image { height: 250px; }
  .visual-disclaimer { margin: -1rem 0 2rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .hero { height: auto; min-height: 100svh; }
  .hero-inner { position: relative; }
  .reveal { opacity: 1; transform: none; }
  .image-reveal { clip-path: none; }
  .editorial-strip div, .hero-portrait img, .consultation-photo { transform: none !important; }
}

/* Kompetenzstreifen und interaktiver Behandlungsfinder */
.credentials { display: block; padding-top: clamp(4rem,6vw,6rem); padding-bottom: clamp(4rem,6vw,6rem); background: #1e1c1b; color: #f8f1e8; }
.credentials-top { display: flex; justify-content: space-between; align-items: end; gap: 3rem; margin-bottom: 3rem; }
.credentials-top .eyebrow { color: #dabd8e; }
.credentials-top h2 { font-size: clamp(3rem,5vw,5rem); margin: 0; }
.credentials-top h2 em, .finder-heading h2 em { font-weight: 400; color: #d6ae78; }
.credentials-top > p { max-width: 370px; color: #d4c8ba; font-size: .9rem; }
.credential-row { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border-top: 1px solid rgba(224,190,143,.25); border-left: 1px solid rgba(224,190,143,.25); }
.credential-tile { min-height: 230px; display: flex; flex-direction: column; align-items: flex-start; text-align: left; padding: 1.5rem; background: transparent; border: 0; border-right: 1px solid rgba(224,190,143,.25); border-bottom: 1px solid rgba(224,190,143,.25); color: #f8f1e8; }
button.credential-tile { cursor: pointer; transition: background .3s; }
button.credential-tile:hover { background: rgba(214,174,120,.1); }
.credential-mark { display: block; height: 80px; width: 80px; overflow: hidden; border: 1px solid #d6ae78; padding: .3rem; margin-bottom: auto; background: #f6f3ef; }
.credential-mark img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.credential-symbol { color: #d6ae78; font-family: var(--serif); font-size: 4.5rem; line-height: .9; margin-bottom: auto; }
.credential-tile strong { font-family: var(--serif); font-weight: 400; font-size: clamp(1.5rem,2vw,2rem); line-height: 1.05; margin: .9rem 0 .4rem; }
.credential-tile small { color: #c7b8a6; line-height: 1.4; }
.credential-action { color: #d6ae78; font-size: .68rem; text-transform: uppercase; letter-spacing: .12em; margin-top: .7rem; }
.finder { background: #f5eee4; }
.finder-heading { max-width: 850px; margin-bottom: 3.5rem; }
.finder-heading h2 { margin-bottom: 1.25rem; }
.finder-heading > p:last-child { max-width: 620px; color: var(--muted); }
.finder-layout { display: grid; grid-template-columns: minmax(260px,.78fr) minmax(0,1.5fr); background: #fcfaf6; min-height: 560px; box-shadow: 0 25px 70px rgba(67,48,27,.09); }
.finder-choices { display: flex; flex-direction: column; background: #24201c; }
.finder-tab { position: relative; min-height: 170px; width: 100%; border: 0; border-bottom: 1px solid rgba(214,174,120,.25); padding: 1.6rem 4rem 1.6rem 1.7rem; text-align: left; background: transparent; color: #f7f0e7; cursor: pointer; transition: background .25s, padding-left .25s; }
.finder-tab:hover, .finder-tab.active { background: #3d3228; padding-left: 2rem; }
.finder-tab.active::before { content: ''; position: absolute; left: 0; inset-block: 0; width: 4px; background: #d6ae78; }
.finder-tab > span { display: block; color: #d6ae78; font-size: .68rem; letter-spacing: .15em; margin-bottom: .8rem; }
.finder-tab strong { display: block; font-family: var(--serif); font-size: clamp(1.8rem,2.4vw,2.5rem); font-weight: 400; line-height: 1; }
.finder-tab small { display: block; color: #c5b6a5; margin-top: .55rem; }
.finder-tab b { position: absolute; right: 1.8rem; top: 50%; font-weight: 400; color: #d6ae78; font-size: 1.35rem; }
.finder-results { padding: clamp(1.5rem,3vw,3rem); display: flex; flex-direction: column; }
.finder-results-top { display: flex; align-items: start; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.finder-results-top > span { color: var(--gold-dark); font-size: .7rem; font-weight: 700; letter-spacing: .18em; min-width: 180px; }
.finder-results-top p { color: var(--muted); max-width: 400px; font-size: .86rem; margin: 0; }
.finder-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; flex: 1; }
.finder-card { display: flex; flex-direction: column; background: #f1e7da; overflow: hidden; transition: transform .3s, box-shadow .3s; }
.finder-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.finder-card img { width: 100%; height: 210px; object-fit: cover; }
.finder-card-copy { display: flex; flex-direction: column; gap: .55rem; padding: 1.2rem; }
.finder-card-copy small { color: var(--gold-dark); font-size: .62rem; letter-spacing: .13em; }
.finder-card-copy strong { font-family: var(--serif); font-size: clamp(1.65rem,2vw,2.2rem); font-weight: 400; line-height: 1; }
.finder-card-copy > span { color: var(--muted); font-size: .82rem; }
.finder-card-copy b { font-weight: 500; border-bottom: 1px solid currentColor; width: fit-content; margin-top: auto; padding-top: .6rem; font-size: .7rem; text-transform: uppercase; letter-spacing: .09em; }
.finder-advice { color: var(--muted); font-size: .8rem; margin: 2rem 0 0; }
.finder-advice a { color: var(--gold-dark); border-bottom: 1px solid currentColor; }
@media (max-width: 1000px) { .credential-row { grid-template-columns: repeat(2,1fr); } .finder-results-top { display: block; } .finder-results-top p { margin-top: .7rem; } }
@media (max-width: 760px) { .credentials-top { display: block; } .credentials-top > p { margin-top: 1.5rem; } .credential-row { grid-template-columns: repeat(2,minmax(0,1fr)); } .credential-tile { min-height: 200px; padding: 1rem; } .credential-tile strong { font-size: 1.45rem; } .credential-mark { width: 65px; height: 65px; } .credential-symbol { font-size: 3.3rem; } .finder-layout { grid-template-columns: 1fr; } .finder-choices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); } .finder-tab { min-width: 0; min-height: 130px; padding: .8rem; } .finder-tab:hover, .finder-tab.active { padding-left: .8rem; } .finder-tab strong { font-size: 1.08rem; line-height: 1.08; overflow-wrap: normal; hyphens: auto; } .finder-tab small { font-size: .66rem; } .finder-tab b { display: none; } .finder-cards { grid-template-columns: 1fr; } .finder-card { display: flex; flex-direction: column; } .finder-card img { height: 170px; min-height: 0; } .finder-card-copy { padding: 1rem; } .finder-results-top { margin-bottom: 1.4rem; } }
@media (max-width: 390px) { .credential-row { grid-template-columns: 1fr 1fr; } }

/* Anatomisch gegliederter Leistungsfinder */
@property --active-angle { syntax: '<angle>'; initial-value: -30deg; inherits: false; }
.wheel-layout { display: grid; grid-template-columns: minmax(360px,.9fr) minmax(0,1.1fr); gap: clamp(2rem,5vw,6rem); align-items: start; }
.wheel-side { position: sticky; top: 105px; }
.wheel-step { margin: 0 0 1.35rem; color: var(--gold-dark); font-size: .68rem; font-weight: 700; letter-spacing: .2em; }
.treatment-wheel { --active-angle: -30deg; position: relative; width: min(100%,540px); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 50% 50%,#302720 0 16%,transparent 16.2%),repeating-conic-gradient(from -30deg,#3b3027 0deg 59.5deg,#bd9c6e 59.5deg 60deg); box-shadow: 0 30px 70px rgba(50,35,23,.21),inset 0 0 0 1px #ac8859; isolation: isolate; transition: --active-angle .5s ease; }
.treatment-wheel::before { content: ''; position: absolute; inset: 9px; border: 1px solid rgba(225,197,155,.34); border-radius: 50%; pointer-events: none; z-index: 3; }
.treatment-wheel::after { content: ''; position: absolute; inset: 50% auto auto 50%; width: 18%; aspect-ratio: 1; transform: translate(-50%,-50%); border: 1px solid rgba(225,197,155,.5); border-radius: 50%; pointer-events: none; z-index: 3; }
.wheel-lines { position: absolute; inset: 0; border-radius: 50%; background: repeating-conic-gradient(from -30deg,rgba(229,197,148,.26) 0deg .25deg,transparent .25deg 60deg); pointer-events: none; z-index: 1; }
.wheel-active-slice { position: absolute; inset: 2px; border-radius: 50%; background: conic-gradient(from var(--active-angle),rgba(210,167,101,.33) 0deg 60deg,transparent 60deg 360deg); pointer-events: none; z-index: 1; }
.wheel-core { position: absolute; z-index: 4; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 17%; aspect-ratio: 1; display: grid; place-items: center; padding: 0; background: #2a231e; border: 1px solid rgba(226,192,146,.45); border-radius: 50%; color: #e6d3b9; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.wheel-core img { width: 83%; height: 83%; object-fit: contain; }
.wheel-core:disabled { cursor: default; }
.wheel-core.is-back { cursor: pointer; }
.wheel-core.is-back img { display: none; }
.wheel-core .wheel-core-arrow { display: none; font-size: clamp(1.4rem,3vw,2rem); line-height: 1; }
.wheel-core.is-back .wheel-core-arrow { display: block; }
.wheel-core:focus-visible { outline: 2px solid #e7c893; outline-offset: 3px; }
.wheel-choice { position: absolute; z-index: 5; top: var(--y); left: var(--x); transform: translate(-50%,-50%); width: 24%; min-height: 95px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .25rem; padding: .3rem; border: 0; color: #ecdfce; background: transparent; cursor: pointer; text-align: center; touch-action: manipulation; -webkit-tap-highlight-color: transparent; transition: color .25s, transform .25s; }
.wheel-choice:hover,.wheel-choice.active { color: #fff; transform: translate(-50%,-50%) scale(1.09); }
.wheel-choice:focus-visible { outline: 2px solid #e7c893; outline-offset: 2px; }
.wheel-choice strong { display: block; max-width: 100%; font-size: clamp(.69rem,1vw,.86rem); line-height: 1.16; letter-spacing: .02em; font-weight: 500; }
.wheel-choice strong span { display: block; }
.wheel-icon { display: grid; place-items: center; width: 40px; height: 40px; color: #d7b788; }
.wheel-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.3; stroke-linecap: round; stroke-linejoin: round; }
.wheel-choice.active .wheel-icon { color: #ffe0a8; }
.wheel-choice-0 { --x: 50%; --y: 17%; }.wheel-choice-1 { --x: 79%; --y: 33%; }.wheel-choice-2 { --x: 79%; --y: 68%; }.wheel-choice-3 { --x: 50%; --y: 83%; }.wheel-choice-4 { --x: 21%; --y: 68%; }.wheel-choice-5 { --x: 21%; --y: 33%; }
.wheel-hint { width: min(100%,540px); text-align: center; color: var(--muted); font-size: .78rem; margin: 1.3rem 0 0; }
.wheel-results { min-height: 530px; padding-top: .1rem; scroll-margin-top: 90px; }
.wheel-results-head { display: grid; grid-template-columns: minmax(0,1fr) 210px; gap: 2rem; align-items: end; margin-bottom: 2rem; border-bottom: 1px solid var(--line); padding-bottom: 1.5rem; }
.wheel-results-head .eyebrow { margin: 0 0 .6rem; }
.wheel-results-head h3 { font-size: clamp(2.35rem,3.7vw,3.8rem); margin: 0; max-width: 12ch; overflow-wrap: break-word; hyphens: auto; }
.wheel-results-head > p { color: var(--muted); font-size: .85rem; margin: 0; }
.wheel-cards { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.wheel-card { position: relative; display: grid; grid-template-columns: 24px minmax(0,1fr) 18px; gap: .65rem; align-items: start; min-height: 150px; padding: 1.25rem; background: #fffaf3; border: 1px solid var(--line); transition: transform .25s,background .25s,box-shadow .25s; }
.wheel-card:hover { background: #fff; transform: translateY(-4px); box-shadow: 0 16px 35px rgba(67,48,27,.11); }
.wheel-card-index { color: var(--gold-dark); font-size: .62rem; letter-spacing: .1em; }
.wheel-card-main { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.wheel-card-main small { color: var(--gold-dark); text-transform: uppercase; font-size: .62rem; letter-spacing: .11em; }
.wheel-card-main strong { font-family: var(--serif); font-size: clamp(1.4rem,1.75vw,1.95rem); font-weight: 400; line-height: 1.08; overflow-wrap: break-word; hyphens: auto; }
.wheel-card-main > span { color: var(--muted); font-size: .78rem; line-height: 1.45; overflow-wrap: break-word; hyphens: auto; }
.wheel-card-arrow { color: var(--gold-dark); font-size: 1.15rem; justify-self: end; white-space: nowrap; }
.cards-enter .wheel-card { animation: wheel-card-in .48s both; }
.cards-enter .wheel-card:nth-child(2) { animation-delay: .05s; }.cards-enter .wheel-card:nth-child(3) { animation-delay: .1s; }.cards-enter .wheel-card:nth-child(4) { animation-delay: .15s; }.cards-enter .wheel-card:nth-child(5) { animation-delay: .2s; }.cards-enter .wheel-card:nth-child(6) { animation-delay: .25s; }.cards-enter .wheel-card:nth-child(n+7) { animation-delay: .3s; }
@keyframes wheel-card-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
.wheel-results-footer { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; color: var(--muted); font-size: .75rem; }
.wheel-results-footer p { margin: 0; }.wheel-results-footer a { color: var(--gold-dark); border-bottom: 1px solid currentColor; }
.wheel-back { display: none; border: 0; background: none; padding: 0; color: var(--gold-dark); cursor: pointer; font-size: .75rem; }
@media(max-width:1100px) { .wheel-layout { grid-template-columns: minmax(300px,.9fr) minmax(0,1.1fr); gap: 2rem; } .wheel-results-head { grid-template-columns: 1fr; gap: .7rem; } .wheel-results-head > p { max-width: 350px; } .wheel-cards { grid-template-columns: 1fr; } .wheel-card { min-height: 115px; } }
@media(max-width:760px) { .wheel-layout { grid-template-columns: 1fr; gap: 3.5rem; } .wheel-side { position: relative; top: auto; } .treatment-wheel { width: min(100%,430px); margin: auto; } .wheel-hint { margin-inline: auto; } .wheel-results-head { display: block; } .wheel-results-head h3 { max-width: none; } .wheel-results-head > p { margin-top: 1rem; } .wheel-results-footer { display: block; } .wheel-back { display: inline-block; margin-bottom: 1.4rem; } .wheel-choice { min-height: 65px; width: 27%; } .wheel-choice strong { font-size: clamp(.58rem,2vw,.72rem); } .wheel-icon { width: 32px; height: 32px; } }
@media(max-width:390px) { .wheel-choice { width: 29%; } .wheel-icon { width: 27px; height: 27px; } .wheel-choice strong { font-size: .57rem; } .wheel-card { grid-template-columns: 20px minmax(0,1fr) 16px; gap: .5rem; padding: 1rem; } }
@media(prefers-reduced-motion:reduce) { .cards-enter .wheel-card { animation: none; } .treatment-wheel,.wheel-choice { transition: none; } }

/* Der Finder bleibt beim Durchklicken vollständig im Rad. */
.wheel-experience { width: min(100%,760px); margin: 3.5rem auto 0; text-align: center; }
.wheel-navigation { display: flex; align-items: center; justify-content: space-between; min-height: 32px; width: min(100%,600px); margin: 0 auto 1.4rem; }
.wheel-navigation .wheel-step { margin: 0 0 0 auto; }
.wheel-back { display: inline-flex; align-items: center; border: 0; background: none; padding: .35rem 0; color: var(--gold-dark); cursor: pointer; font-size: .76rem; }
.wheel-back[hidden] { display: none; }
.wheel-back:hover { text-decoration: underline; text-underline-offset: 4px; }
.wheel-experience .treatment-wheel { --slice-angle: 60deg; width: min(100%,540px); margin: 0 auto; scroll-margin-top: 105px; background: radial-gradient(circle at 50% 50%,#302720 0 16%,transparent 16.2%),repeating-conic-gradient(from calc(0deg - var(--slice-angle) / 2),#3b3027 0deg calc(var(--slice-angle) - .5deg),#bd9c6e calc(var(--slice-angle) - .5deg) var(--slice-angle)); }
.wheel-experience .treatment-wheel.is-expanded { box-shadow: 0 30px 70px rgba(50,35,23,.21),inset 0 0 0 1px #c29f6c; }
.wheel-experience .wheel-lines { background: repeating-conic-gradient(from calc(0deg - var(--slice-angle) / 2),rgba(229,197,148,.28) 0deg .25deg,transparent .25deg var(--slice-angle)); }
.wheel-experience .wheel-choice { width: 25%; min-height: 88px; text-decoration: none; }
.wheel-experience .wheel-choice strong { font-size: clamp(.68rem,1.2vw,.84rem); overflow-wrap: break-word; hyphens: auto; }
.wheel-experience .wheel-choice:hover strong { text-decoration: underline; text-underline-offset: 3px; }
.wheel-number { display: grid; place-items: center; width: 36px; height: 36px; border: 1px solid rgba(229,197,148,.62); border-radius: 50%; color: #e5c393; font-family: var(--serif); font-size: .85rem; }
.wheel-service .wheel-number { font-family: inherit; font-size: .61rem; letter-spacing: .08em; }
.wheel-caption { margin: 1.8rem auto 0; max-width: 580px; }
.wheel-caption h3 { margin: 0 0 .5rem; font-family: var(--serif); font-size: clamp(1.8rem,3vw,2.6rem); font-weight: 400; }
.wheel-caption p { margin: 0; color: var(--muted); font-size: .88rem; line-height: 1.5; }
.wheel-consultation { margin: 2rem auto 0; color: var(--muted); font-size: .8rem; }
.wheel-consultation a { color: var(--gold-dark); border-bottom: 1px solid currentColor; }
@media(max-width:760px) {
  .wheel-experience { margin-top: 2.5rem; }
  .wheel-experience .treatment-wheel,.wheel-experience .treatment-wheel.is-expanded { width: min(100%,430px); }
  .wheel-experience .wheel-choice { width: 27%; min-height: 68px; gap: .12rem; }
  .wheel-experience .wheel-choice strong { font-size: clamp(.64rem,2.4vw,.76rem); line-height: 1.13; }
  .wheel-number { width: 29px; height: 29px; font-size: .72rem; }
  .wheel-caption { margin-top: 1.5rem; }
}
@media(max-width:390px) {
  .wheel-experience .wheel-choice { width: 28%; }
  .wheel-experience .wheel-choice strong { font-size: .64rem; }
  .wheel-number { width: 26px; height: 26px; }
}
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: page-pull-away .2s ease-in both; }
::view-transition-new(root) { animation: page-pull-in .4s cubic-bezier(.2,.7,.2,1) both; }
@keyframes page-pull-away { to { transform: scale(.97); } }
@keyframes page-pull-in { from { transform: scale(.95); clip-path: inset(3% round 10px); } to { transform: scale(1); clip-path: inset(0); } }
@media(prefers-reduced-motion:reduce) {
  ::view-transition-old(root),::view-transition-new(root) { animation-duration: .01ms; }
}

/* Ruhige, redaktionelle Gestaltung mit klarer Hierarchie. */
body { background: #faf8f4; }
body::before { display: none; }
.site-header.scrolled { background: rgba(250,248,244,.96); backdrop-filter: blur(10px); }
.button { transition: background .2s ease, border-color .2s ease, color .2s ease; }
.button:hover { transform: none; }
.eyebrow { letter-spacing: .16em; }
.section-number { display: none; }
.reveal { transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.hero { background: #f5f0e8; }
.hero-inner { gap: clamp(2rem,5vw,6rem); }
.hero-portrait { inset: 0; box-shadow: none; }
.hero-portrait::after { display: none; }
.hero-portrait img { object-position: center 40%; }
.mood-label { right: 1rem; bottom: 1rem; padding: .35rem .5rem; background: rgba(32,27,22,.52); text-shadow: none; }
.hero-actions { margin-bottom: 3.5rem; }
.trust-row { gap: 0; font-size: .68rem; letter-spacing: .08em; }
.trust-row span { padding: 0 1rem; border-left: 1px solid var(--line); }
.trust-row span:first-child { padding-left: 0; border-left: 0; }
.trust-row i { display: none; }
.credentials { background: #262421; }
.credential-row { border-left: 0; }
.credential-tile { min-height: 205px; padding: 1.4rem 1.2rem; }
.credential-symbol { font-size: 2.7rem; }
.credential-mark { width: 62px; height: 70px; border: 0; }
.finder { background: #faf8f4; }
.finder-heading { max-width: 740px; margin-bottom: 3rem; }
.wheel-experience { margin-top: 2.75rem; }
.wheel-experience .treatment-wheel,
.wheel-experience .treatment-wheel.is-expanded { box-shadow: 0 18px 42px rgba(38,32,27,.1), inset 0 0 0 1px #a78c69; }
.wheel-experience .wheel-choice { transition: color .2s ease; }
.wheel-choice:hover,.wheel-choice.active { transform: translate(-50%,-50%); color: #ffe2b8; }
.wheel-caption h3 { font-size: clamp(1.65rem,2.5vw,2.2rem); }
.intro-statement { padding-left: 0; }
.intro-image { margin-left: 0; }
.consultation-mark { display: none; }
.consultation-visual > p { background: none; color: white; padding: 0; text-shadow: 0 2px 16px rgba(20,14,10,.5); }
.voucher-card::after { display: none; }
.voucher-seal img { filter: none; }
.person-card,.service-card { box-shadow: none; }
@media(max-width:760px) {
  .hero-art { min-height: 420px; }
  .hero-portrait { inset: 0; }
  .mood-label { right: .7rem; bottom: .7rem; }
  .trust-row { gap: .6rem 0; }
  .trust-row span { padding: 0 .65rem; }
  .trust-row span:first-child { padding-left: 0; }
  .credential-tile { min-height: 185px; }
}

.finder-heading { margin-bottom: 1rem; }

/* Die Originalfotos sind bereits als Bilddateien dezent korrigiert. */
.zen-photo, .zen-photo-clinical { filter: none; }
.person-photo { position: relative; overflow: hidden; }
.person-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.person-card:first-child .person-photo img { object-position: 43% center; }
.hero-portrait { background: linear-gradient(145deg,#a39481 0%,#d9cbb6 56%,#8f7c67 100%); }
.hero-portrait img.doctor-cutout { object-fit: contain; object-position: center bottom; transform: translateY(var(--hero-shift,0px)) scale(1.27); transform-origin: center bottom; filter: drop-shadow(0 18px 16px rgba(40,29,21,.2)); }
.person-card:first-child .person-photo { background: linear-gradient(145deg,#d9cbb6,#a79580); }
.person-card:first-child .person-photo img.doctor-cutout { object-fit: contain; object-position: center bottom; transform: scale(1.4); transform-origin: center bottom; }
.person-card:last-child .person-photo img { object-position: 55% 47%; transform: scale(1.55); }
.person-photo img { transition: transform .5s ease; }
@media(max-width:760px) {
  .hero-portrait img.doctor-cutout { transform: scale(1.18); transform-origin: center bottom; }
  .person-card:last-child .person-photo img { transform: scale(1.4); }
}
.photo-preview { background: #fff; }
.photo-preview-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; margin-bottom: 2rem; }
.photo-preview-grid figure { margin: 0; min-width: 0; }
.photo-preview-grid img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: var(--cream); }
.photo-preview-grid figcaption { padding-top: .65rem; color: var(--muted); font-size: .77rem; }
@media(max-width:900px) { .photo-preview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) { .photo-preview-grid { gap: .65rem; } .photo-preview-grid img { aspect-ratio: 1 / 1.2; } }

/* Header: beide Personen, danach ein eigenständiger Logo-Moment beim Scrollen. */
.hero { height: 260svh; }
.hero-portrait { background: linear-gradient(145deg,#a39481 0%,#d9cbb6 55%,#95806b 100%); }
.hero-portrait img.hero-person { position: absolute; top: auto; bottom: -5%; width: 66%; height: 108%; object-fit: contain; object-position: center bottom; transform: none; filter: drop-shadow(0 14px 14px rgba(41,29,21,.22)); }
.hero-portrait .hero-person-doctor { left: -8%; z-index: 2; }
.hero-portrait .hero-person-wife { right: -8%; z-index: 1; }
.hero-logo-stage { position: absolute; inset: 0; z-index: 5; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 47%,#f7efe2 0%,#e0cfb8 56%,#b89b7a 100%); opacity: var(--hero-logo-opacity,0); pointer-events: none; will-change: opacity; }
.hero-logo-stage img { width: min(86vw,900px); max-height: 88svh; object-fit: contain; transform: scale(var(--hero-logo-scale,.82)); filter: drop-shadow(0 30px 45px rgba(54,34,20,.2)); will-change: transform; }
.hero .scroll-cue { z-index: 6; }
@media(max-width:760px) {
  .hero { height: 225svh; }
  .hero-inner { position: sticky; height: 100svh; min-height: 0; grid-template-rows: auto minmax(0,1fr); align-content: stretch; gap: .25rem; padding: 5.6rem 1.25rem 1.4rem; }
  .hero-copy { padding-top: 0; }
  .hero-copy h1 { font-size: clamp(2.8rem,10vw,4.1rem); }
  .hero-lead { font-size: .91rem; line-height: 1.4; }
  .hero-actions { margin: 1.25rem 0 1.2rem; gap: .7rem; }
  .hero-actions .button { min-height: 44px; padding: .65rem .9rem; }
  .hero-art { width: 100%; height: 100%; min-height: 0; }
  .hero-portrait { inset: 0; }
  .hero-portrait img.hero-person { width: 72%; height: 110%; bottom: -5%; }
  .hero-portrait .hero-person-doctor { left: -11%; }
  .hero-portrait .hero-person-wife { right: -11%; }
  .hero-logo-stage img { width: min(112vw,620px); max-height: 75svh; }
  .mood-label { right: .65rem; bottom: .65rem; }
}
@media(max-width:760px) and (max-height:700px) {
  .hero-copy h1 { font-size: clamp(2.6rem,9vw,3.5rem); }
  .hero-lead { font-size: .84rem; }
  .hero .trust-row { display: none; }
}
@media(prefers-reduced-motion:reduce) {
  .hero { height: auto; min-height: 100svh; }
  .hero-inner { position: relative; height: auto; min-height: 100svh; }
  .hero-logo-stage { display: none; }
}

.hero-portrait { background: transparent; }
.hero-portrait img.hero-person-wife { bottom: 1%; }

/* Interaktive Körperkarte neben dem Behandlungsrad. */
.wheel-experience { width: min(100%,1190px); display: grid; grid-template-columns: minmax(0,690px) minmax(320px,390px); gap: clamp(1.5rem,4vw,4rem); align-items: center; }
.body-map { align-self: center; min-width: 0; text-align: center; }
.body-map .eyebrow { margin-bottom: .6rem; }
.body-map-stage { position: relative; width: min(100%,370px); aspect-ratio: 2 / 3; margin: 0 auto; overflow: hidden; background: transparent; border: 0; box-shadow: none; }
.body-map-stage > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; -webkit-mask-image: linear-gradient(to right,transparent,#000 15%,#000 85%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 82%,transparent); -webkit-mask-composite: source-in; mask-image: linear-gradient(to right,transparent,#000 15%,#000 85%,transparent),linear-gradient(to bottom,transparent,#000 10%,#000 82%,transparent); mask-composite: intersect; }
.body-map-overlay { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.body-map-guides { fill: #4e3928; stroke: #8d673f; stroke-width: .48; }
.body-map-guides circle { display: inline; fill: #9d7446; stroke: #f7f0e5; stroke-width: .3; }
.body-map-guides text { stroke: none; font-family: var(--sans); font-size: 3.65px; font-weight: 700; letter-spacing: .04em; paint-order: stroke fill; }
.body-map-label { min-height: 2.8em; margin: .9rem 0 .25rem; font-family: var(--serif); font-size: 1.5rem; line-height: 1.15; }
.body-map > small { color: var(--muted); font-size: .66rem; }
@media(max-width:900px) {
  .wheel-experience { width: min(100%,690px); grid-template-columns: 1fr; gap: 2.5rem; }
  .body-map-stage { width: min(76vw,310px); }
}
@media(max-width:760px) {
  .body-map { padding-top: .8rem; }
  .body-map-stage { width: min(78vw,300px); }
}

/* Gruppenansichten: dieselbe Figur zoomt zu Augen oder Kopf; Gesicht und Lächeln wechseln zu passenden Portraits. */
.body-map-stage { transform: perspective(900px) translateY(var(--map-lift,0px)) rotateY(var(--map-tilt-x,0deg)) rotateX(var(--map-tilt-y,0deg)) scale(var(--map-scale,1)); transition: transform .42s cubic-bezier(.2,.8,.2,1),box-shadow .42s ease; }
.body-map-stage:hover,.body-map.is-previewing .body-map-stage { --map-lift: -9px; --map-scale: 1.045; }
.body-map.is-switching .body-map-stage { --map-scale: .975; }
.body-map-stage > img { transition: opacity .48s ease, transform .72s cubic-bezier(.2,.75,.2,1); }
.body-map-stage > .body-map-figure { z-index: 1; transform: scale(1); }
.body-map-stage > .body-map-back { z-index: 2; opacity: 0; transform: scale(1.03); }
.body-map-stage > .body-map-eyes,.body-map-stage > .body-map-face,.body-map-stage > .body-map-lips { z-index: 2; opacity: 0; transform: scale(1.07); object-fit: cover; }
.body-map[data-view="augen"] .body-map-figure { opacity: 0; }
.body-map[data-view="augen"] .body-map-eyes { opacity: 1; transform: translateY(-5%) scale(1.5); }
.body-map[data-view="kopf"] .body-map-figure { transform: translateY(12%) scale(1.65); transform-origin: 50% 0%; }
.body-map[data-view="gesicht"] .body-map-figure,.body-map[data-view="lippen"] .body-map-figure { opacity: 0; }
.body-map[data-view="wellness"] .body-map-figure { opacity: 0; }
.body-map[data-view="wellness"] .body-map-back { opacity: 1; transform: scale(1); }
.body-map[data-view="gesicht"] .body-map-face,.body-map[data-view="lippen"] .body-map-lips { opacity: 1; transform: scale(1); }
.body-map-colorwash { position: absolute; inset: 0; z-index: 3; background: #b47b42; opacity: 0; pointer-events: none; -webkit-mask: url('assets/illustrations/body-figure.png') center / contain no-repeat; mask: url('assets/illustrations/body-figure.png') center / contain no-repeat; transition: opacity .4s ease; }
.body-map[data-view="koerper"].is-active .body-map-colorwash { opacity: .38; }
.body-map[data-view="wellness"][data-zone="body"].is-active .body-map-colorwash,.body-map[data-view="wellness"][data-zone="back"].is-active .body-map-colorwash,.body-map[data-view="wellness"][data-zone="shoulders"].is-active .body-map-colorwash { opacity: .14; animation: map-body-breathe 2.7s ease-in-out infinite; }
.body-map-massage { position: absolute; inset: 0; z-index: 4; width: 100%; height: 100%; opacity: 0; fill: none; stroke: #c88438; stroke-width: 1.15; stroke-linecap: round; stroke-dasharray: 3 5; pointer-events: none; transition: opacity .35s ease; }
.body-map[data-view="wellness"].is-active .body-map-massage { opacity: .92; }
.body-map[data-view="wellness"] .body-map-massage path { animation: map-massage-flow 2.8s linear infinite; }
.body-map-massage g { opacity: 0; transition: opacity .25s ease; }
.body-map[data-view="wellness"][data-zone="body"] .massage-path-back,.body-map[data-view="wellness"][data-zone="back"] .massage-path-back,.body-map[data-view="wellness"][data-zone="shoulders"] .massage-path-back,.body-map[data-view="wellness"][data-zone="face"] .massage-path-face,.body-map[data-view="wellness"][data-zone="feet"] .massage-path-feet { opacity: 1; }
.body-map-overlay { z-index: 5; pointer-events: none; }
.body-map-guides { opacity: 0; transition: opacity .35s ease; }
.body-map.is-selected .body-map-overlay { display: block; }
.body-map[data-view="koerper"] .body-map-guides-full,.body-map[data-view="wellness"] .body-map-guides-full { opacity: 1; }
.body-map[data-view="augen"] .body-map-guides-eyes { opacity: 1; }
.body-map[data-view="kopf"] .body-map-guides-head { opacity: 1; }
.body-map[data-view="gesicht"] .body-map-guides-face { opacity: 1; }
.body-map[data-view="lippen"] .body-map-guides-lips { opacity: 1; }
@keyframes map-massage-flow { to { stroke-dashoffset: -32; } }
@keyframes map-body-breathe { 50% { opacity: .38; } }
.body-map-stage.mannequin-stage { transform: none; overflow: visible; width: min(100%,390px); aspect-ratio: 2 / 3; background: none; border: 0; box-shadow: none; }
#mannequin-canvas { width: 100%; height: 100%; cursor: grab; touch-action: pan-y; }
#mannequin-canvas:active { cursor: grabbing; }
#mannequin-canvas canvas { display: block; width: 100%; height: 100%; }
h1 em,h2 em,h3 em { font-style: normal; }
.credential-row { grid-auto-rows: 1fr; align-items: stretch; }
.credential-tile { height: 100%; min-height: 240px; display: grid; grid-template-rows: auto minmax(3.4em,1fr) minmax(3em,auto) auto; gap: .7rem; padding: 1.5rem; }
.credential-category { font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; }
.credential-tile strong { font-family: var(--sans); font-size: 1.15rem; font-weight: 600; line-height: 1.4; margin: 0; align-self: end; }
.credential-tile small { font-family: var(--sans); font-size: .82rem; }
.credential-tile .credential-action { font-size: .68rem; margin: 0; }
.media-info-host { position: relative; }
.media-info { position: absolute; right: .65rem; bottom: .65rem; z-index: 8; text-align: left; font: .7rem/1.45 var(--sans); pointer-events: auto; }
.media-info summary { display: block; list-style: none; cursor: pointer; color: #fff; background: rgba(43,36,29,.88); border: 1px solid #ffffff55; border-radius: 3px; min-height: 32px; padding: .45rem .65rem; width: fit-content; margin-left: auto; }
.media-info summary::-webkit-details-marker { display: none; }
.media-info p { position: absolute; right: 0; bottom: 2.4rem; width: min(280px,calc(100vw - 65px)); max-height: 250px; overflow: auto; margin: 0; padding: 1rem; color: #2b241d; background: #fffdf8; border: 1px solid #d5c6b2; box-shadow: 0 10px 30px #2b241d25; font: .78rem/1.55 var(--sans); }
.hero-room .media-info { z-index: 4; }
@media(max-width:760px) { .credential-tile { min-height: 230px; padding: 1rem; } .credential-tile strong { font-size: 1rem; } }
/* One text color within each heading and sentence. */
h1 em,h2 em,h3 em,.credentials-top h2 em,.finder-heading h2 em,p em,p strong,p a { color: inherit; }
.consultation { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 3rem 4rem; }
.consultation .consultation-visual { margin: 0; min-height: 0; display: block; overflow: visible; background: none; }
.consultation .consultation-visual::before { display: none; }
.consultation .consultation-photo { position: static; display: block; width: 100%; height: auto; object-fit: contain; opacity: 1; transform: none !important; }
.consultation-visual figcaption { font-size: .65rem; color: var(--muted); margin-top: .7rem; }
.consultation-copy h2 { font-size: clamp(2.4rem,4vw,4.1rem); }
.consultation-copy > p:not(.eyebrow) { max-width: 52ch; }
.consultation-copy .button { margin-top: 1.3rem; }
.consultation-steps { grid-column: 1 / -1; list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 2rem; }
.consultation-steps li { border-top: 1px solid var(--line); padding-top: 1.4rem; }
.consultation-steps li > span { display: block; font-family: var(--serif); font-size: 2.2rem; margin-bottom: .6rem; }
.consultation-steps h3 { font-family: var(--serif); font-size: 1.6rem; font-weight: 400; margin: 0 0 .6rem; }
.consultation-steps p { margin: 0; }
.team .person-card { display: flex; flex-direction: column; min-width: 0; }
.team .person-card .person-photo { min-height: 0; height: 450px; display: grid; grid-template-columns: minmax(0,1fr); grid-template-rows: minmax(0,1fr); place-items: center; background: #f2ede5; }
.team .person-info { align-self: stretch; }
.team .person-card .person-photo img.team-original { position: static; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; object-position: center; transform: none; filter: none; }
.results[hidden] { display: none; }
.result-entry { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.result-entry h3 { font-family: var(--serif); font-size: 2.2rem; margin: 0 0 1rem; }
.result-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.result-pair figure { margin: 0; min-width: 0; }
.result-pair img { width: 100%; max-height: 510px; object-fit: contain; background: #f3eee7; }
.result-pair figcaption { margin: .6rem 0; font-size: .75rem; }
@media(max-width:760px) {
  .consultation { grid-template-columns: 1fr; gap: 2rem; }
  .consultation-copy { grid-row: 1; }
  .consultation-steps { grid-template-columns: 1fr; gap: 1.3rem; }
  .consultation-steps li { display: grid; grid-template-columns: 45px 1fr; gap: .8rem; }
  .team .person-card .person-photo { height: min(110vw,450px); }
}
.hero-inner { grid-template-columns: 1fr; }
.hero-copy { position: relative; max-width: 640px; }
.hero-art.hero-room { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; z-index: 0; pointer-events: none; }
.hero-room-image { width: 100%; height: 100%; object-fit: cover; object-position: center 57%; }
.hero-room::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,rgba(247,243,234,.98) 0%,rgba(247,243,234,.9) 32%,rgba(247,243,234,.4) 56%,rgba(247,243,234,.03) 83%),linear-gradient(0deg,rgba(247,243,234,.4),transparent 35%); }
.hero .hero-art.hero-room.visible { transform: scale(var(--hero-art-scale,1)); }
@media(max-width:760px) {
  .hero-inner { grid-template-rows: 1fr; align-items: center; padding-top: 6rem; padding-bottom: 3rem; }
  .hero-copy { align-self: center; }
  .hero-room-image { object-position: 62% center; }
  .hero-room::after { background: linear-gradient(90deg,rgba(247,243,234,.96),rgba(247,243,234,.67) 70%,rgba(247,243,234,.38)),linear-gradient(0deg,rgba(247,243,234,.7),transparent 38%); }
}
@media(max-width:760px) { .body-map-stage.mannequin-stage { width: min(86vw,320px); } }
@media(prefers-reduced-motion:reduce) {
  .body-map-stage,.body-map-stage > img,.body-map-colorwash,.body-map-massage { animation: none !important; transition: none !important; transform: none !important; }
  .body-map[data-view="augen"] .body-map-eyes { transform: translateY(-5%) scale(1.5) !important; }
  .body-map[data-view="kopf"] .body-map-figure { transform: translateY(12%) scale(1.65) !important; }
}

/* Compact, continuous logo-to-content handover. */
html, body { overflow-x: clip; }
main { overflow-x: clip; }
.hero { height: 260svh; overflow: visible; }
.hero-inner { overflow: hidden; }
.credentials { padding-block: clamp(1.8rem,3.5vw,3rem); }
.credentials-top { align-items: center; gap: 1.5rem; margin-bottom: 1.25rem; }
.credentials-top .eyebrow { margin-bottom: .6rem; }
.credentials-top h2 { font-size: clamp(1.6rem,2.6vw,2.5rem); line-height: 1.15; max-width: 25ch; }
.credentials-top .text-link { font-size: .75rem; flex-shrink: 0; }
.credentials-compact { display: grid; grid-template-columns: minmax(200px,.75fr) minmax(0,1.5fr); gap: 2rem; align-items: center; }
.qualification-summary strong { font-size: 1rem; font-weight: 600; }
.qualification-summary p { margin: .4rem 0; font-size: .86rem; color: #e0d6ca; }
.qualification-summary span { font-size: .71rem; color: #c6b6a2; }
.certificate-strip { display: flex; gap: 1rem; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: .4rem; }
.certificate-preview { display: flex; gap: 1rem; text-align: left; align-items: center; flex: 0 0 330px; max-width: 100%; min-height: 128px; padding: .8rem 1rem; border: 1px solid #b89b704d; background: #ffffff06; cursor: pointer; scroll-snap-align: start; }
.certificate-preview:hover { background: #ffffff12; }
.certificate-preview img { width: 68px; height: 91px; object-fit: contain; flex-shrink: 0; }
.certificate-preview span { min-width: 0; }
.certificate-preview strong { display: block; font-size: .84rem; line-height: 1.4; font-weight: 500; }
.certificate-preview small { display: block; font-size: .68rem; line-height: 1.45; margin-top: .35rem; opacity: .75; }
.certificate-preview b { display: block; font-size: .67rem; font-weight: 500; margin-top: .6rem; text-decoration: underline; text-underline-offset: 3px; }
.certificate-viewer { padding: 1.25rem; width: min(94vw,850px); max-height: 94svh; overflow: auto; }
.certificate-viewer > p { padding-right: 2rem; margin: 0 0 1rem; font-size: .9rem; }
.certificate-viewer > img { width: 100%; height: 70svh; max-height: none; object-fit: contain; }
.certificate-controls { display: flex; justify-content: center; align-items: center; gap: 1.25rem; margin-top: 1rem; }
.certificate-controls button { width: 44px; height: 40px; border: 1px solid var(--line); background: var(--paper); cursor: pointer; }
.certificate-controls button:disabled { opacity: .35; cursor: default; }
.certificate-page { min-height: 75svh; padding-top: 9rem; }
.certificate-page h1 { font-size: clamp(2.7rem,6vw,5rem); max-width: 20ch; }
.certificate-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr)); gap: 1rem; margin-top: 2rem; }
.certificate-grid .certificate-preview { color: var(--ink); background: var(--cream); }
#leistungen { padding-top: clamp(2.5rem,5vw,5rem); }
@media(max-width:760px) {
 .hero { height: 225svh; }
 .credentials-top { display: flex; align-items: flex-start; flex-direction: column; gap: .8rem; }
 .credentials-compact { grid-template-columns: 1fr; gap: 1rem; }
 .certificate-preview { flex-basis: 300px; min-height: 120px; }
 .qualification-summary p { margin: .2rem 0; }
 .certificate-viewer > img { height: 65svh; }
}
@media(prefers-reduced-motion:reduce) { .hero { height: auto; } }

/* Small AI-only disclosure control: the circle stays compact, the touch target is 44px. */
.media-info { right: 2px; bottom: 2px; }
.media-info summary { position: relative; display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px; padding: 0; background: transparent; border: 0; border-radius: 50%; color: #fff; font: 500 15px/1 var(--sans); }
.media-info summary::before { content: ''; position: absolute; inset: 8px; background: rgba(42,35,28,.75); border: 1px solid rgba(255,255,255,.65); border-radius: 50%; }
.media-info summary span { position: relative; z-index: 1; }
.media-info summary:hover::before { background: #6f542f; }
.media-info p { right: 8px; bottom: 44px; width: min(220px,calc(100vw - 50px)); padding: .75rem .85rem; font-size: .73rem; line-height: 1.5; max-height: 180px; }
button,a,summary { -webkit-tap-highlight-color: rgba(182,138,69,.16); }
::selection { background: #dbc6a4; color: #2b241d; }
@media(max-width:760px) and (prefers-reduced-motion:no-preference) {
 .reveal[data-reveal="left"]:not(.visible) { transform: translateX(-24px); }
 .reveal[data-reveal="right"]:not(.visible) { transform: translateX(24px); }
 html.flow-motion .flow-reveal { opacity: 0; transform: translate3d(var(--flow-x,0px),24px,0); transition: opacity .72s ease, transform .85s cubic-bezier(.2,.7,.2,1); }
 html.flow-motion .flow-reveal.is-in-view { opacity: 1; transform: none; }
}
