@font-face{font-family:Tsukushi;src:url('/assets/mincho-subset.woff2') format('woff2');font-display:swap;font-weight:400 900}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#f7f6f1;color:#2c343b;font-family:Tsukushi,'Yu Mincho',serif;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;object-fit:cover}header{height:100px;padding:18px 4%;display:flex;align-items:center;gap:25px;background:#f7f6f1;position:relative;z-index:9}.brand{font-family:Georgia,serif;font-size:32px;line-height:1.1;letter-spacing:.04em;white-space:nowrap}.brand span{font-size:17px}.brand small{font-family:Tsukushi,serif;font-size:11px;display:block;margin-top:8px;letter-spacing:.16em}nav{display:flex;gap:25px;margin-left:auto;font-size:13px}header .sound{background:none;border:1px solid #9eaa96;border-radius:50%;font-size:10px;width:47px;height:47px;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:18px 29px;background:linear-gradient(120deg,#53664a,#32442d);border:1px solid #6e8260;color:#fff;box-shadow:0 5px 0 #21341e,0 10px 28px #19261520;border-radius:2px 18px 2px 18px;transition:transform .25s,box-shadow .25s,filter .25s;position:relative;overflow:hidden;font-size:14px}.btn span{font-size:20px}.btn.small{padding:9px 20px;font-size:12px}.btn:hover{transform:translateY(-4px);filter:brightness(1.15);box-shadow:0 8px 0 #21341e,0 15px 24px #19261525}.btn:active,.btn.pressed{transform:translateY(4px) scale(.98);box-shadow:0 0 0 #21341e}.light{background:linear-gradient(120deg,#fff,#e5e5d8);color:#32442d;border:1px solid #fff;box-shadow:0 5px 0 #c0c3b5}.hero{height:calc(100svh - 100px);min-height:660px;padding:0;position:relative;color:#fff;overflow:hidden}.hero>img{height:100%;position:absolute;animation:herozoom 2.6s ease-out both;object-position:50% 48%}.heroShade{position:absolute;inset:0;background:linear-gradient(90deg,#10201bd9,#14211d45 68%,#14211d12)}.herotext{position:absolute;left:8%;top:15%;animation:unveil 1.4s .15s both}.eyebrow{font-family:Arial,sans-serif;display:block;font-size:11px;letter-spacing:.2em;font-weight:400}.herotext h1{font-size:clamp(48px,5.8vw,86px);font-weight:400;line-height:1.5;margin:20px 0;letter-spacing:.1em}.herotext p{font-size:17px;letter-spacing:.08em;margin-bottom:32px}.herofoot{position:absolute;bottom:25px;left:8%;right:5%;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.12em}.ribbon{padding:23px 6%;display:flex;align-items:center;justify-content:space-between;font-size:13px;background:#e6e9df;color:#32442d}.ribbon b{font:10px Arial;letter-spacing:.2em;opacity:.5}section{padding:110px 8%}h2{font-size:clamp(30px,3vw,46px);font-weight:400;line-height:1.75;letter-spacing:.07em;margin:22px 0 30px}p{font-size:15px}h3,h4{font-weight:400}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.split figure{margin:0}.split img{aspect-ratio:4/5}.split figcaption{font-size:12px;margin-top:13px;color:#6e8260;letter-spacing:.1em}.intro p{margin:22px 0}.textlink{display:inline-block;padding:10px 0;border-bottom:1px solid #6e8260;font-size:14px;transition:letter-spacing .3s,color .3s}.textlink:hover{letter-spacing:.06em;color:#6e8260}.experience{background:radial-gradient(ellipse at 0% 0%,#e7eddd,transparent 70%),#e4e7dc;display:grid;grid-template-columns:1fr 1.1fr;gap:9%;position:relative;overflow:hidden}.checkwrap{position:relative;z-index:1}.progressline{display:flex;justify-content:space-between;font-size:12px}.progress{height:3px;background:#bac3ad;margin:13px 0 25px}.progress i{display:block;height:100%;width:0;background:#32442d;transition:width .6s}.check{width:100%;padding:17px 8px;text-align:left;background:transparent;border:0;border-bottom:1px solid #aeb9a3;display:flex;align-items:center;gap:18px;color:#32442d;transition:background .3s,transform .3s}.checkno{font:11px Arial;opacity:.6}.checkmark{margin-left:auto;border:1px solid #8d9c7f;border-radius:50%;width:27px;height:27px;text-align:center;line-height:26px}.check[aria-pressed=true]{background:#f9faf4;transform:translateX(5px)}.check[aria-pressed=true] .checkmark{background:#53664a;color:white;animation:bloom .5s}.checkresult{font-size:14px;min-height:88px;padding-top:22px}.note{display:block;font-size:11px;line-height:1.9;color:#62695e;margin-top:24px}.celebration{position:absolute;inset:0;pointer-events:none}.particle{position:absolute;left:50%;top:55%;width:9px;height:20px;background:#c5aa66;border-radius:100% 0;animation:petal 1.8s ease-out forwards}.photochapter{position:relative;min-height:630px;display:flex;align-items:center;color:white;overflow:hidden}.photochapter>img{position:absolute;inset:0;height:100%;filter:brightness(.49);object-position:center}.photochapter>div{position:relative}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}.sectionhead h2{margin-bottom:0}.sectionhead>p{max-width:370px}.menus{display:grid;grid-template-columns:1fr 1fr;gap:60px 40px}.menu>img{aspect-ratio:1.45}.menu>div{padding:25px 5px}.menu h3{font-size:25px;line-height:1.6;margin:12px 0}.menu h4{font-size:16px;margin:14px 0}.menu p{font-size:14px}.menu small{display:block;color:#6e8260}.menu:last-child{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.menu:last-child img{aspect-ratio:1.3}.director{background:#e9ebe2}.signature{font-size:24px;margin-top:30px}.signature small{display:block;font-size:11px;margin-left:60px}.credentials{border-top:1px solid #b4bea8;padding-top:20px;font-size:13px}.reviewgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.review{border-top:1px solid #9ba88b;padding:30px 0}.review p{font-size:15px;line-height:2.1}.review small{font-size:10px;color:#6e8260}.faq{background:#eeefe8}.faq details{border-bottom:1px solid #c6cdbd;padding:22px 0}.faq summary{cursor:pointer;font-size:17px;list-style:none;display:flex;gap:20px;align-items:center}.faq summary:after{content:'＋';margin-left:auto;font-size:22px}.faq details[open] summary:after{content:'−'}.faq summary span{font-family:Georgia;font-size:23px;color:#6e8260}.faq details p{padding-left:45px;max-width:850px;animation:unveil .4s}.access img{aspect-ratio:1}.booking{text-align:center;background:radial-gradient(ellipse at 50% 100%,#53664a80,transparent 70%),#273a29;color:#fff;padding-top:90px;padding-bottom:100px}.booking h2{font-size:clamp(30px,3vw,45px)}.actions{display:flex;justify-content:center;gap:20px;margin:30px 0}.outline{background:linear-gradient(120deg,#ffffff18,#ffffff05);border-color:#aab398;box-shadow:0 5px 0 #192819}.phone{font-size:14px;border-bottom:1px solid #829378;padding-bottom:7px}footer{padding:70px 8% 35px;display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:13px}footer p{font-size:13px}footer>small{grid-column:1/-1;color:#6e8260;font-size:10px}.mobilebar{display:none}.js-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity .9s,transform 1s}.js-ready .reveal.seen{opacity:1;transform:none}.subhero{padding-top:70px;padding-bottom:70px;background:linear-gradient(120deg,#dfe5d5,#f7f6f1)}.subhero h1{font-size:48px;font-weight:400;margin:15px 0}.subcontent{padding-top:60px}.subcontent .reviewgrid{grid-template-columns:1fr 1fr}:focus-visible{outline:3px solid #a58a49;outline-offset:5px}.pressed{animation:tap .4s}.ripple{position:fixed;border:1px solid #af995c;border-radius:50%;width:25px;height:25px;pointer-events:none;z-index:100;animation:ripple .7s forwards}@keyframes ripple{to{transform:scale(5);opacity:0}}@keyframes tap{50%{transform:translateY(3px) scale(.98)}}@keyframes unveil{from{opacity:0;transform:translateY(25px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}@keyframes herozoom{from{transform:scale(1.12);filter:blur(3px)}to{transform:scale(1);filter:none}}@keyframes bloom{50%{transform:scale(1.5)}}@keyframes petal{to{transform:translate(var(--x),var(--y)) rotate(var(--r));opacity:0}}@media(max-width:900px){header{gap:13px;padding:15px 5%;height:85px}nav{display:none}.brand{margin-right:auto;font-size:26px}.hero{height:calc(100svh - 85px);min-height:620px}.herotext{left:7%;top:17%}.herotext h1{font-size:58px}.hero>img{object-position:60%}.ribbon{gap:15px;font-size:11px}.ribbon b{display:none}section{padding:75px 6%}.split,.experience{gap:35px}.reviewgrid{gap:20px}.menu h3{font-size:22px}.check{font-size:13px}.sectionhead{align-items:start}.sound{font-size:9px!important}}@media(max-width:600px){header .btn{padding:7px 12px;gap:8px}.brand span{font-size:13px}.brand small{font-size:8px}.brand{font-size:25px}.hero{min-height:640px}.herotext{top:18%;right:5%}.herotext h1{font-size:45px;line-height:1.6;letter-spacing:.07em}.herotext p{font-size:14px}.eyebrow{font-size:9px;letter-spacing:.16em}.hero>img{object-position:58%}.heroShade{background:linear-gradient(90deg,#12251ad4,#14211d54)}.herofoot{left:7%;font-size:9px}.herofoot span:last-child{display:none}.ribbon{padding:18px 6%;flex-wrap:wrap;justify-content:center;font-size:10px;gap:7px 18px}section{padding:60px 7%}h2{font-size:29px;line-height:1.7;margin:18px 0 25px}p{font-size:14px}.split,.experience{grid-template-columns:1fr;gap:30px}.intro figure{order:-1}.split img{aspect-ratio:1.15}.photochapter{min-height:480px}.photochapter h2{font-size:37px}.sectionhead{display:block;margin-bottom:30px}.sectionhead>p{margin-top:20px}.sectionhead>.textlink{margin-top:15px}.menus{grid-template-columns:1fr;gap:28px}.menu>div{padding:20px 0}.menu:last-child{grid-column:auto;display:block}.menu h3{font-size:23px}.reviewgrid,.subcontent .reviewgrid{grid-template-columns:1fr;gap:10px}.review{padding:22px 0}.faq summary{font-size:14px;gap:12px}.faq details p{padding-left:30px;font-size:13px}.actions{flex-direction:column;align-items:stretch;gap:17px}.booking .phone{font-size:12px}.booking{padding:60px 7% 75px}footer{padding:50px 7% 105px;grid-template-columns:1fr}.mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:10;box-shadow:0 -3px 18px #26372330}.mobilebar a{flex:1;text-align:center;padding:14px 8px;background:#eef0e5;color:#32442d;font-size:12px}.mobilebar a:last-child{background:linear-gradient(120deg,#657c52,#32442d);color:white;flex:1.4}.subhero{padding:45px 7%}.subhero h1{font-size:35px}.checkresult{min-height:95px}.credentials{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* Revision 1: tactile controls and quiet photographic interaction */
.photo-open{display:block;border:0;background:transparent;padding:0;position:relative;width:100%;overflow:hidden;color:inherit;text-align:left;cursor:zoom-in;border-radius:2px 28px 2px 2px}.photo-open img{transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .6s}.photo-open:hover img{transform:scale(1.045);filter:saturate(1.08)}.photo-hint{position:absolute;right:14px;bottom:14px;color:white;background:#263a29cc;backdrop-filter:blur(8px);padding:7px 13px;border:1px solid #ffffff65;font-size:10px;letter-spacing:.1em}.photo-dialog{border:1px solid #9eac8a;padding:50px 25px 22px;background:#f4f4ed;color:#32442d;max-width:min(1000px,94vw);max-height:94svh;box-shadow:0 30px 100px #0008;animation:unveil .4s}.photo-dialog::backdrop{background:#14251be8;backdrop-filter:blur(7px)}.photo-dialog figure{margin:0}.photo-dialog img{max-height:74svh;object-fit:contain}.photo-dialog figcaption{font-size:12px;padding-top:12px}.photo-close{position:absolute;right:15px;top:10px;border:0;background:none;padding:5px;color:#32442d;font-size:13px}body:has(.photo-dialog[open]){overflow:hidden}.rest-orbit{width:100px;height:100px;border:1px solid #a7b792;border-radius:50%;position:relative;margin:30px auto 10px;display:grid;place-items:center;transition:box-shadow .6s,background .6s}.rest-orbit span{font-size:30px;color:#53664a}.rest-orbit i{position:absolute;width:12px;height:22px;border-radius:100% 0;left:44px;top:-10px;background:#c9cdbd;transform-origin:6px 60px;transition:background .4s,filter .4s}.rest-orbit i:nth-of-type(2){transform:rotate(72deg)}.rest-orbit i:nth-of-type(3){transform:rotate(144deg)}.rest-orbit i:nth-of-type(4){transform:rotate(216deg)}.rest-orbit i:nth-of-type(5){transform:rotate(288deg)}.rest-orbit i.active{background:#798b60;filter:drop-shadow(0 0 4px #fff)}.rest-orbit.complete{background:#f5f5e7;box-shadow:0 0 0 10px #c5cdaf55,0 0 0 25px #c5cdaf20;animation:restGlow 2.6s ease-in-out infinite}.care-route{padding:25px 22px;background:linear-gradient(135deg,#f9faf4,#d6dfc8);border:1px solid #aab69a;margin-top:26px;animation:unveil .5s}.care-route h3{font-size:19px;margin:10px 0}.care-route a{display:block;padding:10px 0;border-bottom:1px solid #bac5ac;font-size:13px}.care-route p{font-size:12px}.action-in{animation:actionEnter .8s cubic-bezier(.2,.8,.2,1) both}a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}a:not(.btn),button:not(.btn),summary{transition:transform .2s,filter .25s,box-shadow .25s}a:not(.btn):active,button:not(.btn):active,summary:active{transform:translateY(3px) scale(.98);filter:brightness(.94)}.check:hover{background:#f9faf480}.mobilebar a:active{box-shadow:inset 0 4px 12px #14251b66}.menu:last-child>.photo-open{align-self:stretch}.menu:last-child>.photo-open img{height:100%;aspect-ratio:1.3}.subcontent{background:linear-gradient(135deg,#f7f6f1,#e8ebdf)}.subcontent .review{padding:30px;background:linear-gradient(140deg,#ffffff80,#e2e8d840);border:1px solid #c4cdb5}.subcontent .reviewgrid{gap:24px}.hero .btn{animation:actionEnter 1s .8s both}@keyframes actionEnter{from{opacity:0;translate:0 18px;filter:blur(3px)}to{opacity:1;translate:0 0;filter:none}}@keyframes restGlow{50%{box-shadow:0 0 0 14px #c5cdaf45,0 0 0 30px #c5cdaf10}}@media(max-width:600px){.photo-dialog{padding:48px 12px 18px}.photo-hint{font-size:9px;right:10px;bottom:10px}.rest-orbit{margin-top:25px}.subcontent .review{padding:23px}.herotext .btn{font-size:12px;padding:15px 19px;gap:18px}header .brand{white-space:normal;min-width:0}.sound{min-width:42px;width:42px!important;height:42px!important}.hero .herotext{top:12%}.hero .herotext h1{font-size:clamp(36px,10.5vw,45px)}}@media(prefers-reduced-motion:reduce){.action-in,.rest-orbit.complete,.hero .btn{animation:none!important}}

.backdrop-photo{border:1px solid #ffffff70;background:#263a2966;backdrop-filter:blur(8px);color:white;padding:9px 16px;font-size:11px;cursor:zoom-in}.hero>.backdrop-photo{position:absolute;bottom:80px;right:6%}.photochapter .backdrop-photo{margin-bottom:12px}@media(max-width:600px){.hero>.backdrop-photo{bottom:65px;right:7%;font-size:10px}}

/* Final polish: guided care selection, mobile navigation, resilient layouts. */
.nav-toggle{display:none}.menu-finder{padding:27px 30px;margin-bottom:42px;border-top:1px solid #adbaa0;border-bottom:1px solid #adbaa0;background:linear-gradient(110deg,#e7ecdf,#fafaf4)}.menu-finder>p{margin:10px 0 18px}.menu-tabs{display:flex;gap:10px;flex-wrap:wrap}.menu-tabs button{padding:10px 23px;border:1px solid #a6b398;border-radius:2px 15px 2px 15px;background:linear-gradient(130deg,#fffffff0,#e8eddf);color:#32442d;box-shadow:0 3px 0 #aab99a;font-size:13px}.menu-tabs button[aria-pressed=true]{background:linear-gradient(130deg,#6e8260,#32442d);color:white;box-shadow:0 3px 0 #253c20}.menu-finder .filter-status{font-size:11px;color:#626e56;margin:18px 0 0}.menu[hidden]{display:none!important}.menu-tabs button:focus-visible{outline-offset:6px}.care-journey{background:radial-gradient(ellipse at 100% 0%,#d9e3cc,#e9ece2 70%)}.journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.journey-photo{overflow:hidden;margin-bottom:23px;border-radius:2px 28px 2px 2px}.journey-photo img{aspect-ratio:1.3;transition:transform 1s}.journey-photo:hover img{transform:scale(1.04)}.journey-grid h3{font-size:21px;line-height:1.6;margin:14px 0}.journey-grid p{font-size:13px;line-height:2}.skip-link{position:absolute;left:15px;top:-100px;background:#fff;padding:10px;z-index:100}.skip-link:focus{top:5px}.hero img{will-change:auto}a,button,summary{overflow-wrap:anywhere}section img{background:#dce1d5}.menu .eyebrow{margin-top:4px}.checkresult{overflow-wrap:anywhere}.photo-dialog .photo-close{min-width:85px;min-height:40px}.js-ready .reveal.seen:has(.photo-open){filter:none}.care-route[hidden]{display:none!important}
@media(max-width:900px){header{height:auto;min-height:85px;flex-wrap:wrap;gap:12px}.nav-toggle{display:block;order:4;width:100%;text-align:left;background:#e8ece0;border:1px solid #bcc6af;padding:9px 15px;color:#32442d;font-size:12px}.nav-toggle span{float:right}header nav{order:5;display:none;width:100%;margin:0;padding:9px 4px;grid-template-columns:1fr 1fr;gap:4px 15px;border-bottom:1px solid #b4bea8}header nav.is-open{display:grid}header nav a{font-size:12px;padding:9px 0}.hero{height:calc(100svh - 140px)}.journey-grid{gap:20px}.journey-grid h3{font-size:18px}}
@media(max-width:600px){.menu-finder{padding:22px 18px}.menu-finder>p{font-size:13px}.menu-tabs{gap:10px}.menu-tabs button{padding:10px 15px;min-height:44px;font-size:12px}.journey-grid{grid-template-columns:1fr;gap:35px}.journey-grid article{display:grid;grid-template-columns:100px 1fr;gap:0 18px;align-items:start}.journey-photo{grid-row:1/4;margin:0;border-radius:2px 20px 2px 2px}.journey-photo img{aspect-ratio:.8}.journey-grid h3{font-size:18px;margin:8px 0 10px}.journey-grid p{font-size:12px;margin:0}.journey-grid .eyebrow{font-size:9px}.hero{min-height:590px}.herotext{top:10%!important}.hero .eyebrow{max-width:260px;line-height:1.8}.hero .herotext h1{font-size:clamp(34px,9.7vw,45px)}.hero>.backdrop-photo{bottom:55px}.herofoot{bottom:18px}.sectionhead h2{overflow-wrap:anywhere}.care-journey{padding-top:55px;padding-bottom:55px}.photo-dialog img{max-height:65svh}}
@media(prefers-reduced-motion:reduce){.js-ready .reveal{opacity:1;transform:none}.hero>img,.herotext{animation:none}.photo-open:hover img{transform:none}}

/* Revision 2: selected-care guidance and photographic subpages. */
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:18px;border-top:1px solid #c0c9b5;margin-top:18px}.gallery-controls button{padding:10px 16px;border:1px solid #a7b496;background:linear-gradient(120deg,#fff,#e2e9d7);color:#32442d;font-size:12px;min-height:44px;border-radius:2px 14px 2px 14px;box-shadow:0 3px 0 #a6b393}.gallery-position{font:11px Arial;color:#617151;white-space:nowrap}.photo-dialog img{height:65svh;max-height:65svh;min-width:200px}.photo-dialog{width:min(1000px,94vw)}.reset-check{padding:8px 0;border:0;border-bottom:1px solid #8f9e7c;background:none;color:#526447;font-size:12px}.reset-check[hidden]{display:none}.care-personal{border-left:2px solid #8b9d71;padding-left:12px;line-height:2}.subphoto{height:340px;overflow:hidden}.subphoto .photo-open{height:100%;border-radius:0}.subphoto img{height:100%;object-position:center 50%}.subphoto .photo-hint{right:8%;bottom:25px}.hero .herotext h1{animation:titleFocus 1.6s cubic-bezier(.15,.7,.2,1) both}@keyframes titleFocus{from{clip-path:inset(0 0 100%);transform:translateY(20px);opacity:0}to{clip-path:inset(0);transform:none;opacity:1}}.btn,.menu-tabs button,.gallery-controls button{isolation:isolate}.btn:before{content:'';position:absolute;inset:-50% auto -50% -80%;width:35%;background:linear-gradient(90deg,transparent,#ffffff35,transparent);transform:skewX(-20deg);pointer-events:none;transition:left .65s}.btn:hover:before{left:140%}.menu .photo-open img{height:auto}.subhero h1{line-height:1.5}.care-route a{min-height:44px;display:flex;align-items:center}.check{min-height:54px}.sound{white-space:normal}.js-ready .reveal{transition-duration:.8s}
@media(max-width:600px){.subphoto{height:230px}.photo-dialog{max-height:94svh}.photo-dialog img{height:54svh;max-height:54svh}.gallery-controls{gap:8px}.gallery-controls button{padding:10px 12px;font-size:11px}.care-personal{font-size:12px}.menu:last-child>.photo-open img{height:auto}.photo-close{right:8px}.mobilebar{padding-bottom:env(safe-area-inset-bottom);background:#32442d}footer{padding-bottom:calc(105px + env(safe-area-inset-bottom))}.hero>.backdrop-photo{max-width:90%}}@media(prefers-reduced-motion:reduce){.hero .herotext h1{animation:none}.btn:before{display:none}}
.photo-dialog figure img{height:auto;max-height:65svh;min-width:0;object-fit:contain}.photo-dialog{width:fit-content;min-width:min(700px,94vw)}@media(max-width:600px){.photo-dialog{min-width:0;width:94vw}.photo-dialog figure img{height:auto;max-height:58svh}}

/* Finish pass: photo loading, tactile feedback and small-screen ergonomics. */
.gallery-help{font-family:system-ui,sans-serif;font-size:10px;line-height:1.8;color:#667358;margin:15px 0 0;max-width:700px}.photo-dialog figure img{touch-action:pan-y;transition:opacity .2s ease;user-select:none;-webkit-user-drag:none}.photo-dialog figure img.photo-loading{opacity:.35}.photo-close:hover,.gallery-controls button:hover{filter:brightness(1.08)}.photo-close:active,.gallery-controls button:active{box-shadow:inset 0 2px 7px #35452e22;transform:translateY(2px)}.photo-dialog figure{min-height:80px}.photo-dialog figure img{max-width:100%}#main-content:focus{outline:none}.reset-check{min-height:44px}.nav-toggle{min-height:44px}.faq summary{min-height:44px}.sound:focus-visible{outline-offset:3px}.care-route a:hover{background:#fff6}.hero .backdrop-photo{min-height:44px}.phone{display:inline-block;min-height:44px}.journey-grid{min-width:0}.journey-grid article{min-width:0}.gallery-controls button{flex-shrink:0}.subcontent .review p{overflow-wrap:anywhere}@media(max-width:380px){header{gap:8px;padding:14px 5%}header .brand{font-size:22px}header .brand span{font-size:11px}header .btn.small{padding:8px 10px;font-size:11px;gap:7px}.sound{width:38px!important;min-width:38px!important;height:38px!important}.journey-grid article{grid-template-columns:80px 1fr;gap:0 14px}.hero .herotext h1{font-size:34px}.herotext p{font-size:13px}.check{gap:10px;padding:15px 5px;font-size:12px}.checkmark{flex-shrink:0}.gallery-controls button{font-size:10px;padding:9px}.gallery-help{font-size:9px}}@media(prefers-reduced-motion:reduce){.photo-dialog figure img{transition:none}}

/* Separate entrance motion from press feedback. */
a.pressed,button.pressed,summary.pressed,.hero .btn.pressed{animation:tap .4s ease!important}.hero .btn{animation-iteration-count:1}.photo-dialog figure img{cursor:grab}.photo-dialog figure img:active{cursor:grabbing}.btn:focus-visible{outline-color:#bca05b}.check[aria-pressed=true]{box-shadow:inset 3px 0 0 #657b50}.menu-tabs button[aria-pressed=true]{border-color:#32442d}@media(prefers-reduced-motion:reduce){a.pressed,button.pressed,summary.pressed,.hero .btn.pressed{animation:none!important}}
.hero .btn{animation:none}.hero .btn.action-in{animation:actionEnter 1s .8s both}

/* Final editorial polish: a clear path from concern to consultation. */
.care-route a[hidden]{display:none!important}.care-route .all-care{font-size:11px;opacity:.8}.menu small{display:inline-block;padding:7px 12px;background:linear-gradient(120deg,#e4eadb,#f8f9f1);border-left:2px solid #84966b;color:#40543a;font-size:12px;line-height:1.7}.menu .textlink{display:block;width:fit-content;margin-top:15px}.booking p{max-width:630px;margin:20px auto;line-height:2.1}.booking h2{max-width:850px;margin:22px auto}.menu h4{color:#4b6142}.menu-finder{border-radius:2px 24px 2px 2px}.photo-hint{transition:background .3s,transform .3s}.photo-open:hover .photo-hint{background:#32442de8;transform:translateY(-2px)}.review p{font-feature-settings:'palt';letter-spacing:.025em}.checkresult{font-size:15px}.care-personal{font-family:system-ui,sans-serif;font-size:12px}.all-care:hover{opacity:1}.btn span{transition:transform .3s}.btn:hover span{transform:translate(2px,-2px)}@media(max-width:600px){.menu small{font-size:11px;padding:7px 10px}.booking h2{font-size:27px}.booking p{font-size:13px}.checkresult{font-size:13px}.care-route a{font-size:12px}.menu h4{font-size:15px;line-height:1.8}}@media(prefers-reduced-motion:reduce){.btn:hover span,.photo-open:hover .photo-hint{transform:none}}
.check.action-in{animation:actionFade .55s ease both}@keyframes actionFade{from{opacity:0}to{opacity:1}}

/* Revision 4: picture-first treatment navigation, with retained descriptions. */
.treatment-visual{position:relative;isolation:isolate;overflow:hidden;border-radius:2px 28px 2px 2px}.treatment-visual:after{content:'';position:absolute;inset:25% 0 0;background:linear-gradient(0deg,#132318d9,transparent);pointer-events:none;z-index:1}.treatment-visual h3{position:absolute;z-index:2;bottom:23px;left:25px;right:24px;margin:0;color:#fff;font-size:clamp(22px,2.1vw,31px);line-height:1.7;letter-spacing:.045em;pointer-events:none;text-shadow:0 2px 12px #101c1890}.treatment-visual .photo-open{border-radius:0}.treatment-visual .photo-open img{aspect-ratio:1.4;height:auto;transition:transform 1.1s cubic-bezier(.18,.7,.2,1)}.treatment-visual:hover img{transform:scale(1.045)}.treatment-visual .photo-hint{top:14px;bottom:auto;z-index:3;font-size:9px}.menu>div:not(.treatment-visual){padding-top:24px}.menu .treatment-detail{border-top:1px solid #c0cab4;border-bottom:1px solid #c0cab4;margin:20px 0}.treatment-detail summary{padding:13px 0;list-style:none;display:flex;align-items:center;justify-content:space-between;font-size:12px;min-height:44px;cursor:pointer;color:#48613e}.treatment-detail summary::-webkit-details-marker{display:none}.treatment-detail summary span{font:19px Georgia;transition:transform .3s}.treatment-detail[open] summary span{transform:rotate(45deg)}.treatment-detail p{font-size:14px;line-height:2;animation:unveil .35s ease}.menu:last-child .treatment-visual{min-height:330px}.menu:last-child .treatment-visual .photo-open,.menu:last-child .treatment-visual img{height:100%}.menus{row-gap:45px}.js-ready .reveal:focus-within{opacity:1;transform:none}.menu h4{font-size:18px;line-height:1.8}.treatment-visual:focus-within{outline:3px solid #bca05b;outline-offset:4px}@media(max-width:600px){.treatment-visual h3{font-size:23px;left:19px;right:18px;bottom:17px}.treatment-visual .photo-open img{aspect-ratio:1.25}.menu:last-child .treatment-visual{min-height:0}.menu:last-child .treatment-visual .photo-open,.menu:last-child .treatment-visual img{height:auto}.menu h4{font-size:16px}.treatment-detail p{font-size:13px}.menus{gap:26px}.menu>div:not(.treatment-visual){padding-bottom:10px}}@media(prefers-reduced-motion:reduce){.treatment-visual:hover img{transform:none}.treatment-detail p{animation:none}}

/* Improvement round 3: a photographic check-in and a direct photo selector. */
.menu>.treatment-visual{padding:0}.experience-portrait{margin:35px 0 0}.experience-portrait .photo-open{max-width:520px}.experience-portrait img{aspect-ratio:1.65;object-position:center}.experience-portrait figcaption{font-size:11px;line-height:1.8;margin-top:12px;color:#526447}.experience:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 80% 60%,#fff8d34d,transparent 65%);opacity:0;transition:opacity 1s}.experience.check-complete:after{opacity:1}.experience>div:first-child{position:relative;z-index:1}.check-complete .checkresult{border-left:2px solid #9f894e;padding-left:15px}.checkresult{transition:padding .3s}.rest-orbit i{scale:1}.gallery-thumbs{display:flex;gap:9px;padding:8px 3px 12px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#84966b #e7eadf;max-width:100%;margin-top:12px}.gallery-thumb{width:76px;height:58px;flex:0 0 76px;padding:0;border:2px solid transparent;background:#d8dfce;border-radius:2px 12px 2px 2px;overflow:hidden;opacity:.65;transition:opacity .2s,border-color .2s,transform .2s}.gallery-thumb img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;min-width:0!important}.gallery-thumb[aria-pressed=true]{opacity:1;border-color:#4b6142;box-shadow:0 0 0 2px #d4b978}.gallery-thumb:hover{opacity:1}.photo-dialog{width:min(1000px,94vw);min-width:0;overflow-x:hidden}.photo-dialog figure img{height:min(54svh,520px);max-height:54svh;width:100%;object-fit:contain}.gallery-help{margin-top:8px}.gallery-controls{margin-top:12px;padding-top:12px}.gallery-thumb:focus-visible{outline-offset:1px}
@media(max-width:600px){.experience-portrait{margin-top:24px}.experience-portrait img{aspect-ratio:2.2}.experience-portrait figcaption{font-size:10px}.experience{gap:24px}.photo-dialog{padding:43px 12px 15px;max-height:94svh}.photo-dialog figure img{height:43svh;max-height:43svh}.gallery-thumb{width:60px;flex-basis:60px;height:46px}.gallery-thumbs{gap:8px;margin-top:9px}.gallery-help{font-size:9px}.photo-dialog figcaption{font-size:11px;padding-top:8px}}
@media(max-height:560px) and (min-width:601px){.photo-dialog figure img{height:37svh;max-height:37svh}.photo-dialog{padding-top:40px}.gallery-thumbs{display:none}.gallery-help{margin:6px 0 0}}
@media(prefers-reduced-motion:reduce){.experience:after,.checkresult,.gallery-thumb{transition:none}}
/* Honor responsive aspect ratios while retaining intrinsic dimensions for loading. */
img{height:auto}

.gallery-controls[hidden],.gallery-thumbs[hidden],.gallery-help[hidden]{display:none}

/* Review round 4: concrete opening copy and consistent photographic reveals. */
.hero .herotext h1{animation:none}.hero-line{display:block;animation:heroLine 1.15s cubic-bezier(.18,.7,.2,1) both}.hero-line:nth-child(2){animation-delay:.22s}.herotext p{max-width:40em}.image-scene>img{transform:scale(1.08);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}.image-scene.seen>img{transform:scale(1)}.photo-dialog .ripple{z-index:10}.gallery-thumb:active{box-shadow:inset 0 3px 8px #14251b80}.photo-dialog .gallery-controls button.pressed{box-shadow:0 0 0 #a6b393,inset 0 2px 7px #35452e22}
@keyframes heroLine{from{clip-path:inset(0 0 100%);opacity:0;transform:translateY(16px)}to{clip-path:inset(0);opacity:1;transform:none}}
@media(max-width:600px){.hero .herotext p{font-size:13px;letter-spacing:.015em;line-height:1.9}.hero .herotext h1{font-size:clamp(32px,9vw,43px);letter-spacing:.035em}.hero-line{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){.hero-line{animation:none}.image-scene>img{transform:none;transition:none}}

/* Give the check-in a useful handoff into the visitor's consultation. */
.copy-memo{padding:11px 17px;gap:20px;font-size:12px;min-height:46px;margin:4px 0 8px}.copy-memo span{font-size:16px}.copy-memo:disabled{opacity:.65;cursor:wait}.care-route .memo-status{font-size:11px;line-height:1.9;margin:8px 0 14px}.memo-status:empty{display:none}.memo-fallback{display:block;font-size:12px;margin:12px 0 20px;color:#40543a}.memo-fallback[hidden]{display:none}.memo-text{display:block;width:100%;margin-top:8px;resize:vertical;border:1px solid #a3b38e;border-radius:2px 12px 2px 2px;background:#fafbf5;color:#32442d;padding:12px;font:13px/1.9 system-ui,sans-serif}.memo-text:focus-visible{outline:3px solid #a58a49;outline-offset:3px}
@media(max-width:600px){.copy-memo{width:100%;font-size:12px}.memo-text{font-size:16px;line-height:1.8}}
