:root{--ink:#283a42;--muted:#58656a;--line:#d8dfe0;--accent:#8c6947}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;color:var(--ink);background:white;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.95}a{color:inherit;text-decoration:none;cursor:pointer}a:focus-visible{outline:3px solid #b38147;outline-offset:5px}a:hover{opacity:.8}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}h2{font-size:clamp(27px,3vw,40px);line-height:1.65;letter-spacing:.04em}h3{font-weight:500;font-size:20px}em{font-style:normal;color:var(--accent)}header{min-height:100px;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;letter-spacing:.12em;font-size:21px;line-height:1.4}.brand small{display:block;font-family:sans-serif;font-size:12px;letter-spacing:.08em;margin-top:8px}nav{display:flex;gap:28px;align-items:center;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;padding:17px 26px;min-height:60px;font-size:16px;line-height:1.6}.primary{background:var(--ink);color:white}nav .button{font-size:14px;padding:14px 20px;min-height:50px}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:730px}.hero-copy{padding:65px 7% 32px 9%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:13px;letter-spacing:.17em;font-weight:500;margin-bottom:25px}.hero h1{font-size:clamp(32px,3.25vw,52px);line-height:1.75;letter-spacing:.02em;margin-bottom:26px}.hero-copy>p:not(.eyebrow){line-height:2.1;margin-bottom:32px}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid currentColor;margin-top:20px;padding-bottom:4px}.signature{font-family:Georgia,serif;letter-spacing:.14em;font-size:12px;width:100%;margin-top:auto;padding-top:38px;display:flex;justify-content:space-between;gap:14px;color:var(--muted)}.hero-image{position:relative;max-height:830px}.hero-image img{object-position:50% 40%}.hero-image p{position:absolute;bottom:30px;left:28px;color:white;background:#283a42e8;padding:8px 18px;font-size:14px;letter-spacing:.1em}.section{padding:95px max(6%,calc((100% - 1240px)/2))}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px}.prose{color:var(--muted)}.prose p+p{margin-top:22px}.tinted{background:#f1f3f3}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:45px}.section-head>p{color:var(--muted)}.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:4px}.pair figure{position:relative;aspect-ratio:.61;overflow:hidden}.pair img{object-position:50% 40%}.pair figcaption{position:absolute;left:0;bottom:0;font:12px Georgia,serif;letter-spacing:.08em;padding:10px 12px;background:#fffffff0}.pair figure:last-child figcaption{background:var(--ink);color:white}.cases h3{display:flex;align-items:center;gap:12px;margin-top:20px;font-size:16px}.cases h3 span{font:italic 22px Georgia,serif;color:var(--accent)}.note{font-size:13px;color:var(--muted);line-height:1.9;margin-top:22px}.profile{align-items:center}.portrait{aspect-ratio:.95}.profile .prose{margin-top:25px}.name{font-family:serif;font-size:28px;letter-spacing:.1em;margin-top:28px}.name small{font-family:sans-serif;font-size:13px;letter-spacing:.04em;margin-left:15px}.profile .note{margin-top:2px}.offer{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:35px 40px;background:white;border:1px solid var(--accent)}.offer-tag{font-size:14px;color:var(--accent);margin-bottom:10px}.offer h3{font-size:23px;line-height:1.7}.offer-price{text-align:right;flex-shrink:0}.offer-price strong{font:36px Georgia,serif}.offer-price s{color:var(--muted)}.offer-price .button{margin-top:15px}.menu-note{margin-top:30px;border-left:3px solid var(--accent);padding:4px 0 4px 22px}.menu-note h3{font-size:18px;font-weight:600}.menu-note p{margin-top:8px;color:var(--muted)}.prices{margin:28px 0 0}.prices>div{display:flex;justify-content:space-between;gap:25px;padding:25px 0;border-bottom:1px solid var(--line)}dt small{display:block;font-size:13px;color:var(--muted);margin-top:5px}dd{margin:0;white-space:nowrap;font:24px Georgia,serif;padding-top:4px}.reservation{background:var(--ink);color:white;text-align:center}.reservation .eyebrow{color:#c6d3d7}.reservation h2{font-size:clamp(30px,3.5vw,44px)}.reservation>p:not(.eyebrow){margin:24px 0 30px;color:#e0e6e8}.actions{display:flex;justify-content:center;gap:15px}.light{background:white;color:var(--ink)}.outline{border:1px solid #9aabb2}.reservation .text-link{margin-top:28px}.access h3{font-size:23px;margin-bottom:20px}.access h3 small{font-size:13px;margin-left:12px}.access address{font-style:normal;color:var(--muted)}.phone{display:inline-block;font:27px Georgia,serif;margin-top:22px}.access .note{margin-top:6px}footer{border-top:1px solid var(--line);padding:38px 6%;display:flex;align-items:center;justify-content:space-between}footer p{font-size:12px;letter-spacing:.1em}.mobile-book{display:none}@media(min-width:1600px){.hero{max-width:1600px;margin:auto}}@media(max-width:1050px){nav{gap:18px}nav>a:first-child{display:none}.hero-copy{padding-top:50px}.hero{min-height:650px}.split{gap:40px}.section{padding:72px 5%}.cases{gap:16px}.cases h3{font-size:14px}.section-head{align-items:flex-start}.section-head>p{font-size:14px}.offer{padding:28px}.offer h3{font-size:20px}}@media(max-width:700px){header{min-height:82px;padding:18px 6%}.brand{font-size:17px}.brand small{font-size:12px}nav>a{display:none}nav>a[href="#menu"]{display:block;font-size:14px}nav .button{display:none}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:38px 7% 32px}.hero h1{font-size:clamp(27px,7.1vw,42px);line-height:1.7}.eyebrow{font-size:12px;margin-bottom:20px;letter-spacing:.1em}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:2}.hero-copy .button{width:100%}.hero-copy .text-link{align-self:center}.signature{padding-top:30px}.hero-image{height:440px;margin:0 6%}.hero-image img{object-position:50% 35%}.hero-image p{font-size:13px;bottom:18px;left:15px}.section{padding:65px 7%}.split{grid-template-columns:1fr;gap:30px}.section-head{display:block;margin-bottom:30px}.section-head>p{margin-top:18px;font-size:16px}.cases{grid-template-columns:1fr;gap:38px}.pair figure{aspect-ratio:.73}.pair figcaption{font-size:13px}.cases h3{font-size:17px}.portrait{aspect-ratio:1.1}.offer{display:block;padding:25px 22px}.offer h3{font-size:19px}.offer-price{text-align:left;margin-top:23px}.offer-price .button{width:100%;font-size:15px}.menu-note{padding-left:17px}.menu-note h3{font-size:17px}.prices>div{gap:15px}.prices dt{font-size:16px;line-height:1.8}.prices dd{font-size:21px}.actions{flex-direction:column}.reservation h2{font-size:29px}.access h3{font-size:21px}footer{display:block;padding:30px 7% 115px}footer p{margin-top:20px}.mobile-book{display:grid;grid-template-columns:1fr 2.1fr;position:fixed;bottom:0;left:0;right:0;z-index:10;background:white;border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom));gap:8px}.mobile-book a{font-size:14px;display:flex;align-items:center;justify-content:center;min-height:49px}.mobile-book a:first-child{border:1px solid var(--ink)}.mobile-book a:last-child{background:var(--ink);color:white}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Customer voices and frequently asked questions */
.voices{border-bottom:1px solid var(--line)}.voice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.voice{padding:30px 26px;background:#f1f3f3;border-top:2px solid var(--accent);display:flex;flex-direction:column}.voice-number{font:13px Georgia,serif;letter-spacing:.14em;color:var(--accent);margin-bottom:20px}.voice h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:23px;line-height:1.7}.voice blockquote{margin:24px 0;color:var(--muted);font-size:16px;line-height:2}.voice blockquote p+p{margin-top:18px}.voice-source{font-size:13px;color:var(--muted);padding-top:18px;border-top:1px solid var(--line);margin-top:auto}.faq-list{border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{display:flex;align-items:center;gap:20px;padding:26px 4px;list-style:none;cursor:pointer;font-size:18px}.faq summary::-webkit-details-marker{display:none}.faq summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.q-mark{color:var(--accent);font:24px Georgia,serif;flex-shrink:0}.faq-icon{margin-left:auto;flex:0 0 18px;width:18px;height:18px;position:relative}.faq-icon:before,.faq-icon:after{content:"";position:absolute;background:var(--ink);left:0;top:8px;width:18px;height:1px}.faq-icon:after{transform:rotate(90deg);transition:transform .25s ease}.faq details[open] .faq-icon:after{transform:rotate(0deg)}.faq-answer{padding:0 42px 28px;color:var(--muted);max-width:970px}.faq details[open] .faq-answer{animation:answer-in .3s ease-out}.button,.mobile-book a{transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease}.button:active,.mobile-book a:active{transform:translateY(1px)}.pair img{transition:transform .65s ease}.reveal-in{animation:reveal-in .75s cubic-bezier(.2,.65,.3,1) both}.hero-copy{animation:reveal-in .9s ease-out}.hero-image{animation:hero-in 1.1s ease-out}@keyframes reveal-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-in{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes answer-in{from{opacity:.2;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(hover:hover) and (pointer:fine){.pair figure:hover img{transform:scale(1.035)}.button:hover{opacity:1;transform:translateY(-2px);box-shadow:0 7px 18px #283a4220}.faq summary:hover{color:var(--accent)}}@media(max-width:1050px){.voice-grid{gap:16px}.voice{padding:25px 20px}.voice h3{font-size:21px}}@media(max-width:700px){.voice-grid{grid-template-columns:1fr;gap:24px}.voice{padding:28px 24px}.voice h3{font-size:23px}.faq summary{font-size:16px;gap:13px;padding:23px 2px}.faq-answer{padding:0 8px 24px 31px}.q-mark{font-size:22px}}@media(prefers-reduced-motion:reduce){.reveal-in,.hero-copy,.hero-image,.faq details[open] .faq-answer{animation:none!important}.button,.mobile-book a,.pair img,.faq-icon:after{transition:none!important}.button:hover,.button:active,.mobile-book a:active,.pair figure:hover img{transform:none!important}}@media print{.reveal-in,.hero-copy,.hero-image{animation:none!important}}
/* Appointment guidance and individual case context */
.offer .duration{margin-top:14px;font-size:14px;color:var(--muted);line-height:1.8}.offer .duration small{font-size:13px}.prices dt .duration{font-size:14px;margin-top:8px}.price-info{margin-top:26px;border-left:3px solid var(--accent);padding:4px 0 4px 20px;font-size:16px}.price-info .note{margin-top:8px}.case-detail{margin-top:17px}.gray-rate{font-size:14px;display:inline-block;border:1px solid #b7c3c7;padding:3px 12px;letter-spacing:.05em}.case-detail dl{margin:17px 0 0}.case-detail dl>div+div{margin-top:15px}.case-detail dt{font-size:14px;color:var(--accent);margin-bottom:4px}.case-detail dd{font-family:inherit;font-size:16px;line-height:1.9;white-space:normal;padding:0;color:var(--muted)}
/* Return-visit photographs and practical access information */
.journey{background:#e7edee;border-bottom:1px solid var(--line)}.journey-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.journey-kicker{font-size:14px;letter-spacing:.09em;margin-bottom:17px}.journey-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.journey-pair figure{min-width:0;background:white}.journey-pair img{height:auto;aspect-ratio:3/4;object-fit:contain;background:#dce3e4}.journey-pair figcaption{padding:13px 15px;font-size:16px;line-height:1.7}.journey-pair figcaption small{display:block;font-size:13px;color:var(--muted)}.journey-case h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:23px;line-height:1.7;margin-top:22px}.journey-copy{font-size:16px;color:var(--muted);margin-top:12px}.access-info{margin-top:28px;border-top:1px solid var(--line);padding-top:22px}.access-info h4{font-weight:500;font-size:16px;margin:0 0 12px}.access-info h4:not(:first-child){margin-top:25px}.access-hours{margin:0}.access-hours>div{display:flex;gap:30px;font-size:16px}.access-hours dt{width:5em}.access-hours dd{font:inherit;white-space:normal;padding:0}.station-routes{list-style:none;padding:0;margin:0}.station-routes li{display:flex;gap:24px;font-size:16px}.station-routes strong{font-weight:500;flex-shrink:0}.station-routes span{color:var(--muted)}@media(max-width:700px){.journey-grid{grid-template-columns:1fr;gap:40px}.journey-pair{gap:6px}.journey-pair figcaption{font-size:15px;padding:11px}.journey-case h3{font-size:22px}.station-routes li{gap:17px}} 
/* Keep the requested opening sentence together within the text column. */
.hero-copy{container-type:inline-size}.hero h1{width:100%}.hero-opening{display:block;white-space:nowrap;font-size:min(1em,5.85cqi);letter-spacing:0}.journey-method{font-size:16px;line-height:1.8;margin:-5px 0 18px;padding-left:12px;border-left:2px solid var(--accent)}

.hero-line{display:block;white-space:nowrap}.hero-opening{font-size:min(1em,7cqi)}
/* Phrase-aware Japanese wrapping with a fallback for narrow/enlarged text. */
body{line-break:strict;word-break:normal;overflow-wrap:anywhere;text-wrap:pretty}.phrase{display:inline-block;max-width:100%;vertical-align:baseline;white-space:normal;overflow-wrap:anywhere;word-break:normal;text-wrap:pretty}h1,h2,h3,h4{text-wrap:balance}.split>*,.hero>*,.section-head>*,.cases>*,.voice-grid>*,.journey-grid>*,.prices dt,.faq summary>span:nth-child(2){min-width:0}.cases h3{align-items:baseline}.cases h3>span:first-child{flex:0 0 auto}.cases h3 .case-heading-text,.cases h3 .phrase{font:inherit;color:inherit}.cases h3 .case-heading-text{min-width:0}.button{display:inline-block;text-align:center;max-width:100%}.mobile-book a{display:block;text-align:center;padding:12px 6px}.signature{flex-wrap:wrap}.hero-image p{max-width:calc(100% - 48px)}.brand{font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;letter-spacing:.06em}.brand small{line-height:1.8}.station-routes li{flex-wrap:wrap;column-gap:20px;row-gap:0}.name small{display:inline-block;margin-left:0}.name{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 15px}.prices dd{flex-shrink:0}.faq summary{align-items:baseline}.faq-icon{align-self:center}.journey-pair figcaption small{display:block}.access h3 small{display:inline-block}.hero-copy .eyebrow{line-height:1.9}.hero-line{font-size:min(1em,10cqi)}@media(min-width:701px) and (max-width:1100px){.cases,.voice-grid{grid-template-columns:1fr 1fr}.section-head{flex-wrap:wrap}.offer{flex-wrap:wrap}.offer-price{text-align:left}.hero{grid-template-columns:1.1fr 1fr}.hero-copy{padding-left:7%;padding-right:7%}.split{gap:30px}nav{flex-wrap:wrap;justify-content:flex-end;gap:12px 18px}}@media(max-width:700px){.prices>div{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.prices dd{justify-self:end}.voice h3{font-size:22px}.journey-method{font-size:16px}.hero-image p{left:15px;max-width:calc(100% - 30px)}.section-head h2,.profile h2,#concept h2{font-size:clamp(25px,6.7vw,30px)}header{flex-wrap:wrap;gap:12px}header .brand{min-width:0;max-width:100%}.offer .button{width:100%}}@media(max-width:360px){.section{padding-left:6%;padding-right:6%}.voice{padding:24px 18px}.button{padding-left:16px;padding-right:16px}.mobile-book{grid-template-columns:1fr 2.2fr;gap:5px}.mobile-book a{padding-left:3px;padding-right:3px}}
/* Brief message, photograph, then booking context in mobile reading order. */
.hero{grid-template-columns:1.1fr 1fr;grid-template-rows:auto 1fr;grid-template-areas:"heading photo" "details photo"}.hero-copy{grid-area:heading;padding-bottom:0;display:block}.hero-copy h1{margin-bottom:24px}.hero-image{grid-area:photo;max-height:none;min-height:0}.hero-details{grid-area:details;padding:0 7% 32px 9%;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.hero-intro{font-size:18px;margin-bottom:12px}.hero-description{font-size:16px;line-height:2;margin-bottom:28px;color:var(--muted)}.hero-details .text-link{align-self:flex-start}.hero-details .signature{padding-top:30px}.first-visit{border-top:1px solid var(--line)}.visit-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.visit-steps li{border-top:1px solid var(--accent);padding-top:22px;min-width:0}.visit-number{font:italic 30px Georgia,serif;color:var(--accent);margin-bottom:17px}.visit-steps h3{font-size:21px;line-height:1.8;margin-bottom:17px}.visit-description{color:var(--muted);font-size:16px;line-height:2}@media(min-width:701px) and (max-width:1100px){.hero-details{padding-left:7%;padding-right:7%}.visit-steps{gap:22px}.visit-steps h3{font-size:19px}}@media(max-width:700px){.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{padding:32px 7% 22px}.hero-copy h1{margin-bottom:0}.hero-image{height:360px;height:clamp(300px,88vw,440px);flex:none}.hero-details{padding:27px 7% 34px}.hero-details .button{width:100%}.hero-details .text-link{align-self:center}.hero-intro{font-size:17px}.hero-description{margin-bottom:24px}.visit-steps{grid-template-columns:1fr;gap:28px}.visit-steps li{padding-top:20px}.visit-steps h3{font-size:21px}.visit-number{margin-bottom:12px}.first-visit h2{font-size:clamp(25px,6.7vw,30px)}}
/* Coordinated entrance motion is managed once per element by motion.js. */
.hero-copy,.hero-image,.reveal-in,.faq details[open] .faq-answer{animation:none!important}.hero-image{overflow:hidden}.hero-image img{will-change:auto}.faq details[data-expanding="false"] .faq-icon:after{transform:rotate(90deg)}.faq details[data-expanding="true"] .faq-icon:after{transform:rotate(0deg)}.faq-icon:after{transition:transform .34s cubic-bezier(.4,0,.2,1)}@media(hover:hover) and (pointer:fine){.button{transition:background-color .25s ease,box-shadow .3s ease,opacity .25s ease}.button:hover{transform:none;box-shadow:0 5px 18px #283a4224}.pair figure:hover img{transform:scale(1.025)}}@media(prefers-reduced-motion:reduce){.faq-icon:after{transition:none!important}}
/* Focusable photo links and an accessible native modal. */
.mobile-navigation{display:none}.photo-help{font-size:14px;color:var(--muted);margin:-20px 0 24px}.zoom-link{display:block;position:relative;height:100%;width:100%;cursor:zoom-in}.zoom-link:hover{opacity:1}.zoom-link:focus-visible{outline-offset:-4px}.zoom-hint{position:absolute;top:8px;right:8px;padding:3px 8px;background:#fffef5ed;color:var(--ink);font-size:12px;line-height:1.7;pointer-events:none}.pair figcaption{pointer-events:none}.journey-pair .zoom-link{height:auto}.journey-pair .zoom-link img{aspect-ratio:3/4}.journey-pair figcaption{pointer-events:none}#photo-viewer{border:0;border-radius:4px;padding:18px 22px;color:var(--ink);background:#fff;width:min(940px,94vw);max-width:94vw;max-height:92vh;max-height:92dvh;overflow:auto;overscroll-behavior:contain}#photo-viewer::backdrop{background:rgba(15,24,28,.84)}.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}.viewer-top h2{font-family:inherit;font-size:16px;line-height:1.5;letter-spacing:0}.viewer-close{font:inherit;font-size:14px;min-height:44px;padding:8px 14px;border:1px solid var(--line);color:var(--ink);background:#f1f3f3;cursor:pointer;white-space:nowrap}.viewer-close:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.viewer-image{width:100%;height:auto;max-height:68vh;max-height:68dvh;object-fit:contain;background:#f1f3f3}.viewer-caption{font-size:14px;line-height:1.8;margin-top:14px}@media(max-width:700px){header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.98);flex-wrap:nowrap;gap:12px;min-height:78px;padding:12px 5%}header>nav{display:none}header .brand{font-size:16px;flex:1}header .brand small{font-size:12px}.mobile-navigation{display:block;flex-shrink:0}.mobile-navigation>summary{display:flex;align-items:center;gap:8px;list-style:none;cursor:pointer;min-height:44px;font-size:14px;padding:6px 9px;border:1px solid var(--line)}.mobile-navigation>summary::-webkit-details-marker{display:none}.mobile-navigation>summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.menu-mark{position:relative;width:14px;height:14px}.menu-mark:before,.menu-mark:after{content:"";position:absolute;width:14px;height:1px;background:var(--ink);left:0;top:6px}.menu-mark:after{transform:rotate(90deg);transition:transform .2s ease}.mobile-navigation[open] .menu-mark:after{transform:rotate(0)}.mobile-navigation nav{position:absolute;top:100%;left:0;right:0;background:#fff;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:12px 5% 20px;border-bottom:1px solid var(--line);box-shadow:0 10px 20px #283a4214}.mobile-navigation[open] nav{animation:nav-enter .22s ease-out}.mobile-navigation nav>a,.mobile-navigation nav>a:first-child,.mobile-navigation nav>a[href="#menu"]{display:block;padding:13px 10px;font-size:15px;border-bottom:1px solid var(--line)}html{scroll-padding-top:112px}.photo-help{margin-top:-12px;font-size:14px}#photo-viewer{padding:12px 14px;max-height:94dvh}.viewer-caption{font-size:14px}.zoom-hint{top:6px;right:6px;padding:2px 6px}}@keyframes nav-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.mobile-navigation[open] nav{animation:none}.menu-mark:after{transition:none}}
/* Keep wrapped enlarged-photo descriptions aligned with their own first line. */
.viewer-caption-aligned{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:12px;align-items:start;text-align:left}.viewer-caption-label{white-space:nowrap;padding-right:12px;border-right:1px solid var(--line);font-weight:500}.viewer-caption-description{min-width:0;line-break:strict;overflow-wrap:anywhere;text-wrap:pretty}@media(max-width:400px){.viewer-caption-aligned{column-gap:9px}.viewer-caption-label{padding-right:9px}}
/* Short, editorially chosen lines instead of arbitrary mid-sentence wrapping. */
.viewer-description-line{display:block;line-height:1.9;text-wrap:balance;line-break:strict;overflow-wrap:normal;word-break:normal}.viewer-caption-description{line-height:1.9}.viewer-caption-label{line-height:1.9}
/* Editorial refinement: clearer hierarchy, room around evidence, shorter page rhythm. */
.section{padding-top:76px;padding-bottom:76px}.section-head{margin-bottom:34px;gap:32px}.eyebrow{color:var(--accent);letter-spacing:.16em;margin-bottom:16px}.section h2{line-height:1.65;letter-spacing:.025em}.section-head>p{max-width:28rem;line-height:1.95}.prose,.journey-copy,.visit-description{line-height:2}.cases{gap:30px}.cases h3{margin-top:18px;line-height:1.8}.case-detail{margin-top:14px}.case-detail dl{margin-top:14px}.gray-rate{border:0;background:#e0e7e8;padding:4px 12px;font-size:14px}.case-detail dt{font-weight:500;letter-spacing:.06em}.case-detail dl>div+div{margin-top:10px}.journey{background:#eaf0f1}.journey-grid{gap:32px}.journey-case{padding:26px;background:#fff;border-top:2px solid var(--ink)}.journey-kicker{font-size:13px;color:var(--muted);letter-spacing:.08em;margin-bottom:12px}.journey-method{margin:0 0 20px;padding-left:0;border-left:0;line-height:1.8}.regrowth-period{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:12px;row-gap:5px;padding:19px 0 21px;margin-bottom:22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.regrowth-period>p:first-child{grid-column:1/-1;font-size:14px;color:var(--muted)}.regrowth-value{display:flex;gap:9px;align-items:baseline;line-height:1.3}.regrowth-value strong{font-family:Georgia,serif;font-size:56px;font-weight:400;line-height:1}.regrowth-value>span{font-size:18px;white-space:nowrap}.regrowth-state{font-size:13px;color:var(--muted);padding-bottom:2px}.journey-pair{gap:10px}.journey-pair figcaption{padding:13px 0 0;line-height:1.8}.journey-case h3{font-size:22px;margin-top:23px}.journey-copy{margin-top:12px}.journey>.note{margin-top:25px;max-width:68rem}.voice{background:#f5f6f6;border-top:1px solid var(--accent)}.voice-number{margin-bottom:15px}.voice blockquote{margin:20px 0}.voice-source{font-size:13px}.profile{gap:60px}.profile .portrait{aspect-ratio:1.04}.visit-steps{gap:30px}.visit-steps h3{font-size:20px}.visit-number{font-size:26px}.prices>div{padding-top:22px;padding-bottom:22px}.prices dt{line-height:1.85}.prices dd{font-size:26px}.prices .duration{color:var(--muted)}.faq summary{padding-top:23px;padding-bottom:23px}.reservation{padding-top:70px;padding-bottom:70px}.photo-help{margin-top:-12px;margin-bottom:24px}.offer{background:#fff;border-color:#a88a6e}.offer-tag{font-weight:500}.offer-price strong{font-size:40px}@media(min-width:701px) and (max-width:1100px){.journey-case{padding:20px}.regrowth-period{grid-template-columns:1fr}.regrowth-state{margin-top:3px}.regrowth-value strong{font-size:48px}.regrowth-value>span{font-size:17px}.profile{gap:32px}}@media(max-width:700px){.section{padding-top:52px;padding-bottom:52px}.section-head{margin-bottom:28px}.section-head>p{margin-top:15px}.section .eyebrow{margin-bottom:12px}.cases{gap:30px}.pair figure{aspect-ratio:.73}.journey-grid{gap:26px}.journey-case{padding:20px 16px 23px}.journey-pair{gap:7px}.journey-method{font-size:15px;margin-bottom:17px}.regrowth-period{grid-template-columns:1fr;row-gap:5px;padding:17px 0;margin-bottom:20px}.regrowth-value strong{font-size:48px}.regrowth-value>span{font-size:18px}.regrowth-state{margin-top:3px}.journey-pair figcaption{font-size:14px;padding-top:10px}.journey-pair figcaption small{font-size:13px}.journey-case h3{font-size:20px}.journey-copy{font-size:16px}.profile{gap:26px}.profile .portrait{aspect-ratio:1.1}.voice-grid{gap:20px}.voice{padding:25px 21px}.voice h3{font-size:21px}.voice blockquote{line-height:1.95}.visit-steps{gap:24px}.visit-steps h3{margin-bottom:12px}.visit-number{margin-bottom:10px}.prices>div{padding-top:20px;padding-bottom:20px}.prices dd{font-size:24px}.reservation{padding-top:58px;padding-bottom:58px}.reservation h2{font-size:29px}.access{gap:25px}.offer-price strong{font-size:36px}.photo-help{margin-top:-8px}}
