:root{--ink:#263e3b;--muted:#65736e;--paper:#f8f7f2;--line:#d9ded6;--gold:#9b8257}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Yu Gothic',Meiryo,sans-serif;font-size:14px;line-height:2}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{width:100%;height:100%;object-fit:cover}p{margin:0 0 22px}h1,h2,h3{font-family:'Yu Mincho','Hiragino Mincho ProN',serif;font-weight:400;line-height:1.65}h1{font-size:clamp(32px,3.6vw,56px);letter-spacing:.09em;margin:20px 0 26px}h2{font-size:clamp(27px,2.6vw,38px);letter-spacing:.07em;margin:10px 0 28px}h3{font-size:23px;margin:12px 0}.preview{background:#e6e9df;color:#4d5c50;padding:5px 5%;font-size:10px;letter-spacing:.12em;display:flex;justify-content:space-between}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper);position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}.brand{display:grid;grid-template-columns:auto auto;align-items:end;column-gap:12px}.brand small{grid-column:1/3;font-size:10px;line-height:1;letter-spacing:.25em}.brand strong{font-family:'Yu Mincho',serif;font-size:34px;letter-spacing:.18em;font-weight:400;line-height:1.6}.brand span{font-size:10px;letter-spacing:.1em;padding-bottom:8px}nav{display:flex;gap:28px;font-size:12px}.button{display:inline-flex;align-items:center;gap:38px;padding:13px 26px;background:var(--ink);color:white;font-size:12px;letter-spacing:.08em}.button:hover{background:#3f5a52}.hero{position:relative;display:grid;grid-template-columns:46% 54%;min-height:650px;padding:42px 5% 55px}.hero-copy{align-self:center;padding:0 15px 0 4%}.eyebrow{color:var(--gold);font:10px/1.6 Arial,sans-serif;letter-spacing:.23em;margin-bottom:20px}.hero-copy>p:not(.eyebrow){line-height:2.3;color:var(--muted)}figure{margin:0;position:relative;height:570px}figure img{object-position:center 60%;border-radius:160px 0 0 0}figcaption{position:absolute;bottom:12px;right:16px;color:white;background:#263e3b99;padding:2px 9px;font-size:10px}.textlink{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;border-bottom:1px solid var(--ink);padding:8px 0;font-size:12px}.hero-meta{font-size:10px;letter-spacing:.06em;margin-top:55px;display:flex;gap:14px;align-items:center}.hero-meta i{height:13px;width:1px;background:var(--line)}.vertical{position:absolute;right:15px;top:180px;writing-mode:vertical-rl;font-family:serif;font-size:12px;letter-spacing:.3em}.section{max-width:1120px;margin:auto;padding:100px 40px}.intro{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;border-top:1px solid var(--line)}.lead{font-family:'Yu Mincho',serif;font-size:22px;line-height:1.9}.principles{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:30px}.principles span{padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;letter-spacing:.07em}.practitioner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-top:20px}.practitioner>img{height:430px}.name{font-family:serif;font-size:28px;border-bottom:1px solid var(--line);padding-bottom:18px}.name small{font-family:sans-serif;font-size:12px;margin-left:20px}.note{font-size:11px;color:var(--muted);line-height:1.9}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.section-head>p{font-size:12px;color:var(--muted)}.featured{background:#e8ece3;padding:35px 40px;display:flex;justify-content:space-between;gap:20px}.tag{font-size:10px;letter-spacing:.08em;color:#5e6b5c}.featured p{font-size:12px;margin:0}.price{display:flex;flex-direction:column;justify-content:center;white-space:nowrap}.price strong{font-family:Georgia,serif;font-weight:400;font-size:43px;line-height:1.5}.price strong small,.menu-rows strong small{font-size:13px;margin-left:7px}.price>small{font-size:10px}.coupon-note{font-size:11px;color:var(--muted);padding:18px 0}.menu-rows article{display:grid;grid-template-columns:1fr 70px 120px;gap:15px;align-items:center;border-top:1px solid var(--line);padding:20px 0}.menu-rows h3{font-size:20px;margin:0}.menu-rows p{font-size:10px;color:var(--muted);margin:6px 0}.menu-rows strong{font:28px Georgia,serif;text-align:right}.menu-rows span{font-size:12px}.room-banner{height:380px;position:relative;overflow:hidden}.room-banner img{object-position:center 43%}.room-banner:after{content:'';position:absolute;inset:0;background:#18312b66}.room-banner>div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;z-index:1;text-align:center}.room-banner .eyebrow{color:#e5dfc7}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:40px 0 55px}.steps article{border-top:1px solid var(--line);padding-top:22px}.steps span{font:italic 28px Georgia;color:var(--gold)}.steps h3{font-size:21px}.steps p{font-size:12px;color:var(--muted)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:22px 0;font-size:13px}details p{font-size:12px;color:var(--muted);padding:0 20px}.first>.note{margin-top:25px}.access{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;border-top:1px solid var(--line)}.access>img{height:440px;object-position:center}.access .lead{font-size:18px}dl{display:grid;grid-template-columns:80px 1fr;font-size:12px;gap:20px;margin:25px 0}dt{color:var(--muted)}dd{margin:0}dd small{font-size:10px}.booking{padding:85px 20px;background:#e8ece3;text-align:center}.booking p{font-size:13px}.booking>div{display:flex;gap:16px;justify-content:center;margin:30px 0 14px}.outline{background:transparent;color:var(--ink);border:1px solid var(--ink)}.outline:hover{color:white}.booking>small{font-size:10px;color:var(--muted)}footer{max-width:1120px;margin:auto;padding:50px 40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:25px}footer>p{font-size:10px;color:var(--muted);margin:0}footer details{width:100%}footer summary{font-size:10px}footer details a{text-decoration:underline}.mobile-book{display:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:800px){header{height:86px;padding:0 6%}nav{display:none}.brand strong{font-size:28px}header .button{padding:10px 18px;gap:20px}.hero{grid-template-columns:1fr;padding:38px 6% 40px;min-height:0}.hero-copy{padding:0}.hero h1{font-size:37px}.hero-copy>p:not(.eyebrow){font-size:13px}.hero-meta{margin:28px 0;font-size:10px;gap:10px}figure{height:380px}figure img{border-radius:90px 0 0 0}.vertical{display:none}.section{padding:65px 6%}.intro,.practitioner,.access{grid-template-columns:1fr;gap:24px}.intro h2 br{display:none}.lead{font-size:20px}.practitioner>img{height:330px}.section-head{display:block}.section-head>p{margin-top:-8px}.featured{padding:25px;flex-direction:column}.price{display:block}.price>span{margin-right:20px}.price>small{display:block}.featured h3{font-size:23px}.menu-rows article{grid-template-columns:1fr 45px 85px;gap:8px}.menu-rows h3{font-size:16px}.menu-rows strong{font-size:23px}.menu-rows p{font-size:10px}.room-banner{height:300px}.room-banner h2{font-size:25px}.steps{grid-template-columns:1fr;gap:20px;margin-bottom:25px}.steps h3{margin:6px 0}.steps p{margin-bottom:5px}.access>img{height:340px}.booking>div{flex-direction:column;max-width:330px;margin:25px auto 15px}.booking .button{justify-content:space-between}.booking h2{font-size:28px}footer{padding:40px 6% 95px}.mobile-book{display:block;position:fixed;bottom:0;left:0;right:0;z-index:8;text-align:center;background:var(--ink);color:white;padding:15px;font-size:13px;box-shadow:0 -2px 15px #0001}.preview{font-size:8px}.preview span{font-size:8px}body{padding-bottom:30px}}

.director-photo{position:relative;height:540px;max-width:420px;width:100%;justify-self:center}.director-photo img{object-position:50% 28%;border-radius:110px 0 0 0}.director-photo>span{position:absolute;bottom:20px;right:20px;color:white;background:#263e3bc9;padding:5px 15px;font-size:11px;letter-spacing:.15em}.room-banner img{object-position:50% 37%}.room-banner:after{background:linear-gradient(90deg,#18312b16 15%,#18312b80 55%,#18312b99)}.room-banner>div{left:43%;align-items:flex-start;text-align:left;padding:25px}.room-banner h2{font-size:clamp(24px,2.6vw,36px)}@media(max-width:800px){.director-photo{height:auto;aspect-ratio:2380/3024;max-width:390px}.room-banner{height:440px}.room-banner img{object-position:37% 30%}.room-banner:after{background:linear-gradient(0deg,#18312bcc,#18312b00 80%)}.room-banner>div{left:0;top:auto;bottom:0;align-items:flex-start;padding:25px}.room-banner h2{font-size:24px;margin-bottom:0}.room-banner .eyebrow{margin-bottom:8px}}

.interior{max-width:1200px}.interior-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:30px 24px}.interior-grid figure{height:auto;grid-column:span 3;display:flex;flex-direction:column}.interior-grid .interior-wide{grid-column:1/-1}.interior-grid figure img{height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:0}.interior-grid .interior-wide img{aspect-ratio:16/8;object-position:center}.interior-grid .interior-detail{grid-column:span 2}.interior-grid .interior-detail img{aspect-ratio:4/3}.interior-grid figcaption{position:static;background:none;color:var(--ink);padding:14px 0 0;display:flex;flex-direction:column}.interior-grid figcaption strong{font-family:'Yu Mincho',serif;font-size:18px;font-weight:400}.interior-grid figcaption span{font-size:11px;color:var(--muted);margin-top:5px}.interior>.note{margin:30px 0 0}nav{gap:18px}header{padding:0 4%}@media(max-width:1000px) and (min-width:801px){nav{gap:10px;font-size:10px}header>.button{padding:10px 15px;gap:15px}}@media(max-width:800px){.interior-grid{grid-template-columns:1fr 1fr;gap:24px 16px}.interior-grid figure,.interior-grid .interior-wide{grid-column:1/-1}.interior-grid .interior-detail{grid-column:span 1}.interior-grid .interior-detail:last-child{grid-column:1/-1}.interior-grid .interior-wide img{aspect-ratio:4/3}.interior-grid .interior-detail:last-child img{aspect-ratio:16/9}.interior-grid figcaption strong{font-size:16px}.interior-grid figcaption span{font-size:11px}.interior-grid .interior-detail figcaption strong{font-size:14px}}

.director-message{font-family:'Yu Mincho',serif;font-size:23px;line-height:1.8;margin:0 0 22px}.director-facts{border-top:1px solid var(--line);padding-top:22px;grid-template-columns:85px 1fr;gap:15px;margin-top:25px}.director-facts dd small,.bio-date{display:block;font-size:10px;color:var(--muted)}.practitioner{align-items:start}.director-photo{position:sticky;top:130px}@media(max-width:800px){.director-photo{position:relative;top:auto}.director-message{font-size:21px}.director-facts{grid-template-columns:75px 1fr}}

.exterior img{height:350px;object-fit:contain;background:#eee}.exterior>.note{margin-top:12px}.route{padding-top:20px}.route-grid{list-style:none;padding:0;margin:30px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px 24px}.route-grid li{min-width:0}.route-grid img{display:block;height:auto;aspect-ratio:4/3;object-fit:contain;background:#e8ece3}.route-grid li>div{position:relative;padding:16px 0 0 35px}.route-grid span{position:absolute;left:0;top:18px;color:var(--gold);font:italic 21px Georgia}.route-grid h3{font-size:17px;margin:0 0 8px}.route-grid p{font-size:11px;color:var(--muted);margin:0}@media(max-width:800px){.route-grid{grid-template-columns:1fr;gap:30px}.route-grid h3{font-size:19px}.route-grid p{font-size:12px}.exterior img{height:auto;aspect-ratio:4/3}.route{padding-top:0}}

.hero-offer{margin:20px 0;display:flex;flex-direction:column}.hero-offer strong{font:24px 'Yu Mincho',serif}.hero-offer small{font:11px sans-serif}.hero-offer>span{font-size:11px;color:var(--muted)}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.hero-actions .button{gap:0;padding:14px 20px}.hero-meta{margin-top:28px}.treatment-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:35px 0}.treatment-flow article{border-top:1px solid var(--line);padding-top:18px}.treatment-flow span{font:italic 24px Georgia;color:var(--gold)}.treatment-flow h3{font-size:20px}.treatment-flow p{font-size:12px;color:var(--muted)}.main-reserve>.note{margin:15px 0 30px;max-width:650px}.other-treatments{margin-bottom:25px;border-top:1px solid var(--line)}@media(max-width:800px){.hero h1{font-size:33px}.hero-actions .button{font-size:11px}.hero-meta{flex-wrap:wrap}.treatment-flow{grid-template-columns:1fr;gap:12px}.treatment-flow h3{margin:8px 0}.main-reserve .button{font-size:11px;padding:15px 18px}}

.location-map{padding-top:0}.location-map iframe{display:block;width:100%;height:420px;border:1px solid var(--line);background:#e8ece3}.map-actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin:22px 0 12px}.location-map>.note{margin:0}@media(max-width:800px){.location-map iframe{height:340px}.map-actions{gap:14px}.location-map{padding-top:0}}

.analytics-info{width:100%}.analytics-info details{width:100%}.analytics-info a{text-decoration:underline}.analytics-info button{font:inherit;font-size:11px;color:var(--ink);background:none;border:0;text-decoration:underline;cursor:pointer;padding:12px 0}.analytics-choice[hidden]{display:none}.analytics-choice{position:fixed;bottom:20px;left:20px;right:20px;max-width:740px;z-index:30;background:var(--paper);border:1px solid var(--ink);padding:20px 24px;box-shadow:0 4px 30px #0002}.analytics-choice p{font-size:12px;margin:0 0 12px}.analytics-choice small{font-size:10px;color:var(--muted)}.analytics-choice>div{display:flex;gap:12px}.analytics-choice button{padding:9px 20px;cursor:pointer;background:var(--ink);color:white;border:1px solid var(--ink);font:inherit;font-size:12px}.analytics-choice button+button{background:var(--paper);color:var(--ink)}@media(max-width:800px){.analytics-choice{bottom:65px;left:12px;right:12px;padding:16px}.analytics-choice button{flex:1}}

/* Keep the consent choice compact and above the measured reservation bar. */
.analytics-choice{padding:12px 16px;max-width:600px;max-height:calc(100dvh - 40px);overflow-y:auto;box-sizing:border-box}
.analytics-choice p{font-size:12px;line-height:1.55;margin:0 0 9px}
.analytics-choice small{font-size:11px}
.analytics-choice>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.analytics-choice button{min-height:44px;padding:8px 12px;line-height:1.4}
@media(max-width:800px){
.mobile-book{padding-bottom:calc(15px + env(safe-area-inset-bottom,0px))}
.analytics-choice{bottom:calc(var(--mobile-book-height,56px) + 10px);left:10px;right:10px;padding:12px;max-height:calc(100dvh - var(--mobile-book-height,56px) - 30px)}
}

.footer-clinic{width:100%;border-top:1px solid var(--line);padding-top:22px;font-size:12px;line-height:1.9}.footer-clinic p{margin:10px 0}.footer-clinic a{text-decoration:underline}
.line-policy,.standard-fee-reference{max-width:1040px;margin:24px auto;padding:0 6%;font-size:12px;line-height:1.9;color:var(--muted)}
.article-source{margin:32px 0;border-top:1px solid var(--line);padding:20px 0;font-size:12px;line-height:1.9}.article-source p{margin:4px 0}.article-source a{text-decoration:underline}
#visit-faq-extra details{border-bottom:1px solid var(--line);padding:16px 0}#visit-faq-extra summary{cursor:pointer;font-size:15px;line-height:1.8}#visit-faq-extra p{font-size:14px;line-height:1.9}
#coupon-offers{border:1px solid var(--line);padding:24px;background:#f6f4ee}#coupon-offers [hidden]{display:none}
.hero-offer a{text-decoration:underline}

.concern-reading{margin-top:32px}.concern-reading ul{list-style:none;padding:0;margin:12px 0 0}.concern-reading li+li{border-top:1px solid #ddd9cf}.concern-reading li a{display:block;padding:12px 0;min-height:44px;line-height:1.8}.article-care li a{display:block;padding:8px 0;min-height:44px;line-height:1.8}
