:root{--paper:#faf9f6;--lavender:#eeebf0;--wine:#713344;--ink:#302b30;--muted:#80747c;--line:#cfc3ca;--serif:'Shippori Mincho',serif;--english:'Cormorant Garamond',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/2.15 'Zen Kaku Gothic New',sans-serif;letter-spacing:.045em}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--wine);outline-offset:5px}a:hover{color:var(--wine)}p{margin:0 0 13px}h1,h2,h3{font-family:var(--serif);font-weight:400;margin:0}h2{font-size:clamp(25px,2.15vw,36px);line-height:1.95;letter-spacing:.1em}h3{font-size:22px;line-height:1.8}small{font-size:12px}header{position:absolute;inset:0 0 auto;z-index:30;padding:32px 4.4vw;display:flex;align-items:center;justify-content:space-between;color:#fff;border-bottom:1px solid #ffffff30}.logo{display:flex;flex-direction:column;line-height:1.7;white-space:nowrap}.logo small{font-size:10px;letter-spacing:.18em}.logo span{font:28px/1.7 var(--serif);letter-spacing:.19em}.header-right{display:flex;align-items:center;gap:38px}.location{font-size:11px;letter-spacing:.12em}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;padding:16px 29px;border:1px solid var(--wine);background:var(--wine);color:#fff;font:14px/1.8 var(--serif);letter-spacing:.1em;transition:.25s}.button:hover{background:#542232;color:#fff}header .button{background:transparent;border-color:#ffffff85;color:white}header .button:hover{background:#ffffff20}.menu-toggle{width:40px;padding:5px 0;border:0;background:none;color:inherit;display:flex;flex-direction:column;align-items:center;gap:7px}.menu-toggle i{height:1px;width:31px;background:currentColor}.menu-toggle i:nth-child(2){width:31px}.menu-toggle span{font:10px var(--english);letter-spacing:.15em;margin-top:4px}.navigation{position:absolute;right:3vw;top:125px;z-index:35;background:var(--paper);padding:38px;width:min(620px,94vw);box-shadow:0 18px 80px #1b111a22;color:var(--ink)}.navigation:not([hidden]){display:grid;grid-template-columns:1fr 1fr;gap:18px 25px;font-size:13px}.navigation .button{grid-column:1/-1}main{overflow:clip;position:relative;isolation:isolate}.hero{height:100svh;min-height:760px;max-height:1300px;position:relative;background:#494147;color:#fff;isolation:isolate}.slides,.slide{position:absolute;inset:0}.slide{opacity:0;transition:opacity 1.8s;pointer-events:none}.slide.active{opacity:1;pointer-events:auto}.slide:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#17131b55,transparent 26%,#17131b14 70%,#17131b40),linear-gradient(90deg,transparent 35%,#17131b5e 100%);pointer-events:none}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.49) brightness(.85);display:block}.hero-copy{position:absolute;z-index:2;right:11vw;top:23%;display:flex;flex-direction:row-reverse;gap:42px}.hero h1,.hero h2{writing-mode:vertical-rl;font-size:clamp(32px,2.6vw,48px);line-height:1.9;letter-spacing:.18em;text-shadow:0 2px 16px #17131b40}.hero-copy p{writing-mode:vertical-rl;font:15px/2.1 var(--serif);letter-spacing:.2em;margin-top:140px;text-shadow:0 2px 12px #17131b66}.hero-bottom{position:absolute;z-index:3;bottom:45px;left:4.4vw;right:4.4vw;display:flex;align-items:center;justify-content:space-between}.slide-count{font:18px var(--english);display:flex;align-items:center;gap:20px}.slide-count i{width:85px;height:1px;background:#ffffff85}.scroll{font:11px var(--english);letter-spacing:.2em;display:flex;gap:24px;margin-right:140px}.wrap{width:91.2%;max-width:1840px;margin-inline:auto}.section{position:relative;padding-block:120px}.section-label>span{font-size:11px;letter-spacing:.14em;color:var(--wine)}.english{font:400 clamp(64px,6.1vw,110px)/1.05 var(--english);letter-spacing:-.035em;color:var(--wine);margin-top:12px}.copy{font-size:14px;line-height:2.15}.copy p{margin-bottom:16px}.text-link{display:inline-flex;justify-content:space-between;align-items:center;gap:65px;padding:17px 0 13px;min-width:260px;max-width:100%;border-bottom:1px solid #9d7b87;color:var(--wine);font:14px/1.8 var(--serif);letter-spacing:.08em;margin-top:22px}.text-link span{font:32px var(--english);transition:transform .3s}.text-link:hover span{transform:translateX(8px)}.photo{display:block;width:100%;height:auto;object-fit:cover;filter:saturate(.48)}.vertical{writing-mode:vertical-rl;font-size:30px;line-height:2;letter-spacing:.15em}.concept{padding-top:105px;padding-bottom:135px}.concept>.section-label{margin-left:57%}.concept .english{font-size:clamp(60px,5.4vw,96px);max-width:700px}.concept-grid{display:grid;grid-template-columns:53% 37%;gap:10%;margin-top:70px;align-items:start}.collage{position:relative;margin-left:-4.4vw;width:calc(100% + 4.4vw);padding-bottom:205px}.collage .photo:first-child{height:clamp(440px,42vw,740px);width:92%;object-position:45% center}.collage .photo:nth-child(2){position:absolute;right:-4vw;bottom:0;width:57%;height:clamp(330px,32vw,570px);border:14px solid var(--paper);border-right:0}.concept-grid>div:last-child{display:flex;flex-direction:column;align-items:flex-start;padding-top:32px}.concept .vertical{margin:0 10% 48px auto;font-size:30px;max-height:470px}.concept .copy{width:100%;max-width:650px}.concerns{background:#eeebf0d9}.concerns .wrap{position:relative;z-index:1}.concerns h2{text-align:left;margin-top:44px}.intro{font-size:14px;line-height:2.2;max-width:850px}.concerns .intro{margin-top:22px}.checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:55px 0 40px;column-gap:55px}.checks li{display:flex;align-items:start;gap:18px;border-bottom:1px solid #c4b8c8;padding:23px 0;font-size:14px}.checks li>span{font:18px var(--serif);color:var(--wine)}.closing{max-width:none;font-size:14px;text-align:left;margin-top:45px}.closing p{margin-bottom:6px}.concerns .text-link{margin-top:24px}.lymph{padding-top:120px}.split{display:grid;grid-template-columns:52% 40%;gap:8%;align-items:start;margin-top:65px}.lymph .split>.photo{height:clamp(620px,54vw,900px);object-position:58% center}.lymph .split>div{padding-top:105px}.lymph h2{font-size:clamp(25px,2vw,34px);margin-bottom:37px}.lymph .copy{max-width:650px}.promise{background:#f0edefdd;padding-bottom:130px}.promise>.wrap{position:relative}.promise .section-label{padding-top:10px}.promise h2.centered{position:absolute;right:3vw;top:3px;max-height:360px;font-size:26px;writing-mode:vertical-rl;line-height:2.1;white-space:nowrap}.promise-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 5vw;margin-top:105px}.promise-card{position:relative}.promise-card:nth-child(even){padding-top:100px}.promise-card>.photo{height:clamp(310px,29vw,520px)}.promise-copy{padding:35px 0 0 86px;position:relative;max-width:820px}.number{font-family:var(--english);color:var(--wine)}.promise-copy>.number{position:absolute;left:0;top:28px;font-size:52px;line-height:1;border-top:1px solid var(--wine);padding-top:13px;letter-spacing:-.04em}.promise-copy h3{font-size:22px;margin:0 0 19px}.promise-copy p{font-size:14px;line-height:2.1}.menu-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:start;margin:60px 0}.menu-heading h2{font-size:30px}.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3vw}.menu-card .photo{height:clamp(240px,22vw,420px)}.menu-content{padding-top:25px}.menu-tag{display:block;font-size:11px;color:var(--wine);min-height:36px;border-bottom:1px solid var(--line);padding-bottom:12px}.menu-content h3{font-size:22px;min-height:90px;padding-top:20px;margin-bottom:22px}.menu-content p{font-size:14px;line-height:2.1}.price{display:flex;align-items:baseline;gap:15px;padding-top:22px;margin-top:25px;border-top:1px solid var(--line);color:var(--wine)}.price strong{font:42px var(--english)}.price>span{font-size:13px}.price small{font-size:10px}.fine{font-size:11px;color:var(--muted);margin-top:40px}.experience{background:#382a31;color:#f7f0f4;padding-block:100px}.experience-grid{display:grid;grid-template-columns:44% 48%;gap:8%}.experience .english,.experience .section-label>span{color:#cab8cb}.experience h2{font-size:30px;margin-top:45px}.experience .copy{padding-top:18px}.facilities{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:23px 25px;padding:30px 0 0;margin:30px 0 0;border-top:1px solid #82717c;font:17px/1.8 var(--serif)}.facilities small{display:block;color:#baabb9;font:10px/1.8 'Zen Kaku Gothic New',sans-serif;margin-top:5px}.therapist{padding-block:125px}.therapist .section-label{margin-left:50%;padding-left:5vw}.therapist .english{font-size:clamp(60px,5.2vw,96px);max-width:650px}.portrait{grid-template-columns:45% 45%;gap:10%;margin-top:55px;align-items:start}.portrait-frame{position:relative;margin-top:-75px;padding-bottom:34px}.portrait-frame .photo{width:100%;height:clamp(660px,60vw,1000px);object-position:center 30%;border-radius:0}.portrait-caption{display:block;margin-top:17px;font:12px var(--english);letter-spacing:.18em;color:var(--wine)}.portrait>div:last-child{padding-top:25px}.portrait .vertical{writing-mode:horizontal-tb;font-size:32px;margin-bottom:38px}.therapist-name{font:25px/1.8 var(--serif);margin-top:33px}.therapist-name small{display:block;font:10px/1.8 'Zen Kaku Gothic New',sans-serif;margin-bottom:8px}.first{background:#eeeaf0b8}.first h2{font-size:30px;margin-top:46px}.visit-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:7vw;font-size:14px;margin:30px 0 60px;max-width:1250px}.visit-copy p{margin-bottom:12px}.visit-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3vw}.visit-grid figure{margin:0}.visit-grid .photo{height:clamp(290px,29vw,500px)}.visit-grid figure:nth-child(2) .photo{object-position:center 25%}.tea-photo{position:relative}.tea-photo>small{position:absolute;bottom:12px;right:14px;font-size:10px;color:white;background:#37293470;padding:3px 10px}.visit-grid figcaption{border-top:1px solid var(--line);margin-top:24px;padding-top:17px;display:flex;align-items:center;gap:18px;font:15px/1.8 var(--serif)}figcaption em{font:italic 29px var(--english);color:var(--wine)}.voices{display:grid;grid-template-columns:37% 55%;column-gap:8%}.voices>.section-label{grid-column:1;grid-row:1}.voices>h2{grid-column:1;grid-row:2;margin-top:36px;font-size:27px}.voices>.intro{grid-column:1;grid-row:3;margin-top:25px}.voices>.text-link{grid-column:1;grid-row:4;justify-self:start;align-self:start;margin-top:28px}.voice-grid{grid-column:2;grid-row:1/6;display:grid;gap:0}.voice-card{border-top:1px solid var(--line);padding:30px 0;display:grid;grid-template-columns:65px 1fr;gap:25px;align-items:start}.voice-card:last-child{border-bottom:1px solid var(--line)}.voice-card>.number{font:italic 33px/1 var(--english);padding-top:7px}.voice-card h3{font-size:21px;margin:0 0 12px}.voice-card h3 br{display:none}.voice-card p{font-size:11px;color:var(--wine);margin:0 0 8px}.voice-card small{font-size:12px;color:var(--muted)}.access{background:#e9e3ec}.access h2{font-size:32px;margin-top:45px}.access>.wrap>.intro{margin-top:25px}.access-grid{display:grid;grid-template-columns:52% 40%;gap:8%;margin-top:65px}.placeholder{background:#e1d9e4;min-height:150px;display:flex;align-items:center;justify-content:center;text-align:center;color:#806f84}.placeholder>span{font:italic 40px var(--english)}.placeholder small{display:block;font:11px/1.8 'Zen Kaku Gothic New',sans-serif;margin-top:12px}.map{height:440px;background-image:linear-gradient(28deg,transparent 44%,#faf7fb80 44% 47%,transparent 47%),linear-gradient(100deg,transparent 50%,#faf7fb80 50% 53%,transparent 53%)}.map>span{background:#e9e3ecd9;padding:24px}.exterior{margin-top:20px;min-height:165px}.exterior>span{font:12px 'Zen Kaku Gothic New',sans-serif}.salon-name{font-size:27px;color:var(--wine)}.salon-name small{display:block;font:11px/1.8 'Zen Kaku Gothic New',sans-serif;margin-bottom:8px}dl{display:grid;grid-template-columns:85px 1fr;font-size:13px;margin:25px 0 30px}dt,dd{margin:0;padding:12px 0;border-bottom:1px solid #cbbece}dd small{font-size:11px}.reservation{display:grid;gap:12px}.line-placeholder{background:transparent;border:1px solid #b4a4b8;color:#807184;padding:12px;font-size:12px;cursor:default}.floating-reserve{position:fixed;right:30px;bottom:30px;z-index:25;width:110px;height:110px;border-radius:50%;background:var(--wine);color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.6;transition:background .25s}.floating-reserve:hover{background:#512132;color:white}.floating-reserve small{font:9px var(--english);letter-spacing:.13em}.floating-reserve>span:first-of-type{font:20px/1.8 var(--serif);margin-top:5px}.floating-reserve>span:last-of-type{font-size:20px}footer{padding:85px 0 35px}.footer-top{display:grid;grid-template-columns:48% 44%;gap:8%}footer .logo{color:var(--wine)}.footer-top p{font-size:12px;line-height:2.1;margin:24px 0 15px}.footer-top>div>a:last-child{font:16px var(--english)}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 35px;align-content:start;font-size:12px}.copyright{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:55px;padding:25px 130px 0 0;font:12px var(--english);letter-spacing:.12em}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);width:min(700px,calc(100% - 40px));max-height:85vh;padding:45px}dialog::backdrop{background:#24192475;backdrop-filter:blur(5px)}dialog h2{font-size:25px;margin:20px 0}dialog .english{font-size:42px}.dialog-close{position:absolute;right:16px;top:10px;border:0;background:none;font-size:29px;color:var(--wine)}dialog .button{margin-top:25px}dialog p{font-size:14px}details{border-bottom:1px solid var(--line);padding:17px 0;font-size:13px}summary{cursor:pointer;color:var(--wine)}details p{padding-top:16px}.skip{position:fixed;top:-100px;left:15px;z-index:100;background:var(--paper);padding:14px}.skip:focus{top:15px}.komorebi{position:absolute;inset:100svh 0 0;z-index:-1;pointer-events:none;overflow:hidden}.komorebi video{position:sticky;top:0;display:block;width:100%;height:100svh;object-fit:cover;opacity:.16;mix-blend-mode:multiply}.komorebi:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(180deg,transparent 0 1000px,#faf9f6aa 1500px,transparent 2300px)}
@media(min-width:1900px){.concept .copy,.lymph .copy,.portrait .copy{font-size:16px}.section{padding-block:150px}}
@media(max-width:1050px){.location{display:none}.header-right{gap:25px}.copy,.intro{font-size:13px}.concept-grid{grid-template-columns:50% 43%;gap:7%}.concept>.section-label{margin-left:52%}.concept .vertical{font-size:25px}.checks{column-gap:28px}.checks li{font-size:13px}.lymph .split>div{padding-top:65px}.promise-copy{padding-left:65px}.promise-copy h3{font-size:20px}.promise-copy p{font-size:13px}.menu-content h3{font-size:19px}.menu-content p{font-size:13px}.portrait-frame .photo{height:660px}.visit-grid figcaption{font-size:13px;gap:10px}}
@media(max-width:650px){body{font-size:14px}header{padding:22px 22px;border-bottom-color:#ffffff22}.logo small{font-size:8px}.logo span{font-size:22px}.header-right>.button{display:none}.header-right{gap:0}.navigation{top:100px;right:5%;width:90%;padding:24px}.navigation:not([hidden]){grid-template-columns:1fr;gap:13px}.hero{height:100svh;min-height:720px;max-height:1000px}.hero-photo{object-position:38% center;filter:saturate(.45) brightness(.72)}.hero-copy{top:20%;right:7%;gap:23px}.hero h1,.hero h2{font-size:28px;line-height:1.9;letter-spacing:.12em}.hero-copy p{font-size:12px;margin-top:135px;line-height:1.9;letter-spacing:.14em}.hero-bottom{bottom:36px;left:23px;right:23px}.slide-count{font-size:15px;gap:14px}.slide-count i{width:55px}.scroll{margin-right:95px;font-size:9px;gap:10px}.wrap{width:88%}.section{padding-block:74px}.english{font-size:51px;letter-spacing:-.035em}.section-label>span{font-size:10px}.concept>.section-label{margin-left:0}.concept .english{font-size:50px}.concept-grid{display:flex;flex-direction:column;gap:42px;margin-top:38px}.collage{margin-left:-6vw;width:100vw;padding-bottom:130px}.collage .photo:first-child{height:360px;width:88%}.collage .photo:nth-child(2){right:0;width:52%;height:270px;border-width:9px}.concept-grid>div:last-child{padding-top:0}.concept .vertical{font-size:25px;margin:0 3vw 30px auto;max-height:400px}.copy,.intro{font-size:13px;line-height:2.1}.text-link{font-size:13px;min-width:245px;margin-top:16px}.concerns h2{font-size:23px;margin-top:35px;letter-spacing:.04em}.concerns .intro{margin-top:20px}.checks{grid-template-columns:1fr;gap:0;margin:30px 0}.checks li{font-size:13px;padding:17px 0;gap:15px}.closing{font-size:13px;margin-top:30px}.closing p{margin-bottom:12px}.split{grid-template-columns:1fr;gap:0;margin-top:35px}.lymph .split>.photo{height:430px;width:calc(100% + 6vw);margin-left:-6vw}.lymph .split>div{padding-top:45px}.lymph h2{font-size:23px;margin-bottom:25px}.promise h2.centered{position:static;margin:35px 0 35px auto;font-size:23px;max-height:290px}.promise-grid{grid-template-columns:1fr;gap:43px;margin-top:35px}.promise-card:nth-child(even){padding-top:0}.promise-card>.photo{height:270px}.promise-copy{padding:26px 0 0 58px}.promise-copy>.number{font-size:39px;top:23px;padding-top:11px}.promise-copy h3{font-size:19px;margin-bottom:17px}.promise-copy p{font-size:13px}.menu-heading{grid-template-columns:1fr;gap:23px;margin:35px 0}.menu-heading h2{font-size:24px}.menu-grid{grid-template-columns:1fr;gap:40px}.menu-card .photo{height:280px}.menu-tag{font-size:10px;min-height:0}.menu-content h3{font-size:23px;min-height:0;margin-bottom:20px;padding-top:18px}.menu-content p{font-size:13px}.price{margin-top:20px;padding-top:18px}.price strong{font-size:39px}.fine{font-size:10px;margin-top:30px}.experience-grid{grid-template-columns:1fr;gap:27px}.experience h2{font-size:25px;margin-top:35px}.experience .copy{padding-top:0}.facilities{font-size:14px;gap:23px 15px;margin-top:27px}.therapist .section-label{margin-left:0;padding-left:0}.therapist .english{font-size:49px}.portrait{grid-template-columns:1fr;gap:35px;margin-top:35px}.portrait-frame{margin-top:0;padding-bottom:0;width:91%}.portrait-frame .photo{height:480px;object-position:center 25%}.portrait-caption{font-size:10px}.portrait>div:last-child{padding-top:0}.portrait .vertical{font-size:27px;writing-mode:horizontal-tb;margin-bottom:25px}.therapist-name{font-size:24px;margin-top:28px}.first h2{font-size:24px;margin-top:33px}.visit-copy{display:block;font-size:13px;margin:25px 0 38px}.visit-grid{grid-template-columns:1fr;gap:35px}.visit-grid .photo{height:340px}.visit-grid figure:nth-child(2) .photo{object-position:center 20%}.visit-grid figcaption{font-size:15px;margin-top:17px;padding-top:14px}.voices{display:block}.voices>h2{font-size:25px;margin-top:35px}.voices>.intro{margin-top:22px}.voice-grid{margin-top:35px}.voice-card{grid-template-columns:40px 1fr;gap:17px;padding:26px 0}.voice-card h3{font-size:20px}.voice-card>.number{font-size:28px}.voice-card small{font-size:11px}.voices>.text-link{margin-top:25px}.access h2{font-size:26px;margin-top:35px}.access-grid{grid-template-columns:1fr;gap:35px;margin-top:40px}.map{height:290px}.exterior{min-height:120px}.salon-name{font-size:25px}dl{grid-template-columns:72px 1fr;font-size:12px}dd small{font-size:10px}.reservation .button{font-size:13px}.floating-reserve{width:83px;height:83px;right:16px;bottom:18px}.floating-reserve small{font-size:7px}.floating-reserve>span:first-of-type{font-size:17px;margin-top:2px}.floating-reserve>span:last-of-type{font-size:16px}footer{padding:60px 0}.footer-top{grid-template-columns:1fr;gap:35px}.footer-top nav{gap:12px 16px;font-size:11px}.footer-top p{font-size:11px}.copyright{font-size:10px;padding-right:75px;margin-top:35px}.komorebi video{opacity:.1}dialog{padding:35px 24px}dialog h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.komorebi video{visibility:hidden}.komorebi{background:url('../images/foliage-poster.jpg') center/cover;opacity:.12}}
.komorebi{position:fixed;inset:0;z-index:-1;overflow:hidden}.komorebi video{position:absolute;inset:0;width:100%;height:100%;opacity:.15}.komorebi:after{display:none}
@media(max-width:650px){.komorebi video{opacity:.10}}

.access-map{width:100%;background:#f3f2f0;overflow:hidden}.access-map img{display:block;width:100%;height:auto;filter:grayscale(1)}

/* 2026-10-19: annotations 1–9 */
.hero-copy{align-items:flex-start}.hero-copy p{margin-top:0;font-size:18px;line-height:2.1}
.floating-reserve .reserve-label{font:22px/1.5 var(--serif);margin:0;letter-spacing:.12em}
.collage{padding-bottom:250px}.collage .photo:first-child{height:clamp(500px,48vw,840px)}.collage .photo:nth-child(2){height:clamp(380px,37vw,650px)}
.menu-card:nth-child(2){padding-top:70px}.menu-card:nth-child(3){padding-top:140px}
.image-interlude{position:relative;margin:0;width:100%;height:clamp(280px,28vw,520px);overflow:hidden;background:#e8e6e1}.image-interlude img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.65)}
.image-interlude figcaption{position:absolute;bottom:16px;right:25px;color:#fff;background:#302b303d;padding:3px 10px;font:10px/1.7 'Zen Kaku Gothic New',sans-serif;letter-spacing:.1em}
.komorebi video{opacity:.10}
@media(max-width:650px){.hero-copy{gap:22px;right:7%}.hero-copy p{margin-top:0;font-size:14px;line-height:1.9}.hero h1,.hero h2{font-size:27px}.floating-reserve .reserve-label{font-size:18px}.collage{padding-bottom:155px}.collage .photo:first-child{height:410px}.collage .photo:nth-child(2){height:310px}.menu-card:nth-child(2),.menu-card:nth-child(3){padding-top:0}.image-interlude{height:230px}.image-interlude figcaption{right:15px;bottom:10px;font-size:9px}.komorebi video{opacity:.07}}
.floating-reserve>span.reserve-label{font:22px/1.5 var(--serif);margin:0;letter-spacing:.12em}@media(max-width:650px){.floating-reserve>span.reserve-label{font-size:18px}}

/* Footer matched to Experience */
footer{background:#382a31;color:#f7f0f4}footer .logo{color:#f7f0f4}footer a:hover{color:#cab8cb}footer .copyright{border-top-color:#82717c;color:#cab8cb}footer a:focus-visible{outline-color:#cab8cb}

/* Soft character-by-character hero copy, followed by the complete subcopy. */
@keyframes catch-gently-appear{from{opacity:0}to{opacity:1}}
.slide.active .catch-character{animation:catch-gently-appear 1200ms cubic-bezier(.22,.61,.36,1) var(--char-delay) both}
.slide.active .hero-copy p{animation:catch-gently-appear 1400ms ease-out var(--sub-delay) both}
@media(prefers-reduced-motion:reduce){.slide.active .catch-character,.slide.active .hero-copy p{animation:none;opacity:1}}

/* Quiet, one-time scroll reveals; content remains available without JavaScript. */
.scroll-reveal{opacity:1;translate:0 0;transition:opacity 1100ms ease,translate 1100ms cubic-bezier(.22,.61,.36,1)}
.scroll-reveal.reveal-pending{opacity:0;translate:0 14px}
@media(prefers-reduced-motion:reduce){.scroll-reveal,.scroll-reveal.reveal-pending{opacity:1;translate:none;transition:none}}
@media print{.scroll-reveal,.scroll-reveal.reveal-pending{opacity:1!important;translate:none!important;transition:none!important}}


/* 2026-10-19 スマホ調整：文節単位の折り返し・行末の1〜2文字残りを防ぐ・小さすぎる文字の底上げ */
jp-line{display:inline}
jp-w{display:inline-block}
p,li,dd,small,figcaption,.copy,.intro{text-wrap:pretty}
h2,h3,summary{text-wrap:balance}
.placeholder{outline:1px dashed #9d7b87;outline-offset:-10px}
.placeholder>span,.placeholder small{color:var(--wine)}
@media(max-width:650px){
.logo small{font-size:9px}
.section-label>span{font-size:11px;letter-spacing:.1em}
.menu-tag{font-size:11.5px;line-height:1.75}
.price small{font-size:11px}
.fine{font-size:11px;line-height:1.95}
.facilities small,.portrait-caption,dd small,.therapist-name small{font-size:11px}
.image-interlude figcaption,.tea-photo>small{font-size:10px}
.experience h2{font-size:22px;letter-spacing:.06em}
.voices>h2,.access h2,.first h2,.menu-heading h2{letter-spacing:.06em}
.promise-copy h3,.menu-content h3{letter-spacing:.04em}
.hero-copy p{text-shadow:0 1px 12px #17131bb0}
.voice-card p{font-size:11px}
.voice-card small{font-size:11.5px}
}
/* 2026-10-31 料金表（確定版）：1メニューに2つの料金を並べる場合 */
.price+.price{margin-top:4px;padding-top:4px;border-top:0}
