:root{--cream:#f8f5ee;--sand:#e6ddd1;--taupe:#c8bbaa;--sage:#9ca48f;--olive:#6f705d;--ink:#4e513e;--button:#666756;--line:#ded7cc;--serif:'Times New Roman',Times,serif;--sans:'Segoe UI',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.13;letter-spacing:-.035em}h2{font-size:clamp(29px,2.65vw,39px)}h3{font-size:clamp(24px,2.05vw,30px)}p+p{margin-top:15px}:focus-visible{outline:3px solid var(--ink);outline-offset:5px}.skip{position:fixed;top:-100px;left:20px;z-index:10;background:var(--cream);padding:12px}.skip:focus{top:12px}.header{height:106px;display:flex;align-items:center;gap:24px;padding:0 4.4%;max-width:1600px;margin:auto;position:relative;z-index:2}.brand{width:155px;flex-shrink:0;align-self:flex-start;position:relative}.brand img{width:155px;mix-blend-mode:multiply}.header nav{display:flex;justify-content:center;align-items:center;gap:clamp(12px,2.1vw,32px);flex:1}.header nav a,.header nav button{font-size:14px;white-space:nowrap;padding:12px 0;position:relative}.header nav [aria-current]:after{content:'';position:absolute;bottom:5px;left:25%;width:50%;height:1px;background:var(--olive)}.header nav a:hover,.header nav button:hover{color:#292c21}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--button);color:var(--cream);padding:14px 25px;min-height:48px;border-radius:6px;font-size:15px;line-height:1.25;transition:background .18s,transform .18s}.button:hover{background:var(--ink);transform:translateY(-1px)}.button span,.text-link span{font-size:22px;line-height:1}.header-book{border-radius:28px;white-space:nowrap;font-size:14px;padding:13px 22px}.menu-toggle{display:none}.hero{position:relative;min-height:580px;max-width:1600px;margin:auto;isolation:isolate;overflow:hidden}.hero-image{position:absolute;right:0;top:0;width:72%;height:100%;object-fit:cover;object-position:50% 55%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,var(--cream) 0%,rgba(248,245,238,.98) 24%,rgba(248,245,238,.85) 36%,rgba(248,245,238,0) 56%);z-index:-2}.hero-content{padding:78px 0 34px 6.3%;max-width:650px;width:53%}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;line-height:1.6}.hero h1{font-size:clamp(42px,4.65vw,67px);margin:17px 0 15px;line-height:1.01;color:#35382b}.hero-subtitle{font-size:20px}.hero-description{font-size:15px;max-width:400px;margin:12px 0 23px;line-height:1.6}.hero-note{position:absolute;right:8%;top:50px;text-transform:uppercase;font-size:12px;letter-spacing:.16em;text-align:center;line-height:1.9}.values{display:flex;justify-content:space-between;max-width:365px;gap:20px;margin-top:32px}.values>div{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:14px}.values svg{width:40px;height:40px;stroke:var(--ink);fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.section{padding:29px 4.4% 32px;max-width:1440px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px}.section-heading a{font-size:14px;min-height:44px;display:flex;align-items:center;gap:14px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.card{border:1px solid #e9e2d7;border-radius:6px;overflow:hidden;background:linear-gradient(135deg,#f8f5ee,#f1ece3);display:flex;flex-direction:column}.card-image{aspect-ratio:334/140;background-image:url('assets/reference.jpg');background-size:306.5868% auto;background-repeat:no-repeat}.massage{background-position:6.52% 41.3324%}.complementary{background-position:58.7% 41.3324%;background-size:372.36% auto;aspect-ratio:334/140;background-position:54.1% 40.55%}.nutrition{background-position:102.46% 41.3324%}.card-body{padding:21px 23px 14px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.card p{font-size:15px;line-height:1.55;margin:10px 0}.checks{list-style:none;padding:0;margin:8px 0 22px;font-size:14px;line-height:1.65}.checks li:before{content:'✓';background:#e7e4d8;border-radius:50%;font-size:12px;margin-right:9px;padding:0 2px}.text-link{display:inline-flex;align-items:center;gap:15px;min-height:44px;font-size:14px;padding:8px 0}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.card .text-link{margin-top:auto}.badge{font-size:11px;text-transform:uppercase;letter-spacing:.17em;background:var(--olive);color:#fff;padding:3px 14px;border-radius:20px;margin:12px 0 0}.education{display:grid;grid-template-columns:32% 1fr 22%;align-items:center;gap:34px;padding:0 4.4% 36px 0;max-width:1440px;margin:auto}.education>img{height:100%;min-height:290px;max-height:340px;object-fit:cover;border-radius:0 6px 6px 0}.education-copy h2{font-size:32px}.education-copy .eyebrow{margin:12px 0 18px;font-size:11px}.education-copy>p:not(.eyebrow){font-size:14px;line-height:1.6}.education-copy .button{margin-top:20px;font-size:13px;padding:12px 19px}.button-light{background:var(--sand);color:var(--ink)}.button-light:hover{background:#d8cbb9}.education-values{border-left:1px solid var(--line);padding-left:28px;display:grid;gap:25px}.education-values>div{display:flex;align-items:center;gap:20px}.education-values span{font-family:var(--serif);font-size:42px;line-height:1}.education-values p{font-size:14px}.education-values small{display:block;font-size:11px;color:#686a59}.booking-band{position:relative;background:var(--ink);color:var(--cream);display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 5% 30px 27%;isolation:isolate;overflow:hidden;min-height:128px}.booking-band:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent,var(--ink) 28%),url('assets/nature.png') left 46%/35% auto no-repeat;opacity:.6}.booking-band h2{font-size:32px}.booking-band p{font-size:14px;margin-top:6px}.booking-band .button{flex-shrink:0;background:var(--cream);min-width:185px}.footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:10px 5% 20px;max-width:1440px;margin:auto;min-height:155px}.footer-brand{width:130px;flex-shrink:0}.footer-brand img{mix-blend-mode:multiply}.footer p{font-size:14px}.footer p span{font-size:12px}.legal{display:flex;gap:15px}.legal button{font-size:12px;min-height:44px;padding:4px}.legal button:hover{text-decoration:underline}@media(min-width:1500px){.hero-content{padding-top:90px}.hero{min-height:650px}}
@media(max-width:1100px){.header{gap:15px;padding:0 3%;height:90px}.brand,.brand img{width:125px}.header nav{gap:13px}.header nav a,.header nav button{font-size:12px}.header-book{padding:12px 16px;font-size:12px;gap:12px}.hero{min-height:560px}.hero-content{padding-top:62px;width:55%}.hero-description{max-width:345px}.cards{gap:23px}.card-body{padding:17px}.card h3{font-size:25px}.education{gap:25px;grid-template-columns:31% 1fr 22%}.education-values{padding-left:18px}.education-values>div{gap:12px}.education-copy h2{font-size:29px}.education-values span{font-size:32px}}
@media(max-width:850px){html{scroll-padding-top:90px}.header{height:90px;padding:0 5%;gap:15px}.brand,.brand img{width:110px}.brand{align-self:center}.menu-toggle{display:flex;align-items:center;gap:10px;margin-left:auto;min-height:44px;font-size:14px}.header nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--cream);padding:16px 5% 24px;box-shadow:0 12px 20px #4e513e18;grid-template-columns:1fr 1fr;gap:8px}.header nav.open{display:grid}.header nav a,.header nav button{font-size:16px;text-align:left;padding:10px}.header nav [aria-current]:after{display:none}.hero-content{width:62%;padding-left:5%}.hero-image{width:80%;object-position:58% 50%}.hero-shade{background:linear-gradient(90deg,var(--cream),rgba(248,245,238,.94) 30%,rgba(248,245,238,.65) 48%,transparent 75%)}.hero-note{right:4%;font-size:10px}.hero h1{font-size:48px}.hero-subtitle{font-size:18px}.hero-description{max-width:330px}.hero{min-height:550px}.section{padding-inline:5%}.cards{gap:15px}.card-body{padding:15px}.card h3{font-size:23px}.card p,.checks{font-size:14px}.education{grid-template-columns:35% 1fr;padding-right:5%;gap:25px}.education-values{grid-column:1/-1;display:flex;justify-content:space-around;border-left:0;padding:0 0 0 5%}.education>img{max-height:none}.booking-band{padding:28px 5%;background:var(--ink)}.booking-band:before{opacity:.2}.booking-band h2{font-size:29px}.footer{flex-wrap:wrap;gap:10px 25px}.legal{margin-left:auto}}
@media(max-width:620px){.header{height:82px;padding:0 4%;gap:8px}.brand,.brand img{width:96px}.header-book{padding:12px 14px;font-size:12px;gap:7px}.header-book span{font-size:18px}.menu-toggle{font-size:0;gap:0;padding:10px}.menu-toggle span{font-size:22px}.header nav{top:82px}.hero{display:flex;flex-direction:column;padding-bottom:0;min-height:0}.hero-content{order:0;width:100%;max-width:none;padding:38px 6% 30px}.hero-image{position:relative;order:1;width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;object-position:center 56%}.hero-shade{display:none}.hero-note{display:none}.hero h1{font-size:clamp(40px,9vw,54px);margin:14px 0}.hero .eyebrow{font-size:11px}.hero-description{max-width:460px;font-size:15px}.hero-subtitle{font-size:18px}.values{max-width:360px;margin-top:27px}.values>div{font-size:13px}.values svg{width:34px;height:34px}.section{padding:27px 5%}.section-heading{gap:10px;align-items:flex-start;margin-bottom:19px}.section-heading h2{font-size:30px}.section-heading a{font-size:12px;max-width:145px;line-height:1.4;gap:8px;min-height:38px}.cards{grid-template-columns:1fr;gap:22px}.card-body{padding:22px}.card h3{font-size:28px}.card p,.checks{font-size:15px}.card .text-link{margin-top:12px}.education{grid-template-columns:1fr;padding:0 5% 30px;gap:24px}.education>img{min-height:0;max-height:300px;width:100%;aspect-ratio:1.45;border-radius:6px;object-fit:cover}.education-copy>p:not(.eyebrow){font-size:15px}.education-values{grid-column:auto;display:grid;grid-template-columns:1fr;gap:17px;padding:22px 0 0;border-top:1px solid var(--line)}.education-values>div{gap:18px}.education-values p{font-size:15px}.education-values small{font-size:12px}.booking-band{flex-direction:column;align-items:flex-start;gap:23px;padding:32px 6%}.booking-band h2{font-size:32px}.booking-band p{font-size:15px}.footer{display:grid;grid-template-columns:90px 1fr;gap:8px 22px;padding:20px 5%}.footer-brand{width:90px;grid-row:span 2}.footer>.text-link{grid-column:2;font-size:13px}.legal{grid-column:1/-1;margin:0;justify-content:center;padding-top:10px;border-top:1px solid var(--line)}dialog{padding:45px 23px 25px}.portrait{width:110px}.desktop-break{display:none}}
.about-section,.practice-section,.price-section,.contact-section{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(28px,5vw,72px);align-items:center;padding-top:48px;padding-bottom:48px;border-top:1px solid var(--line)}.about-section>img{width:100%;max-height:390px;object-fit:cover;object-position:center 32%;border-radius:6px}.about-section h2,.practice-section h2,.price-section h2,.contact-section h2{margin:10px 0 22px}.about-section p,.practice-section p,.price-section p{font-size:15px}.practice-section{grid-template-columns:1fr 1.2fr}.practice-section>img{width:100%;max-height:340px;object-fit:cover;border-radius:6px}.price-section{grid-template-columns:1.5fr 1fr}.price-box{padding:32px;background:var(--sand);border-radius:6px;text-align:center}.price-box>p{font-family:var(--serif);font-size:46px;margin:8px 0 20px}.contact-placeholder{border:1px solid var(--taupe);border-radius:6px;padding:28px;background:#f1ece3}.contact-placeholder span{font-size:13px;display:block;margin-top:10px}.legal a{font-size:12px;min-height:44px;display:inline-flex;align-items:center}.legal-placeholder{text-align:center;padding:20px 5%;font-size:12px;border-top:1px solid var(--line);color:var(--ink)}
@media(max-width:620px){.about-section,.practice-section,.price-section,.contact-section{grid-template-columns:1fr;padding-top:30px;padding-bottom:30px;gap:24px}.about-section>img{max-height:380px;object-position:center 28%}.practice-section>img{grid-row:1}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Reference crops are CSS-only placeholders; original files stay untouched. */
.card-image{background-size:306.5868% 1097.1429%}.complementary,.nutrition{background-size:373.7226% 1097.1429%;background-position:54.1333% 41.3324%}.nutrition{background-position:94.2667% 41.3324%}.brand,.footer-brand{mix-blend-mode:multiply}

/* Continuous hero image and a logo that bridges the header and hero. */
.header{background:var(--cream)}
.brand{height:160px;background:var(--cream);width:175px;z-index:1;mix-blend-mode:normal}
.brand img{width:175px;mix-blend-mode:multiply}
.hero-image{width:100%;object-position:center 55%}
.hero-shade{background:linear-gradient(90deg,var(--cream) 0%,rgba(248,245,238,.99) 22%,rgba(248,245,238,.94) 31%,rgba(248,245,238,.72) 40%,rgba(248,245,238,.18) 53%,transparent 64%)}
.hero-content{position:relative;padding-top:82px}
@media(min-width:1500px){.hero-content{padding-top:90px}}
@media(max-width:1100px){.brand{width:150px;height:140px}.brand img{width:150px}.hero-content{padding-top:72px}}
@media(max-width:850px){.brand{align-self:flex-start;width:130px;height:120px}.brand img{width:130px}.hero-content{padding-top:58px}.hero-shade{background:linear-gradient(90deg,var(--cream),rgba(248,245,238,.96) 30%,rgba(248,245,238,.73) 48%,transparent 80%)}}
@media(max-width:620px){.brand{width:110px;height:105px}.brand img{width:110px}.hero-content{padding-top:42px}.hero-image{width:100%;object-position:center 56%}}

/* Keep the blend surface under the full square logo at every breakpoint. */
.header .brand{height:auto;aspect-ratio:1}

/* Shared inner-page composition, built from the homepage reference. */
.inner-hero{min-height:480px}
.inner-hero .hero-content{width:58%;max-width:780px;padding-top:88px;padding-bottom:60px}
.inner-hero h1{font-size:clamp(42px,4.5vw,65px);line-height:1.08;margin:19px 0 20px}
.inner-hero .hero-description{max-width:430px;font-size:17px;margin-bottom:26px}
.portrait-hero .hero-image{width:72%;object-position:65% 22%}
.portrait-hero .hero-note{display:none}
.editorial{display:grid;grid-template-columns:1fr 1.35fr;gap:70px;padding-top:58px;padding-bottom:58px;border-bottom:1px solid var(--line)}
.editorial h2{margin-top:14px;max-width:440px}
.prose{max-width:700px;font-size:16px;line-height:1.8}
.prose h3{margin:0 0 16px;font-size:26px}
.prose p+h3{margin-top:30px}
.treatment-section{padding-top:45px;padding-bottom:55px}
.treatment-section>h2,.qualification-section>h2{margin-bottom:28px}
.treatment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.treatment{position:relative;border:1px solid var(--line);background:#f2ede4;border-radius:6px;padding:29px 32px}
.treatment h3{font-size:28px;margin:10px 0 18px}
.treatment p{font-size:15px;line-height:1.8}
.treatment-number{font-size:12px;letter-spacing:.12em;color:var(--button)}
.personal-story{display:grid;grid-template-columns:1fr 1.55fr;gap:65px;align-items:center;padding-top:50px;padding-bottom:60px}
.personal-story>img{width:100%;max-height:630px;object-fit:cover;object-position:center 25%;border-radius:6px}
.personal-story h2{margin:13px 0 25px}
.personal-story p{font-size:16px;line-height:1.8}
.personal-story .text-link{margin-top:22px}
.room-view{margin:0 auto;padding-top:15px;padding-bottom:50px}
.room-view img{width:100%;max-height:650px;object-fit:cover;object-position:center 55%;border-radius:6px}
.room-view figcaption{font-size:12px;letter-spacing:.08em;margin-top:14px;text-align:center}
.qualification-section{padding-top:40px;padding-bottom:60px}
.qualification-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.qualification{border:1px solid var(--line);border-top:3px solid var(--sage);background:#f2ede4;border-radius:5px;padding:28px}
.qualification h3{font-size:28px;margin:20px 0}
.qualification>p:not(.eyebrow){font-size:15px;line-height:1.8}
.inner-page .contact-section{min-height:320px}
.contact-placeholder h3{font-size:28px;margin-bottom:16px}
@media(max-width:1100px){.inner-hero .hero-content{padding-top:78px}.inner-hero{min-height:450px}.editorial{gap:40px}.personal-story{gap:40px}.qualification{padding:20px}.qualification h3{font-size:25px}}
@media(max-width:850px){.inner-hero .hero-content{width:65%;padding-top:65px}.inner-hero h1{font-size:43px}.inner-hero .hero-description{font-size:16px;max-width:330px}.portrait-hero .hero-image{width:80%;object-position:65% center}.editorial{gap:30px}.qualification-grid{grid-template-columns:1fr}.personal-story{gap:30px;grid-template-columns:1fr 1.3fr}.personal-story p{font-size:15px}}
@media(max-width:620px){.inner-hero{min-height:0}.inner-hero .hero-content{width:100%;padding:42px 6% 32px}.inner-hero h1{font-size:clamp(37px,8.6vw,52px)}.inner-hero .hero-description{max-width:none;font-size:16px}.portrait-hero .hero-image{width:100%;object-position:center 25%;aspect-ratio:1.55}.editorial{grid-template-columns:1fr;gap:25px;padding-top:34px;padding-bottom:34px}.editorial h2{font-size:32px}.treatment-grid{grid-template-columns:1fr}.treatment{padding:24px}.treatment h3{font-size:27px}.personal-story{grid-template-columns:1fr;gap:28px;padding-top:30px;padding-bottom:35px}.personal-story>img{max-height:440px}.room-view{padding-bottom:30px}.room-view img{min-height:250px;object-fit:cover}.qualification-section{padding-top:32px;padding-bottom:35px}}


/* Reference refinement: lighter serif forms and one shared button shape. */
:root{--button-radius:6px}
.button,.header-book{border-radius:var(--button-radius);font-family:var(--sans);font-weight:400}
h1,h2,h3{font-weight:400;letter-spacing:-.025em;font-synthesis:none}
.hero h1{line-height:1.06}
.hero-note{top:25px;right:12%;margin:0;padding:10px 15px;font-size:11px;font-weight:500;line-height:1.9;letter-spacing:.18em;color:#4e513e;background:radial-gradient(ellipse,rgba(248,245,238,.55),rgba(248,245,238,0) 72%)}
.hero-note:after{content:'';display:block;width:35px;height:1px;margin:15px auto 0;background:rgba(78,81,62,.35)}
.inner-hero .hero-note{display:none}
@media(max-width:850px){.hero-note{top:20px;right:5%;font-size:10px;padding:8px}}

/* Larger reference-style logo with enough clearance for the hero copy. */
@media(min-width:1101px){
  .header .brand,.header .brand img{width:225px}
  .hero-content{padding-top:116px}
  .hero:not(.inner-hero){min-height:650px}
  .inner-hero .hero-content{padding-top:116px}
  .inner-hero{min-height:510px}
  .home-page .hero-content{width:56%;max-width:720px}
}
@media(min-width:851px) and (max-width:1100px){
  .header .brand,.header .brand img{width:170px}
  .hero-content,.inner-hero .hero-content{padding-top:92px}
}
@media(min-width:1101px){.hero-content,.inner-hero .hero-content{padding-top:140px}.hero:not(.inner-hero){min-height:675px}}

/* Logo size review: 25% larger at each breakpoint without widening its nav slot. */
.header .brand{background:transparent;isolation:isolate}
.header .brand img{max-width:none;width:125%;background:var(--cream)}
@media(min-width:1101px){.hero-content,.inner-hero .hero-content{padding-top:196px}.hero:not(.inner-hero){min-height:731px}}
@media(min-width:851px) and (max-width:1100px){.hero-content,.inner-hero .hero-content{padding-top:135px}}
@media(min-width:621px) and (max-width:850px){.hero-content,.inner-hero .hero-content{padding-top:94px}}
@media(max-width:620px){.hero-content,.inner-hero .hero-content{padding-top:76px}}
/* Blend the supplied white-backed logo into the actual page backdrop. */
.header{z-index:auto}
.header .brand{z-index:3;isolation:auto;mix-blend-mode:multiply;background:transparent}
.header .brand img{background:transparent;mix-blend-mode:normal}
.header nav{z-index:4}
/* Treatment cards reuse the homepage card layout and image proportions. */
.treatment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.treatment.card{padding:0;background:linear-gradient(135deg,#f8f5ee,#f1ece3);border:1px solid #e9e2d7}
.treatment.card h3{font-size:clamp(24px,2.05vw,30px);margin:0}
.treatment.card p{font-size:15px;line-height:1.55;margin:10px 0 22px}
.treatment.card .card-body{padding:21px 23px 14px}
.lead-section{display:grid;grid-template-columns:1fr 1.45fr;gap:65px;padding-top:55px;padding-bottom:65px;align-items:start}
.lead-intro h2{margin:15px 0 22px}.lead-summary{margin-top:35px;border-top:1px solid var(--line);padding-top:25px}.lead-summary strong{display:block;font-family:var(--serif);font-weight:400;font-size:29px;margin:9px 0}.lead-summary p{font-size:14px;max-width:300px}
.lead-form{padding:32px;background:#f2ede4;border:1px solid var(--line);border-radius:6px}.lead-form fieldset{padding:0;border:0;margin:0;min-width:0}.prototype-notice{font-size:13px;line-height:1.6;margin-bottom:25px;padding-bottom:18px;border-bottom:1px solid var(--taupe)}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.field label{font-size:14px}.field label span{font-size:12px}.field input,.field select{font:inherit;color:var(--ink);background:var(--cream);border:1px solid #83816e;border-radius:6px;padding:12px;min-height:48px;width:100%;min-width:0}.field input::placeholder{color:#696859;font-size:14px}.form-privacy{font-size:12px;margin:0 0 22px}#lead-status:not(:empty){padding-top:18px;font-size:14px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:850px){.treatment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.lead-section{gap:30px;grid-template-columns:1fr 1.3fr}.field-grid{grid-template-columns:1fr;gap:0}.lead-form{padding:23px}}
@media(max-width:620px){.treatment-grid{grid-template-columns:1fr;gap:22px}.lead-section{grid-template-columns:1fr;padding-top:32px;padding-bottom:35px}.treatment.card .card-body{padding:22px}.treatment.card h3{font-size:28px}}
/* Approved transparent vector: no raster-background blending is needed. */
.header .brand:has(img[src$=".svg"]),.footer-brand:has(img[src$=".svg"]){mix-blend-mode:normal}
.header .brand img[src$=".svg"],.footer-brand img[src$=".svg"]{mix-blend-mode:normal;background:transparent}
.treatment-photo{display:block;width:100%;height:auto;aspect-ratio:334/140;object-fit:cover;object-position:center}
/* Shared arrow interaction: a gentle shift, no underline or looping motion. */
.text-link:hover,.section-heading a:hover{ text-decoration:none }
.text-link span,.button span,.section-heading a span{display:inline-block;transition:transform 240ms ease-out;text-decoration:none}
.text-link:hover span,.text-link:focus-visible span,.button:hover span,.button:focus-visible span,.section-heading a:hover span,.section-heading a:focus-visible span{transform:translateX(6px)}
.button:hover{transform:none}
@media(prefers-reduced-motion:reduce){.text-link span,.button span,.section-heading a span{transition:none}.text-link:hover span,.text-link:focus-visible span,.button:hover span,.button:focus-visible span,.section-heading a:hover span,.section-heading a:focus-visible span{transform:none}}
/* Underline only the label; the independent arrow retains its slide. */
.text-link .link-label,.section-heading a .link-label{font:inherit;line-height:inherit;transform:none;transition:none}
.text-link:hover .link-label,.text-link:focus-visible .link-label,.section-heading a:hover .link-label,.section-heading a:focus-visible .link-label{transform:none;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px}
/* Clearly labelled content placeholders awaiting client-supplied material. */
.media-section,.testimonial-section{padding-top:45px;padding-bottom:45px;border-top:1px solid var(--line)}
.media-section h2,.testimonial-section h2{margin-top:9px}.pending-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#696859}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.video-poster{position:relative;border-radius:6px;overflow:hidden;aspect-ratio:16/9;background:var(--sand)}.video-poster img{width:100%;height:100%;object-fit:cover}.video-status{position:absolute;left:15px;bottom:15px;padding:6px 13px;background:var(--cream);border-radius:5px;font-size:12px}.video-placeholder h3{font-size:27px;margin:19px 0 10px}.video-placeholder p,.section-intro{font-size:15px}.testimonial-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-top:25px}.testimonial-placeholder{padding:22px;background:#f2ede4;border:1px solid var(--line);border-radius:6px}.testimonial-symbol{font-family:var(--serif);font-size:52px;color:var(--olive);line-height:1}.testimonial-placeholder h3{font-size:23px;margin:12px 0}.testimonial-placeholder p{font-size:14px;margin-bottom:24px}.social-placeholders{display:flex;gap:14px;flex-wrap:wrap}.social-placeholder{font-size:12px;color:var(--ink)}.social-placeholder small{display:block;font-size:10px;color:#696859}.footer{flex-wrap:wrap}.contact-details{margin:28px 0;display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-details dt{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}.contact-details dd{margin:0;font-size:15px}.map-placeholder{position:relative;border:1px solid var(--taupe);border-radius:6px;overflow:hidden;background:var(--sand)}.map-placeholder svg{width:100%;height:auto;display:block;min-height:300px;object-fit:cover}.map-caption{padding:20px 25px;background:var(--cream)}.map-caption strong{font-family:var(--serif);font-size:28px;font-weight:400;display:block}.map-caption span{font-size:12px}
@media(max-width:1100px){.testimonial-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.video-grid{gap:20px}}
@media(max-width:620px){.video-grid,.testimonial-grid{grid-template-columns:1fr;gap:24px}.media-section,.testimonial-section{padding-top:30px;padding-bottom:30px}.contact-details{grid-template-columns:1fr}.social-placeholders{grid-column:1/-1;justify-content:center;padding:15px}.testimonial-placeholder{padding:22px}.section-heading>.pending-label{max-width:95px;text-align:right;padding-top:12px}}
/* Spacious shared booking banner with a clearer, closer botanical image. */
.booking-band{margin-block:38px;min-height:230px;padding:60px 6% 60px 34%;gap:38px}
.booking-band:before{background:linear-gradient(90deg,rgba(78,81,62,.08) 0%,rgba(78,81,62,.15) 16%,rgba(78,81,62,.86) 33%,var(--ink) 47%),url('assets/nature.png') left 48%/55% auto no-repeat;opacity:1}
.booking-band h2{font-size:38px}.booking-band p{max-width:540px;line-height:1.65;margin-top:12px}.booking-band .button{min-height:52px}
@media(max-width:1100px){.booking-band{padding:48px 5% 48px 31%;min-height:220px;gap:25px}.booking-band h2{font-size:33px}}
@media(max-width:850px){.booking-band{padding:45px 5% 45px 28%;flex-wrap:wrap}.booking-band:before{background:linear-gradient(90deg,rgba(78,81,62,.18),rgba(78,81,62,.82) 28%,var(--ink) 65%),url('assets/nature.png') left center/80% auto no-repeat}}
@media(max-width:620px){.booking-band{margin-block:26px;min-height:290px;padding:46px 7%;gap:28px}.booking-band:before{background:linear-gradient(90deg,rgba(78,81,62,.87),rgba(78,81,62,.85)),url('assets/nature.png') center/cover no-repeat}.booking-band h2{font-size:34px}.booking-band p{font-size:15px}}
.qualification.card{padding:0;border:1px solid #e9e2d7;background:linear-gradient(135deg,#f8f5ee,#f1ece3)}.qualification.card .card-body{padding:23px}.qualification.card .eyebrow{font-size:10px;margin:0 0 16px}.qualification.card h3{font-size:clamp(24px,2.05vw,30px);margin:0 0 12px}.qualification.card .card-body>p:not(.eyebrow){font-size:15px;line-height:1.55;margin:0 0 12px}
.testimonial-grid{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:4px 0 12px}.testimonial-grid::-webkit-scrollbar{display:none}.testimonial-placeholder{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;padding:32px;border:1px solid var(--line);background:linear-gradient(145deg,#f8f5ee,#eee8dd);min-height:270px;display:flex;flex-direction:column;border-radius:8px}.testimonial-placeholder h3{font-size:29px;line-height:1.2;margin:20px 0 14px}.testimonial-placeholder p{font-size:15px;line-height:1.7;max-width:300px}.testimonial-placeholder>.pending-label{margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}.testimonial-symbol{font-size:52px;line-height:.7;color:var(--sage)}.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:18px}.carousel-count{font-size:12px;letter-spacing:.12em;min-width:50px}.carousel-dots{display:flex;gap:2px}.carousel-dots button{width:36px;height:44px;display:grid;place-items:center;padding:0}.carousel-dots button:after{content:'';width:7px;height:7px;border-radius:50%;background:var(--taupe)}.carousel-dots button[aria-current="true"]:after{width:22px;border-radius:4px;background:var(--ink)}.carousel-arrows{display:flex;gap:9px}.carousel-arrows button{width:46px;height:46px;border:1px solid var(--taupe);border-radius:50%;font-size:23px;transition:background .2s,color .2s}.carousel-arrows button:hover:not(:disabled){background:var(--ink);color:var(--cream)}.carousel-arrows button:disabled{opacity:.35;cursor:default}
@media(max-width:850px){.testimonial-placeholder{flex-basis:calc((100% - 24px)/2)}}
@media(max-width:620px){.testimonial-placeholder{flex-basis:100%;min-height:255px;padding:28px}.testimonial-placeholder h3{font-size:29px}.testimonial-grid{gap:20px}.qualification-grid{grid-template-columns:1fr}}
/* Shared contact row awaiting confirmed client details. */
.footer-details{max-width:1440px;margin:auto;padding:32px 5% 40px;border-top:1px solid var(--line);display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;font-size:14px}.footer-detail-label{font-size:11px;letter-spacing:.13em;text-transform:uppercase;margin:0 0 18px}.footer-socials{display:flex;gap:22px;flex-wrap:wrap}.footer-social{display:flex;align-items:center;gap:9px}.footer-social svg{width:23px;height:23px;flex-shrink:0}.footer-details small{display:block;font-size:11px;margin-top:4px;color:#696859}.footer-details address{font-style:normal;line-height:1.8}.contact-page .lead-section{border-top:1px solid var(--line)}
@media(max-width:850px){.footer-details{grid-template-columns:1fr 1fr;gap:30px}.footer-details>div:first-child{grid-column:1/-1}}
@media(max-width:620px){.footer-details{grid-template-columns:1fr;padding:28px 7%;gap:26px}.footer-socials{gap:20px}}
/* Final client footer reference. */
.footer.final-footer{max-width:1440px;margin:auto;padding:30px 5% 38px;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1.1fr;gap:32px;align-items:center}.final-footer .footer-brand{width:150px;display:block}.final-footer .footer-brand img{width:100%;height:auto}.footer-contact-item{display:flex;gap:13px;align-items:center;font-style:normal;font-size:14px;line-height:1.55;text-decoration:none}.footer-contact-item svg{width:21px;height:23px;flex-shrink:0;fill:var(--olive)}a.footer-contact-item:hover span{text-decoration:underline;text-underline-offset:4px}.footer-end{display:flex;flex-direction:column;align-items:flex-end;gap:48px}.footer-social-icons{display:flex;gap:25px;padding-right:15px}.footer-social-icons svg{width:23px;height:23px}.final-footer .legal{display:flex;gap:24px;white-space:nowrap;font-size:13px}.testimonial-section{min-width:0}.testimonial-grid{width:100%;min-width:0;max-width:100%}
@media(max-width:1100px){.footer.final-footer{gap:22px;grid-template-columns:1fr 1fr 1fr}.footer-end{grid-column:2/4;flex-direction:row;justify-content:space-between;align-items:center;gap:24px}.final-footer .footer-brand{grid-row:span 2}}
@media(max-width:620px){.footer.final-footer{grid-template-columns:1fr;padding:30px 7%;gap:25px}.final-footer .footer-brand{grid-row:auto;width:125px}.footer-end{grid-column:auto;flex-wrap:wrap}.footer-social-icons{padding:0}.final-footer .legal{gap:20px}}
@media(max-width:620px){.carousel-controls{gap:8px}.carousel-dots button{width:25px}.carousel-arrows{gap:6px}.carousel-count{min-width:35px}}
/* Social icons belong directly beneath the footer logo. */
.footer-identity{display:flex;flex-direction:column;align-items:center;gap:14px;justify-self:start}.footer-identity .footer-social-icons{padding:0;gap:24px}.final-footer .footer-end{align-self:center}
@media(min-width:621px) and (max-width:1100px){.footer-identity{grid-row:span 2}}
/* Dedicated crisp botanical asset for the shared booking banner. */
.booking-band:before{background-image:linear-gradient(90deg,rgba(78,81,62,.04) 0%,rgba(78,81,62,.08) 16%,rgba(78,81,62,.86) 33%,var(--ink) 47%),url('assets/botanical-banner.png');background-position:center,left 58%;background-size:auto,48% auto}
@media(max-width:850px){.booking-band:before{background-image:linear-gradient(90deg,rgba(78,81,62,.18),rgba(78,81,62,.82) 28%,var(--ink) 65%),url('assets/botanical-banner.png');background-size:auto,80% auto}}
@media(max-width:620px){.booking-band:before{background-image:linear-gradient(90deg,rgba(78,81,62,.87),rgba(78,81,62,.85)),url('assets/botanical-banner.png');background-size:auto,cover}}
.practice-page .hero-image{object-position:left center}
.practice-page .hero-image{transform:scaleX(-1)}
/* The first content section follows the hero without a divider. */
.hero + .section{border-top:0}
/* Client-supplied horizontal header mark and combined appointment page. */
.header .brand{position:relative;align-self:center;top:auto;width:230px;flex:0 0 230px;height:auto;aspect-ratio:auto}
.header .brand img{display:block;width:100%;height:auto;max-width:100%}
.hero-content,.inner-hero .hero-content{padding-top:70px}
.hero:not(.inner-hero){min-height:580px}
.price-cards{margin-top:30px}.price-cards .card-body{padding:28px}
.price-cards .confirmed-price{font-family:var(--serif);font-size:42px;margin:12px 0}
.price-cards .button{margin-top:auto}.price-cards .card-body>p:last-of-type{margin-bottom:24px}
.booking-prices{padding-block:50px}.booking-note{margin-top:25px;font-size:14px}
.booking-channels{display:flex;flex-wrap:wrap;gap:12px 28px}
@media(min-width:851px) and (max-width:1100px){.header .brand{width:175px;flex-basis:175px}.header nav{gap:10px}}
@media(max-width:850px){.header .brand{width:190px;flex-basis:190px}.hero-content,.inner-hero .hero-content{padding-top:50px}}
@media(max-width:620px){.header .brand{width:140px;flex-basis:140px}.hero-content,.inner-hero .hero-content{padding-top:32px}.hero:not(.inner-hero){min-height:0}.price-cards .card-body{padding:24px}}
@media(max-width:360px){.header .brand{width:116px;flex-basis:116px}.header-book{padding-inline:10px}}
.translation-widget{position:fixed;right:18px;bottom:18px;z-index:20;width:220px;padding:12px 15px;background:var(--cream);color:var(--ink);border:1px solid var(--taupe);border-radius:6px;box-shadow:0 4px 20px #35382b22}
.translation-label{display:block;font-size:12px;font-weight:600;margin-bottom:6px}
.translation-widget small{display:block;font-size:10px;line-height:1.5;margin-top:7px}
.translation-widget small[hidden]{display:none}
@media(max-width:620px){.header .header-book{white-space:normal;min-width:0;flex-shrink:1;text-align:center}.header .header-book span{flex-shrink:0}.header .menu-toggle{flex-shrink:0}}
.translation-widget select{width:100%;min-height:36px;color:var(--ink);background:var(--cream);border:1px solid var(--taupe);border-radius:4px;padding:5px;font:inherit}
body:has(.translation-widget){padding-bottom:145px}
@media(max-width:620px){.translation-widget{right:10px;bottom:10px;width:195px;padding:9px 12px}}
@media print{.translation-widget{display:none}body:has(.translation-widget){padding-bottom:0}}
/* Compact branded language selector. */
.language-flag{display:inline-block;width:26px;height:26px;border-radius:50%;flex:0 0 26px;overflow:hidden}
.flag-de{background:linear-gradient(#fff,#fff) center/16px 6px no-repeat,linear-gradient(#fff,#fff) center/6px 16px no-repeat,#e94128}
.flag-en{background:linear-gradient(90deg,transparent 42%,#c8102e 42% 58%,transparent 58%),linear-gradient(transparent 42%,#c8102e 42% 58%,transparent 58%),linear-gradient(90deg,transparent 34%,white 34% 66%,transparent 66%),linear-gradient(transparent 34%,white 34% 66%,transparent 66%),linear-gradient(34deg,transparent 43%,white 43% 48%,#c8102e 48% 52%,white 52% 57%,transparent 57%),linear-gradient(-34deg,transparent 43%,white 43% 48%,#c8102e 48% 52%,white 52% 57%,transparent 57%),#012169}
.language-trigger{display:flex;align-items:center;gap:12px;min-height:48px;padding:5px 9px;font-size:17px;color:var(--ink)}
.language-trigger svg{width:12px;height:8px;transition:transform .2s}.language-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
.language-menu{position:absolute;right:0;bottom:calc(100% + 12px);width:245px;background:var(--cream);border:1px solid var(--taupe);box-shadow:0 5px 22px #35382b30;padding:8px 17px;border-radius:3px}
.language-menu button{display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;min-height:67px;padding:15px 8px;font-size:18px;border-bottom:1px solid var(--sage);color:var(--ink)}
.language-menu button:last-child{border-bottom:0}.language-menu button:hover{background:var(--sand)}
.language-menu[hidden],.language-menu button[hidden]{display:none}
.language-trigger:focus-visible,.language-menu button:focus-visible{outline:2px solid var(--olive);outline-offset:2px}
.translation-widget{width:auto;display:flex;align-items:center;gap:10px;padding:6px 7px 6px 13px;border-color:var(--taupe);border-radius:6px;box-shadow:0 4px 18px #35382b18}
.language-globe{width:20px;height:20px;flex-shrink:0;color:var(--olive)}
.language-options{display:flex;gap:3px;border-left:1px solid var(--line);padding-left:7px}
.language-options button{min-width:44px;min-height:44px;padding:8px;border-radius:4px;font:600 12px 'Segoe UI',sans-serif;letter-spacing:.06em;color:var(--ink);transition:background .2s,color .2s}
.language-options button[aria-pressed="true"]{background:var(--button);color:var(--cream)}
.language-options button:hover:not([aria-pressed="true"]){background:var(--sand)}
.language-options button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.language-options button:disabled{opacity:.5;cursor:wait}
.translation-widget small{max-width:135px;margin:0}
body:has(.translation-widget){padding-bottom:80px}
@media print{.translation-widget{display:none}body:has(.translation-widget){padding-bottom:0}}
/* Client feedback: balanced education image and four price options. */
.home-page .education>img{height:240px;min-height:0;max-height:240px;object-fit:cover;align-self:center}
.price-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.complementary-method + .complementary-method{margin-top:28px}
.complementary-method h3,.directions h3{margin-bottom:12px}
@media(max-width:1100px){.price-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.price-cards{grid-template-columns:1fr}}

/* Pricing presentation: equal content rows with quiet, decorative line artwork. */
.prices-page .price-cards{gap:24px;margin-top:36px}
.price-cards .price-option{position:relative;border-color:#dedbce;border-radius:12px;background:linear-gradient(150deg,#faf8f2 30%,#f0ede3 100%);box-shadow:0 6px 24px #50534005}
.price-option:before{content:'';position:absolute;pointer-events:none;inset:0;background:radial-gradient(ellipse at 90% 0%,#aeb89b24,transparent 58%)}
.price-cards .price-option .card-body{position:relative;display:grid;grid-template-rows:68px 110px 68px 1fr auto;align-items:start;gap:16px;padding:28px;min-height:510px;width:100%}
.price-art{width:82px;height:68px;display:grid;place-items:center;color:#747c62;background:linear-gradient(145deg,#e5e8dc,#eee9dc);border-radius:48% 52% 43% 57% / 55% 43% 57% 45%}
.price-art svg{width:78px;height:66px}
.price-heading{align-self:stretch;display:flex;flex-direction:column;justify-content:space-between;padding-top:6px}
.price-cards .price-heading h3{font-size:clamp(24px,2vw,30px);line-height:1.15;margin:0;overflow-wrap:normal}
.price-cards .price-heading .price-duration{font-size:14px;margin:12px 0 0;color:#686c5b}
.price-cards .price-option .confirmed-price{font-size:46px;line-height:1.15;margin:0;padding-top:6px;white-space:nowrap;border-top:1px solid #dadccd}
.price-currency{font-family:var(--sans);font-size:13px;letter-spacing:.1em;vertical-align:middle;margin-right:5px}
.price-cards .price-option .price-description{font-size:14px;line-height:1.65;margin:0 0 8px}
.price-cards .price-option .button{margin:0;width:100%;min-height:48px;padding:13px 18px;display:flex;justify-content:space-between;align-self:end;gap:12px;font-size:14px}
.price-cards .price-option:focus-within{outline:2px solid #92997d;outline-offset:4px}
@media(max-width:1100px){.price-cards .price-option .card-body{min-height:480px;grid-template-rows:68px 94px 68px 1fr auto}}
@media(max-width:620px){.prices-page .price-cards{gap:20px}.price-cards .price-option .card-body{padding:26px;min-height:0;grid-template-rows:68px auto 68px auto auto;gap:20px}.price-cards .price-heading h3{font-size:29px}.price-cards .price-option .price-description{margin-bottom:8px}.price-cards .price-option .button{margin-top:4px}}
