@font-face{font-family:CreaMincho;src:url('/assets/crea-mincho.woff') format('woff');font-display:swap;font-weight:400}
:root{--ink:#172c35;--paper:#faf9f6;--white:#fff;--accent:#c07862;--accent-dark:#99513f;--line:#d9dedc;--muted:#52636a;--serif:CreaMincho,'Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button,a{-webkit-tap-highlight-color:transparent}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:.015em;line-height:1.55}h2{font-size:clamp(1.9rem,3.2vw,3.1rem)}h3{font-weight:500;line-height:1.6}p{overflow-wrap:anywhere}em{font-style:normal;color:var(--accent-dark)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:#dca08b75}[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:fixed;z-index:100;top:10px;left:20px;padding:12px 20px;background:#fff;transform:translateY(-160%)}.skip:focus{transform:none}
.header{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:28px;min-height:86px;padding:12px 4vw;background:rgba(250,249,246,.97);border-bottom:1px solid #172c3510;backdrop-filter:blur(12px)}.wordmark{font-family:Georgia,serif;font-size:44px;line-height:.9;letter-spacing:-.045em;white-space:nowrap;font-weight:400}.wordmark>span{display:block;font-family:var(--sans);font-size:12px;letter-spacing:.015em;margin-top:8px;line-height:1.3}.desktop-nav{display:flex;gap:22px;margin-left:auto;align-items:center}.desktop-nav>a{font-size:14px;white-space:nowrap;text-decoration-thickness:1px;text-underline-offset:8px}.desktop-nav>a:hover{text-decoration:underline}.menu-toggle{display:none;width:44px;height:44px;flex-shrink:0;padding:10px}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:7px 0}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:58px;padding:16px 26px;position:relative;isolation:isolate;overflow:hidden;border:1px solid transparent;border-radius:2px 18px 2px 18px;font-weight:600;font-size:15px;line-height:1.6;transition:transform .4s var(--ease),background .35s,color .35s,box-shadow .35s}.button>span:not(.ripple){position:relative;z-index:2}.button-mark{display:inline-flex;align-items:center;justify-content:center;width:25px;flex-shrink:0;font-size:24px;font-weight:400;line-height:1;transition:transform .6s var(--ease)}.button:hover .button-mark{transform:rotate(180deg)}.button:hover{transform:translateY(-3px);box-shadow:0 12px 28px #172c351c}.button:active{transform:translateY(1px) scale(.97)}.primary{background:var(--accent-dark);color:#fff}.primary:hover{background:#7c4032}.light{background:var(--paper);color:var(--ink)}.light:hover{background:#fff}.outline{border-color:currentColor;color:inherit}.text-button{padding:14px 0;border-radius:0;border-bottom:1px solid currentColor;box-shadow:none!important;max-width:330px;width:100%;font-size:15px;min-height:54px}.header-cta{background:var(--ink);color:#fff;min-height:48px;padding:12px 18px;font-size:14px;white-space:nowrap}.header-cta .button-mark{font-size:20px}.ripple{position:absolute;inset:auto;width:24px;height:24px;border:1px solid currentColor;box-shadow:0 0 0 12px currentColor;opacity:.17;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(0);animation:ripple .8s ease-out forwards;z-index:1}.tap-feedback{animation:touch-settle .5s var(--ease)}@keyframes ripple{to{transform:translate(-50%,-50%) scale(22);opacity:0}}@keyframes touch-settle{0%{filter:brightness(1.12)}100%{filter:brightness(1)}}
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--ink);color:#fff;min-height:740px}.hero-photo{position:absolute;inset:0;overflow:hidden}.hero-photo img{height:100%;object-fit:cover;object-position:65% 43%;animation:hero-image 2s var(--ease) both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#10232ce8 0%,#10232cca 26%,#10232c62 58%,#10232c0c 85%),linear-gradient(0deg,#10232cc9,transparent 40%)}.hero-content{position:relative;z-index:2;padding:76px 6vw 102px;max-width:1100px}.hero-kicker{display:flex;align-items:center;gap:15px;font-size:14px;letter-spacing:.1em;color:#f2d9ce;margin-bottom:28px;animation:rise 1s .1s var(--ease) both}.hero-rule{width:38px;height:1px;background:currentColor}.hero h1{font-size:clamp(2.8rem,4.5vw,4.6rem);line-height:1.5;letter-spacing:.025em;text-shadow:0 2px 20px #10232c35}.hero h1>span{display:block;animation:hero-type 1.4s var(--ease) both}.hero h1>span:first-child{font-size:.77em;margin-bottom:8px}.hero h1>span:nth-child(2){animation-delay:.12s}.hero h1>span:nth-child(3){animation-delay:.24s}.hero-copy{font-size:16px;line-height:2;margin-top:24px;color:#f1f4f4;animation:rise 1s .4s var(--ease) both}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:28px;animation:rise 1s .55s var(--ease) both}.hero-link{border-color:#ffffff80;color:#fff;background:#10232c33}.hero-person{display:flex;align-items:center;gap:15px;margin-top:28px;width:fit-content;animation:rise 1s .7s var(--ease) both}.hero-person>img{width:60px;height:60px;object-fit:cover;border-radius:50%;border:1px solid #fff5}.hero-person>span{display:block;line-height:1.8}.hero-person small{display:block;color:#e6d2c8;font-size:12px;letter-spacing:.06em}.hero-person b{font-family:var(--serif);font-size:21px;letter-spacing:.08em;font-weight:400}.hero-person>span>span{font-size:12px;margin-left:10px}.hero-bottom{position:absolute;left:6vw;right:6vw;bottom:23px;display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.13em}.hero-bottom a{display:flex;align-items:center;gap:18px;letter-spacing:.05em}.scroll-line{height:30px;width:1px;overflow:hidden;background:#fff3;position:relative}.scroll-line:after{content:'';position:absolute;inset:0;background:#fff;animation:scroll-line 2s 2}@keyframes scroll-line{from{transform:translateY(-100%)}70%,100%{transform:translateY(100%)}}@keyframes hero-image{from{transform:scale(1.075);filter:brightness(.6)}to{transform:none;filter:brightness(1)}}@keyframes hero-type{from{clip-path:inset(100% 0 0);transform:translateY(35px);opacity:0}to{clip-path:inset(0);transform:none;opacity:1}}@keyframes rise{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.welcome-strip{padding:28px 6vw;display:grid;grid-template-columns:1.35fr .8fr .8fr;gap:35px;align-items:center;border-bottom:1px solid var(--line)}.welcome-strip>p{font-family:var(--serif);font-size:24px;line-height:1.7}.welcome-strip>div,.welcome-strip>a{border-left:1px solid var(--line);padding-left:35px;line-height:1.7}.welcome-strip span{font-size:13px}.welcome-strip strong{font-family:Georgia,serif;font-weight:400;font-size:37px;color:var(--accent-dark);margin:0 8px}.welcome-strip strong small{font-family:var(--sans);font-size:14px;margin-left:4px}.welcome-strip>a>span{display:block}.welcome-strip b{font-family:Georgia,serif;font-size:26px;font-weight:400}
.section{padding:100px max(6vw,24px);max-width:1600px;margin:auto}.section-heading{margin-bottom:40px}.section-heading>p:last-child:not(.eyebrow){margin-top:22px;color:var(--muted)}.eyebrow{display:flex;gap:16px;align-items:center;font-size:13px;letter-spacing:.08em;color:var(--accent-dark);margin-bottom:20px;line-height:1.7}.eyebrow>span{padding-right:16px;border-right:1px solid currentColor;line-height:1}.small-note{font-size:13px;line-height:1.85;color:var(--muted)}.guide-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:38px}.guide-heading .section-heading{margin-bottom:0}.guide-aside{color:var(--muted);font-size:14px;border-left:1px solid var(--accent);padding:6px 0 6px 20px}.care-guide{border:1px solid var(--line);background:#fff;position:relative}.guide-progress{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0;border-bottom:1px solid var(--line);background:#f0f3f1}.guide-progress li{padding:17px 24px;font-size:14px;position:relative;transition:background .4s,color .4s}.guide-progress li+li{border-left:1px solid var(--line)}.guide-progress span{font-family:Georgia,serif;font-size:20px;margin-right:14px;color:var(--accent-dark)}.guide-progress li:after{content:'';height:3px;position:absolute;bottom:0;left:0;right:0;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}.guide-progress [aria-current=step]{background:var(--ink);color:#fff}.guide-progress [aria-current=step] span{color:#f0bb9f}.guide-progress .completed:after{transform:scaleX(1)}.guide-stage{padding:38px 40px 30px}.guide-question{font-family:var(--serif);font-size:27px;margin-bottom:26px}.guide-question:focus,#care-title:focus{outline:none}.concern-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.concern-option{position:relative;padding:26px 23px 24px;border:1px solid var(--line);background:var(--paper);display:flex;align-items:start;flex-direction:column;text-align:left;transition:background .35s,color .35s,transform .5s var(--ease),border-color .35s;min-height:172px;overflow:hidden;border-radius:2px 25px 2px 25px}.option-index{font-family:Georgia,serif;font-size:23px;color:var(--accent-dark);margin-bottom:16px}.concern-option strong{font-size:19px;font-weight:500}.concern-option small{display:block;font-size:14px;line-height:1.9;margin-top:8px;color:var(--muted)}.option-plus{position:absolute;top:20px;right:20px;font-size:25px;font-weight:300;transition:transform .6s var(--ease)}.concern-option:hover,.concern-option.selected{background:var(--ink);border-color:var(--ink);color:#fff;transform:translateY(-4px)}.concern-option:hover small,.concern-option.selected small{color:#d6e1e3}.concern-option:hover .option-index,.concern-option.selected .option-index{color:#efbfae}.concern-option:hover .option-plus,.concern-option.selected .option-plus{transform:rotate(135deg)}.guide-note{margin-top:23px;color:var(--muted);font-size:13px;line-height:1.85}.guide-back{min-height:44px;padding:8px 0;text-decoration:underline;text-underline-offset:5px;font-size:14px;color:var(--muted);margin-bottom:16px}.guide-selection{color:var(--accent-dark);font-size:14px;margin-bottom:9px}.scene-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.scene-option{position:relative;padding:28px 24px;border:1px solid var(--line);text-align:left;line-height:1.8;background:var(--paper);transition:background .35s,transform .4s var(--ease),color .35s;border-radius:2px 25px 2px 25px;overflow:hidden}.scene-option small{display:block;font-size:13px;color:var(--accent-dark);margin-bottom:12px}.scene-option strong{font-family:var(--serif);font-size:23px;font-weight:400;display:block}.scene-option>span{font-size:14px;color:var(--muted);display:block;margin-top:18px}.scene-option:hover{background:#e7efeb;transform:translateY(-4px)}.guide-stage.entering{animation:stage-in .65s var(--ease) both}.entering .scene-option,.entering .result-copy{animation:rise .75s var(--ease) both}.entering .scene-option:nth-child(2){animation-delay:.06s}.entering .scene-option:nth-child(3){animation-delay:.12s}@keyframes stage-in{from{opacity:.1;transform:translateY(14px);clip-path:inset(0 0 8% 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
.result-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.result-photo{height:360px;position:relative;overflow:hidden}.result-photo img{height:100%;object-fit:cover}.result-photo-label{position:absolute;left:20px;bottom:18px;color:#fff;font-size:12px;letter-spacing:.14em;text-shadow:0 1px 6px #000}.entering .result-photo img{animation:hero-image 1.2s var(--ease)}.result-copy .eyebrow{font-size:13px;margin-bottom:14px}.result-copy h3{font-family:var(--serif);font-size:30px;line-height:1.6;font-weight:400;margin-bottom:20px}.result-copy>p:not(.eyebrow):not(.care-price){font-size:16px;color:var(--muted)}.care-price{font-size:16px;margin-top:20px}.result-copy .button{max-width:none;margin-top:15px}.consultation-note{margin-top:30px;background:#f0f3f1;padding:25px;display:flex;align-items:center;gap:35px;justify-content:space-between}.consultation-note>div{min-width:0}.note-title{font-family:var(--serif);font-size:21px;margin-bottom:10px}#care-memo{white-space:pre-line;font-size:15px;line-height:1.9}.consultation-note .small-note{margin-top:12px}.consultation-note .button{flex-shrink:0}.guide-finish{display:flex;align-items:center;gap:28px;margin-top:26px}.guide-finish .guide-back{margin:0}.copy-fallback{width:100%;min-height:120px;border:1px solid var(--line);padding:14px;background:#fff;color:var(--ink)}
.approach{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:#fff;overflow:hidden}.approach-photo{min-height:740px;overflow:hidden}.approach-photo img{height:100%;object-fit:cover;object-position:53% center}.approach-copy{padding:78px 5vw}.approach .eyebrow{color:#e8b59f}.approach h2{font-size:clamp(1.9rem,2.7vw,2.7rem)}.large-copy{font-family:var(--serif);font-size:23px;line-height:1.9;margin:28px 0 16px}.approach-copy>p:not(.eyebrow):not(.large-copy){color:#d6dfe1;font-size:16px}.approach-points{margin-top:32px;display:grid;gap:17px}.approach-points>div{display:grid;grid-template-columns:28px 1fr;gap:3px 14px;border-top:1px solid #fff3;padding-top:17px}.approach-points span{color:#e4ad98;font-family:Georgia,serif;grid-row:span 2}.approach-points h3{font-size:17px}.approach-points p{color:#d6dfe1;font-size:14px}.practitioner{display:grid;grid-template-columns:1.2fr .8fr;gap:10vw;align-items:center}.practitioner-copy>p:not(.eyebrow){margin-top:24px;color:var(--muted)}.practitioner-name{padding-top:24px;margin-top:30px;border-top:1px solid var(--line)}.practitioner-name>span{font-size:14px}.practitioner-name h3{font-family:var(--serif);font-size:30px;letter-spacing:.13em;font-weight:400;margin:8px 0}.practitioner-copy>.button{margin-top:20px}.practitioner-portrait{position:relative;max-width:390px;width:100%;margin:auto}.practitioner-portrait:before{content:'';position:absolute;left:-24px;top:24px;right:24px;bottom:24px;background:#d8b7a92b;z-index:-1}.practitioner-portrait img{aspect-ratio:.86;object-fit:cover;object-position:center}.practitioner-portrait figcaption{margin-top:16px;font-size:14px;color:var(--muted)}
.first-visit{border-top:1px solid var(--line)}.visit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.visit-photo{position:relative;overflow:hidden}.visit-photo img{aspect-ratio:1.1;object-fit:cover}.visit-photo span{position:absolute;left:18px;bottom:8px;color:white;font-family:Georgia,serif;font-size:54px;text-shadow:0 1px 10px #172c3580}.visit-step h3{font-family:var(--serif);font-size:25px;font-weight:400;margin:24px 0 16px}.visit-step p{font-size:16px;color:var(--muted)}.visit-reminder{display:grid;grid-template-columns:1fr auto;gap:5px 30px;border-top:1px solid var(--line);margin-top:40px;padding-top:25px;font-size:14px}.visit-reminder strong{font-weight:500}.visit-reminder p{color:var(--muted);grid-column:1}.visit-reminder a{grid-column:2;grid-row:1 / 3;align-self:center;text-decoration:underline;text-underline-offset:6px;padding:10px 0}
.menu-section{background:#edf1ef;max-width:none}.menu-section>.section-heading,.menu-grid,.price-clarity{max-width:1408px;margin-left:auto;margin-right:auto}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.treatment{background:var(--paper);scroll-margin-top:110px}.treatment-feature{display:grid;grid-template-columns:1fr 1.05fr;grid-column:1 / -1}.treatment-feature:nth-child(2) .treatment-photo{order:2}.treatment-photo{position:relative;overflow:hidden;min-width:0}.treatment-photo img{height:100%;object-fit:cover;transition:transform 1s var(--ease)}.treatment:hover .treatment-photo img{transform:scale(1.025)}.photo-number{position:absolute;bottom:20px;left:25px;font-family:Georgia,serif;font-size:60px;line-height:1;color:white;text-shadow:0 1px 10px #172c3560}.treatment-body{padding:38px}.treatment-body .eyebrow{margin-bottom:8px}.treatment h3{font-family:var(--serif);font-size:33px;font-weight:400}.treatment-lead{margin:14px 0;font-weight:500}.treatment-body>p:not(.eyebrow):not(.treatment-lead){font-size:16px;color:var(--muted)}.price{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;line-height:1.6;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.price>span{font-size:14px}.price strong{font-family:Georgia,serif;font-size:41px;font-weight:400;color:var(--accent-dark);letter-spacing:-.03em}.price strong small{font-family:var(--sans);font-size:15px;letter-spacing:0;margin-left:5px}.normal-price{font-size:14px;color:var(--muted);margin-left:auto}.treatment-body>.course-price{color:var(--ink)!important;font-size:18px!important;margin-top:5px}.course-price:empty{display:none}.treatment-for{border-left:2px solid var(--accent);padding-left:13px;margin:18px 0 4px;font-size:14px!important}.treatment .button{max-width:none;margin-top:16px}.treatment-course .treatment-photo{height:230px}.price-clarity{margin-top:30px;padding:28px 0 0;border-top:1px solid #becac5}.price-clarity h3{font-size:18px;margin-bottom:10px}.price-clarity p{font-size:14px;color:var(--muted);max-width:850px}.price-clarity .button{margin-top:15px}
.voices-section{background:var(--ink);max-width:none;color:#fff}.voices-section .eyebrow{color:#e8b59f}.voices-section .section-heading>p:last-child{color:#d2dddf}.voices-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.voice{border-top:1px solid #fff5;padding:25px 0;position:relative;display:flex;flex-direction:column;min-height:275px}.voice-tag{font-size:14px}.quote-mark{font-family:Georgia,serif;font-size:68px;line-height:1;color:var(--accent);height:56px;margin-top:14px}.voice blockquote{font-family:var(--serif);font-size:21px;line-height:1.9;margin:0 0 27px}.voice-index{font-size:12px;letter-spacing:.15em;color:#c1cdd1;margin-top:auto}.section-end{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-top:30px}.voices-section .small-note{color:#c4d0d3;max-width:630px}.voices-section .text-button{max-width:250px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}.gallery-item{padding:0;text-align:left;overflow:hidden}.gallery-item>img{aspect-ratio:1.35;object-fit:cover;transition:transform 1s var(--ease),filter .5s}.gallery-item:hover>img{transform:scale(1.035);filter:brightness(.95)}.gallery-item>span{display:flex;align-items:center;justify-content:space-between;position:relative;background:var(--paper);font-size:14px;padding:13px 0;gap:12px}.gallery-item b{font-size:22px;font-weight:300;color:var(--accent-dark)}
.faq-section{display:grid;grid-template-columns:1fr 1.2fr;gap:7vw;border-top:1px solid var(--line)}.faq-intro>p:not(.eyebrow){color:var(--muted);margin-top:22px}.faq-intro>.button{margin-top:22px;max-width:250px}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.faq-item summary{display:flex;align-items:baseline;gap:16px;padding:22px 0;font-size:16px;line-height:1.8}.faq-q{font-family:Georgia,serif;color:var(--accent-dark);font-size:22px}.faq-plus{display:block;width:16px;height:16px;flex-shrink:0;position:relative;margin-left:auto;align-self:center}.faq-plus:before,.faq-plus:after{content:'';position:absolute;width:16px;height:1px;background:var(--ink);top:7px;left:0;transition:transform .4s var(--ease)}.faq-plus:after{transform:rotate(90deg)}details[open] .faq-plus:after{transform:rotate(0)}.faq-answer{display:flex;gap:20px;padding:0 20px 25px 1px}.faq-answer>span{font-family:Georgia,serif;color:var(--muted);font-size:21px}.faq-answer p{font-size:16px;color:var(--muted)}details[open] .faq-answer{animation:rise .45s var(--ease)}.access{display:grid;grid-template-columns:.9fr 1fr;gap:8vw;align-items:center;padding-top:30px}.access-photo{overflow:hidden}.access-photo img{height:620px;object-fit:cover;object-position:center}.access dl{margin:30px 0 10px}.access dl>div{display:grid;grid-template-columns:85px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14px}.access dt{color:var(--muted)}.access dd{margin:0}.access dd a{text-decoration:underline;text-underline-offset:5px}.access .button{margin-top:15px;max-width:none}
.booking{background:var(--ink);color:#fff;position:relative;isolation:isolate;overflow:hidden;padding:95px 6vw;text-align:center}.booking-inner{position:relative;z-index:1}.booking .eyebrow{justify-content:center;color:#e4ad98}.booking h2{font-size:clamp(2rem,3.8vw,3.8rem);margin-bottom:22px}.booking-inner>p:not(.eyebrow){font-size:16px;color:#d8e0e2}.booking-actions{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-top:35px}.booking-actions>.button{min-width:260px}.booking-note{margin-top:20px;font-size:13px!important}.booking-type{position:absolute;font-family:Georgia,serif;font-size:clamp(160px,35vw,500px);right:-.03em;bottom:-.38em;color:#ffffff05;line-height:1;pointer-events:none}footer{padding:55px 6vw 24px;background:#102129;color:#fff}.footer-top{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}.footer-top>.wordmark{font-size:62px}.footer-top>p{font-family:var(--serif);font-size:19px}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;font-size:14px;color:#d0dade}.footer-bottom{border-top:1px solid #fff3;padding-top:20px;margin-top:45px;display:flex;justify-content:space-between;font-size:12px;color:#bac9ce}.footer-bottom small{font-size:12px}.mobile-booking{display:none}.scroll-progress{position:fixed;top:0;left:0;width:100%;height:2px;transform:scaleX(0);transform-origin:left;z-index:80;background:var(--accent);pointer-events:none}
.subhero{display:grid;grid-template-columns:1.1fr .9fr;background:var(--ink);color:#fff;min-height:470px;overflow:hidden}.subhero>div{padding:75px 6vw}.subhero .eyebrow{color:#e4ad98}.subhero h1{font-size:clamp(2rem,3.5vw,3.6rem);animation:rise 1s var(--ease)}.subhero p:not(.eyebrow){margin-top:24px;color:#d3dfe2;font-size:16px}.subhero img{height:100%;object-fit:cover;animation:hero-image 1.5s var(--ease)}.breadcrumb{display:inline-block;font-size:14px;margin-top:30px;border-bottom:1px solid #a7b6bb}.subpage-faq{max-width:1050px}.full-voices .voice{border-color:var(--line);background:#fff;padding:25px;min-height:300px}.full-voices .voice-index{color:var(--muted)}.full-voices+.small-note{margin-top:35px}.roadmap{max-width:1050px}.roadmap-intro{margin-bottom:30px}.roadmap-item{border-top:1px solid var(--line)}.roadmap-item summary{display:flex;gap:24px;align-items:center;padding:20px 0;font-size:17px;line-height:1.6}.roadmap-item summary>span{font-family:Georgia,serif;color:var(--accent-dark)}.roadmap-item summary>b{margin-left:auto;font-size:22px;font-weight:300}.roadmap-item>div{padding:8px 0 28px 48px}.roadmap-item p{margin:18px 0;color:var(--muted);font-size:16px;line-height:2}
dialog{border:0;padding:0;color:var(--ink)}dialog::backdrop{background:#102129df;backdrop-filter:blur(8px)}html:has(dialog[open]){overflow:hidden}.nav-dialog{position:fixed;inset:0;max-width:none;max-height:none;width:100%;height:100%;margin:0;background:var(--paper);padding:25px 7vw;overflow-y:auto}.nav-dialog[open]{animation:rise .5s var(--ease)}.dialog-top{display:flex;align-items:center;justify-content:space-between}.close-dialog{font-size:14px;min-height:44px;min-width:70px}.nav-dialog nav{display:grid;padding:35px 0 28px}.nav-dialog nav a{font-family:var(--serif);font-size:24px;padding:9px 0;border-bottom:1px solid var(--line)}.nav-dialog>.button{display:flex}.menu-phone{font-size:14px;display:block;margin-top:20px;text-align:center}.photo-dialog{position:fixed;background:var(--paper);width:min(1060px,94vw);max-height:94svh;padding:20px;overflow:auto}.photo-dialog>.close-dialog{display:block;margin:0 0 10px auto}.photo-dialog>img{height:min(65svh,680px);width:100%;object-fit:contain}.photo-dialog>p{font-size:14px;text-align:center;margin-top:12px}.photo-controls{display:flex;justify-content:space-between;gap:20px;padding-top:16px}.photo-controls button{border:1px solid var(--line);padding:10px 20px;font-size:14px;min-height:45px}.photo-dialog[open]{animation:rise .5s var(--ease)}
.motion .reveal{opacity:0;transform:translateY(32px);transition:opacity .9s var(--ease),transform 1.1s var(--ease);transition-delay:var(--delay,0ms)}.motion .reveal.in-view{opacity:1;transform:none}.motion .approach-photo img,.motion .visit-photo img{clip-path:inset(0 0 14% 0);transform:scale(1.05);transition:clip-path 1.2s var(--ease),transform 1.5s var(--ease)}.motion .approach-photo.in-view img,.motion .visit-step.in-view img{clip-path:inset(0);transform:none}
@media(min-width:1700px){.hero{min-height:850px}.hero-content{padding-top:100px}.hero h1{font-size:77px}}
@media(max-width:1200px){.desktop-nav{gap:13px}.desktop-nav>a{font-size:13px}.header{gap:20px}.hero h1{font-size:clamp(45px,5.5vw,66px)}.concern-option{padding:22px 19px}.concern-option strong{font-size:17px}.guide-stage{padding:32px}.treatment-body{padding:30px}.normal-price{margin-left:0}.approach-copy{padding:60px 5vw}.practitioner{gap:7vw}.welcome-strip{gap:24px}.welcome-strip>div,.welcome-strip>a{padding-left:24px}.welcome-strip strong{font-size:32px}}
@media(max-width:1020px){.desktop-nav{display:none}.header>.header-cta{margin-left:auto}.menu-toggle{display:block}.header{min-height:80px}.hero-content{padding-top:65px}.hero{min-height:730px}.hero-shade{background:linear-gradient(90deg,#10232ced 0%,#10232c90 45%,#10232c22 100%),linear-gradient(0deg,#10232ce0,transparent 65%)}.hero h1{font-size:clamp(44px,6vw,60px)}.guide-heading{display:block}.guide-aside{display:none}.guide-progress li{padding:16px 20px}.concern-options,.scene-options{gap:12px}.concern-option strong{font-size:17px}.concern-option small{font-size:14px}.scene-option{padding:24px 18px}.scene-option strong{font-size:21px}.result-layout{gap:27px}.result-copy h3{font-size:26px}.consultation-note{display:block}.consultation-note .button{margin-top:20px}.approach{grid-template-columns:.8fr 1fr}.approach-photo{min-height:790px}.approach h2{font-size:30px}.section{padding-top:80px;padding-bottom:80px}.visit-grid{gap:22px}.visit-step h3{font-size:23px}.visit-reminder{display:block}.visit-reminder a{display:inline-block;margin-top:10px}.voices-grid{gap:26px}.faq-section{gap:35px;grid-template-columns:.85fr 1.15fr}.access-photo img{height:590px}.welcome-strip>p{font-size:21px}.welcome-strip strong{display:block;margin:0;font-size:34px}.welcome-strip>div>span:last-child{display:none}}
@media(max-width:760px){html{scroll-padding-top:92px}.header{min-height:74px;padding:12px 20px;gap:12px}.header .wordmark{font-size:35px}.header .wordmark>span{font-size:12px}.header>.header-cta{font-size:13px;min-height:42px;padding:10px 12px}.header-cta .button-mark{display:none}.menu-toggle{width:42px}.hero{min-height:0}.hero-photo img{object-position:70% 20%;height:100%}.hero-shade{background:linear-gradient(0deg,#10232cf7 0%,#10232ce0 25%,#10232c6e 65%,#10232c14 100%)}.hero-content{padding:240px 24px 86px;max-width:none}.hero-kicker{font-size:12px;letter-spacing:.015em;gap:10px;margin-bottom:18px}.hero-rule{width:23px;flex-shrink:0}.hero h1{font-size:clamp(32px,8.9vw,49px);line-height:1.5;letter-spacing:.01em}.hero h1>span:first-child{font-size:.7em;margin-bottom:10px}.hero-copy{font-size:16px;line-height:1.95;margin-top:20px}.hero-copy br{display:none}.hero-actions{gap:10px;margin-top:24px;align-items:center}.hero-actions .button{min-height:54px;padding:14px 17px;font-size:14px;gap:15px}.hero-actions .hero-link{padding:13px 0;border:0;background:transparent;font-size:14px}.hero-person{margin-top:23px;gap:12px}.hero-person>img{width:50px;height:50px}.hero-person small{font-size:12px}.hero-person b{font-size:20px}.hero-person>span>span{font-size:12px;margin-left:8px}.hero-bottom{left:24px;right:24px;bottom:23px;font-size:11px;letter-spacing:.06em}.hero-bottom a{font-size:12px}.hero-bottom>span{max-width:135px}.welcome-strip{padding:24px;grid-template-columns:1fr 1fr;gap:22px 15px}.welcome-strip>p{grid-column:1 / -1;font-size:21px;padding-bottom:18px;border-bottom:1px solid var(--line)}.welcome-strip>p br{display:none}.welcome-strip>div{border:0;padding-left:0}.welcome-strip>a{padding-left:20px}.welcome-strip span{font-size:12px}.welcome-strip strong{font-size:34px}.welcome-strip b{font-size:24px}.section{padding:64px 24px}.section-heading h2{font-size:clamp(27px,7vw,36px)}.section-heading{margin-bottom:30px}.section-heading>p:last-child:not(.eyebrow){font-size:16px;margin-top:18px}.eyebrow{font-size:12px;gap:12px;letter-spacing:.04em;margin-bottom:18px}.eyebrow>span{padding-right:12px}.guide-heading{margin-bottom:27px}.guide-progress li{font-size:12px;padding:14px 8px;text-align:center;line-height:1.7}.guide-progress span{display:block;margin:0;font-size:18px}.guide-stage{padding:25px 19px}.guide-question{font-size:23px;margin-bottom:20px}.concern-options,.scene-options{grid-template-columns:1fr;gap:12px}.concern-option{min-height:0;padding:20px 34px 20px 16px;flex-direction:row;align-items:center;gap:14px;border-radius:2px 18px 2px 18px}.option-index{font-size:18px;margin:0;flex-shrink:0}.concern-option strong{font-size:17px}.concern-option small{font-size:14px;margin-top:5px}.option-plus{font-size:22px;right:11px;top:22px}.concern-option:hover,.concern-option.selected{transform:none}.guide-note{font-size:13px;margin-top:18px}.guide-back{font-size:14px;margin-bottom:13px}.guide-selection{font-size:14px}.scene-option{padding:22px}.scene-option small{margin-bottom:8px}.scene-option strong{font-size:23px}.scene-option>span{margin-top:8px}.result-layout{grid-template-columns:1fr;gap:25px}.result-photo{height:235px}.result-copy h3{font-size:27px}.result-copy .eyebrow{font-size:13px}.result-copy .button{font-size:14px}.consultation-note{padding:20px 16px;margin-top:25px}.note-title{font-size:20px}#care-memo{font-size:14px}.consultation-note .button{width:100%;font-size:14px}.guide-finish{display:block;margin-top:22px}.guide-finish>.button{width:100%;font-size:14px;padding:15px 18px}.guide-finish .guide-back{display:block;margin:14px auto 0}.approach{display:flex;flex-direction:column}.approach-photo{height:340px;min-height:0}.approach-photo img{object-position:center 40%}.approach-copy{padding:44px 24px 60px}.approach h2{font-size:31px}.large-copy{font-size:22px;margin-top:24px}.approach-points{margin-top:27px}.practitioner{display:flex;flex-direction:column-reverse;gap:37px;align-items:stretch}.practitioner-portrait{width:82%;max-width:330px;margin:0 0 0 auto}.practitioner-portrait img{aspect-ratio:.98}.practitioner-portrait:before{left:-20px;top:20px}.practitioner-portrait figcaption{font-size:13px}.practitioner h2{font-size:31px}.practitioner-copy>p:not(.eyebrow){margin-top:20px}.practitioner-name h3{font-size:28px}.visit-grid{grid-template-columns:1fr;gap:35px}.visit-photo img{aspect-ratio:1.3}.visit-photo span{font-size:52px}.visit-step h3{font-size:26px;margin:21px 0 14px}.visit-reminder{margin-top:30px;padding-top:23px;font-size:14px}.visit-reminder p{margin-top:7px}.menu-grid{grid-template-columns:1fr;gap:30px}.treatment-feature{display:block;grid-column:auto}.treatment-photo,.treatment-course .treatment-photo{height:260px}.treatment-body{padding:26px}.treatment h3{font-size:29px}.treatment .eyebrow{font-size:12px}.price{gap:10px;margin-top:20px}.price strong{font-size:38px}.price>span,.normal-price{font-size:13px}.normal-price{margin-left:auto}.treatment-body>.course-price{font-size:17px!important}.treatment-for{font-size:14px!important}.treatment .button{font-size:14px}.price-clarity{padding-top:24px}.price-clarity h3{font-size:17px}.price-clarity p{font-size:14px}.voices-grid{grid-template-columns:1fr;gap:24px}.voice{min-height:0;padding:23px 0 7px}.voice blockquote{font-size:22px;margin-bottom:18px}.quote-mark{height:48px;font-size:62px}.section-end{display:block;margin-top:26px}.section-end>.button{margin-top:25px;max-width:none}.gallery{grid-template-columns:1fr 1fr;gap:22px 13px}.gallery-item>img{aspect-ratio:1}.gallery-item>span{font-size:14px;line-height:1.7;gap:8px;align-items:start}.gallery-item b{font-size:20px;line-height:1.2}.faq-section{grid-template-columns:1fr;gap:30px}.faq-intro h2{font-size:31px}.faq-intro>.button{max-width:none;margin-top:15px}.faq-item summary{font-size:16px;gap:13px;padding:20px 0}.faq-q{font-size:20px}.faq-answer{gap:16px;padding-right:0}.access{display:flex;flex-direction:column;gap:35px;padding-top:0}.access-photo{width:100%}.access-photo img{height:360px;object-position:center 36%}.access-copy{width:100%}.access h2{font-size:31px}.access dl>div{grid-template-columns:75px 1fr;gap:12px;font-size:14px}.booking{padding:64px 24px}.booking h2{font-size:clamp(26px,7vw,36px)}.booking .eyebrow{font-size:12px;gap:10px}.booking-inner>p:not(.eyebrow){font-size:16px}.booking-actions{flex-direction:column;margin-top:28px;gap:12px}.booking-actions>.button{width:100%;min-width:0;min-height:58px}.booking-note{font-size:13px!important}footer{padding:40px 24px calc(105px + env(safe-area-inset-bottom))}.footer-top{grid-template-columns:1fr;gap:27px}.footer-top>.wordmark{font-size:54px}.footer-top>p{font-size:18px}.footer-top nav{font-size:14px;gap:15px 20px}.footer-bottom{margin-top:32px;gap:20px;align-items:end}.mobile-booking{position:fixed;display:grid;grid-template-columns:.38fr .62fr;bottom:0;left:0;right:0;z-index:35;background:var(--ink);color:white;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -3px 20px #0002}.mobile-booking>a{position:relative;isolation:isolate;overflow:hidden;padding:12px 6px;text-align:center;min-height:68px;font-size:14px;line-height:1.7;transition:filter .25s,transform .25s}.mobile-booking>a:last-child{background:var(--accent-dark)}.mobile-booking>a small{display:block;font-size:12px;color:#f3e9e5;line-height:1.7}.mobile-booking>a:active{filter:brightness(1.15);transform:scale(.98)}.subhero{grid-template-columns:1fr;min-height:0}.subhero>div{padding:46px 24px 40px}.subhero h1{font-size:33px}.subhero p:not(.eyebrow){font-size:16px;margin-top:20px}.subhero>img{height:260px;object-position:center 35%}.breadcrumb{margin-top:24px;font-size:14px}.full-voices{gap:20px}.full-voices .voice{min-height:0;padding:24px}.full-voices .voice blockquote{font-size:21px}.roadmap-item summary{font-size:16px;gap:14px}.roadmap-item>div{padding-left:0}.photo-dialog{padding:14px}.photo-dialog>img{height:60svh}.photo-dialog>.close-dialog{margin-bottom:0}.photo-controls button{padding:10px 16px}.motion .reveal{transform:translateY(24px)}.motion .reveal.in-view{transform:none}}
@media(max-width:360px){.header{padding-left:12px;padding-right:12px;gap:6px}.header .wordmark{font-size:31px}.header>.header-cta{padding:9px;font-size:12px}.hero-content{padding-left:20px;padding-right:20px;padding-top:210px}.hero-kicker{font-size:12px;gap:8px}.hero-rule{display:none}.hero h1{font-size:32px}.hero-actions{display:block}.hero-actions .light{width:100%}.hero-actions .hero-link{margin-top:4px}.hero-person>span>span{display:block;margin:0}.hero-person>img{width:54px;height:54px}.hero-bottom{left:20px;right:20px}.hero-bottom>span{max-width:100px;font-size:10px}.hero-bottom a{font-size:11px}.welcome-strip{padding:24px 20px}.welcome-strip>p{font-size:18px}.section{padding-left:20px;padding-right:20px}.section-heading h2{font-size:26px}.guide-stage{padding:23px 15px}.concern-option{gap:10px;padding-left:12px}.concern-option strong{font-size:16px}.concern-option small{font-size:14px}.option-index{display:none}.guide-progress li{font-size:11px}.treatment-body{padding:23px}.price strong{font-size:35px}.normal-price{margin-left:0}.mobile-booking>a small{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion .reveal{opacity:1!important;transform:none!important}.hero h1>span,.guide-stage.entering{opacity:1;clip-path:none;transform:none}.hero-photo img,.motion .approach-photo img,.motion .visit-photo img{transform:none;filter:none;clip-path:none}.ripple{display:none}}
