:root {
  --bg: #fcf8fb;
  --bg-alt: #f5edf4;
  --surface: rgba(255,255,255,.84);
  --surface-solid: #fff;
  --rose: #c78da9;
  --rose-strong: #ad6f8e;
  --lilac: #b8a1ca;
  --plum: #513b4a;
  --plum-2: #6d5365;
  --ink: #312b30;
  --muted: #7a6d75;
  --line: rgba(81,59,74,.12);
  --champagne: #d9c3ad;
  --shadow: 0 24px 70px rgba(81,59,74,.12);
  --shadow-soft: 0 12px 38px rgba(81,59,74,.09);
  --radius: 26px;
  --radius-sm: 16px;
  --container: min(1180px, calc(100% - 40px));
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 4%, rgba(199,141,169,.13), transparent 28rem),
    radial-gradient(circle at 88% 22%, rgba(184,161,202,.12), transparent 25rem),
    var(--bg);
  font-family: var(--sans);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
body.nav-open { overflow: hidden; }
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }

.container { width: var(--container); margin-inline: auto; }
.section { padding: 104px 0; }
.section-sm { padding: 72px 0; }
.section-tint { background: linear-gradient(135deg, rgba(245,237,244,.86), rgba(255,255,255,.72)); border-block: 1px solid var(--line); }
.eyebrow { margin: 0 0 14px; color: var(--rose-strong); font-size: .78rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.display, h1, h2, h3 { font-family: var(--serif); font-weight: 500; color: var(--plum); line-height: 1.08; }
h1 { font-size: clamp(3rem, 7.2vw, 6.6rem); letter-spacing: -.045em; margin: 0; }
h2 { font-size: clamp(2.25rem, 4.5vw, 4.3rem); letter-spacing: -.035em; margin: 0 0 22px; }
h3 { font-size: clamp(1.35rem, 2vw, 1.85rem); margin: 0 0 12px; }
p { margin: 0 0 18px; }
.lead { font-size: clamp(1.08rem, 1.5vw, 1.28rem); color: var(--muted); max-width: 64ch; }
.muted { color: var(--muted); }
.text-center { text-align: center; }
.max-720 { max-width: 720px; margin-inline: auto; }
.max-860 { max-width: 860px; margin-inline: auto; }

.site-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(252,248,251,.74);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid transparent;
  transition: .3s ease;
}
.site-header.is-scrolled { border-bottom-color: var(--line); box-shadow: 0 6px 24px rgba(81,59,74,.05); }
.header-inner { height: 86px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: flex; align-items: center; gap: 12px; min-width: 190px; }
.brand img { width: 52px; height: 52px; object-fit: contain; }
.brand-copy { line-height: 1.05; }
.brand-name { display: block; font-family: var(--serif); font-size: 1.28rem; color: var(--plum); }
.brand-sub { display: block; margin-top: 5px; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.site-nav { display: flex; align-items: center; gap: 28px; }
.site-nav a { color: var(--plum-2); font-size: .92rem; font-weight: 650; transition: color .2s ease; }
.site-nav a:hover, .site-nav a.active { color: var(--rose-strong); }
.nav-toggle { display: none; width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.72); }
.nav-toggle span, .nav-toggle::before, .nav-toggle::after { content: ''; display: block; width: 19px; height: 1.5px; background: var(--plum); margin: 4px auto; transition: .2s ease; }

.btn-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 50px; padding: 0 22px; border: 1px solid transparent; border-radius: 999px;
  font-weight: 750; font-size: .92rem; transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: linear-gradient(135deg, var(--rose-strong), #b58ab7); color: #fff; box-shadow: 0 14px 30px rgba(173,111,142,.24); }
.btn-secondary { background: rgba(255,255,255,.78); color: var(--plum); border-color: var(--line); }
.btn-ghost { color: var(--rose-strong); padding-inline: 6px; min-height: auto; }
.is-disabled { opacity: .45; pointer-events: none; }

.hero { position: relative; overflow: hidden; padding: 58px 0 94px; }
.hero::before { content: ''; position: absolute; width: 510px; height: 510px; right: -210px; top: -170px; border: 1px solid rgba(199,141,169,.16); border-radius: 50%; box-shadow: 0 0 0 46px rgba(199,141,169,.035), 0 0 0 92px rgba(184,161,202,.025); pointer-events: none; }
.hero-grid { display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: clamp(42px, 7vw, 94px); }
.hero-copy { padding-block: 38px; }
.hero-copy .lead { margin: 28px 0 32px; }
.hero-kicker { display: inline-flex; align-items: center; gap: 10px; padding: 8px 13px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.55); color: var(--muted); font-size: .82rem; margin-bottom: 24px; }
.hero-kicker::before { content: ''; width: 7px; height: 7px; background: var(--rose); border-radius: 50%; box-shadow: 0 0 0 5px rgba(199,141,169,.12); }
.hero-media { position: relative; }
.hero-image-wrap { border-radius: 44% 44% 22px 22px / 28% 28% 22px 22px; overflow: hidden; box-shadow: var(--shadow); background: var(--bg-alt); }
.hero-image-wrap img { aspect-ratio: 4/5; object-fit: cover; }
.hero-note { position: absolute; left: -34px; bottom: 42px; width: min(255px, 65%); padding: 20px; background: rgba(255,255,255,.88); backdrop-filter: blur(14px); border: 1px solid rgba(255,255,255,.72); box-shadow: var(--shadow-soft); border-radius: 18px; }
.hero-note strong { display: block; font-family: var(--serif); color: var(--plum); font-size: 1.25rem; margin-bottom: 4px; }
.hero-note span { color: var(--muted); font-size: .82rem; }

.stats { margin-top: -28px; position: relative; z-index: 5; }
.stats-inner { display: grid; grid-template-columns: repeat(3,1fr); background: rgba(255,255,255,.85); backdrop-filter: blur(18px); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-soft); overflow: hidden; }
.stat { padding: 28px 34px; }
.stat + .stat { border-left: 1px solid var(--line); }
.stat strong { display: block; color: var(--plum); font-family: var(--serif); font-size: 1.35rem; margin-bottom: 4px; }
.stat span { color: var(--muted); font-size: .88rem; }

.section-heading { display: flex; justify-content: space-between; gap: 34px; align-items: end; margin-bottom: 42px; }
.section-heading > div:first-child { max-width: 720px; }
.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.card { background: rgba(255,255,255,.78); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: 0 10px 34px rgba(81,59,74,.055); transition: transform .28s ease, box-shadow .28s ease; }
.card:hover { transform: translateY(-6px); box-shadow: var(--shadow-soft); }
.card-media { position: relative; overflow: hidden; }
.card-media img { aspect-ratio: 4/3; object-fit: cover; transition: transform .55s ease; }
.card:hover .card-media img { transform: scale(1.035); }
.card-badge { position: absolute; left: 16px; top: 16px; padding: 7px 11px; border-radius: 999px; background: rgba(255,255,255,.88); backdrop-filter: blur(10px); color: var(--plum); font-size: .72rem; font-weight: 800; }
.card-body { padding: 24px; }
.card-body p { color: var(--muted); font-size: .93rem; }
.card-meta { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; color: var(--rose-strong); font-size: .76rem; font-weight: 750; }

.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(42px, 7vw, 92px); align-items: center; }
.split-media { position: relative; }
.split-media img { aspect-ratio: 4/5; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow); }
.split-media::after { content: ''; position: absolute; width: 45%; height: 45%; right: -22px; bottom: -22px; border: 1px solid rgba(199,141,169,.32); border-radius: 22px; z-index: -1; }
.feature-list { display: grid; gap: 16px; margin: 28px 0 34px; }
.feature { display: grid; grid-template-columns: 40px 1fr; gap: 14px; align-items: start; }
.feature-icon { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(135deg, rgba(199,141,169,.16), rgba(184,161,202,.18)); color: var(--rose-strong); font-weight: 900; }
.feature strong { display:block; color: var(--plum); margin: 2px 0 3px; }
.feature span { color: var(--muted); font-size: .9rem; }

.quote-band { padding: 70px 0; }
.quote-card { position: relative; padding: clamp(34px,5vw,68px); border-radius: 32px; background: linear-gradient(135deg, #5e4657, #7f6277); color: #fff; overflow: hidden; box-shadow: var(--shadow); }
.quote-card::after { content: '“'; position: absolute; right: 5%; top: -52px; font-family: var(--serif); font-size: 15rem; color: rgba(255,255,255,.07); line-height: 1; }
.quote-card h2 { color: #fff; max-width: 760px; }
.quote-card p { color: rgba(255,255,255,.74); max-width: 700px; }
.quote-card .btn-secondary { background: rgba(255,255,255,.92); }

.page-hero { padding: 70px 0 64px; text-align: center; }
.page-hero h1 { font-size: clamp(3.1rem, 6.5vw, 5.9rem); }
.page-hero .lead { margin: 24px auto 0; }
.page-hero .eyebrow { margin-bottom: 16px; }

.filters { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 0 0 38px; }
.filter-btn { border: 1px solid var(--line); background: rgba(255,255,255,.72); color: var(--muted); border-radius: 999px; padding: 9px 15px; font-weight: 700; font-size: .83rem; }
.filter-btn.is-active { background: var(--plum); color: #fff; border-color: var(--plum); }
[hidden] { display: none !important; }

.price-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.price-card { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 28px 30px; background: rgba(255,255,255,.78); border: 1px solid var(--line); border-radius: 22px; }
.price-card h3 { font-size: 1.35rem; margin-bottom: 7px; }
.price-card p { color: var(--muted); font-size: .88rem; margin: 0; }
.price { white-space: nowrap; text-align: right; }
.price strong { display: block; font-family: var(--serif); color: var(--plum); font-size: 1.45rem; }
.price span { color: var(--muted); font-size: .78rem; }
.price-placeholder { color: var(--rose-strong) !important; }
.notice { padding: 18px 20px; border: 1px solid rgba(173,111,142,.18); background: rgba(199,141,169,.08); border-radius: var(--radius-sm); color: var(--plum-2); font-size: .92rem; }

.accordion { display: grid; gap: 12px; }
.accordion-item { background: rgba(255,255,255,.76); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; }
.accordion-button { width: 100%; border: 0; background: transparent; padding: 20px 22px; display: flex; justify-content: space-between; gap: 20px; text-align: left; color: var(--plum); font-weight: 780; }
.accordion-button::after { content: '+'; font-size: 1.35rem; color: var(--rose-strong); }
.accordion-item.is-open .accordion-button::after { content: '–'; }
.accordion-panel { max-height: 0; overflow: hidden; transition: max-height .35s ease; }
.accordion-item.is-open .accordion-panel { max-height: 600px; }
.accordion-panel-inner { padding: 0 22px 22px; color: var(--muted); }

.form-shell { max-width: 900px; margin-inline: auto; padding: clamp(24px,5vw,52px); background: rgba(255,255,255,.84); border: 1px solid var(--line); border-radius: 30px; box-shadow: var(--shadow-soft); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.field { display: grid; gap: 7px; }
.field.full { grid-column: 1 / -1; }
label { color: var(--plum); font-size: .85rem; font-weight: 760; }
input, textarea, select { width: 100%; border: 1px solid var(--line); background: rgba(252,248,251,.75); border-radius: 13px; padding: 13px 14px; color: var(--ink); outline: none; transition: border-color .2s ease, box-shadow .2s ease; }
input:focus, textarea:focus, select:focus { border-color: rgba(173,111,142,.55); box-shadow: 0 0 0 4px rgba(199,141,169,.10); }
textarea { min-height: 140px; resize: vertical; }
.form-section { padding-top: 24px; margin-top: 24px; border-top: 1px solid var(--line); }
.form-section h3 { font-size: 1.45rem; }
.check-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px 18px; }
.check { display: flex; gap: 10px; align-items: flex-start; color: var(--muted); font-size: .9rem; }
.check input { width: 17px; height: 17px; margin-top: 4px; accent-color: var(--rose-strong); }
.form-status { min-height: 24px; color: var(--rose-strong); font-size: .88rem; }

.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 42px; align-items: stretch; }
.contact-card { padding: 28px; background: rgba(255,255,255,.78); border: 1px solid var(--line); border-radius: var(--radius); }
.contact-list { display: grid; gap: 18px; margin-top: 26px; }
.contact-item small { display: block; text-transform: uppercase; letter-spacing: .14em; font-size: .66rem; color: var(--rose-strong); font-weight: 850; margin-bottom: 3px; }
.contact-item strong, .contact-item a { color: var(--plum); font-weight: 700; }
.contact-image { height: 100%; min-height: 520px; object-fit: cover; border-radius: var(--radius); box-shadow: var(--shadow-soft); }

.legal { max-width: 850px; margin-inline: auto; }
.legal h2 { font-size: 2rem; margin-top: 46px; }
.legal h3 { font-size: 1.3rem; margin-top: 30px; }
.legal p, .legal li { color: var(--muted); }
.legal ul { padding-left: 20px; }
.placeholder-copy { padding: 18px 20px; border-left: 3px solid var(--rose); background: rgba(199,141,169,.07); color: var(--plum-2) !important; }

.site-footer { border-top: 1px solid var(--line); padding: 60px 0 28px; background: rgba(255,255,255,.45); }
.footer-grid { display: grid; grid-template-columns: 1.3fr .7fr .7fr; gap: 42px; padding-bottom: 42px; }
.footer-brand { max-width: 380px; }
.footer-brand .brand { margin-bottom: 18px; }
.footer-brand p { color: var(--muted); font-size: .9rem; }
.footer-col h4 { margin: 0 0 14px; color: var(--plum); font-size: .85rem; text-transform: uppercase; letter-spacing: .11em; }
.footer-col a { display: block; color: var(--muted); font-size: .9rem; margin: 8px 0; }
.footer-col a:hover { color: var(--rose-strong); }
.footer-bottom { border-top: 1px solid var(--line); padding-top: 22px; display: flex; justify-content: space-between; gap: 20px; color: var(--muted); font-size: .78rem; }

[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .7s ease, transform .7s ease; }
[data-reveal].is-visible { opacity: 1; transform: none; }

@media (max-width: 980px) {
  .site-nav { position: fixed; inset: 86px 14px auto 14px; display: none; padding: 20px; flex-direction: column; align-items: stretch; gap: 4px; border-radius: 22px; background: rgba(255,255,255,.97); border: 1px solid var(--line); box-shadow: var(--shadow); }
  .site-nav.is-open { display: flex; }
  .site-nav a { padding: 12px 10px; border-radius: 10px; }
  .site-nav .btn { margin-top: 8px; }
  .nav-toggle { display: block; }
  .header-cta { display: none; }
  .hero-grid, .split, .contact-grid { grid-template-columns: 1fr; }
  .hero { padding-top: 24px; }
  .hero-copy { text-align: center; }
  .hero-copy .lead { margin-inline: auto; }
  .hero-copy .btn-row { justify-content: center; }
  .hero-media { max-width: 680px; margin-inline: auto; }
  .hero-note { left: 18px; }
  .card-grid { grid-template-columns: repeat(2,1fr); }
  .section-heading { align-items: start; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  :root { --container: min(100% - 28px, 1180px); --radius: 21px; }
  .section { padding: 74px 0; }
  .section-sm { padding: 54px 0; }
  .header-inner { height: 76px; }
  .site-nav { top: 76px; }
  .brand img { width: 44px; height: 44px; }
  .brand-sub { display: none; }
  h1 { font-size: clamp(3.2rem, 16vw, 4.5rem); }
  .hero { padding-bottom: 70px; }
  .hero-note { position: static; margin: -18px 12px 0; width: auto; }
  .stats { margin-top: -18px; }
  .stats-inner { grid-template-columns: 1fr; }
  .stat { padding: 20px 22px; }
  .stat + .stat { border-left: 0; border-top: 1px solid var(--line); }
  .card-grid, .price-grid, .form-grid, .check-grid { grid-template-columns: 1fr; }
  .field.full { grid-column: auto; }
  .price-card { align-items: flex-start; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
  .contact-image { min-height: 350px; }
}

@media print {
  .site-header, .site-footer, .no-print, .btn { display: none !important; }
  body { background: #fff; color: #000; }
  .section, .section-sm, .page-hero { padding: 18px 0; }
  .form-shell { box-shadow: none; border: 0; padding: 0; }
  input, textarea, select { background: #fff; border-color: #bbb; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
  [data-reveal] { opacity: 1; transform: none; }
}
/* ===== GesunderGeist 2.0 premium additions ===== */
[hidden]{display:none!important}.header-actions{display:none;align-items:center;gap:6px}.lang-btn{border:1px solid var(--line);background:rgba(255,255,255,.72);color:var(--plum);border-radius:999px;padding:8px 10px;font-weight:800;font-size:.75rem;cursor:pointer}.lang-btn.is-active{background:var(--plum);color:#fff}.site-nav .lang-btn{padding:7px 9px}.ambient{position:fixed;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(40px);opacity:.45}.ambient-one{width:460px;height:460px;left:-180px;top:14vh;background:radial-gradient(circle,rgba(199,141,169,.5),transparent 68%)}.ambient-two{width:520px;height:520px;right:-210px;top:60vh;background:radial-gradient(circle,rgba(184,161,202,.48),transparent 68%)}
.premium-hero{position:relative;min-height:min(820px,88vh);display:flex;align-items:flex-end;overflow:hidden;background:#56384f}.premium-hero-media{position:absolute;inset:-8%;width:116%;height:116%}.premium-hero-media img{width:100%;height:100%;object-fit:cover}.premium-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(39,24,37,.73),rgba(48,29,43,.28) 60%,rgba(37,24,35,.18)),linear-gradient(0deg,rgba(38,23,35,.58),transparent 58%)}.premium-hero-copy{position:relative;z-index:2;color:white;padding-bottom:clamp(65px,9vh,105px);max-width:900px;margin-left:max(20px,calc((100vw - 1180px)/2));margin-right:auto}.premium-hero-copy h1{color:#fff;font-size:clamp(3rem,6.4vw,6.2rem);max-width:1000px}.premium-hero-copy .lead{color:rgba(255,255,255,.92);font-size:clamp(1.05rem,1.8vw,1.4rem);max-width:780px}.premium-hero-copy .eyebrow{color:#efd6e5}.scroll-mark{position:absolute;right:28px;bottom:28px;z-index:2;color:rgba(255,255,255,.65);writing-mode:vertical-rl;letter-spacing:.24em;font-size:.62rem}.parallax-window{overflow:hidden}.parallax-window>img{height:112%;min-height:112%;object-fit:cover}.premium-split{align-items:center}.split-media.tall{min-height:650px;border-radius:32px;box-shadow:var(--shadow);overflow:hidden}.split-media.tall img{height:112%;object-fit:cover}.premium-card{background:rgba(255,255,255,.78);backdrop-filter:blur(12px)}.premium-card .card-media{height:280px}.premium-card .card-media img{height:112%;aspect-ratio:auto}.text-link{color:var(--rose-strong);font-weight:800;font-size:.9rem}.center-action{text-align:center;margin-top:42px}.parallax-quote{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;color:#fff}.parallax-quote-bg{position:absolute;inset:-10%;width:120%;height:120%}.parallax-quote-bg img{width:100%;height:100%;object-fit:cover}.parallax-quote-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(57,31,50,.82),rgba(83,46,75,.52))}.parallax-quote>.container{position:relative;z-index:2}.parallax-quote h2{color:#fff;max-width:850px}.parallax-quote p{font-size:1.15rem;max-width:720px}.contact-map-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:24px}.contact-panel,.map-shell,.legal-panel,.health-form,.price-table{background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.contact-panel{padding:clamp(30px,5vw,58px)}.contact-panel h2{font-size:clamp(2rem,3.5vw,3.6rem)}.map-shell{min-height:450px;overflow:hidden}.map-shell.large{min-height:560px}.map-consent{min-height:inherit;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:32px;background:radial-gradient(circle at 20% 20%,rgba(199,141,169,.32),transparent 34%),linear-gradient(135deg,#f2e8f0,#faf8fa)}.map-consent strong{font:500 2rem var(--serif);color:var(--plum)}.map-shell iframe{display:block;width:100%;height:100%;min-height:inherit;border:0}.service-detail-list{max-width:1250px}.service-detail{display:grid;grid-template-columns:.86fr 1.14fr;gap:64px;padding:82px 0;border-bottom:1px solid var(--line);align-items:start}.service-detail.reverse{grid-template-columns:1.14fr .86fr}.service-detail.reverse .service-detail-media{order:2}.service-detail-media{height:610px;border-radius:30px;overflow:hidden;position:sticky;top:112px;box-shadow:var(--shadow-soft)}.service-detail-media img{height:112%;object-fit:cover}.service-detail-copy h2{font-size:clamp(2.3rem,4.1vw,4.1rem)}.service-rich{color:#554752}.service-rich ul{padding-left:22px}.service-rich li{margin-bottom:5px}.service-rich p{margin-bottom:17px}.price-table{overflow:auto}.price-table table{border-collapse:collapse;width:100%;min-width:720px}.price-table th,.price-table td{padding:22px 26px;border-bottom:1px solid var(--line);text-align:left}.price-table th{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.price-table td:first-child{font:500 1.25rem var(--serif);color:var(--plum)}.editorial-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:start}.editorial-text{font-size:1.04rem}.editorial-text ul,.legal-panel ul{padding-left:23px}.editorial-photo{height:680px;position:sticky;top:112px;border-radius:30px;box-shadow:var(--shadow);overflow:hidden}.editorial-photo img{height:112%;object-fit:cover}.legal-panel{max-width:960px;margin-inline:auto;padding:clamp(30px,6vw,70px)}.health-form{max-width:980px;margin:auto;padding:clamp(28px,5vw,64px)}.health-form h2{margin-top:48px}.health-form h2:first-child{margin-top:0}.health-form h3{margin-top:32px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.health-form label:not(.choice){display:flex;flex-direction:column;gap:7px;font-weight:700}.health-form input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;outline:none}.health-form input:focus{border-color:var(--rose-strong);box-shadow:0 0 0 3px rgba(173,111,142,.12)}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.choice{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.68);font-weight:500!important}.choice input{width:auto}.full{margin:22px 0}.consent-box{margin:40px 0 28px;padding:28px;border-radius:20px;background:rgba(184,161,202,.13)}.form-status{font-weight:750;color:var(--rose-strong)}
@media(max-width:1000px){.header-actions{display:flex}.site-nav .lang-btn{display:none}.contact-map-grid,.editorial-grid,.service-detail,.service-detail.reverse{grid-template-columns:1fr}.service-detail.reverse .service-detail-media{order:0}.service-detail-media,.editorial-photo{position:relative;top:auto;height:510px}.premium-hero-copy{margin-left:20px;margin-right:20px}.premium-card .card-media{height:340px}}
@media(max-width:680px){.header-actions .lang-btn{padding:7px 9px}.premium-hero{min-height:660px}.premium-hero-copy{padding-bottom:66px}.premium-hero-copy h1{font-size:2.8rem}.scroll-mark{display:none}.split-media.tall{min-height:460px}.premium-card .card-media{height:360px}.contact-map-grid{gap:16px}.map-shell{min-height:390px}.service-detail{gap:28px;padding:54px 0}.service-detail-media{height:420px}.choice-grid,.form-grid{grid-template-columns:1fr}.health-form{padding:24px 17px}}
@media(prefers-reduced-motion:reduce){[data-parallax]{transform:none!important}.ambient{display:none}}

/* =========================================================
   GesunderGeist 3.0 — final luxury polish
   Photo-safe: all effects survive replacing assets/images/*
   ========================================================= */
:root{
  --lux-ink:#2d242b;
  --lux-plum:#4d3044;
  --lux-plum-deep:#33202e;
  --lux-rose:#ba7898;
  --lux-blush:#ead8e2;
  --lux-lilac:#c7b7d8;
  --lux-cream:#fffafc;
  --lux-gold:#ccb89f;
  --lux-glass:rgba(255,250,252,.73);
  --lux-line:rgba(96,59,82,.12);
  --lux-shadow:0 30px 90px rgba(56,34,51,.14);
  --lux-shadow-hover:0 38px 100px rgba(56,34,51,.20);
}
::selection{background:rgba(186,120,152,.25);color:var(--lux-plum-deep)}
html{scroll-padding-top:110px}
body{color:var(--lux-ink);background-color:#fbf6fa}
body::before{
  content:"";position:fixed;inset:0;z-index:-3;pointer-events:none;
  background:
    radial-gradient(circle at 6% 12%,rgba(208,151,180,.15),transparent 31rem),
    radial-gradient(circle at 93% 33%,rgba(184,161,202,.16),transparent 30rem),
    radial-gradient(circle at 45% 88%,rgba(218,196,174,.11),transparent 34rem),
    linear-gradient(180deg,#fdf9fc 0%,#faf5f9 55%,#f8f2f7 100%);
}
body::after{
  content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.038;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
}
::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#f5eef3}::-webkit-scrollbar-thumb{background:linear-gradient(var(--lux-rose),#9a748f);border:3px solid #f5eef3;border-radius:999px}

.scroll-progress{position:fixed;z-index:10020;top:0;left:0;width:100%;height:2px;pointer-events:none;background:rgba(255,255,255,.12)}
.scroll-progress>i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--lux-gold),#fff0f7,var(--lux-rose));box-shadow:0 0 18px rgba(255,230,242,.55);transition:width .08s linear}

.site-header{position:fixed;inset:0 0 auto;z-index:10000;background:transparent!important;border:0!important;box-shadow:none!important;padding:14px 0;pointer-events:none}
.site-header .header-inner{pointer-events:auto;min-height:74px;height:74px;padding:0 15px 0 13px;border:1px solid rgba(255,255,255,.48);border-radius:999px;background:rgba(253,248,251,.74);backdrop-filter:blur(24px) saturate(1.18);-webkit-backdrop-filter:blur(24px) saturate(1.18);box-shadow:0 10px 38px rgba(56,34,51,.09),inset 0 1px rgba(255,255,255,.76);transition:background .35s ease,box-shadow .35s ease,transform .35s ease,border-color .35s ease}
.site-header.is-scrolled .header-inner{background:rgba(253,248,251,.91);border-color:rgba(110,72,96,.12);box-shadow:0 16px 48px rgba(56,34,51,.13),inset 0 1px rgba(255,255,255,.88);transform:translateY(-2px)}
.brand{min-width:auto}.brand img{width:47px;height:47px;filter:drop-shadow(0 7px 13px rgba(84,48,72,.12));transition:transform .35s ease}.brand:hover img{transform:rotate(-2deg) scale(1.035)}
.brand-name{font-size:1.22rem;letter-spacing:-.02em;color:var(--lux-plum)}.brand-sub{font-size:.61rem;letter-spacing:.17em}
.site-nav{gap:21px}.site-nav a:not(.btn){position:relative;color:#65515f;font-size:.86rem;letter-spacing:.005em}.site-nav a:not(.btn)::after{content:"";position:absolute;left:50%;right:50%;bottom:-8px;height:1.5px;border-radius:9px;background:linear-gradient(90deg,var(--lux-gold),var(--lux-rose));transition:left .3s ease,right .3s ease}.site-nav a:not(.btn):hover::after,.site-nav a.active::after{left:4px;right:4px}.site-nav a.active{color:var(--lux-plum);font-weight:760}
.lang-btn{min-width:37px;border-color:rgba(95,57,81,.11);background:rgba(255,255,255,.52);box-shadow:inset 0 1px rgba(255,255,255,.8);transition:.25s ease}.lang-btn:hover{border-color:rgba(186,120,152,.34);transform:translateY(-1px)}.lang-btn.is-active{background:linear-gradient(135deg,var(--lux-plum),#765267);box-shadow:0 7px 18px rgba(74,45,65,.16)}
.nav-toggle{background:rgba(255,255,255,.55);border-color:rgba(95,57,81,.11);box-shadow:inset 0 1px rgba(255,255,255,.82)}

main{overflow:hidden}
.premium-hero{min-height:100svh;margin:0;display:flex;align-items:flex-end;isolation:isolate;background:#503546;border-radius:0 0 44px 44px;box-shadow:0 26px 70px rgba(59,35,52,.12)}
.premium-hero::before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:radial-gradient(circle at 72% 23%,rgba(237,194,214,.18),transparent 26%),radial-gradient(circle at 9% 72%,rgba(201,184,218,.13),transparent 27%)}
.premium-hero::after{content:"";position:absolute;z-index:1;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.56),transparent)}
.premium-hero-media{inset:-7%;width:114%;height:114%;will-change:transform;filter:saturate(.88) contrast(.98) brightness(.94)}
.premium-hero-media img{transform:scale(1.035)}
.premium-hero-shade{z-index:0;background:linear-gradient(90deg,rgba(39,23,34,.78) 0%,rgba(50,29,45,.54) 38%,rgba(49,31,44,.24) 70%,rgba(43,27,39,.25) 100%),linear-gradient(0deg,rgba(36,22,33,.62),transparent 56%)}
.premium-hero-copy{z-index:3;padding-top:155px;padding-bottom:clamp(74px,10vh,118px);max-width:1060px;margin-left:max(22px,calc((100vw - 1180px)/2));text-shadow:0 7px 30px rgba(31,17,28,.13)}
.premium-hero-copy .eyebrow{display:flex;align-items:center;gap:13px;color:#f2dce8;margin-bottom:20px}.premium-hero-copy .eyebrow::before{content:"";width:34px;height:1px;background:linear-gradient(90deg,#d8b9c8,#f5e4ec)}
.premium-hero-copy h1{max-width:1030px;font-size:clamp(3.45rem,6.25vw,6.35rem);line-height:.99;letter-spacing:-.048em;text-wrap:balance;color:#fff;text-shadow:0 10px 42px rgba(28,14,25,.24)}
.premium-hero-copy .lead{max-width:760px;margin-top:27px;color:rgba(255,248,252,.88);font-size:clamp(1.08rem,1.55vw,1.34rem);font-weight:430}
.home-hero .premium-hero-copy{max-width:1140px}.home-hero .premium-hero-copy h1{font-size:clamp(3.3rem,5.75vw,5.95rem)}
.scroll-mark{right:30px;bottom:35px;display:flex;align-items:center;gap:13px;writing-mode:vertical-rl;color:rgba(255,255,255,.62);font-weight:700}.scroll-mark::before{content:"";display:block;width:1px;height:54px;background:linear-gradient(transparent,rgba(255,255,255,.62))}
.hero-signature{position:absolute;z-index:4;right:max(24px,calc((100vw - 1180px)/2));bottom:38px;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(49,28,44,.23);backdrop-filter:blur(12px);color:rgba(255,255,255,.76);font-size:.71rem;letter-spacing:.1em;text-transform:uppercase}.hero-signature::before{content:"";width:6px;height:6px;border-radius:50%;background:#e7c7d7;box-shadow:0 0 0 5px rgba(231,199,215,.1)}

.page-hero{padding-top:160px}.page-hero h1{text-wrap:balance}
.section{position:relative}.section::before{content:"";position:absolute;left:50%;top:0;width:min(1180px,calc(100% - 40px));height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(96,59,82,.065),transparent);pointer-events:none}.premium-hero+.section::before{display:none}
.eyebrow{color:var(--lux-rose);font-size:.7rem;letter-spacing:.2em}
h1,h2,h3,.display{color:var(--lux-plum)}
h2{text-wrap:balance}.lead{color:#766472}

.btn{position:relative;isolation:isolate;overflow:hidden;min-height:51px;border-radius:999px;letter-spacing:.015em;box-shadow:none;transform:translateZ(0)}
.btn::before{content:"";position:absolute;z-index:-1;inset:-1px;transform:translateX(-125%) skewX(-20deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transition:transform .75s cubic-bezier(.2,.75,.2,1)}.btn:hover::before{transform:translateX(125%) skewX(-20deg)}
.btn-primary{background:linear-gradient(135deg,#a96c8b 0%,#7b536d 55%,#56374d 100%);border-color:rgba(255,255,255,.13);box-shadow:0 15px 32px rgba(83,48,71,.20),inset 0 1px rgba(255,255,255,.2)}.btn-primary:hover{box-shadow:0 21px 43px rgba(83,48,71,.27)}
.btn-secondary{background:rgba(255,250,252,.81);backdrop-filter:blur(12px);border-color:rgba(86,54,75,.13);box-shadow:0 10px 26px rgba(58,37,52,.08),inset 0 1px rgba(255,255,255,.9)}
.premium-hero .btn-secondary{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.38);box-shadow:inset 0 1px rgba(255,255,255,.12)}
.btn-ghost{color:var(--lux-rose);font-weight:760}.btn-ghost:hover{color:var(--lux-plum)}

.section-tint{background:linear-gradient(150deg,rgba(244,235,242,.78),rgba(255,252,254,.83) 48%,rgba(239,231,242,.66));border-color:rgba(96,59,82,.07)}
.section-heading{margin-bottom:50px}.section-heading h2{font-size:clamp(2.65rem,4.7vw,4.75rem)}
.card-grid{gap:25px}
.premium-card{position:relative;border-color:rgba(90,54,78,.09);border-radius:28px;background:rgba(255,252,254,.69);box-shadow:0 13px 40px rgba(72,43,63,.065),inset 0 1px rgba(255,255,255,.7);transform:translateZ(0);will-change:transform,box-shadow}
.premium-card::before{content:"";position:absolute;z-index:3;pointer-events:none;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(192,130,159,.06),rgba(128,94,123,.16));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.premium-card::after,.contact-panel::after,.price-table::after,.health-form::after{content:"";position:absolute;z-index:0;pointer-events:none;inset:0;border-radius:inherit;opacity:0;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(222,176,199,.18),transparent 55%);transition:opacity .35s ease}.premium-card:hover::after,.contact-panel:hover::after,.price-table:hover::after,.health-form:hover::after{opacity:1}
.premium-card:hover{transform:translateY(-9px);box-shadow:var(--lux-shadow-hover)}
.premium-card .card-media{height:300px;background:linear-gradient(135deg,#eadbe4,#e1d6e9)}
.premium-card .card-media::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(43,27,39,.18));pointer-events:none}
.premium-card .card-media img{filter:saturate(.92);transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s ease}.premium-card:hover .card-media img{transform:scale(1.065);filter:saturate(1)}
.premium-card .card-body{position:relative;z-index:2;padding:25px 25px 27px;min-height:180px}.premium-card .card-body .eyebrow{font-size:.64rem;letter-spacing:.1em;line-height:1.5;margin-bottom:10px}.premium-card h3{font-size:clamp(1.45rem,1.85vw,1.82rem);letter-spacing:-.025em}.text-link{display:inline-flex;align-items:center;gap:5px;position:relative;margin-top:4px;color:#a36a86}.text-link::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:currentColor;transition:width .3s ease}.text-link:hover::after{width:100%}

.split-media.tall,.editorial-photo,.service-detail-media,.contact-image{position:relative;border:1px solid rgba(255,255,255,.7);box-shadow:var(--lux-shadow)}
.split-media.tall::before,.editorial-photo::before,.service-detail-media::before{content:"";position:absolute;z-index:2;inset:12px;border:1px solid rgba(255,255,255,.45);border-radius:24px;pointer-events:none}
.split-media.tall img,.editorial-photo img,.service-detail-media img{filter:saturate(.93) contrast(.99)}
.premium-split>div:first-child{max-width:570px}.premium-split p{color:#695863}

.parallax-quote{min-height:650px;border-radius:44px;margin:28px 18px;box-shadow:var(--lux-shadow);isolation:isolate}.parallax-quote::before{content:"";position:absolute;z-index:1;inset:0;background:radial-gradient(circle at 76% 36%,rgba(227,185,206,.19),transparent 25%)}.parallax-quote-shade{z-index:0;background:linear-gradient(90deg,rgba(49,27,43,.88),rgba(80,44,71,.56),rgba(55,35,50,.26))}.parallax-quote>.container{z-index:3}.parallax-quote h2{font-size:clamp(2.8rem,5.2vw,5.3rem);letter-spacing:-.04em}.parallax-quote p{color:rgba(255,248,252,.82)}

.contact-map-grid{gap:30px}.contact-panel,.map-shell,.legal-panel,.health-form,.price-table,.contact-card{position:relative;border-color:rgba(87,52,75,.09);background:rgba(255,252,254,.73);box-shadow:0 21px 62px rgba(64,38,57,.10),inset 0 1px rgba(255,255,255,.78)}
.contact-panel{overflow:hidden}.contact-panel::before{content:"";position:absolute;right:-80px;top:-90px;width:260px;height:260px;border-radius:50%;border:1px solid rgba(186,120,152,.15);box-shadow:0 0 0 34px rgba(186,120,152,.025),0 0 0 68px rgba(199,183,216,.025)}
.contact-panel>*{position:relative;z-index:2}.contact-panel h2{letter-spacing:-.04em}.map-shell{border-radius:30px}.map-consent{background:radial-gradient(circle at 18% 14%,rgba(218,168,193,.33),transparent 34%),radial-gradient(circle at 85% 84%,rgba(190,172,209,.23),transparent 37%),linear-gradient(145deg,#f7eff4,#fcf9fb)}
.map-consent::before{content:"";width:72px;height:72px;border-radius:50%;border:1px solid rgba(186,120,152,.26);box-shadow:inset 0 0 0 12px rgba(186,120,152,.05)}

.service-detail-list{counter-reset:luxService}
.service-detail{position:relative;gap:72px;padding:96px 0}.service-detail::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(87,52,75,.14),transparent)}
.service-detail-copy{position:relative;padding-top:22px}.service-detail-copy::before{counter-increment:luxService;content:"0" counter(luxService);display:block;margin-bottom:16px;color:rgba(142,92,119,.44);font:500 1.1rem var(--serif);letter-spacing:.13em}
.service-detail-copy .eyebrow{display:inline-flex;padding:7px 11px;border:1px solid rgba(186,120,152,.15);border-radius:999px;background:rgba(255,255,255,.48);letter-spacing:.08em}.service-detail-copy h2{margin-top:18px;letter-spacing:-.04em}.service-rich{font-size:1.005rem;line-height:1.76;color:#62525d}.service-rich ul{list-style:none;padding-left:0;margin:20px 0}.service-rich li{position:relative;padding-left:22px;margin:8px 0}.service-rich li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:linear-gradient(135deg,var(--lux-rose),var(--lux-lilac));box-shadow:0 0 0 4px rgba(186,120,152,.07)}

.price-table{overflow:auto;border-radius:30px}.price-table::before{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(145deg,rgba(255,255,255,.5),transparent 38%);pointer-events:none}.price-table table{position:relative;z-index:2}.price-table thead{background:rgba(242,232,239,.64);backdrop-filter:blur(10px)}.price-table th{padding-top:19px;padding-bottom:19px;color:#806a78}.price-table td{transition:background .25s ease}.price-table tr:hover td{background:rgba(222,185,203,.075)}.price-table td:first-child{font-size:1.32rem}.price-table td:last-child{font:500 1.13rem var(--serif);color:var(--lux-plum);white-space:nowrap}
.price-card{position:relative;overflow:hidden;background:rgba(255,252,254,.73);border-color:rgba(87,52,75,.09);box-shadow:0 10px 34px rgba(64,38,57,.055);transition:.3s ease}.price-card:hover{transform:translateY(-4px);box-shadow:0 18px 48px rgba(64,38,57,.11)}.price strong{color:var(--lux-plum)}

.editorial-text{font-size:1.04rem;color:#5f505a}.editorial-text p{margin-bottom:21px}.editorial-text>p:first-of-type{font-size:1.19rem;color:var(--lux-plum);line-height:1.66}.editorial-text ul{list-style:none;padding-left:0}.editorial-text li{position:relative;padding-left:22px;margin:8px 0}.editorial-text li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--lux-rose)}

.health-form{overflow:hidden}.health-form::before{content:"";position:absolute;z-index:0;width:480px;height:480px;right:-250px;top:-250px;border-radius:50%;background:radial-gradient(circle,rgba(203,163,184,.12),transparent 68%)}.health-form>*{position:relative;z-index:2}.health-form h2{font-size:clamp(1.9rem,3vw,2.8rem);padding-bottom:13px;border-bottom:1px solid rgba(87,52,75,.09)}.health-form label:not(.choice){color:#66515f}.health-form input,.form-shell input,.form-shell textarea,.form-shell select{background:rgba(255,255,255,.78);border-color:rgba(87,52,75,.11);box-shadow:inset 0 1px 2px rgba(59,36,52,.025)}.choice{position:relative;overflow:hidden;background:rgba(255,255,255,.52);border-color:rgba(87,52,75,.09);transition:.2s ease}.choice:hover{background:rgba(244,234,241,.7);border-color:rgba(186,120,152,.24);transform:translateY(-1px)}.choice:has(input:checked){background:linear-gradient(135deg,rgba(224,190,207,.28),rgba(204,187,219,.24));border-color:rgba(167,104,136,.32);color:var(--lux-plum)}.consent-box{border:1px solid rgba(87,52,75,.075);background:linear-gradient(145deg,rgba(218,199,226,.16),rgba(244,231,239,.45))}

.legal-panel{line-height:1.78}.legal-panel p{color:#62525d}.legal-panel h2,.legal h2{padding-top:10px;color:var(--lux-plum)}

.site-footer{position:relative;margin-top:70px;padding-top:76px;background:linear-gradient(145deg,#34252f,#493341 58%,#3b2b36);border-top:0;color:rgba(255,247,251,.78);overflow:hidden}.site-footer::before{content:"";position:absolute;width:520px;height:520px;right:-190px;top:-290px;border-radius:50%;border:1px solid rgba(255,255,255,.07);box-shadow:0 0 0 55px rgba(255,255,255,.018),0 0 0 110px rgba(255,255,255,.012)}.site-footer .brand-name,.site-footer .footer-col h4{color:#fff}.site-footer .brand-sub,.site-footer .footer-brand p,.site-footer .footer-col a,.site-footer .footer-col span,.site-footer .footer-bottom{color:rgba(255,247,251,.60)}.site-footer .brand img{filter:brightness(1.08) drop-shadow(0 7px 14px rgba(0,0,0,.18))}.site-footer .footer-col a:hover{color:#f3d8e6}.site-footer .footer-bottom{border-top-color:rgba(255,255,255,.09)}

.luxury-dock{position:fixed;z-index:9990;right:20px;bottom:20px;display:flex;flex-direction:column;gap:9px;transition:opacity .25s ease,transform .25s ease}.dock-btn{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(91,56,80,.13);border-radius:50%;background:rgba(255,251,253,.84);backdrop-filter:blur(17px);color:var(--lux-plum);box-shadow:0 13px 38px rgba(54,34,49,.13),inset 0 1px rgba(255,255,255,.9);transition:.25s ease}.dock-btn:hover{transform:translateY(-3px) scale(1.025);background:#fff;box-shadow:0 18px 46px rgba(54,34,49,.18)}.dock-btn svg{width:19px;height:19px}.dock-up{opacity:0;pointer-events:none;transform:translateY(8px)}.luxury-dock.show-up .dock-up{opacity:1;pointer-events:auto;transform:none}

[data-reveal]{transform:translateY(24px);transition:opacity .85s cubic-bezier(.2,.75,.2,1),transform .85s cubic-bezier(.2,.75,.2,1);transition-delay:var(--reveal-delay,0ms)}
[data-reveal].is-visible{transform:none}

@media(max-width:1120px){.site-nav{gap:15px}.site-nav a:not(.btn){font-size:.81rem}.site-header .header-inner{padding-right:11px}.premium-hero-copy{margin-left:clamp(22px,4vw,56px);margin-right:clamp(22px,4vw,56px)}}
@media(max-width:980px){
  .site-header{padding:10px 0}.site-header .header-inner{height:68px;min-height:68px;border-radius:24px}.site-nav{inset:90px 14px auto 14px;padding:18px;border-radius:25px;background:rgba(253,249,252,.97);backdrop-filter:blur(25px);box-shadow:0 24px 70px rgba(54,34,49,.18)}.site-nav a:not(.btn){font-size:.95rem;padding:13px 12px}.site-nav a:not(.btn)::after{display:none}.site-nav a.active{background:rgba(224,194,209,.20)}
  .premium-hero-copy{padding-top:130px}.premium-hero-copy h1,.home-hero .premium-hero-copy h1{font-size:clamp(3.05rem,8vw,5.35rem)}.hero-signature{right:20px}.service-detail{gap:34px}.service-detail-media{height:560px}.parallax-quote{margin-inline:10px;border-radius:32px}
}
@media(max-width:680px){
  html{scroll-padding-top:92px}.site-header{padding:8px 7px}.site-header .header-inner{width:100%;height:63px;min-height:63px;border-radius:21px;padding-left:10px;padding-right:9px}.site-header.is-scrolled .header-inner{transform:none}.brand img{width:42px;height:42px}.brand-name{font-size:1.08rem}.site-nav{inset:82px 9px auto 9px}.header-actions{gap:4px}.lang-btn{min-width:34px;padding:6px 8px}.nav-toggle{width:41px;height:41px}.premium-hero{min-height:760px;border-radius:0 0 28px 28px}.premium-hero-copy{padding-top:116px;padding-bottom:82px;margin-inline:18px}.premium-hero-copy h1,.home-hero .premium-hero-copy h1{font-size:clamp(2.72rem,12.5vw,4.05rem);line-height:1.01}.premium-hero-copy .lead{font-size:1.02rem;line-height:1.62}.premium-hero-copy .eyebrow::before{width:24px}.hero-signature{right:18px;bottom:24px;font-size:.58rem;max-width:calc(100% - 36px)}.premium-hero .btn-row{gap:9px}.premium-hero .btn{width:100%}.section{padding:82px 0}.section-heading{margin-bottom:34px}.premium-card{border-radius:24px}.premium-card .card-media{height:335px}.premium-card .card-body{min-height:auto}.split-media.tall,.editorial-photo{border-radius:25px}.parallax-quote{min-height:620px}.parallax-quote h2{font-size:clamp(2.55rem,11vw,4rem)}.contact-panel{padding:31px 23px}.service-detail{padding:64px 0}.service-detail-media{height:460px;border-radius:25px}.service-detail-media::before,.split-media.tall::before,.editorial-photo::before{inset:9px;border-radius:19px}.service-rich{font-size:.97rem}.price-table{border-radius:23px}.health-form{border-radius:24px}.luxury-dock{right:13px;bottom:13px}.dock-btn{width:45px;height:45px}.site-footer{margin-top:45px;padding-top:62px}
}
@media(prefers-reduced-motion:reduce){.premium-card:hover{transform:none}.btn:hover{transform:none}.hero-signature{backdrop-filter:none}}

/* ==========================================================
   V4 AIRY PREMIUM — light editorial wellness direction
   Keeps the rose/lilac identity, removes the dark-heavy feel.
   ========================================================== */
:root{
  --air-bg:#fffdfd;
  --air-bg-soft:#fcf9fc;
  --air-tint:#f8f1f7;
  --air-rose:#b97496;
  --air-rose-soft:#e7cad9;
  --air-lilac:#bba8cd;
  --air-plum:#553d4f;
  --air-ink:#352f34;
  --air-muted:#776c74;
  --air-line:rgba(95,67,86,.095);
  --air-shadow:0 20px 55px rgba(74,53,68,.075);
  --air-shadow-hover:0 26px 70px rgba(74,53,68,.12);
}

body{
  background:var(--air-bg);
  color:var(--air-ink);
}
body::before{
  background:
    radial-gradient(circle at 7% 9%,rgba(221,177,199,.12),transparent 27rem),
    radial-gradient(circle at 93% 27%,rgba(194,177,211,.11),transparent 28rem),
    linear-gradient(180deg,#fffefe 0%,#fdfafd 52%,#fffdfd 100%);
}
body::after{opacity:.012;mix-blend-mode:normal}
::-webkit-scrollbar-track{background:#fbf7fa}
::-webkit-scrollbar-thumb{background:linear-gradient(#d4a8bd,#bca9cd);border-color:#fbf7fa}

/* quieter floating navigation */
.site-header{padding:12px 0}
.site-header .header-inner{
  min-height:68px;height:68px;
  border-color:rgba(105,76,95,.085);
  background:rgba(255,254,255,.86);
  backdrop-filter:blur(20px) saturate(1.06);
  -webkit-backdrop-filter:blur(20px) saturate(1.06);
  box-shadow:0 8px 30px rgba(75,53,69,.06),inset 0 1px rgba(255,255,255,.95);
}
.site-header.is-scrolled .header-inner{
  background:rgba(255,254,255,.96);
  box-shadow:0 12px 36px rgba(75,53,69,.075),inset 0 1px rgba(255,255,255,.98);
  transform:none;
}
.brand-name{color:var(--air-plum)}
.site-nav a:not(.btn){color:#6d5e68}
.site-nav a.active,.site-nav a:not(.btn):hover{color:var(--air-rose)}
.lang-btn.is-active{background:linear-gradient(135deg,#bf829f,#9f86b0);box-shadow:0 5px 15px rgba(122,85,107,.12)}

/* airy editorial hero: light content panel + bright image */
.premium-hero{
  min-height:clamp(680px,82svh,840px);
  background:linear-gradient(135deg,#fffefe 0%,#fcf7fb 100%);
  border-radius:0 0 34px 34px;
  box-shadow:none;
  align-items:center;
  overflow:hidden;
}
.premium-hero::before{
  z-index:0;
  background:
    radial-gradient(circle at 15% 25%,rgba(222,174,198,.14),transparent 24%),
    radial-gradient(circle at 43% 83%,rgba(195,177,211,.10),transparent 26%);
}
.premium-hero::after{
  background:linear-gradient(90deg,transparent,rgba(112,83,101,.10),transparent);
}
.premium-hero-media{
  inset:0 0 0 auto;
  width:53%;height:100%;
  filter:saturate(.94) contrast(.96) brightness(1.08);
  overflow:hidden;
}
.premium-hero-media::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(255,253,254,.98) 0%,rgba(255,253,254,.78) 8%,rgba(255,253,254,.10) 28%,transparent 52%),
             linear-gradient(0deg,rgba(255,253,254,.10),transparent 35%);
  pointer-events:none;
}
.premium-hero-media img{transform:scale(1.025);object-position:center}
.premium-hero-shade{
  z-index:1;
  background:linear-gradient(90deg,#fffdfd 0%,rgba(255,253,254,.99) 34%,rgba(255,253,254,.88) 43%,rgba(255,253,254,.24) 57%,rgba(255,253,254,0) 74%);
}
.premium-hero-copy{
  z-index:3;
  width:min(1180px,calc(100% - 44px));
  max-width:none;
  margin:0 auto;
  padding:150px 49% 90px 0;
  color:var(--air-ink);
  text-shadow:none;
}
.home-hero .premium-hero-copy{max-width:none}
.premium-hero-copy .eyebrow{
  color:var(--air-rose);
  margin-bottom:18px;
}
.premium-hero-copy .eyebrow::before{background:linear-gradient(90deg,var(--air-rose),var(--air-lilac))}
.premium-hero-copy h1,.home-hero .premium-hero-copy h1{
  color:var(--air-plum);
  text-shadow:none;
  font-size:clamp(3.15rem,5.3vw,5.6rem);
  line-height:1.015;
  max-width:760px;
}
.premium-hero-copy .lead{
  color:var(--air-muted);
  max-width:650px;
  font-size:clamp(1.04rem,1.35vw,1.22rem);
  line-height:1.72;
  font-weight:420;
}
.premium-hero .btn-secondary{
  background:rgba(255,255,255,.82);
  color:var(--air-plum);
  border-color:var(--air-line);
  box-shadow:0 8px 22px rgba(75,53,69,.05);
}
.scroll-mark{display:none}
.hero-signature{
  right:max(22px,calc((100vw - 1180px)/2));bottom:28px;
  background:rgba(255,255,255,.82);
  border-color:rgba(100,73,91,.10);
  color:#7c6f77;
  box-shadow:0 8px 24px rgba(75,53,69,.055);
}
.hero-signature::before{background:var(--air-rose);box-shadow:0 0 0 5px rgba(185,116,150,.08)}

/* overall rhythm: more breathing room, fewer decorative separators */
.section{padding:122px 0}
.section::before{display:none}
.section-sm{padding:84px 0}
.section-tint{
  background:linear-gradient(145deg,rgba(250,245,249,.74),rgba(255,255,255,.96));
  border-color:rgba(105,76,95,.055);
}
.section-heading{margin-bottom:58px}
.section-heading h2{font-size:clamp(2.5rem,4.3vw,4.3rem)}
.eyebrow{color:var(--air-rose);font-size:.68rem;letter-spacing:.19em}
h1,h2,h3,.display{color:var(--air-plum)}
.lead{color:var(--air-muted)}

/* buttons: softer, lighter, still premium */
.btn-primary{
  background:linear-gradient(135deg,#bd7e9d 0%,#a183b3 100%);
  border-color:transparent;
  box-shadow:0 10px 25px rgba(153,101,130,.16);
}
.btn-primary:hover{box-shadow:0 15px 32px rgba(153,101,130,.21)}
.btn-secondary{background:#fff;border-color:var(--air-line);box-shadow:0 8px 22px rgba(75,53,69,.045)}
.btn-ghost{color:var(--air-rose)}

/* cards: less glass, less box-shadow, more editorial white space */
.card-grid{gap:28px}
.premium-card{
  border:1px solid var(--air-line);
  border-radius:24px;
  background:rgba(255,255,255,.94);
  box-shadow:0 7px 26px rgba(75,53,69,.045);
}
.premium-card::before{opacity:.45}
.premium-card::after{display:none}
.premium-card:hover{transform:translateY(-5px);box-shadow:var(--air-shadow-hover)}
.premium-card .card-media{height:310px;background:#f4edf2}
.premium-card .card-media::after{height:22%;background:linear-gradient(transparent,rgba(67,47,61,.06))}
.premium-card .card-media img{filter:saturate(.96) brightness(1.04)}
.premium-card .card-body{padding:29px 27px 31px;min-height:170px}
.premium-card .card-body .eyebrow{color:#9f7f91}
.text-link{color:var(--air-rose)}
.home-page .home-services .premium-card:nth-child(n+7){display:none}
.home-page .home-services .card-grid{grid-template-columns:repeat(3,1fr)}

/* biography / image blocks */
.split-media.tall,.editorial-photo,.service-detail-media{
  box-shadow:0 16px 48px rgba(74,53,68,.07);
}
.split-media.tall::before,.editorial-photo::before,.service-detail-media::before{opacity:.45}
.premium-split p,.editorial-text,.service-rich,.legal-panel p{color:#6b5e66}

/* big quote: keep parallax but make it luminous, not dark */
.parallax-quote{
  min-height:590px;
  margin:42px 22px;
  border-radius:34px;
  box-shadow:0 18px 60px rgba(74,53,68,.075);
  color:var(--air-plum);
  background:#f8f1f6;
}
.parallax-quote-bg{filter:saturate(.82) brightness(1.18)}
.parallax-quote::before{
  z-index:1;
  background:radial-gradient(circle at 16% 22%,rgba(214,168,191,.20),transparent 28%);
}
.parallax-quote-shade{
  z-index:0;
  background:linear-gradient(90deg,rgba(255,252,254,.97) 0%,rgba(255,252,254,.92) 42%,rgba(255,252,254,.64) 67%,rgba(255,252,254,.40) 100%);
}
.parallax-quote>.container{z-index:3}
.parallax-quote h2{color:var(--air-plum);max-width:760px;font-size:clamp(2.65rem,4.8vw,4.8rem)}
.parallax-quote p{color:#70616b;max-width:680px;font-size:1.08rem}
.parallax-quote .eyebrow{color:var(--air-rose)}

/* contact / map / pricing / form: clean white surfaces */
.contact-map-grid{gap:34px}
.contact-panel,.map-shell,.legal-panel,.health-form,.price-table,.contact-card{
  border-color:var(--air-line);
  background:rgba(255,255,255,.96);
  box-shadow:var(--air-shadow);
}
.contact-panel::after,.price-table::after,.health-form::after{display:none}
.contact-panel::before{opacity:.55}
.map-consent{
  background:
    radial-gradient(circle at 18% 18%,rgba(222,180,201,.20),transparent 35%),
    radial-gradient(circle at 85% 82%,rgba(199,182,216,.16),transparent 37%),
    linear-gradient(145deg,#fffdfd,#faf6fa);
}
.price-table thead{background:#fbf6fa}
.price-table tr:hover td{background:rgba(229,201,215,.07)}
.price-card{background:#fff;box-shadow:0 6px 22px rgba(74,53,68,.04)}
.health-form input,.form-shell input,.form-shell textarea,.form-shell select,.choice{background:#fff}
.consent-box{background:linear-gradient(145deg,rgba(244,234,241,.56),rgba(246,241,249,.66))}

/* service details: lighter hierarchy */
.service-detail{gap:78px;padding:112px 0}
.service-detail::after{background:linear-gradient(90deg,transparent,rgba(105,76,95,.08),transparent)}
.service-detail-copy::before{color:rgba(156,115,138,.32)}
.service-detail-copy .eyebrow{background:#fff;border-color:rgba(185,116,150,.12)}

/* light footer instead of dark luxury slab */
.site-footer{
  margin-top:82px;
  padding-top:72px;
  background:linear-gradient(145deg,#fbf5f9,#f4eef7 58%,#fffdfd);
  color:var(--air-muted);
  border-top:1px solid rgba(105,76,95,.06);
  box-shadow:inset 0 1px rgba(255,255,255,.9);
}
.site-footer::before{
  border-color:rgba(125,91,113,.05);
  box-shadow:0 0 0 55px rgba(185,116,150,.012),0 0 0 110px rgba(187,168,205,.012);
}
.site-footer .brand-name,.site-footer .footer-col h4{color:var(--air-plum)}
.site-footer .brand-sub,.site-footer .footer-brand p,.site-footer .footer-col a,.site-footer .footer-col span,.site-footer .footer-bottom{color:#7c6e77}
.site-footer .brand img{filter:drop-shadow(0 6px 12px rgba(87,58,77,.08))}
.site-footer .footer-col a:hover{color:var(--air-rose)}
.site-footer .footer-bottom{border-top-color:rgba(105,76,95,.08)}

/* subtle utilities */
.scroll-progress{background:transparent}
.scroll-progress>i{background:linear-gradient(90deg,#d7b7c7,#c7b8d4,#bb7d9c);box-shadow:none}
.dock-btn{
  background:rgba(255,255,255,.93);
  color:var(--air-plum);
  border-color:var(--air-line);
  box-shadow:0 9px 28px rgba(74,53,68,.08);
}
.dock-btn:hover{box-shadow:0 13px 34px rgba(74,53,68,.12)}

@media(max-width:980px){
  .premium-hero{min-height:820px;align-items:flex-end}
  .premium-hero-media{width:100%;height:58%;top:0;bottom:auto}
  .premium-hero-media::after{background:linear-gradient(0deg,#fffdfd 0%,rgba(255,253,254,.93) 12%,rgba(255,253,254,.18) 42%,transparent 65%)}
  .premium-hero-shade{background:linear-gradient(0deg,#fffdfd 0%,#fffdfd 43%,rgba(255,253,254,.72) 55%,rgba(255,253,254,.10) 73%,transparent 100%)}
  .premium-hero-copy{width:min(100% - 40px,760px);padding:450px 0 78px;margin:0 auto}
  .premium-hero-copy h1,.home-hero .premium-hero-copy h1{font-size:clamp(3rem,7.5vw,4.8rem);max-width:720px}
  .premium-hero-copy .lead{max-width:700px}
  .hero-signature{display:none}
  .home-page .home-services .card-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:680px){
  .site-header{padding:7px}
  .site-header .header-inner{height:62px;min-height:62px;background:rgba(255,255,255,.94)}
  .premium-hero{min-height:760px;border-radius:0 0 24px 24px}
  .premium-hero-media{height:49%}
  .premium-hero-copy{width:calc(100% - 34px);padding:375px 0 58px;margin:0 auto}
  .premium-hero-copy h1,.home-hero .premium-hero-copy h1{font-size:clamp(2.52rem,11vw,3.65rem)}
  .premium-hero-copy .lead{font-size:.98rem;line-height:1.63;margin-top:20px}
  .premium-hero .btn-row{gap:8px}.premium-hero .btn{width:auto;flex:1 1 160px}
  .section{padding:92px 0}.section-sm{padding:66px 0}
  .section-heading{margin-bottom:38px}
  .home-page .home-services .card-grid{grid-template-columns:1fr}
  .premium-card .card-media{height:310px}
  .parallax-quote{min-height:540px;margin:24px 10px;border-radius:26px}
  .parallax-quote-shade{background:rgba(255,252,254,.86)}
  .parallax-quote h2{font-size:clamp(2.35rem,10vw,3.4rem)}
  .service-detail{padding:80px 0;gap:32px}
  .site-footer{margin-top:54px;padding-top:58px}
}


/* V5: airy footer details */
.footer-grid{grid-template-columns:1.18fr .84fr .84fr .74fr;gap:48px}
.footer-hours strong{display:block;color:var(--air-plum,#5d4053);font-family:Georgia,"Times New Roman",serif;font-weight:500;font-size:1.03rem;line-height:1.35;margin:3px 0 8px}
.footer-hours span{display:block;color:#7c6e77;font-size:.86rem;line-height:1.5}
.footer-bottom{justify-content:flex-start}
.contact-hours-inline{margin:24px 0 3px;padding-top:20px;border-top:1px solid rgba(105,76,95,.10)}
.contact-hours-inline strong{display:block;color:var(--air-plum,#5d4053);font-family:Georgia,"Times New Roman",serif;font-size:1.12rem;font-weight:500;margin-bottom:3px}
.contact-hours-inline p{margin:0;color:var(--muted);font-size:.94rem}
@media(max-width:980px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}
@media(max-width:680px){.footer-grid{grid-template-columns:1fr;gap:30px}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column}}
