@font-face{font-family:"Lora";src:url("/assets/fonts/lora.ttf") format("truetype");font-style:normal;font-weight:400 700;font-display:swap}
@font-face{font-family:"Lora";src:url("/assets/fonts/lora-italic.ttf") format("truetype");font-style:italic;font-weight:400 700;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("/assets/fonts/source-sans-3.ttf") format("truetype");font-style:normal;font-weight:200 900;font-display:swap}
@font-face{font-family:"Source Sans 3";src:url("/assets/fonts/source-sans-3-italic.ttf") format("truetype");font-style:italic;font-weight:200 900;font-display:swap}

:root{--paper:#f6f3eb;--white:#fffdf8;--green:#465b31;--dark:#263624;--muted:#62685b;--line:#d9ddcf;--sage:#e9eddf;--clay:#925640;--serif:'Lora',Georgia,serif;--sans:'Source Sans 3',Arial,sans-serif;--header:96px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:var(--paper);color:var(--dark);font-family:var(--sans);font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}button,summary{touch-action:manipulation}button{color:inherit}img{max-width:100%;height:auto;display:block}figure{margin:0}p{margin:0 0 1.2em}h1,h2,h3,blockquote{font-family:var(--serif);font-weight:400;line-height:1.06;letter-spacing:-.045em;margin:0}h1{font-size:clamp(58px,6.5vw,104px)}h2{font-size:clamp(45px,4.65vw,72px)}h3{font-size:32px;letter-spacing:-.025em}em{font-weight:400;color:var(--green)}svg{width:24px;height:24px;flex-shrink:0}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.section{padding-block:116px}.eyebrow{font-size:11px;font-weight:500;line-height:1.5;letter-spacing:.17em;text-transform:uppercase;color:var(--green);margin-bottom:26px}.small{font-size:13px;line-height:1.7;color:var(--muted)}.lead{font-size:21px;line-height:1.55;color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:15px 25px;border:1px solid transparent;font-size:13px;line-height:1.5;font-weight:500;letter-spacing:.01em;border-radius:2px;transition:background .25s,color .25s,border-color .25s}.button svg{width:20px;height:20px;transition:transform .25s}.button:hover svg{transform:translateX(4px)}.primary{background:var(--green);color:var(--white)}.primary:hover{background:var(--green)}.button.text{padding:15px 0;border-bottom:1px solid var(--green);border-radius:0;min-width:155px}.button.text:hover{color:var(--green)}.text-link{text-decoration:underline;text-underline-offset:5px;font-size:14px}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip:focus{position:fixed;left:20px;top:10px;z-index:100;padding:15px 20px;background:var(--white);color:var(--green)}:focus-visible{outline:3px solid var(--clay);outline-offset:5px}.header{position:sticky;top:0;z-index:40;background:rgba(246,243,235,.97);border-bottom:1px solid var(--line);height:var(--header)}.header-inner{height:100%;width:calc(100% - 112px);max-width:1400px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:12px;color:var(--green);flex-shrink:0}.brand>span{font-family:var(--serif);font-size:29px;letter-spacing:-.04em;line-height:1.1}.brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:.19em;margin-top:8px;line-height:1.2}.brand img{width:48px;height:48px;border-radius:50%}.header nav{display:flex;align-items:center;gap:34px}.header nav>a:not(.button){position:relative;font-size:13px;padding:15px 0}.header nav>a:not(.button):after{content:'';position:absolute;bottom:9px;left:0;width:100%;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .25s}.header nav>a:hover:after,.header nav>a[aria-current]:after{transform:scaleX(1)}.header .button{margin-left:12px;min-height:46px;padding:12px 19px;gap:20px}.menu-toggle{display:none}
/* The original film remains a scroll-driven, reversible sequence. */
.qi-story{height:280vh;position:relative;--progress:0}.qi-stage{height:calc(100svh - var(--header));min-height:580px;position:sticky;top:var(--header);overflow:hidden;background:#eee8dc}.qi-media{position:absolute;inset:0 0 0 var(--media-left,25%);overflow:hidden}.qi-media picture,.qi-media img,.qi-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:54% center}.qi-media video{opacity:0;transition:opacity .3s}.qi-media video.ready{opacity:1}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,#f6f3eb 0%,#f6f3ebf7 20%,#f6f3ebc4 34%,#f6f3eb28 53%,#f6f3eb00 72%);pointer-events:none}.hero-copy{position:relative;display:flex;height:100%;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:50px 95px;opacity:var(--intro-opacity,1);transform:translateY(var(--intro-y,0));pointer-events:var(--intro-events,auto)}.hero-copy .eyebrow{font-size:10px;letter-spacing:.15em;max-width:310px;margin-bottom:26px}.hero-copy h1{font-size:clamp(60px,6.2vw,94px);max-width:660px;line-height:.99;letter-spacing:-.06em}.hero-copy h1 em{color:var(--green)}.hero-description{font-size:14px;line-height:1.8;margin:29px 0 24px;color:#4c5846}.hero-actions{display:flex;align-items:center;gap:28px}.hero-actions .text{min-width:0;gap:12px;font-size:12px}.hero-bottom{position:absolute;bottom:26px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:10px;letter-spacing:.06em;color:var(--green);z-index:5}.scroll-cue{display:flex;align-items:center;gap:12px;min-height:36px}.scroll-line{width:1px;height:29px;position:relative;display:inline-block;background:var(--green)}.scroll-line:after{content:'';position:absolute;bottom:0;left:-3px;width:7px;height:7px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg)}.qi-progress{width:110px;height:2px;background:#465b3130;margin-left:auto}.qi-progress>span{display:block;height:100%;background:var(--green);width:calc(var(--progress)*100%)}.animation-toggle{background:var(--paper);border:1px solid #465b3150;border-radius:0;padding:7px 12px;font-size:10px;min-height:36px}.qi-annotations{position:absolute;inset:0;display:flex;justify-content:space-between;align-items:center;padding:60px 5%;opacity:var(--annotation-opacity,0);pointer-events:none;transform:translateY(var(--annotation-y,15px))}.qi-annotations aside{max-width:260px;background:#f6f3ebe8;padding:24px}.qi-annotations h2{font-size:33px}.qi-annotations p:not(.eyebrow){font-size:13px;line-height:1.7;margin:20px 0 0}.qi-annotations .eyebrow{font-size:9px;margin-bottom:18px}.film-caption{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;padding-block:25px;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted)}.film-caption span{text-transform:uppercase;letter-spacing:.1em;flex-shrink:0;padding-top:2px}.film-caption p{max-width:510px;line-height:1.6;margin:0;text-align:right}.welcome{display:grid;grid-template-columns:1.05fr 1fr;gap:11%;align-items:center}.welcome-photo{position:relative;padding:0 0 30px}.welcome-photo>img{width:100%;aspect-ratio:1/.98;object-fit:cover;border-radius:48% 48% 0 0}.photo-stamp{position:absolute;right:-27px;bottom:80px;display:grid;align-content:center;text-align:center;width:122px;height:122px;border-radius:50%;background:var(--sage);border:1px solid #b9c4a9;font-family:var(--serif);font-size:23px;line-height:1.1;transform:rotate(-12deg)}.image-caption{display:block;font-size:10px;letter-spacing:.07em;margin-top:18px;color:var(--muted)}.welcome-copy>p:not(.eyebrow):not(.lead){font-size:15px;max-width:420px;color:var(--muted)}.welcome h2{margin-bottom:28px}.welcome .lead{max-width:390px}.welcome .button{margin-top:10px}.treatments{background:var(--sage);padding-top:95px;padding-bottom:95px}.section-head{display:flex;justify-content:space-between;gap:60px;align-items:flex-end;margin-bottom:56px}.section-head>div:last-child{max-width:340px;padding-bottom:5px}.section-head p:not(.eyebrow){font-size:14px;color:var(--muted)}.section-head h2 em{color:var(--green)}.treatment-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:42px 28px}.treatment-card{display:block;grid-column:span 2}.treatment-card:nth-child(4){grid-column:2/span 2}.card-image{position:relative;overflow:hidden;background:#d9ddcf}.card-image>img{width:100%;aspect-ratio:1/.85;object-fit:cover;transition:transform .7s}.treatment-card:hover .card-image>img{transform:scale(1.04)}.card-number{position:absolute;left:15px;top:15px;font-size:10px;letter-spacing:.1em;background:var(--paper);padding:4px 9px;line-height:1.5}.card-arrow{position:absolute;bottom:0;right:0;background:var(--green);color:white;width:43px;height:43px;display:grid;place-items:center}.card-arrow svg{width:19px;height:19px;transition:transform .25s}.treatment-card:hover .card-arrow svg{transform:rotate(-40deg)}.treatment-card .eyebrow{font-size:9px;margin:22px 0 10px}.treatment-card h3{font-size:32px;margin-bottom:12px}.treatment-card>p:last-child{font-size:13px;line-height:1.7;color:#59634f;max-width:320px;margin:0}.quote-section{background:var(--green);color:var(--paper);text-align:center;padding:90px 0 85px;position:relative;overflow:hidden}.quote-section .eyebrow{color:#c6d1b9;margin-bottom:30px}.quote-section blockquote{font-size:clamp(48px,6.7vw,102px);line-height:1.02}.quote-section em{color:#d6cdb3}.quote-section p:not(.eyebrow){max-width:540px;margin:30px auto 20px;font-size:14px;color:#e0e5d7}.signature{font-family:var(--serif);font-style:italic;font-size:28px}.personal{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.personal-copy>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-top:26px}.personal-photo{padding-top:50px}.personal-photo>img{aspect-ratio:4/5;object-fit:cover;border-radius:200px 200px 0 0}.personal-photo figcaption{font-family:var(--serif);font-size:25px;margin-top:17px;display:flex;justify-content:space-between;align-items:center;gap:10px}.personal-photo figcaption span{font-family:var(--sans);font-size:9px;letter-spacing:.05em;color:var(--muted)}.accordion{margin-top:30px}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:60px;font-size:14px;line-height:1.5;padding:15px 0}summary::-webkit-details-marker{display:none}summary>span{font-size:24px;font-weight:300;transition:transform .2s}details[open]>summary>span{transform:rotate(45deg)}details p{font-size:14px;color:var(--muted);line-height:1.8;margin:0 28px 20px 0}.first-visit{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line)}.first-visit h2{font-size:clamp(42px,4.1vw,62px);margin-bottom:30px}.visit-list{padding:0;margin:0;list-style:none}.visit-list li{display:flex;gap:25px;padding:25px 0;border-top:1px solid var(--line)}.visit-list li>span{font-size:11px;color:var(--clay);padding-top:6px}.visit-list h3{font-size:25px;margin-bottom:10px;line-height:1.2}.visit-list p{font-size:14px;color:var(--muted);margin:0;max-width:340px}.closing{background:#e5e9d9;padding:95px 0;text-align:center;position:relative;overflow:hidden;isolation:isolate}.closing h2{font-size:clamp(50px,5.6vw,88px);margin-bottom:27px}.closing p:not(.eyebrow){font-size:14px;color:var(--muted);margin-bottom:28px}.closing-logo{position:absolute;width:390px;right:-140px;bottom:-150px;opacity:.045;z-index:-1;transform:rotate(20deg)}.footer{background:var(--paper);padding:65px 0 0}.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:50px;padding-bottom:60px}.footer-main p{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--muted);margin-top:22px}.footer-main>div:not(:first-child){display:flex;flex-direction:column;align-items:flex-start}.footer-label{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);margin-bottom:17px}.footer-main>div>a:not(.brand){font-size:13px;min-height:36px;display:flex;align-items:center}.footer-main>div>a:not(.brand):hover{text-decoration:underline;text-underline-offset:4px}.footer-note{font-size:11px;color:var(--muted);margin-top:10px}.footer-bottom{display:flex;justify-content:space-between;gap:30px;font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-block:17px}.footer-bottom>div{display:flex;gap:30px}.footer-bottom a{display:inline-flex;min-height:36px;align-items:center}.footer-bottom>span{display:flex;align-items:center}.page-intro{padding-top:80px;padding-bottom:68px}.page-intro h1{font-size:clamp(54px,6.5vw,94px)}.page-intro>p:not(.eyebrow){font-size:16px;color:var(--muted);margin-top:28px;max-width:620px}.anchor-nav{display:flex;flex-wrap:wrap;gap:10px 30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin-top:45px}.anchor-nav a{font-size:12px;padding:8px 0;min-height:38px}.anchor-nav a:last-child{margin-left:auto;color:var(--green);font-weight:600}.anchor-nav a:hover{text-decoration:underline;text-underline-offset:5px}.service-list{padding-bottom:70px}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;padding-block:45px 70px;scroll-margin-top:110px}.service-row:nth-child(even)>figure{order:2}.service-row:nth-child(even)>div{order:1}.service-row figure>img{width:100%;aspect-ratio:5/4;object-fit:cover}.service-row:nth-child(1) figure>img{border-radius:200px 200px 0 0}.service-row h2{font-size:50px;margin-bottom:20px}.service-row h3{font-size:29px;line-height:1.2;color:var(--green);margin-bottom:22px}.service-row p:not(.eyebrow){font-size:15px;color:var(--muted)}.service-row .service-tags{font-size:11px!important;letter-spacing:.02em;border-top:1px solid var(--line);padding-top:20px;margin-top:26px;line-height:1.9}.price-section{background:var(--sage);scroll-margin-top:90px}.price-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:12%;align-items:center}.price-layout>div:first-child>p:not(.eyebrow){max-width:350px;font-size:15px;color:var(--muted);margin-top:30px}.payment-note{padding:20px 0 20px 20px;border-left:2px solid #a9b594;font-size:13px;line-height:1.8;margin-block:25px!important;color:var(--muted)}.price-sheet{background:var(--white);padding:38px 36px;border-top:3px solid var(--green)}.price-sheet h3{font-size:30px;padding-bottom:20px;border-bottom:1px solid var(--line)}.price-sheet h3 em{font-size:22px}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:19px 0;border-bottom:1px solid var(--line)}th{font-weight:400;font-size:14px;line-height:1.5}th span{display:block;font-size:11px;color:var(--muted);line-height:1.6;margin-top:5px;padding-right:10px}td{text-align:right;font-family:var(--serif);font-size:29px;white-space:nowrap;color:var(--green)}.price-sheet .small{font-size:11px;margin-top:20px}.cancellation{border-top:1px solid var(--line);border-bottom:0;margin-top:20px}.cancellation summary{font-size:12px}.cancellation dl{font-size:12px;margin:0 0 10px}.cancellation dl>div{display:flex;justify-content:space-between;gap:15px;margin:8px 0}.cancellation dd{margin:0}.information{display:grid;grid-template-columns:1fr 1fr;gap:14%;padding-block:85px}.information h3{font-size:30px;margin-bottom:20px}.information p:not(.eyebrow){font-size:14px;color:var(--muted)}.about-layout{display:grid;grid-template-columns:.88fr 1.1fr;gap:10%;padding-bottom:100px;align-items:start}.about-layout figure{position:sticky;top:135px}.about-layout figure>img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:220px 220px 0 0}.about-layout figcaption{font-size:11px;margin-top:18px;color:var(--muted)}.about-layout article{padding-top:25px}.about-layout h2{font-size:47px;margin-bottom:30px}.about-layout article>p:not(.eyebrow){font-size:15px;color:var(--muted)}.timeline{margin-top:40px}.timeline>div{display:grid;grid-template-columns:100px 1fr;gap:20px;border-top:1px solid var(--line);padding:20px 0}.timeline span{font-family:var(--serif);font-size:22px;color:var(--green)}.timeline p{font-size:13px;color:var(--muted);margin:0}.booking-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:7%;padding-bottom:80px;align-items:start}.booking-main{border:1px solid var(--line);background:var(--white)}.booking-heading{padding:22px 25px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}.booking-heading>.eyebrow{font-size:9px;margin:0}.booking-heading>span:last-child{font-size:9px;color:var(--muted)}.booking-container{min-height:540px}.booking-consent{text-align:center;display:flex;flex-direction:column;align-items:center;padding:40px 32px;min-height:540px;justify-content:center}.booking-symbol{font-family:var(--serif);font-size:35px;color:var(--green);line-height:1;margin-bottom:25px}.booking-consent h2{font-size:47px;margin-bottom:25px}.booking-consent p{font-size:13px;color:var(--muted);max-width:360px}.booking-consent .text-link{font-size:12px;margin-top:22px;min-height:36px}.booking-privacy{text-align:center;border-top:1px solid var(--line);margin:0;padding:17px;font-size:11px}.booking-privacy a{text-decoration:underline}.booking-aside{padding:25px 0}.booking-aside h2{font-size:50px}.booking-aside h3{font-size:24px;margin:30px 0 12px}.booking-aside p:not(.eyebrow){font-size:13px;color:var(--muted)}.booking-aside .payment-note p{margin:7px 0 0;font-size:12px}.appointment-meta{display:flex;gap:35px;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:25px;padding:12px 0;font-size:12px}.appointment-meta strong{font-family:var(--serif);font-size:30px;font-weight:400;color:var(--green)}.booking-frame{width:100%;height:760px;border:0;display:block;background:white}.booking-backup{font-size:12px;padding:20px;text-align:center;background:var(--sage);margin:0}.booking-backup a{text-decoration:underline}.contact-direct{display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line)}.contact-direct h2{font-size:52px}.contact-direct>div:last-child{padding-top:15px}.contact-direct>div>a{display:flex;align-items:center;justify-content:space-between;font-family:var(--serif);font-size:27px;padding:16px 0;border-bottom:1px solid var(--line);letter-spacing:-.02em}.contact-direct p:not(.eyebrow){font-size:12px;margin-top:20px;color:var(--muted)}.legal-copy{max-width:840px;padding-bottom:80px;font-size:16px}.legal-copy h2{font-family:var(--sans);font-size:21px;line-height:1.4;letter-spacing:0;margin:35px 0 15px}.legal-copy p{font-size:15px;color:var(--muted)}.legal-copy a{text-decoration:underline;overflow-wrap:anywhere}.legal-copy .contact-note{font-size:13px;border-left:2px solid var(--clay);padding:15px 25px;background:var(--sage)}
/* Progressive enhancement: content stays visible without JavaScript. */
.motion-ready [data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.motion-ready [data-reveal].revealed{opacity:1;transform:none}
@media(min-width:1600px){.hero-copy h1{font-size:106px}.hero-description{font-size:16px}.qi-stage{min-height:700px}}
@media(max-width:1100px){.wrap{width:calc(100% - 72px)}.header-inner{width:calc(100% - 72px)}.header nav{gap:22px}.header nav>a:not(.button){font-size:12px}.header .button{margin-left:0;gap:14px;font-size:12px}.hero-copy h1{font-size:76px}.hero-description{font-size:13px}.hero-actions{gap:18px}.hero-actions .button{padding-inline:19px;gap:16px;font-size:12px}.hero-actions .text{padding-inline:0}.welcome,.personal{gap:8%}.section{padding-block:90px}.qi-annotations{padding-inline:3%}.qi-annotations aside{max-width:220px;padding:22px 18px}.qi-annotations h2{font-size:29px}.qi-annotations p:not(.eyebrow){font-size:12px}.price-layout{gap:7%}.price-sheet{padding:30px 25px}.booking-layout{gap:5%}.booking-heading{padding:18px}.footer-main{gap:30px}}
@media(max-width:850px){:root{--header:82px}.header nav{gap:18px}.header nav>a:not(.button){font-size:11px}.header .button{font-size:11px;padding:12px;gap:10px}.brand>span{font-size:25px}.brand img{width:42px;height:42px}.hero-copy h1{font-size:66px}.hero-copy .eyebrow{max-width:240px}.hero-actions{align-items:flex-start;flex-direction:column;gap:3px}.hero-description{margin-block:24px 17px}.hero-copy{padding-bottom:70px}.qi-annotations{align-items:flex-end;padding-bottom:95px}.qi-annotations aside{max-width:240px}.qi-annotations aside:first-child{margin-right:10px}.qi-annotations h2{font-size:25px}.qi-annotations p:not(.eyebrow){font-size:11px}.treatment-grid{gap:35px 22px}.treatment-card{grid-column:span 3}.treatment-card:nth-child(4){grid-column:span 3}.treatment-card:last-child{grid-column:2/span 4;max-width:100%}.treatment-card .eyebrow{font-size:9px}.section-head{gap:30px}.section-head>div:last-child{max-width:250px}.section-head h2{font-size:49px}.photo-stamp{right:-20px;width:95px;height:95px;font-size:20px}.personal-photo figcaption{align-items:flex-start;flex-direction:column;gap:3px}.personal h2,.welcome h2{font-size:47px}.personal-copy>p:not(.eyebrow),.welcome-copy>p:not(.eyebrow):not(.lead){font-size:14px}.accordion summary{font-size:12px}.accordion p{font-size:12px}.first-visit{gap:7%}.first-visit h2{font-size:43px}.visit-list h3{font-size:22px}.visit-list p{font-size:12px}.price-layout{gap:5%}.price-layout h2{font-size:48px}.price-sheet h3{font-size:25px}.price-sheet h3 em{font-size:18px}.service-row{gap:7%}.service-row h2{font-size:42px}.service-row h3{font-size:25px}.service-row p:not(.eyebrow){font-size:14px}.booking-layout{grid-template-columns:1.25fr 1fr}.booking-heading{flex-direction:column;align-items:flex-start;gap:5px}.booking-consent{padding:35px 22px}.booking-consent h2{font-size:41px}.booking-aside h2{font-size:42px}.booking-aside p:not(.eyebrow){font-size:12px}.footer-main{grid-template-columns:1.2fr 1fr 1fr;gap:25px}.footer-main>div>a:not(.brand){font-size:11px}}
@media(max-width:700px){:root{--header:76px}.wrap,.header-inner{width:calc(100% - 40px)}body{font-size:15px}.header{position:sticky}.brand>span{font-size:25px}.brand small{font-size:7px;letter-spacing:.13em;margin-top:6px}.brand img{width:39px;height:39px}.brand{gap:9px}.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;padding:10px 0 10px 10px;font-size:12px;min-height:44px}.menu-toggle svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.3}.header nav{display:none;position:absolute;top:calc(var(--header) - 1px);left:0;right:0;padding:16px 24px 27px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 18px 20px #2636240c}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}.header nav>a:not(.button){font-size:16px;padding:13px 0;min-height:48px;border-bottom:1px solid var(--line)}.header nav>a:not(.button):after{display:none}.header nav .button{margin-top:18px;font-size:14px;min-height:50px;padding-inline:19px}.section{padding-block:65px}.eyebrow{font-size:10px;margin-bottom:22px}h2{font-size:46px}.button{font-size:12px;padding:14px 20px;min-height:49px}.qi-story{height:210svh}.qi-stage{height:calc(100svh - var(--header));min-height:610px}.qi-media{inset:0}.qi-media img,.qi-media video{object-position:55% center}.hero-wash{background:linear-gradient(90deg,#f6f3ebe8 0%,#f6f3eb96 45%,#f6f3eb08 85%),linear-gradient(0deg,#f6f3ebc9 0%,#f6f3eb00 24%)}.hero-copy{justify-content:flex-start;padding-top:55px;padding-bottom:80px}.hero-copy .eyebrow{font-size:9px;max-width:240px;line-height:1.7;margin-bottom:24px}.hero-copy h1{font-size:clamp(52px,13.5vw,77px);line-height:1.02;letter-spacing:-.06em}.hero-description{font-size:12px;line-height:1.7;margin:23px 0 20px;max-width:290px}.hero-actions{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 18px}.hero-actions .button{font-size:11px;padding:13px 15px;gap:13px;min-height:46px}.hero-actions .text{padding-inline:0;gap:8px;font-size:10px;min-height:42px}.hero-actions .text svg{width:16px}.hero-bottom{bottom:19px;gap:15px;font-size:8px}.scroll-cue{gap:10px;max-width:130px;line-height:1.5}.scroll-line{height:22px}.qi-progress{width:40px;flex-shrink:0}.animation-toggle{font-size:8px;padding:6px 8px;min-height:36px}.qi-annotations{align-items:flex-end;gap:12px;padding:0 20px 85px;flex-direction:column;justify-content:flex-end}.qi-annotations aside{max-width:260px;padding:16px 19px;background:#f6f3ebee}.qi-annotations aside:first-child{margin:0;align-self:flex-start}.qi-annotations aside:last-child{align-self:flex-end}.qi-annotations h2{font-size:25px}.qi-annotations .eyebrow{font-size:8px;margin-bottom:9px}.qi-annotations p:not(.eyebrow){font-size:11px;margin-top:10px;line-height:1.6}.film-caption{padding-block:20px;gap:12px;flex-direction:column;font-size:9px}.film-caption p{text-align:left;font-size:10px;max-width:100%}.welcome{grid-template-columns:1fr;gap:40px;padding-top:60px}.welcome-photo{max-width:460px;width:calc(100% - 15px);padding-bottom:0}.welcome-photo>img{aspect-ratio:1/.85;border-radius:160px 160px 0 0}.photo-stamp{right:-15px;bottom:42px;width:100px;height:100px;font-size:20px}.image-caption{font-size:9px}.welcome-copy{max-width:520px}.welcome h2{font-size:49px}.welcome .lead{font-size:19px;max-width:100%}.welcome-copy>p:not(.eyebrow):not(.lead){font-size:14px;max-width:100%}.section-head{display:block;margin-bottom:36px}.section-head h2{font-size:48px}.section-head>div:last-child{margin-top:25px;max-width:100%}.section-head>div:last-child p{font-size:13px}.section-head .button{padding-block:12px}.treatment-grid{grid-template-columns:1fr 1fr;gap:32px 16px}.treatment-card,.treatment-card:nth-child(4),.treatment-card:last-child{grid-column:auto;max-width:none}.treatment-card:last-child{grid-column:1/-1;max-width:70%;margin:0 auto;width:100%}.card-image>img{aspect-ratio:4/5}.treatment-card:last-child .card-image>img{aspect-ratio:5/4}.card-number{top:9px;left:9px;font-size:8px;padding:3px 6px}.card-arrow{width:32px;height:32px}.card-arrow svg{width:15px;height:15px}.treatment-card .eyebrow{font-size:8px;letter-spacing:.06em;margin-top:16px;margin-bottom:8px;min-height:12px}.treatment-card h3{font-size:27px;margin-bottom:10px}.treatment-card>p:last-child{font-size:11px;line-height:1.65}.quote-section{padding-block:65px}.quote-section blockquote{font-size:61px}.quote-section p:not(.eyebrow){font-size:13px;max-width:330px}.signature{font-size:26px}.personal{grid-template-columns:1fr;gap:38px}.personal h2{font-size:50px}.personal-copy>p:not(.eyebrow){font-size:14px}.accordion summary{font-size:14px;min-height:60px}.accordion p{font-size:13px}.personal-photo{padding:0;max-width:460px;width:100%;margin:auto}.personal-photo>img{aspect-ratio:4/4.5}.personal-photo figcaption{flex-direction:row;align-items:center;font-size:23px}.first-visit{grid-template-columns:1fr;gap:30px}.first-visit h2{font-size:44px;margin-bottom:22px}.first-visit .button{padding-top:8px}.visit-list li{padding-block:23px;gap:23px}.visit-list h3{font-size:25px}.visit-list p{font-size:13px;max-width:100%}.closing{padding:65px 0}.closing h2{font-size:52px}.closing p:not(.eyebrow){font-size:13px;max-width:310px;margin:0 auto 25px}.closing-logo{width:270px;bottom:-90px;right:-110px}.footer{padding-top:50px}.footer-main{grid-template-columns:1fr 1fr;gap:32px 22px;padding-bottom:30px}.footer-main>div:first-child{grid-column:1/-1}.footer-main p{font-size:22px;margin-top:20px;margin-bottom:0}.footer-main>div>a:not(.brand){font-size:12px;min-height:42px}.footer-label{font-size:9px;margin-bottom:10px}.footer-note{font-size:10px;line-height:1.6}.footer-bottom{flex-direction:column;gap:5px;padding-block:16px;font-size:9px}.footer-bottom>div{gap:25px}.footer-bottom>span{min-height:30px}.page-intro{padding-top:50px;padding-bottom:40px}.page-intro h1{font-size:55px;line-height:1.06}.page-intro>p:not(.eyebrow){font-size:14px;line-height:1.75;margin-top:25px}.anchor-nav{gap:5px 22px;margin-top:30px}.anchor-nav a{font-size:11px;min-height:37px}.anchor-nav a:last-child{margin-left:0}.service-list{padding-bottom:20px}.service-row{grid-template-columns:1fr;gap:27px;padding-block:20px 48px;scroll-margin-top:100px}.service-row:nth-child(even)>figure,.service-row:nth-child(even)>div{order:initial}.service-row figure>img{aspect-ratio:5/4}.service-row h2{font-size:45px;margin-bottom:16px}.service-row h3{font-size:29px;margin-bottom:20px}.service-row p:not(.eyebrow){font-size:14px}.service-row .eyebrow{margin-bottom:18px}.service-row .service-tags{font-size:10px!important;padding-top:15px;margin-top:22px}.price-layout{grid-template-columns:1fr;gap:35px}.price-layout h2{font-size:50px}.price-layout>div:first-child>p:not(.eyebrow){font-size:14px;max-width:100%;margin-top:22px}.price-sheet{padding:27px 22px}.price-sheet h3{font-size:28px}.price-sheet h3 em{font-size:21px}th{font-size:13px}th span{font-size:10px}td{font-size:28px}.price-sheet .small{font-size:11px}.cancellation summary{font-size:13px}.information{grid-template-columns:1fr;gap:40px}.information h3{font-size:31px}.about-layout{grid-template-columns:1fr;gap:38px;padding-bottom:60px}.about-layout figure{position:static;max-width:460px;margin:auto}.about-layout figure>img{aspect-ratio:4/4.5}.about-layout article{padding:0}.about-layout h2{font-size:45px}.about-layout article>p:not(.eyebrow){font-size:14px}.timeline{margin-top:30px}.timeline>div{grid-template-columns:90px 1fr;gap:16px}.timeline span{font-size:22px}.timeline p{font-size:12px}.booking-layout{grid-template-columns:1fr;gap:35px;padding-bottom:50px}.booking-heading{flex-direction:row;align-items:center;padding:18px 16px}.booking-heading>.eyebrow{font-size:8px;letter-spacing:.1em}.booking-heading>span:last-child{font-size:8px}.booking-consent{min-height:465px;padding:35px 24px}.booking-container{min-height:465px}.booking-consent h2{font-size:46px}.booking-consent p{font-size:12px}.booking-consent .button{font-size:12px;gap:20px}.booking-privacy{font-size:10px;padding:15px}.booking-aside{padding:0}.booking-aside h2{font-size:48px}.booking-aside h3{font-size:26px}.booking-aside p:not(.eyebrow){font-size:14px}.booking-aside .payment-note p{font-size:13px}.appointment-meta{font-size:14px}.contact-direct{grid-template-columns:1fr;gap:20px}.contact-direct h2{font-size:46px}.contact-direct>div>a{font-size:27px;padding:18px 0}.contact-direct>div:last-child{padding-top:0}.legal-copy{padding-bottom:50px;font-size:14px}.legal-copy p{font-size:14px}.legal-copy h2{font-size:19px}.legal-copy .contact-note{font-size:12px;padding:15px 20px}}
@media(max-width:370px){.hero-copy h1{font-size:51px}.hero-copy .eyebrow{font-size:8px;max-width:220px}.hero-actions{gap:8px 13px}.hero-actions .button{padding-inline:12px;font-size:10px}.hero-actions .text{padding-inline:0;font-size:9px}.page-intro h1{font-size:49px}.treatment-card h3{font-size:25px}.footer-main{grid-template-columns:1fr}.footer-main>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready [data-reveal]{opacity:1;transform:none}.qi-story{height:auto}.qi-stage{position:relative;top:0}.qi-annotations{display:none}.qi-progress{display:none}.hero-copy{opacity:1!important;transform:none!important;pointer-events:auto!important}.qi-media video{display:none}.hero-bottom .scroll-cue{font-size:0}.hero-bottom .scroll-cue:after{content:'Weiter zur Praxis';font-size:10px}.scroll-line{display:none}}
.qi-story.manual-pause .qi-annotations{opacity:0}.qi-story.manual-pause .hero-copy{opacity:1;transform:none;pointer-events:auto}.qi-story.manual-pause .hero-wash{opacity:1}

.tcm-icon{width:42px;height:42px;display:block;color:var(--green);margin-bottom:20px}.yiti-seal{position:absolute;right:-25px;bottom:70px;width:126px;height:126px;transform:rotate(-12deg);overflow:visible}.qi-media{transition:none}
@media(max-width:700px){.yiti-seal{right:-15px;bottom:45px;width:110px;height:110px}.hero-description{font-size:14px}.welcome-copy>p:not(.eyebrow):not(.lead),.personal-copy>p:not(.eyebrow),.service-row p:not(.eyebrow),.about-layout article>p:not(.eyebrow),.information p:not(.eyebrow),.booking-aside p:not(.eyebrow),.legal-copy p{font-size:15px}.treatment-card>p:last-child{font-size:13px}.treatment-card .eyebrow{font-size:9px;line-height:1.5}.footer-main>div>a:not(.brand){font-size:13px}.footer-label{font-size:10px}.hero-actions .button{font-size:12px}.hero-actions .text{font-size:11px}.hero-copy{padding-top:45px}.tcm-icon{width:36px;height:36px}}

.legal-page .page-intro h1{font-size:clamp(40px,6vw,86px);hyphens:auto;overflow-wrap:anywhere}.legal-page .legal-copy{overflow-wrap:anywhere}

/* Revised hero: quiet typography and an unfiltered film in its own arched frame. */
.qi-stage{background:var(--paper);min-height:650px}
.qi-media{inset:var(--film-top,7%) var(--film-right,4%) var(--film-bottom,8%) var(--film-left,55%);border-radius:var(--film-radius,380px) var(--film-radius,380px) 0 0;background:#e8dfd2;border:1px solid #b7bea540}
.qi-media img,.qi-media video{object-position:50% center}
.hero-wash{display:none}
.hero-copy{padding-block:45px 90px}
.hero-copy .eyebrow{max-width:48%;font-size:11px;letter-spacing:.16em;margin-bottom:28px}
.hero-copy h1{max-width:51%;font-size:clamp(74px,7.9vw,118px);line-height:1.01;letter-spacing:-.065em}
.hero-description{font-size:16px;line-height:1.8;max-width:47%;margin:28px 0 12px;color:var(--muted)}
.hero-person{max-width:47%;font-size:12px;line-height:1.7;margin:0 0 28px;color:var(--green)}
.hero-actions{gap:28px}
.hero-actions .primary{min-height:51px;padding:15px 25px;font-size:13px}
.hero-actions .text{font-size:13px;padding:14px 0}
.hero-bottom{font-size:11px}.scroll-cue{max-width:none}
/* Links reveal a fine underline on hover or keyboard focus. */
a:not(.brand):not(.button):not(.treatment-card){background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-position:0 calc(100% - 7px);background-repeat:no-repeat;transition:background-size .28s ease,color .25s ease}
a:not(.brand):not(.button):not(.treatment-card):hover,a:not(.brand):not(.button):not(.treatment-card):focus-visible{background-size:100% 1px;text-decoration:none}
.header nav>a:not(.button)::after{display:none}
.header nav>a[aria-current]:not(.button){background-size:100% 1px}
.button{justify-content:center;gap:0}.button.text{border:0;border-radius:0;min-width:0;background:transparent}
.link-label,.treatment-card h3{background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-position:left bottom;background-repeat:no-repeat;transition:background-size .28s ease;padding-bottom:3px}
.button:hover .link-label,.button:focus-visible .link-label,.treatment-card:hover h3,.treatment-card:focus-visible h3{background-size:100% 1px}
.treatment-card h3{display:table;padding-bottom:5px}.text-link{text-decoration:none}
.footer-main>div>a:not(.brand):hover{text-decoration:none}
.footer-address{font-style:normal;font-size:13px;line-height:1.75;margin-top:16px;color:var(--muted)}
.first-visit-preparation{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10%;border-top:1px solid var(--line);margin-top:20px;padding-top:40px}
.first-visit-preparation h3{font-size:30px;margin-bottom:22px}.first-visit-preparation p:not(.eyebrow){font-size:15px;color:var(--muted)}
.first-visit-preparation .appointment-meta{margin-top:0;margin-bottom:25px}.first-visit-preparation .small{font-size:12px!important}
.first-visit{scroll-margin-top:100px}
.contact-location address{font-size:19px;font-style:normal;line-height:1.8;margin:30px 0 20px}
.contact-location>.text-link{display:inline-block;min-height:40px}
.contact-location-note{margin-top:40px;padding-top:25px;border-top:1px solid var(--line)}
.contact-location-note .button{justify-content:flex-start}
@media(max-width:1100px){.hero-copy h1{font-size:clamp(73px,8.2vw,95px)}.hero-description{font-size:15px}.hero-actions{flex-direction:row;align-items:center;gap:20px}.hero-actions .primary{padding-inline:21px;font-size:12px}.hero-actions .text{font-size:12px}}
@media(max-width:850px) and (min-width:701px){.hero-copy h1{font-size:68px}.hero-copy .eyebrow{font-size:9px}.hero-description{font-size:13px}.hero-actions{flex-direction:column;align-items:flex-start;gap:5px}}
@media(max-width:700px){
.qi-stage{min-height:700px}
.qi-media{inset:var(--film-top,47%) var(--film-right,5%) var(--film-bottom,8%) var(--film-left,5%);border-radius:var(--film-radius,180px) var(--film-radius,180px) 0 0}
.hero-copy{padding-top:27px;justify-content:flex-start}
.hero-copy .eyebrow{font-size:9px;max-width:100%;margin-bottom:14px}
.hero-copy h1{font-size:clamp(51px,14vw,68px);max-width:100%;line-height:1}
.hero-description{font-size:14px;line-height:1.65;max-width:100%;margin:17px 0 8px}
.hero-person{font-size:11px;max-width:100%;margin-bottom:18px}
.hero-actions{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:22px}
.hero-actions .primary{padding:12px 17px;font-size:11px;min-height:45px}.hero-actions .text{font-size:11px;padding:12px 0;min-height:45px}
.hero-bottom{font-size:9px;bottom:14px;gap:12px}.hero-bottom .scroll-cue{max-width:125px}.hero-bottom .animation-toggle{font-size:8px}
.first-visit-preparation{grid-template-columns:1fr;gap:30px;margin-top:5px;padding-top:30px}
.first-visit-preparation h3{font-size:30px}.first-visit-preparation p:not(.eyebrow){font-size:15px}
.footer-address{font-size:13px;margin-top:13px}
.contact-location address{font-size:18px;margin-block:23px 16px}.contact-location-note{margin-top:25px;padding-top:20px}
}
@media(prefers-reduced-motion:reduce){
a,.link-label,.treatment-card h3{transition:none!important}
.hero-copy{transform:none!important}.qi-media{--film-left:55%;--film-top:7%;--film-right:4%;--film-bottom:8%;--film-radius:380px}
}
@media(max-width:700px) and (prefers-reduced-motion:reduce){.qi-media{--film-left:5%;--film-top:47%;--film-right:5%;--film-bottom:8%;--film-radius:180px}}

@media(min-width:701px){.qi-stage{min-height:520px}.qi-media{bottom:var(--film-bottom,12%)}}
@media(min-width:701px) and (max-height:760px){.hero-copy{padding-block:30px 65px}.hero-copy h1{font-size:clamp(70px,7.5vw,102px)}.hero-copy .eyebrow{margin-bottom:18px}.hero-description{margin-top:22px;margin-bottom:8px}.hero-person{margin-bottom:22px}}

/* Keep the top of the original frame visible; the expanded film fits without cropping. */
.qi-media img,.qi-media video{object-position:50% 0;object-fit:cover}
.hero-actions{gap:0}
.qi-stage{isolation:isolate}
.home .welcome{padding-top:100px}
.home .hero-person{margin-bottom:28px}
@media(max-width:700px){.home .welcome{padding-top:60px}.home .hero-person{margin-bottom:18px}}
@media(prefers-reduced-motion:reduce){.qi-media video{display:none}.hero-copy{opacity:1!important;transform:none!important}}

/* Original full-frame hero composition, with a soft paper-colour exit. */
.home .qi-story{height:240svh}
.home .qi-stage{min-height:0;height:calc(100svh - var(--header));background:#e3d9ca}
.home .qi-media{inset:0;border-radius:0}
.home .qi-media img,.home .qi-media video{object-fit:cover;object-position:50% 0}
.home .hero-copy{position:absolute;inset:0;width:100%;padding:35px 20px;display:flex;align-items:center;justify-content:center;text-align:center;z-index:2}
.home .hero-copy h1{max-width:900px;font-size:clamp(38px,5.5vw,78px);line-height:1.12;letter-spacing:-.045em;color:#fff9ed;text-shadow:0 2px 12px #0008}
.home .hero-actions{margin-top:32px;justify-content:center}
.home .hero-actions .primary{background:#f8f3e9;color:#344723;border-color:#f8f3e9;border-radius:30px;padding:15px 27px;font-size:15px}
.home .qi-stage:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(0deg,var(--paper) 0%,#f6f3ebcc 38%,#f6f3eb00 100%);opacity:var(--exit,0)}
.home .welcome{position:relative;background:var(--paper);padding-top:80px}
.accordion details{overflow:clip}
.accordion summary>span{transition:transform .42s cubic-bezier(.22,1,.36,1)}
.accordion details[open]:not(.is-expanded)>summary>span{transform:rotate(0)}
.accordion details.is-expanded>summary>span{transform:rotate(45deg)}
@media(max-width:700px){.home .qi-story{height:210svh}.home .hero-copy{padding:30px 20px 75px}.home .hero-copy h1{font-size:clamp(30px,8.2vw,42px);max-width:100%;line-height:1.15}.home .hero-actions .primary{font-size:14px}.home .welcome{padding-top:55px}}
@media(prefers-reduced-motion:reduce){.home .qi-story{height:auto}.home .qi-stage{position:relative;top:0;min-height:520px}.home .qi-stage:after{opacity:0}}

/* Short, uninterrupted handover from film to content; no colour overlay. */
:root{--paper:#eee6d7;--white:#f2eadc;--sage:#dfe5d1}
.header{background:rgba(238,230,215,.97)}
.home .qi-story{height:170svh}
.home .qi-stage{background:var(--paper)}
.home .qi-stage:after{display:none}
.home .qi-media{transform-origin:50% 75%;will-change:transform}
.home .hero-actions .primary{background:var(--green);border-color:var(--green);color:var(--paper)}
.home .hero-actions .primary:hover{background:var(--green);border-color:var(--green)}
.home .welcome{padding-top:55px}
.visit-redesigned{display:block;padding-block:65px 80px}
.visit-heading{margin-bottom:38px}
.visit-heading h2{font-size:clamp(52px,6vw,82px);margin-bottom:18px}
.visit-heading>p{font-size:18px;color:var(--muted)}
.visit-essentials{display:grid;grid-template-columns:1fr 1fr 1fr;gap:35px;padding:32px;background:var(--sage);border-radius:16px}
.visit-essentials h3{font-size:29px;margin-bottom:16px}
.visit-essentials p{font-size:16px;line-height:1.65;margin-bottom:0}
.visit-price{display:block;font-family:var(--serif);font-size:36px;color:var(--green);margin-top:10px}
.visit-flow{margin-top:44px}
.visit-flow>h3{font-size:32px;margin-bottom:16px}
.visit-flow .visit-list{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.visit-flow .visit-list li{display:block;padding:20px 0;border-top:1px solid var(--line);border-bottom:0}
.visit-flow .visit-list li>span{display:block;margin-bottom:12px;font-size:18px}
.visit-flow .visit-list h3{font-size:25px;line-height:1.2}
.visit-flow .visit-list p{font-size:15px}
@media(max-width:700px){.home .qi-story{height:165svh}.visit-redesigned{padding-block:40px 55px}.visit-heading h2{font-size:51px}.visit-heading>p{font-size:16px}.visit-essentials{grid-template-columns:1fr;gap:26px;padding:25px}.visit-flow .visit-list{grid-template-columns:1fr;gap:0}.visit-flow .visit-list li{display:grid;grid-template-columns:32px 1fr;gap:12px}.visit-flow .visit-list li>span{margin:0}.visit-flow .visit-list h3{font-size:25px}}
@media(prefers-reduced-motion:reduce){.home .qi-story{height:auto}.home .qi-media{transform:none!important;will-change:auto}}


/* The next section physically covers the film; the curve follows scrolling. */
.home .qi-story{height:145svh}
.home .qi-media{will-change:auto}
.home .welcome{width:100%;padding-inline:max(56px,calc((100% - 1280px)/2));position:relative;z-index:2;margin-top:-36px;padding-top:80px;overflow:visible;background:var(--paper);isolation:isolate}
.home .welcome:before{content:'';position:absolute;z-index:-1;left:0;top:-72px;width:100%;height:calc(100% + 72px);background:var(--paper);border-radius:50% 50% 0 0 / var(--cover-curve,72px) var(--cover-curve,72px) 0 0;pointer-events:none}
.home .welcome [data-reveal]{opacity:1;transform:none}
@media(max-width:700px){.home .qi-story{height:140svh}.home .welcome{margin-top:-18px;padding-top:50px;padding-inline:20px}.home .welcome:before{top:-34px;height:calc(100% + 34px)}}
@media(prefers-reduced-motion:reduce){.home .qi-story{height:auto}.home .welcome{margin-top:0}.home .welcome:before{top:0;height:100%;border-radius:0}}

/* Rounded primary booking action in the navigation. */
.header .button.primary{border-radius:999px}

/* First visit: spacious introduction, vertical journey and a simple preparation strip. */
.visit-editorial{display:grid;grid-template-columns:1fr 1.1fr;gap:55px 10%;align-items:start;border-top:1px solid #465b3133;padding-block:85px}
.visit-intro h2{font-size:clamp(60px,6vw,86px);margin-bottom:28px}
.visit-intro>p:not(.eyebrow){max-width:330px;font-size:16px;color:var(--muted)}
.visit-facts{display:flex;gap:40px;margin-top:35px;padding-top:22px;border-top:1px solid #465b3133;max-width:350px}
.visit-facts span{font-size:11px;line-height:1.6;color:var(--muted)}
.visit-facts strong{display:inline-block;font-family:var(--serif);font-size:30px;font-weight:400;color:var(--green);margin-top:6px}
.visit-journey ol{padding:0;margin:0;list-style:none}
.visit-journey li{display:grid;grid-template-columns:42px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid #465b3133}
.visit-journey li:first-child{padding-top:0}
.journey-number{font-family:var(--serif);font-size:21px;color:#77835e;padding-top:4px}
.visit-journey h3{font-size:30px;line-height:1.15;margin-bottom:13px}
.visit-journey li p{font-size:15px;line-height:1.75;color:var(--muted);margin:0}
.visit-journey>.small{margin-top:20px;font-size:11px}
.visit-before{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:35px;background:#dfe5d1;padding:32px 35px;border-radius:0 40px 0 0}
.visit-before h3{font-size:29px;max-width:190px;line-height:1.15}
.visit-before span{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--green)}
.visit-before p{font-size:14px;line-height:1.7;margin:8px 0 0}
/* Price list: one open typographic list rather than a boxed table. */
.rates-editorial{background:#e3dccb;padding-block:85px}
.rates-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:55px}
.rates-heading h2{font-size:clamp(50px,5vw,74px)}
.rates-heading>p{font-size:14px;color:var(--muted);max-width:310px;line-height:1.8;margin:0 0 5px}
.rates-heading>p span{display:block;margin-top:19px;font-size:12px}
.rates-list table{width:100%;border-collapse:collapse;border-top:1px solid var(--green)}
.rates-list th,.rates-list td{padding:26px 0;border-bottom:1px solid #465b3133;background:none}
.rates-list th{font-family:var(--serif);font-size:29px;letter-spacing:-.025em;font-weight:400;line-height:1.25;text-align:left}
.rates-list th span{display:block;font-family:var(--sans);font-size:12px;letter-spacing:0;font-weight:400;line-height:1.6;margin-top:8px;color:var(--muted)}
.rates-list td{font-family:var(--serif);font-size:43px;line-height:1.1;color:var(--green);text-align:right;white-space:nowrap;padding-left:25px}
.rates-bottom{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:25px;align-items:start}
.rates-bottom>.small{font-size:11px;max-width:370px}
.rates-bottom .cancellation{margin:0;border-color:#465b3133}
.rates-bottom .cancellation summary{padding-top:0;font-size:13px}
@media(max-width:700px){.visit-editorial{grid-template-columns:1fr;gap:35px;padding-block:50px}.visit-intro h2{font-size:60px}.visit-intro>p:not(.eyebrow){max-width:100%}.visit-facts{max-width:100%;margin-top:25px;gap:45px}.visit-journey h3{font-size:28px}.visit-journey li{grid-template-columns:28px 1fr;gap:12px;padding-block:23px}.visit-before{grid-template-columns:1fr;gap:21px;padding:28px 24px}.visit-before h3{max-width:none;font-size:30px}.rates-editorial{padding-block:50px}.rates-heading{display:block;margin-bottom:32px}.rates-heading h2{font-size:51px}.rates-heading>p{margin-top:25px;max-width:100%}.rates-heading>p span{margin-top:14px}.rates-list th{font-size:25px}.rates-list th,.rates-list td{padding-block:23px}.rates-list th span{font-size:11px;max-width:200px}.rates-list td{font-size:34px;padding-left:15px}.rates-bottom{grid-template-columns:1fr;gap:15px}.rates-bottom>.small{max-width:100%}}

/* Readable type sizes across the complete site. */
html body{font-size:18px;line-height:1.8}
html body p:not(.eyebrow){font-size:18px!important;line-height:1.8}
html body .eyebrow{font-size:14px!important;letter-spacing:.11em;line-height:1.6}
html body .small,html body p.small{font-size:16px!important;line-height:1.75}
html body .button,html body .text-link,html body summary{font-size:17px!important;line-height:1.6;min-height:52px}
html body .header nav>a:not(.button){font-size:16px}
html body .header nav{gap:25px}
html body .header .button{font-size:16px!important;padding-inline:19px}
html body .footer-main>div>a:not(.brand),html body .footer-address{font-size:17px;line-height:1.8}
html body .footer-note,html body .footer-label,html body .footer-bottom{font-size:14px;line-height:1.8}
html body .brand small{font-size:10px;letter-spacing:.12em}
html body .visit-facts span,html body .visit-before span{font-size:15px;line-height:1.7}
html body .rates-heading>p span{font-size:17px;line-height:1.8}
html body th span{font-size:16px!important;line-height:1.7}
html body .service-tags,html body .image-caption,html body .personal-photo figcaption span,html body .timeline p{font-size:16px!important;line-height:1.7}
html body .booking-privacy,html body .booking-heading>span,html body .contact-note{font-size:16px!important;line-height:1.75}
html body .rates-list th span{max-width:none}
@media(max-width:1100px) and (min-width:701px){.header-inner{width:calc(100% - 40px)}html body .header nav{gap:15px}html body .header nav>a:not(.button){font-size:15px}html body .header .button{font-size:15px!important;padding-inline:14px}.brand>span{font-size:25px}.brand{gap:8px}}
@media(max-width:850px) and (min-width:701px){.header-inner{gap:12px}html body .header nav{gap:12px}.brand img{width:35px;height:35px}.brand>span{font-size:22px}html body .brand small{font-size:8px}html body .header nav>a:not(.button){font-size:14px}html body .header .button{font-size:14px!important;padding-inline:12px}}
@media(max-width:700px){html body .header nav>a:not(.button){font-size:18px}html body .footer-bottom{font-size:14px}.footer-bottom>div{gap:18px;flex-wrap:wrap}.personal-photo figcaption{flex-wrap:wrap}.rates-list th{font-size:25px}.rates-list td{font-size:33px}.rates-list th span{font-size:16px!important}.visit-facts{gap:28px}.hero-actions .button{padding-inline:21px}.hero-copy h1{font-size:clamp(34px,7.7vw,48px)!important}}

/* One reading direction for the first visit, at every screen size. */
.first-visit-clear{display:block;max-width:1080px;padding-block:70px 80px;border-top:1px solid #465b3133}
.visit-title h2{font-size:clamp(46px,5.5vw,72px);line-height:1.12;margin-bottom:24px}
.visit-title>p:not(.eyebrow){max-width:780px}
.visit-title .visit-duration{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:26px 0 36px;color:var(--green)}
.visit-duration strong{font-weight:500}
.visit-prep-clear{padding:30px 34px;background:var(--sage);border-left:3px solid var(--green);margin-bottom:42px}
.visit-prep-clear h3,.visit-steps-clear>h3{font-size:32px;line-height:1.2;margin-bottom:20px}
.visit-prep-clear ul{margin:0;padding-left:22px;font-size:18px;line-height:1.8}
.visit-prep-clear li+li{margin-top:14px}
.visit-prep-clear strong{font-weight:600;color:var(--green)}
.visit-steps-clear ol{padding:0;margin:0;list-style:none}
.visit-steps-clear li{display:grid;grid-template-columns:45px 1fr;gap:22px;padding:23px 0;border-top:1px solid #465b3133}
.visit-steps-clear li>span{font-family:var(--serif);font-size:24px;color:var(--green);line-height:1.3;padding-top:2px}
.visit-steps-clear h4{font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.25;letter-spacing:-.025em;margin:0 0 10px}
.visit-steps-clear li p{margin:0;max-width:770px;color:var(--muted)}
.visit-steps-clear>.small{margin-top:24px}
@media(max-width:700px){.first-visit-clear{padding-block:45px 55px}.visit-title h2{font-size:48px;max-width:100%}.visit-prep-clear{padding:24px 20px;margin-bottom:32px}.visit-prep-clear h3,.visit-steps-clear>h3{font-size:30px}.visit-steps-clear li{grid-template-columns:30px 1fr;gap:13px}.visit-steps-clear h4{font-size:26px}.visit-title .visit-duration{gap:8px;font-size:18px!important}}

/* A single quiet first-visit section with clear, readable practical details. */
.visit-calm{display:block;padding-block:70px 80px;border-top:1px solid #465b3133}
.visit-calm>header{margin-bottom:40px;max-width:850px}
.visit-calm h2{font-size:clamp(46px,5.3vw,72px);line-height:1.15;color:var(--green);margin-bottom:20px}
.visit-calm>header p{margin:0;color:var(--muted)}
.visit-calm-content{display:grid;grid-template-columns:1.3fr 1fr;gap:9%;align-items:start}
.visit-calm-story h3{font-family:var(--sans);font-size:21px;letter-spacing:0;line-height:1.5;font-weight:500;margin-bottom:20px}
.visit-calm-story p{max-width:650px;color:var(--muted)}
.visit-calm-practical{border-top:2px solid var(--green);padding-top:23px}
.visit-calm-meta>span{display:block;font-size:17px;margin-bottom:8px;color:var(--green)}
.visit-calm-meta strong{display:block;font-family:var(--serif);font-size:32px;font-weight:400;line-height:1.3;white-space:nowrap;color:var(--green)}
.visit-calm-meta strong span{padding-inline:9px}
.visit-calm-practical>p{margin-top:20px}
.visit-calm-practical ul{margin:23px 0 0;padding:0;list-style:none;font-size:18px;line-height:1.8}
.visit-calm-practical li{padding:18px 0;border-top:1px solid #465b3133}
.visit-calm-practical li:last-child{padding-bottom:0}
@media(max-width:700px){.visit-calm{padding-block:45px 55px}.visit-calm h2{font-size:46px}.visit-calm>header{margin-bottom:30px}.visit-calm-content{grid-template-columns:1fr;gap:32px}.visit-calm-practical{grid-row:1}.visit-calm-meta strong{font-size:31px}.visit-calm-story h3{font-size:21px}.visit-calm-practical li{padding-block:15px}}

/* Cancellation terms are always visible. */
.cancellation-visible{border:0;padding:0}
.cancellation-visible h3{font-family:var(--sans);font-size:21px;font-weight:500;letter-spacing:0;line-height:1.5;margin:0 0 18px}
.cancellation-visible dl{margin:0}
.cancellation-visible dl>div{display:flex;justify-content:space-between;gap:25px;padding:12px 0;border-bottom:1px solid #465b3133;font-size:17px;line-height:1.7}
.cancellation-visible dt{font-weight:400}
.cancellation-visible dd{margin:0;white-space:nowrap;color:var(--green)}
.information .workshop-contact{border-radius:999px;text-decoration:none;padding:13px 24px;margin-top:8px;border-bottom:1px solid transparent;min-height:52px}
.workshop-contact:after,.workshop-contact:before,.workshop-label:after,.workshop-label:before{display:none!important}

/* Simplified services opening and first-visit practical details. */
.visit-calm-practical{border-top:0;padding-top:0}
.service-list{padding-top:45px}
@media(max-width:700px){.service-list{padding-top:25px}}

/* Align practical first-visit details beside the title rather than below it. */
@media(min-width:701px){
 .visit-calm{display:grid;grid-template-columns:1.3fr 1fr;column-gap:9%;align-items:start}
 .visit-calm>header{grid-column:1;grid-row:1;margin-bottom:28px;max-width:none}
 .visit-calm-content{display:contents}
 .visit-calm-story{grid-column:1;grid-row:2}
 .visit-calm-practical{grid-column:2;grid-row:1/span 2;padding-top:8px}
}

/* New type pairing: Lora for headings, Source Sans 3 for reading and controls. */
h1,h2,h3,blockquote{letter-spacing:-.03em}
.home .hero-copy h1{letter-spacing:-.03em}
.brand>span{letter-spacing:-.035em}
.rates-list th{letter-spacing:-.02em}
button,input,textarea,select{font-family:var(--sans)}

/* First-visit information flows as paragraphs beneath the title. */
.visit-calm.visit-prose{display:block}
.visit-prose>header{max-width:850px;margin-bottom:25px}
.visit-prose-copy{max-width:850px}
.visit-prose-copy p{color:var(--muted)}
.visit-prose-copy strong{color:var(--green);font-weight:600}
.visit-prose-copy h3{font-family:var(--sans);font-size:22px;font-weight:600;line-height:1.5;letter-spacing:0;margin:32px 0 16px}
