/* POKA POKA — the warmth of a small room in Mitsusadadai. */
body{background-image:radial-gradient(ellipse at 0 20%,#fff9ec80,transparent 55%)}
h1,h2,h3,h4{text-wrap:balance;overflow-wrap:anywhere}
p{overflow-wrap:anywhere}
textarea{font:inherit}
.hero{min-height:790px;max-height:1100px}
.hero-backdrop{inset:0;transition:opacity .85s ease;will-change:opacity}
.hero-backdrop img{object-position:65% 44%;filter:saturate(.87) brightness(.94);animation:room-arrival 1.65s var(--ease) both}
.hero-scene-salon{opacity:0}
.hero-scene-salon img{object-position:center 55%}
.hero[data-scene=salon] .hero-scene-experience{opacity:0}
.hero[data-scene=salon] .hero-scene-salon{opacity:1}
.hero-shade{background:linear-gradient(90deg,#10291eea 0%,#172c21b8 27%,#2633233d 58%,#25332208 82%),linear-gradient(0deg,#14271ee0 0%,transparent 37%,transparent 72%,#172b21a6 100%)}
.hero-grain{opacity:.1}
.hero-content{left:7%;top:48%;transform:translateY(-42%);max-width:700px}
.hero h1{font-size:clamp(53px,6.2vw,91px);line-height:1.42;letter-spacing:.015em;font-weight:500;text-shadow:0 3px 25px #0b211a77}
.hero h1>span,.hero-location,.hero-intro,.hero-actions{animation:ink-arrival .8s var(--ease) both;filter:none;opacity:1;clip-path:none}
.hero h1>span:nth-child(2){animation-delay:.08s}
.hero-intro{font-size:14px;letter-spacing:.07em;line-height:2;margin:24px 0 28px;animation-delay:.12s;text-shadow:0 2px 12px #10251b}
.hero-actions{animation-delay:.18s}
.hero-location{margin-bottom:22px;animation-delay:0s}
.hero-scene-controls{position:absolute;right:5%;bottom:90px;text-align:right;max-width:340px}
.scene-control-label{display:block;font:14px var(--serif);margin-bottom:13px;text-shadow:0 2px 6px #10251b}
.hero-scene-controls>div{display:inline-flex;padding:4px;border:1px solid #f4e7c584;border-radius:30px;background:#1830219c;backdrop-filter:blur(9px);box-shadow:0 7px 30px #10251b30}
.hero-scene-controls button{background:transparent;color:#fff5df;border-radius:25px;font-size:11px;padding:11px 15px;min-height:44px;transition:background .3s,color .3s}
.hero-scene-controls button[aria-pressed=true]{background:linear-gradient(130deg,#f7efd6,#dec897);color:#243c31;box-shadow:0 2px 8px #091c1833}
.hero-scene-controls p{font-size:9px;color:#f4e7ca;margin:11px 0 0;text-shadow:0 2px 8px #142a22}
.hero-bottom{bottom:25px}
.day-scenes{margin:0 0 25px;border-top:1px solid var(--line)}
.day-scenes p{font-size:13px;padding:13px 0;margin:0;border-bottom:1px solid var(--line);line-height:1.85}
.day-scenes span{display:block;font-size:10px;letter-spacing:.08em;color:#78764e;margin-bottom:3px}
.about h2{font-size:clamp(29px,3vw,43px)}
.about-copy>p:not(.eyebrow){font-size:14px}
.journey{padding-top:30px;padding-bottom:90px}
.mobile-break{display:none}
.journey-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #a4ad8d;margin-bottom:24px;gap:15px}
.journey-tabs button{display:flex;align-items:center;justify-content:center;gap:20px;background:transparent;padding:18px 10px;color:#737d64;border-radius:24px 4px 0 0;font:21px var(--serif);border:1px solid transparent;border-bottom:0;position:relative;transition:background .35s,color .35s}
.journey-tabs button span{font:12px Georgia,serif;letter-spacing:.1em;color:#8c926f}
.journey-tabs button[aria-selected=true]{color:#fff1d8;background:linear-gradient(130deg,#506340,#283f2d);border-color:#677955;box-shadow:0 4px 0 #1c3423}
.journey-tabs button[aria-selected=true] span{color:#d2c69e}
.journey-panel{display:grid;grid-template-columns:1.12fr 1fr;background:radial-gradient(ellipse at top right,#f9f1d8,#e9e6d6);min-height:460px;border:1px solid #c8c9b0;overflow:hidden;border-radius:2px 40px 2px 2px;animation:scene-arrival .6s var(--ease)}
.journey-visual{position:relative;min-height:460px;overflow:hidden}
.journey-visual img{width:100%;height:100%;position:absolute;inset:0;object-position:center 48%;animation:room-arrival .9s var(--ease)}
.journey-caption{position:absolute;left:15px;bottom:14px;font-size:10px;background:#1d342bd9;color:#fff6df;padding:6px 12px;border-radius:2px}
.journey-copy{padding:50px 42px 38px;position:relative;align-self:center}
.journey-number{position:absolute;right:22px;top:0;font:104px/1 Georgia,serif;letter-spacing:-.06em;color:#76815815;pointer-events:none}
.journey-copy .eyebrow{color:#73794e;margin-bottom:16px}
.journey-copy h3{font-size:31px;line-height:1.7;margin-bottom:20px;max-width:360px}
.journey-copy>p:not(.eyebrow){font-size:14px;line-height:2.05;margin-bottom:22px}
.journey-copy .text-link{font-size:13px;gap:20px}
.journey-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:15px;font:11px Georgia,serif;color:#798069}
.journey-bottom b{font-size:24px;font-weight:400;color:#364f39;margin-right:7px}
.journey-bottom .text-link{border-bottom:0;font-size:12px}
.herb-story{padding-top:25px}
.botanical-drawing{position:absolute;z-index:2;right:-10px;bottom:25px;width:150px;height:270px;fill:none;stroke:#eee0b2;stroke-width:1;opacity:.7;filter:drop-shadow(0 2px 2px #1f382750)}
.botanical-drawing ellipse{fill:#d2d5a41c}
.ritual-stage{height:280px}
.ritual-cup{top:122px}
.wooden-bowl{position:relative;width:115px;height:76px;margin:0 auto 12px;border:1px solid #978049;border-top:0;border-radius:18% 18% 43% 43%;background:repeating-linear-gradient(91deg,#93734122 0 2px,transparent 2px 12px),linear-gradient(90deg,#8e6d3c,#ccb078 25%,#d6bb84 45%,#aa854d 85%,#83613b);box-shadow:inset 0 -12px 18px #73562566,0 12px 18px #8b926c30}
.wooden-bowl:after{content:"";position:absolute;left:3px;right:3px;top:33px;height:7px;border:1px solid #9a9669;background:linear-gradient(90deg,#827b50,#d0c79b,#7f7d58);border-radius:0 0 50% 50%;box-shadow:0 1px 2px #64563777}
.bowl-surface{position:absolute;top:-10px;left:0;right:0;height:27px;background:radial-gradient(ellipse,#706649,#867752 60%,#d9c18d 65%,#a58955 83%);border-radius:50%;box-shadow:0 -1px 1px #f5dfac}
.bowl-surface i{position:absolute;width:18px;height:8px;border-radius:100% 0 100% 0;background:#75844b;top:8px;left:35px;transform:rotate(-20deg);opacity:0;transition:opacity .6s}
.bowl-surface i:nth-child(2){left:60px;top:11px;transform:rotate(25deg);background:#8e9c5e}
.bowl-surface i:nth-child(3){left:48px;top:5px;transform:rotate(70deg)}
.has-leaves .bowl-surface i{opacity:1}
.ritual-aura{transition:transform .7s,opacity .7s;opacity:calc(var(--warmth,0)*.17);transform:scale(calc(.5 + var(--warmth,0)*.18))}
.has-leaves .ritual-aura{opacity:calc(var(--warmth,0)*.17);transform:scale(calc(.5 + var(--warmth,0)*.18))}
.all-selected .ritual-aura{opacity:1;transform:scale(1.7)}
.ritual-complete{position:absolute;left:-15px;right:-15px;bottom:0;text-align:center;font:14px var(--serif);letter-spacing:.09em;color:#6a683e;opacity:0;translate:0 7px;transition:opacity .6s,translate .6s}
.all-selected .ritual-complete{opacity:1;translate:0 0}
.leaf-arriving{animation:leaf-land .7s var(--ease)}
.progress-track{height:5px;border-radius:5px;overflow:hidden}
.progress-track span{background:linear-gradient(90deg,#6d8651,#baa55c);border-radius:inherit;box-shadow:0 0 14px #d6c27a}
.check-section.all-selected{background-image:radial-gradient(ellipse at 20% 20%,#fff1bf 0,transparent 55%),linear-gradient(130deg,#dde7d0,#e8ddbf)}
.check-result{text-align:left;padding:40px;border-radius:42px 3px 42px 3px}
.check-result>.eyebrow{display:block;margin-bottom:22px}
.result-layout{display:grid;grid-template-columns:.75fr 1fr;gap:35px;align-items:center}
.result-illustration{position:relative;align-self:stretch;min-height:350px;border-radius:45% 45% 3px 3px;overflow:hidden}
.result-illustration img{height:100%;width:100%;position:absolute;object-position:61% center}
.result-illustration small{position:absolute;bottom:10px;right:12px;font-size:9px;padding:4px 7px;background:#20392bbd}
.check-result h3{font-size:29px;line-height:1.6}
.check-result ul{justify-content:flex-start;gap:7px 13px;margin:15px 0 22px}
.result-route{border-top:1px solid #d7d7ac42;padding:20px 0 23px}
.result-route>span{font-size:10px;color:#cec68e;letter-spacing:.12em}
.result-route h4{font-size:20px;margin:9px 0 10px}
.result-route p{font-size:12px;margin-bottom:6px;line-height:1.9;color:#e0e3cd}
.result-route .text-link{font-size:11px;gap:15px;padding:9px 0}
.voice-card{display:block;padding:28px 27px 18px;border:1px solid #c8cbb3;background:radial-gradient(ellipse at 0 0,#fffcf0,#eee8d7);border-radius:2px 35px 2px 2px;box-shadow:0 9px 0 #e9e3d3}
.voice-card:nth-child(2){background:radial-gradient(ellipse at 0 0,#fffbee,#e4e8d8)}
.voice-card:nth-child(3){background:radial-gradient(ellipse at 0 0,#fff7df,#eae0c9)}
.voice-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;color:#7f8968}
.voice-heading>span{font-size:10px;letter-spacing:.16em}
.voice-heading .icon{width:36px;height:36px;stroke-width:1.1}
.voice-body{border-bottom:0;padding:0 0 10px}
.voice-body h3{font-size:21px;margin-bottom:18px;color:#777444}
.voice-body blockquote{font-size:20px;line-height:1.95;margin-bottom:22px}
.voice-body .tiny{font-size:9px}
.page-hero>div:first-child{inset:0}
.page-hero:after{background:linear-gradient(90deg,#142a22ec 5%,#142a22bd 40%,#142a2255 80%),linear-gradient(0deg,#142a2266,transparent)}
.page-hero h1{animation:ink-arrival .8s var(--ease)}
.page-hero>div:first-child img{animation:room-arrival 1.6s var(--ease)}
.faq-item[open]{background:linear-gradient(90deg,#e6e6d462,transparent)}
.faq-item summary{border-radius:5px}
.dialog-sheet{padding:28px 32px 26px;text-align:left}
.dialog-mark{width:37px;height:37px;display:block;margin:0 0 10px}
.dialog-sheet .eyebrow{font-size:9px;margin:0 0 7px}
.dialog-sheet h2{font-size:27px;line-height:1.5;margin:0 0 13px}
.dialog-sheet #booking-context{font-size:11px;padding:9px 0;margin-bottom:17px;color:#5c6d51}
.dialog-close{box-shadow:0 3px 0 #a7b090,inset 0 1px 0 #ffffffe0;background:linear-gradient(135deg,#faf8e8,#e1e3cd)}
.inquiry-fieldset{padding:0;border:0;min-width:0;margin:0 0 16px}
.inquiry-fieldset legend{font-size:12px;font-weight:700;margin-bottom:10px;padding:0}
.inquiry-fieldset legend small{font-weight:400;font-size:9px;color:#737c65;margin-left:10px}
.inquiry-topics{display:flex;gap:8px;flex-wrap:wrap}
.inquiry-topics button{padding:8px 14px;font-size:11px;border:1px solid #aab398;border-radius:18px 4px 18px 4px;min-height:42px;background:linear-gradient(135deg,#fffdf2,#e6e8d8);box-shadow:0 3px 0 #b3b99e}
.inquiry-topics button[aria-pressed=true]{background:linear-gradient(130deg,#53694c,#2c4732);border-color:#647959;color:#fff5dc;box-shadow:0 3px 0 #1b3624}
.inquiry-label{display:block;font-size:10px;margin-bottom:7px;color:#6d775c}
#inquiry-message{display:block;width:100%;resize:vertical;min-height:94px;max-height:180px;border:1px solid #bcc4a8;border-radius:5px;background:#fffcf1;color:#384d36;padding:12px;font-size:12px;line-height:1.8;outline-offset:3px}
.copy-button{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;background:linear-gradient(125deg,#faf1d7,#e4d8b6);border:1px solid #b5ac86;border-radius:3px;padding:9px 12px;width:100%;margin-top:9px;box-shadow:0 3px 0 #bbb18a;min-height:42px}
.copy-button .icon{width:18px;height:22px}
.dialog-sheet .dialog-status{font-size:10px;line-height:1.5;min-height:15px;margin:8px 0 0;color:#546645}
.dialog-sheet .btn{margin-top:9px;min-height:55px;padding-top:13px;padding-bottom:13px}
.phone-alternative{display:block;padding:16px 5px 3px;text-align:center;font-size:11px}
.phone-alternative strong{font:19px Georgia,serif;margin-left:12px;white-space:nowrap}
.dialog-sheet .tiny{font-size:9px;margin:13px 0 0;line-height:1.7;text-align:center}
.dialog-effects{position:fixed;inset:0;z-index:20;pointer-events:none;overflow:hidden;contain:strict}
.dialog-effects .tap-leaf{background:#b29b54}
.action-control{transition:translate .18s,scale .18s,box-shadow .18s,filter .2s}
.action-control.is-pressed{translate:0 3px;scale:.975;box-shadow:inset 0 3px 7px #11271d33,0 1px 0 #19332540!important;filter:brightness(.94)}
.action-control.press-pop{animation:button-return .5s var(--ease)!important}
.action-arrived{animation:button-arrival .7s var(--ease)}
.hero .action-arrived,.site-header .action-arrived{animation:none}
.tap-ring[data-kind=book]{border-color:#edda9a;border-width:2px}
.tap-ring[data-kind=photo]{border-radius:8px}
.tap-steam{position:absolute;width:15px;height:37px;border:1px solid #efdfa49c;border-radius:50%;animation:tap-steam 1s ease-out both}
.flying-leaf{position:absolute;width:17px;height:29px;border-radius:100% 0 100% 0;background:linear-gradient(120deg,#a6b675,#5b7951);box-shadow:0 0 20px #e2cb8877;animation:leaf-to-bowl .8s var(--ease) both}
.festival-halo{position:absolute;left:50%;top:48%;width:160px;height:160px;border-radius:50%;border:1px solid #f6e2a4;box-shadow:0 0 50px #eac97666,inset 0 0 40px #eac97644;animation:halo-out 1.8s ease-out both}
.festival-halo:nth-child(2n){animation-delay:.17s}
.motion-ready .reveal{transition:opacity .7s var(--ease),transform .9s var(--ease);transform:translateY(24px)}
.motion-ready .about-visual.reveal,.motion-ready .herb-image.reveal{clip-path:inset(0 0 6% 0);transition:clip-path 1s var(--ease),opacity .75s,transform .85s}
@keyframes room-arrival{from{transform:scale(1.055)}to{transform:scale(1)}}
@keyframes ink-arrival{from{transform:translateY(17px);text-shadow:0 8px 28px #132b2477}to{transform:translateY(0)}}
@keyframes scene-arrival{from{opacity:.55;translate:0 9px}to{opacity:1;translate:0 0}}
@keyframes button-return{0%{translate:0 3px;scale:.975}43%{translate:0 -3px;scale:1.022}100%{translate:0 0;scale:1}}
@keyframes button-arrival{0%{opacity:.45;translate:0 14px}70%{opacity:1;translate:0 -2px}100%{opacity:1;translate:0 0}}
@keyframes leaf-land{0%{scale:.5;filter:brightness(1.8)}60%{scale:1.25}100%{scale:1;filter:brightness(1)}}
@keyframes leaf-to-bowl{0%{opacity:1;transform:translate(-50%,-50%) rotate(-20deg) scale(.5)}65%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(170deg) scale(.7)}}
@keyframes tap-steam{from{opacity:.7;transform:translate(-50%,-20%) scale(.4)}to{opacity:0;transform:translate(var(--dx),-85px) scale(1.6)}}
@keyframes halo-out{from{opacity:.9;transform:translate(-50%,-50%) scale(.15)}to{opacity:0;transform:translate(-50%,-50%) scale(5)}}
@media(max-width:1180px){.hero h1{font-size:72px}.hero-content{max-width:620px}.hero-scene-controls{right:4%}.journey-copy{padding:36px 30px}.journey-copy h3{font-size:28px}.journey-copy>p:not(.eyebrow){font-size:13px}.voice-card{padding:24px 21px 18px}.voice-body blockquote{font-size:18px}}
@media(max-width:960px){.hero h1{font-size:65px}.hero-content{top:46%}.hero-scene-controls{bottom:85px}.journey-panel{grid-template-columns:1fr 1fr;min-height:420px}.journey-visual{min-height:420px}.journey-copy{padding:30px 23px}.journey-copy h3{font-size:25px}.journey-copy>p:not(.eyebrow){font-size:12px}.journey-copy .text-link{font-size:11px;gap:13px}.journey-tabs button{font-size:19px}.result-layout{grid-template-columns:.65fr 1fr;gap:25px}.check-result{padding:34px 28px}.check-result h3{font-size:25px}.voice-grid{gap:16px}.voice-card{padding:22px 19px 15px}.voice-body h3{font-size:18px}.voice-body blockquote{font-size:17px}}
@media(max-width:700px){
  .hero{height:calc(100svh - 28px);min-height:830px;max-height:1000px}
  .hero-backdrop img{object-position:64% 25%;filter:saturate(.88) brightness(.92)}
  .hero-scene-salon img{object-position:62% 48%}
  .hero-shade{background:linear-gradient(0deg,#152b21fa 0%,#142a22ed 21%,#142a2290 46%,#182b2130 75%,#152a21a0 100%),linear-gradient(90deg,#142a224a,transparent 80%)}
  .hero-content{left:7%;right:6%;top:auto;bottom:201px;max-width:none;transform:none}
  .hero-location{font-size:9px;letter-spacing:.06em;margin-bottom:17px}
  .hero h1{font-size:clamp(40px,10.2vw,65px);line-height:1.45;letter-spacing:.015em}
  .hero-intro{font-size:12px;line-height:1.95;margin:18px 0 22px}
  .hero-actions{gap:13px}
  .hero-actions .btn{min-height:56px;font-size:12px;padding:14px 24px}
  .hero-secondary{font-size:10px;padding:7px 0}
  .hero-scene-controls{bottom:67px;left:7%;right:auto;text-align:left;max-width:none}
  .scene-control-label{font-size:11px;margin-bottom:9px}
  .hero-scene-controls>div{padding:3px}
  .hero-scene-controls button{font-size:10px;padding:8px 15px;min-height:40px}
  .hero-scene-controls p{font-size:8px;margin-top:8px}
  .hero-bottom{bottom:20px}
  .intro-strip{padding:18px 4%;gap:4%;font-size:8px}
  .about{gap:32px;padding-top:62px}
  .about h2{font-size:31px;margin-bottom:24px}
  .about-copy>p:not(.eyebrow){font-size:13px}
  .day-scenes p{font-size:12px;padding:12px 0}
  .day-scenes span{font-size:9px}
  .about-visual{width:84%;max-width:360px}
  .arched-photo img{height:350px}
  .journey{padding-top:15px;padding-bottom:60px}
  .mobile-break{display:block}
  .journey .section-heading h2{font-size:30px}
  .journey .section-heading{margin-bottom:24px}
  .journey-tabs{gap:7px;margin-bottom:17px}
  .journey-tabs button{padding:14px 5px;font-size:16px;gap:9px;border-radius:18px 2px 0 0}
  .journey-tabs button span{font-size:10px}
  .journey-panel{grid-template-columns:1fr;min-height:0;border-radius:2px 27px 2px 2px}
  .journey-visual{min-height:0;height:290px}
  .journey-visual img{object-position:center 49%}
  #journey-panel-2 .journey-visual img{object-position:center 35%}
  .journey-caption{font-size:8px;left:11px;bottom:11px;padding:5px 8px}
  .journey-copy{padding:27px 23px 26px;min-height:285px}
  .journey-copy .eyebrow{font-size:9px;margin-bottom:12px}
  .journey-copy h3{font-size:25px;line-height:1.65;margin-bottom:15px;max-width:100%}
  .journey-copy>p:not(.eyebrow){font-size:12px;line-height:1.95;margin-bottom:15px}
  .journey-copy .text-link{font-size:12px}
  .journey-number{font-size:85px;right:18px;top:14px}
  .journey-bottom{padding-top:8px}
  .journey-bottom .text-link{font-size:11px}
  .herb-story{padding-top:15px}
  .herb-image,.herb-image>img{height:350px}
  .botanical-drawing{width:125px;height:230px;bottom:19px}
  .check-section{padding-top:60px;padding-bottom:60px}
  .check-heading h2{font-size:30px}
  .ritual-stage{width:280px;height:260px;transform:scale(.84);margin:-12px auto -27px}
  .ritual-orbit{left:20px;top:25px}
  .ritual-cup{left:75px;top:122px}
  .ritual-aura{inset:20px}
  .leaf-0{left:28px;top:146px}.leaf-1{left:43px;top:65px}.leaf-2{left:120px;top:24px}.leaf-3{right:43px;top:65px}.leaf-4{right:28px;top:146px}
  .ritual-complete{bottom:5px;font-size:13px}
  .check-progress{margin-top:18px}
  .check-item{padding:17px 14px;gap:10px}
  .check-copy strong{font-size:16px}
  .check-copy small{font-size:10px}
  .check-result{padding:28px 23px;border-radius:32px 3px 32px 3px}
  .check-result>.eyebrow{font-size:8px;margin-bottom:18px}
  .result-layout{grid-template-columns:1fr;gap:24px}
  .result-illustration{min-height:0;height:210px;border-radius:3px 35px 3px 3px}
  .result-illustration img{object-position:center 40%}
  .check-result h3{font-size:25px;margin-bottom:15px}
  .check-result p{font-size:12px}
  .check-result ul{align-items:flex-start;margin:15px 0 21px}
  .check-result .btn{width:100%;font-size:11px;gap:12px;padding:15px 18px}
  .result-route{padding:17px 0 20px}
  .result-route h4{font-size:19px}
  .result-route p{font-size:11px}
  .voice-grid{gap:22px}
  .voice-card{padding:25px 25px 22px}
  .voice-heading{margin-bottom:17px}
  .voice-heading .icon{height:31px;width:31px}
  .voice-body{padding-bottom:0}
  .voice-body h3{font-size:19px;margin-bottom:12px}
  .voice-body blockquote{font-size:21px;line-height:1.9;margin-bottom:18px}
  .voice-body .tiny{font-size:9px}
  .gallery-item:nth-child(n+4){flex-basis:210px;width:210px}
  .page-hero>div:first-child{inset:0}
  .page-hero{min-height:480px}
  .page-hero h1{font-size:37px}
  .dialog-sheet{padding:25px 21px 22px}
  .dialog-sheet h2{font-size:24px;padding-right:10px}
  .dialog-mark{height:30px;width:30px}
  .dialog-close{width:38px;height:38px}
  .inquiry-topics{gap:7px}
  .inquiry-topics button{font-size:10px;padding:8px 12px;min-height:40px}
  #inquiry-message{font-size:12px;min-height:90px}
  .dialog-sheet .btn{font-size:12px;min-height:52px}
  .phone-alternative{font-size:10px}
  .phone-alternative strong{font-size:18px;margin-left:9px}
  .dialog-sheet .tiny{font-size:8px}
  .sound-toggle{min-height:44px}
  .nav-toggle{width:38px;height:44px;padding:7px}
  .mobile-dock{gap:14px}
  .footer-top>nav a{min-height:36px;display:inline-flex;align-items:center}
}
@media(max-width:380px){.hero{min-height:800px}.hero h1{font-size:38px}.hero-location{font-size:8px}.hero-content{bottom:195px}.hero-intro{font-size:11px}.hero-scene-controls{bottom:65px}.check-copy strong{font-size:14px}.check-copy small{font-size:9px}.check-item{padding:16px 11px;gap:9px}.check-actions .btn{min-width:0;width:100%;font-size:11px;gap:12px}.journey-tabs button{font-size:15px;gap:6px}.journey-copy{padding-left:20px;padding-right:20px}.journey-copy h3{font-size:24px}.hero-scene-controls button{font-size:9px;padding-left:13px;padding-right:13px}.brand>span{font-size:15px}.header-actions{gap:5px}.inquiry-topics button{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.hero-backdrop,.action-control{will-change:auto}.hero-backdrop img,.hero h1>span,.hero-location,.hero-intro,.hero-actions,.page-hero h1{animation:none;transform:none}.hero-backdrop img{filter:saturate(.88) brightness(.92)}.dialog-effects,#effects,.mist{display:none}.action-control.is-pressed{scale:1;translate:0 1px}.motion-ready .reveal{transform:none;opacity:1}.motion-ready .about-visual.reveal,.motion-ready .herb-image.reveal{clip-path:none}.journey-panel{animation:none}}
@media print{.hero-scene-controls,.dialog-effects{display:none!important}.hero{min-height:0;height:auto}.hero-content{position:relative;inset:auto;transform:none;padding:50px 7%}.journey-panel{display:grid!important}.journey-tabs,.journey-bottom{display:none}.result-layout{grid-template-columns:1fr 1fr}.action-control{animation:none!important;transform:none!important}}

/* Second refinement: a visitor's notebook, botanical ink and the real room. */
:root{--notebook:#efe7d1;--pencil:#6e784f;--brass:#b29755}
.hero-backdrop img{animation:room-opening 1.55s var(--ease) both}
.hero h1>span{animation:title-opening 1s var(--ease) both}
.hero h1>span:nth-child(2){animation-delay:.1s}
.hero-branch{position:absolute;left:-65px;bottom:-60px;width:340px;height:460px;z-index:-3;opacity:.14;pointer-events:none;transform:rotate(22deg);color:#eee0b2;animation:branch-opening 1.8s var(--ease) both}
.hero-branch .icon{width:100%;height:100%;stroke-width:.55}
.hero:after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(105deg,transparent 35%,#fff5d51a 49%,transparent 65%);pointer-events:none;animation:window-light 1.7s var(--ease) both}
.hero.scene-turning:after{animation:window-light 1.1s var(--ease) both}
.hero[data-scene=salon] .hero-scene-salon img{animation:room-opening 1.1s var(--ease) both}
.hero-location{font-size:12px}
.hero-intro{font-size:15px}
.hero-secondary{font-size:13px}
.hero-scene-controls{max-width:380px}
.hero-scene-controls button{font-size:12px;padding:12px 18px}
.hero-scene-controls p{font-size:11px;max-width:350px;line-height:1.65}
.hero-bottom{font-size:9px}
.hero-bottom .hero-credit{font-size:10px}
.desktop-nav{font-size:13px;gap:22px}
.sound-toggle span{font-size:11px}
.header-book{font-size:13px;min-height:46px}
.eyebrow{font-size:12px;letter-spacing:.17em}
.tiny{font-size:12px;line-height:1.85}
.section-heading>p{font-size:14px}
.text-link{font-size:14px}
.salon-trail{max-width:1180px;margin:0 auto;padding:48px 0 34px;display:grid;grid-template-columns:.9fr 2fr;gap:12px 45px;position:relative;border-bottom:1px solid #b1b59a}
.trail-intro .eyebrow{color:#6e784f;margin-bottom:12px}
.trail-intro h2{font-size:26px;line-height:1.6;margin-bottom:14px}
.trail-intro>p{font-size:12px;line-height:1.9;margin:0;color:#6a745e}
.trail-stops{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;list-style:none;padding:0;margin:0;align-self:center}
.trail-stops a{display:flex;align-items:center;flex-direction:column;text-align:center;gap:17px;min-height:185px;padding:10px 0}
.trail-stamp{width:80px;height:80px;position:relative;display:grid;place-items:center;border:1px solid #8c987c;border-radius:50%;background:radial-gradient(ellipse at 30% 25%,#fffaf0,#e9e5d2);box-shadow:inset 0 0 0 5px #f7f1df,0 4px 0 #d9dcc7;color:#7f8b66;transition:background .5s,color .5s,box-shadow .5s}
.trail-stamp .icon{width:43px;height:50px;stroke-width:1.3}
.trail-stamp b{position:absolute;right:-4px;bottom:-3px;display:grid;place-items:center;width:25px;height:25px;background:#d7bd7a;border:1px solid #9d884b;border-radius:50%;color:#2d452f;font:14px var(--sans);opacity:0;scale:.3;transition:scale .4s,opacity .4s}
.trail-stops small{font-size:11px;letter-spacing:.06em;display:block;color:#7b7f5a;margin-bottom:6px}
.trail-stops strong{display:block;font:16px/1.7 var(--serif)}
.trail-stops em{font:11px/1.6 var(--sans);display:block;color:#6d785e;margin-top:7px}
.trail-done .trail-stamp{background:radial-gradient(ellipse at 30% 20%,#62734b,#2e4934);color:#f3e8bf;box-shadow:inset 0 0 0 5px #395039,0 4px 0 #213e2a;border-color:#a7af83}
.trail-done .trail-stamp b{scale:1;opacity:1}
.stamp-arrived .trail-stamp{animation:stamp-mark .8s var(--ease)}
.trail-footer{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin-top:8px;padding-top:15px;border-top:1px dashed #acb292;gap:22px}
.trail-footer p{font-size:12px;line-height:1.8;margin:0}
.trail-footer>span{font:20px Georgia,serif;white-space:nowrap;color:#7a805b}
.trail-complete{background:radial-gradient(ellipse at bottom right,#e7dba466,transparent 65%)}
.about{padding-top:90px;padding-bottom:90px}
.about-copy .salon-intention{border-left:2px solid #a1a776;padding:0 0 0 20px;font-size:14px}
.salon-intention>span{display:block;font:16px/1.8 var(--serif);margin-bottom:10px;color:#6d7148}
.day-scenes span{font-size:12px}
.day-scenes p{font-size:14px}
.vertical-note{font-size:12px}
.herb-story{padding-top:20px;padding-bottom:45px}
.herb-copy>p:not(.eyebrow){font-size:14px}
.sensory-list small{font-size:13px}
.herb-copy>.text-link{margin-top:20px;font-size:14px}
.image-caption,.journey-caption{font-size:12px}
.menu-section{padding-top:55px;padding-bottom:65px}
.menu-art{height:325px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 65% 30%,#f4edcf,#e2dec4 70%,#d3d6bd);color:#526342;border-radius:2px 54px 2px 2px;border:1px solid #c3c6a9}
.menu-art:after{content:"";position:absolute;inset:13px;border:1px solid #fff8;pointer-events:none;border-radius:2px 43px 2px 2px}
.menu-art-ring{position:absolute;width:230px;height:230px;left:50%;top:45%;translate:-50% -50%;border:1px solid #929c743f;border-radius:50%;box-shadow:0 0 0 9px #f8f2d522,0 0 0 10px #a8ad8a33}
.menu-art-word{position:absolute;right:35px;top:40px;writing-mode:vertical-rl;font:20px/1.9 var(--serif);letter-spacing:.2em;z-index:2}
.menu-branches{position:absolute;left:28%;top:27px;width:180px;height:250px;transition:transform 1s var(--ease)}
.menu-branches>.icon{width:180px;height:250px;stroke-width:.7;filter:drop-shadow(0 3px 1px #74865f12)}
.menu-branches>.icon path{fill:#74885b12}
.menu-art-blend{background:radial-gradient(ellipse at 50% 15%,#e4dcc0,#c2c9ab 65%,#b3bea1)}
.menu-art-blend .menu-branches{left:20%;width:230px;top:38px}
.menu-art-blend .menu-branches>.icon{position:absolute;height:220px;width:160px;transform:rotate(-30deg);left:-18px;top:0}
.menu-art-blend .menu-branches>.icon:nth-child(2){transform:rotate(5deg);left:20px;top:-20px;color:#6a774f}
.menu-art-blend .menu-branches>.icon:nth-child(3){transform:rotate(30deg);left:67px;top:7px;color:#8b844e}
.menu-art-mark{position:absolute;left:30px;bottom:28px;font:37px var(--serif);border:1px solid #7d8c64;width:54px;height:54px;display:grid;place-items:center;border-radius:50%;background:#fff4d730}
.menu-art-bottom{position:absolute;bottom:28px;left:105px;right:20px;font-size:10px;letter-spacing:.16em}
.aroma-choice{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center;gap:13px;padding:12px 18px;border:1px solid #909e75;border-radius:3px 26px 26px 3px;background:linear-gradient(135deg,#f7f2df,#e3dfc3);box-shadow:0 4px 0 #a4ad88;color:#435637;font-size:14px;margin:7px 0 15px}
.aroma-choice .icon{width:24px;height:24px}
.aroma-choice[aria-pressed=true]{background:linear-gradient(130deg,#58704a,#2c4a33);color:#fff3cf;box-shadow:0 4px 0 #1d3725;border-color:#7b9368}
.aroma-selected .menu-branches{transform:translateY(-8px) rotate(4deg)}
.aroma-selected .menu-art-ring{box-shadow:0 0 0 9px #f7e0a34d,0 0 0 10px #b49d5d70,0 0 50px #f4db8b70}
.menu-body .eyebrow{font-size:12px}
.menu-body>p{font-size:14px}
.menu-meta{font-size:12px;gap:10px}
.menu-meta a{text-decoration:underline;text-underline-offset:4px}
.menu-body .text-link{font-size:13px}
.menu-follow{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:23px;margin-top:36px}
.menu-note{font-size:13px;line-height:1.8;margin:0;text-align:left;max-width:500px}
.menu-follow .text-link{font-size:13px;flex:none;gap:18px}
.journey{padding-top:55px}
.journey-visual img{object-position:center 48%}
.journey-botanical{background:radial-gradient(ellipse at 40% 30%,#e6dfbf,#bdc6a4)}
.branch-scene{position:absolute;inset:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.branch-scene:before{content:"";position:absolute;inset:30px;border:1px solid #f8f2d8a3;border-radius:45% 45% 0 0}
.branch-scene>.icon{position:absolute;width:210px;height:320px;stroke-width:.65;color:#566b43;transform:rotate(-16deg) translateX(-28px);fill:#6a824315}
.branch-scene>.icon:nth-child(2){transform:rotate(15deg) translateX(55px);color:#88905e;scale:.85}
.branch-scene>span{position:absolute;right:35px;top:40px;writing-mode:vertical-rl;font:18px var(--serif);letter-spacing:.2em}
.journey-copy>p:not(.eyebrow){font-size:14px}
.journey-copy .text-link{font-size:14px}
.journey-copy .eyebrow{font-size:12px}
.journey-bottom .text-link{font-size:13px}
.check-copy small{font-size:12px;line-height:1.8}
.check-choices>.tiny{font-size:12px;opacity:1}
.check-heading .check-hint{font-size:12px;line-height:1.8;min-height:43px}
.check-progress small{font-size:12px}
.check-actions .btn{font-size:14px}
.text-button{font-size:12px;min-height:44px}
.result-layout{grid-template-columns:.68fr 1fr;align-items:start;gap:38px}
.result-ticket{position:relative;min-height:440px;padding:28px;text-align:center;background:radial-gradient(ellipse at 30% 0,#fff7df,#dcd4b2);color:#3c5339;border-radius:3px 3px 28px 3px;box-shadow:8px 8px 0 #162e243b;overflow:hidden;transform:rotate(-2deg);align-self:center}
.result-ticket:before{content:"";position:absolute;inset:10px;border:1px solid #929c6d70;border-radius:inherit;pointer-events:none}
.ticket-number{font-size:10px;letter-spacing:.18em;display:block;margin-bottom:18px}
.result-ticket>.icon{width:100px;height:120px;stroke-width:.9;display:block;margin:0 auto 12px}
.result-ticket h4{font-size:31px;line-height:1.5;letter-spacing:.06em}
.ticket-rule{height:1px;display:block;max-width:150px;background:#85956b66;margin:22px auto 18px}
.result-ticket small{font-size:12px;display:block}
.result-ticket #result-menu-name{font:17px/1.7 var(--serif);margin:8px 0 16px}
.ticket-seal{display:inline-block;border:1px solid #8e9464;border-radius:50%;padding:7px 12px;font-size:12px;transform:rotate(7deg);color:#737b4f}
.result-questions{padding:19px 0 0;border-top:1px solid #d5d7ac45;margin-top:22px}
.result-questions h4{font-size:17px;color:#f5e9bd}
.check-result .result-questions ul{display:block;margin:14px 0 20px;padding-left:17px;list-style:circle}
.check-result .result-questions li{border:0;font-size:13px;line-height:1.9;padding:0;margin:0 0 7px;color:#e7e8cf}
.check-result li{font-size:13px}
.check-result .tiny{font-size:12px;line-height:1.8;color:#d4debe}
.result-route>span{font-size:12px}
.result-route p{font-size:13px}
.result-route .text-link{font-size:13px}
.voice-for{font-size:12px;color:#6a765a;margin:0 0 14px}
.voice-body h3{font-size:20px}
.voice-body .tiny,.review-note{font-size:12px;line-height:1.9;color:#667258}
.voice-heading>span{font-size:11px}
.voice-heading .icon{height:46px}
.voices{padding-top:75px;padding-bottom:70px}
.compact-album{padding:0;background:linear-gradient(110deg,#283f31,#40563b);color:#f2e8cd}
.salon-album{max-width:1380px;margin:auto}
.salon-album>summary{display:flex;justify-content:space-between;gap:25px;align-items:center;cursor:pointer;padding:35px 7%;list-style:none}
.salon-album>summary::-webkit-details-marker{display:none}
.salon-album>summary>span:first-child{display:flex;align-items:center;gap:26px}
.salon-album>summary .icon{width:45px;height:53px;stroke-width:1.1}
.salon-album>summary small{display:block;font-size:12px;color:#d0d6b8;margin-bottom:6px}
.salon-album>summary strong{font:25px/1.7 var(--serif)}
.album-plus{font:28px var(--serif);transition:rotate .3s}
.salon-album[open] .album-plus{rotate:45deg}
.salon-album .gallery-track{padding-top:10px}
.salon-album .gallery-controls{padding-bottom:30px;font-size:12px}
.first-visit{display:grid;grid-template-columns:.9fr 1.2fr;gap:9%;padding-bottom:65px;align-items:center}
.first-visit-heading h2{font-size:40px;margin-bottom:25px}
.first-visit-heading>p:not(.eyebrow){font-size:14px;line-height:2}
.visit-door{display:flex;align-items:center;gap:20px;margin-top:22px;color:#7c8963}
.visit-door .icon{width:67px;height:80px;stroke-width:1.2}
.visit-door>span{font-size:12px;line-height:1.6}
.visit-door b{font:35px Georgia,serif;letter-spacing:.08em;color:#526744}
.first-visit-ledger{padding:28px 32px 30px;background:linear-gradient(110deg,#faf5e5,#ece5ce);border:1px solid #bfc5a7;border-radius:3px 3px 30px 3px;box-shadow:8px 8px 0 #e1e3cd}
.ledger-heading{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.07em;border-bottom:2px solid #8b9a74;padding:0 0 15px;gap:18px}
.first-visit-ledger dl{margin:0 0 23px}
.visit-fact{display:grid;grid-template-columns:1fr auto;gap:7px 15px;border-bottom:1px solid #b7bea16b;padding:19px 0}
.visit-fact dt{font:19px/1.5 var(--serif)}
.visit-fact dd{grid-column:1;grid-row:2;font-size:13px;line-height:1.8;margin:0;color:#657157}
.fact-ask{grid-column:2;grid-row:1/3;align-self:center;display:flex;align-items:center;gap:10px;padding:9px 0 9px 10px;min-height:44px;background:none;color:#526743;font-size:12px}
.fact-ask .icon{width:23px}
.first-visit-ledger .btn{width:100%;font-size:14px}
.first-visit-ledger .tiny{font-size:12px;margin:17px 0 0}
.faq-preview{padding-top:20px;padding-bottom:80px}
.faq-item summary{font-size:15px}
.faq-answer p{font-size:14px;color:#5c6c50}
.course-disclosure{padding-top:0;padding-bottom:75px}
.course-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;list-style:none}
.course-disclosure>summary::-webkit-details-marker{display:none}
.course-disclosure>summary small{display:block;font-size:12px;color:#707b60;margin-bottom:8px}
.course-disclosure>summary strong{font:25px/1.7 var(--serif)}
.course-disclosure>summary>span:last-child{font:28px var(--serif);transition:rotate .3s}
.course-disclosure[open]>summary>span:last-child{rotate:45deg}
.course.course-content{border:0;padding:45px 0 0;gap:7%}
.course-copy .tiny{font-size:12px!important}
.course-copy>p:not(.eyebrow):not(.lead),.course-topics{font-size:14px}
.visit-photo-caption{position:absolute;bottom:19px;right:25px;font-size:12px;color:#dbe2c3}
.visit-photo img{object-position:center 58%;filter:brightness(.48) saturate(.65)}
.visit-content>p:not(.eyebrow){font-size:14px}
.visit .tiny{font-size:12px!important}
.footer-top p{font-size:14px}
.footer-top>nav{font-size:13px}
.footer-top>nav a{min-height:38px;display:inline-flex;align-items:center}
.footer-top .text-link{font-size:13px}
.footer-contact .eyebrow{font-size:12px}
.footer-bottom{font-size:11px}
.dialog-sheet{padding:28px 30px}
.dialog-sheet #booking-context{font-size:13px;color:#526444}
.inquiry-fieldset legend{font-size:14px}
.inquiry-fieldset legend small{font-size:12px}
.inquiry-topics button{font-size:13px;min-height:44px}
.inquiry-label{font-size:12px;color:#526444}
#inquiry-message{font-size:16px;line-height:1.7;min-height:140px;max-height:280px;background:#fffdf5}
.inquiry-note-summary{border-left:2px solid #8a9b6d;padding:2px 0 2px 12px;margin:18px 0}
.inquiry-note-summary>span{font-size:12px;color:#6b794e}
.inquiry-note-summary p{font-size:13px;margin:4px 0 0;line-height:1.8}
.inquiry-help{font-size:12px!important;color:#62724e;margin:13px 0 9px!important;line-height:1.8}
.copy-button{min-height:46px;font-size:14px}
.dialog-sheet .dialog-status{font-size:12px;line-height:1.8;min-height:22px}
.phone-alternative{font-size:13px;min-height:45px}
.dialog-sheet .tiny{font-size:12px;line-height:1.8}
.dialog-sheet .eyebrow{font-size:12px}
.dialog-sheet .btn{font-size:14px}
.hero .action-arrived,.site-header .action-arrived,.action-arrived{animation:button-arrival .7s var(--ease) var(--action-delay,0s) both}
.motion-ready .reveal.is-visible h2{animation:heading-arrival .85s var(--ease) both}
.motion-ready .reveal.is-visible .menu-branches{animation:branch-lift 1.2s var(--ease) both}
.motion-ready .reveal.is-visible .botanical-drawing{animation:botanical-ink 1.2s var(--ease) both}
.journey-panel:not([hidden]) .branch-scene .icon{animation:branch-lift 1.1s var(--ease) both}
@keyframes room-opening{from{transform:scale(1.09) translateY(12px)}to{transform:scale(1) translateY(0)}}
@keyframes title-opening{from{transform:translateY(26px) scale(1.025);transform-origin:left center}to{transform:translateY(0) scale(1);transform-origin:left center}}
@keyframes branch-opening{from{opacity:0;clip-path:inset(100% 0 0 0);transform:rotate(15deg)}to{opacity:.14;clip-path:inset(0);transform:rotate(22deg)}}
@keyframes window-light{from{translate:-65% 0;opacity:0}40%{opacity:1}to{translate:60% 0;opacity:0}}
@keyframes heading-arrival{from{translate:0 20px;letter-spacing:.045em}to{translate:0 0;letter-spacing:.025em}}
@keyframes botanical-ink{from{clip-path:inset(100% 0 0 0)}to{clip-path:inset(0)}}
@keyframes branch-lift{from{translate:0 28px;opacity:.4}to{translate:0 0;opacity:1}}
@keyframes stamp-mark{0%{scale:1.3;rotate:-12deg}50%{scale:.9;rotate:3deg}100%{scale:1;rotate:0deg}}
@media(max-width:1320px){.salon-trail{margin:0 7%}.trail-stops{gap:13px}.trail-stops strong{font-size:15px}.salon-trail{gap:12px 30px}.first-visit{gap:7%}.first-visit-heading h2{font-size:35px}.hero-scene-controls{right:4%}}
@media(max-width:960px){.salon-trail{grid-template-columns:1fr;padding-top:35px}.trail-intro{display:flex;justify-content:space-between;align-items:center;gap:25px}.trail-intro .eyebrow{display:none}.trail-intro h2{font-size:25px;margin:0}.trail-intro p{font-size:12px;margin:0}.trail-stops{margin-top:10px}.menu-follow{align-items:flex-start;flex-direction:column;gap:12px}.menu-art{height:290px}.menu-branches{left:18%;top:18px}.menu-art-word{right:27px}.menu-art-blend .menu-branches{left:14%}.menu-meta{flex-direction:column;align-items:flex-start}.first-visit{grid-template-columns:1fr 1.15fr;gap:35px}.first-visit-heading h2{font-size:32px}.first-visit-ledger{padding:23px}.result-layout{grid-template-columns:.62fr 1fr;gap:25px}.result-ticket{padding:27px 19px;min-height:410px}.result-ticket h4{font-size:27px}.journey-copy>p:not(.eyebrow){font-size:14px}.journey-copy .text-link{font-size:13px}.check-copy strong{font-size:17px}.voice-body .tiny{font-size:12px}.voice-body h3{font-size:18px}.hero-scene-controls{max-width:340px}.hero-scene-controls button{font-size:11px;padding:11px 16px}}
@media(max-width:700px){
  html{scroll-padding-top:18px}
  .site-header{padding-top:17px;padding-bottom:17px}
  .brand>span{font-size:18px}.brand small{font-size:8px;letter-spacing:.1em}
  .sound-toggle span{font-size:11px}.header-actions{gap:10px}
  .hero{height:auto;min-height:850px;max-height:none}
  .hero-content{bottom:220px;left:7%;right:7%}
  .hero-location{font-size:11px;letter-spacing:.03em;margin-bottom:16px;gap:7px}
  .hero-intro{font-size:14px;line-height:1.9;margin:21px 0 24px;letter-spacing:.035em}
  .hero h1{font-size:clamp(38px,10.3vw,65px);line-height:1.45}
  .hero-actions .btn{font-size:14px;min-height:58px;padding:16px 25px}
  .hero-secondary{font-size:12px;line-height:1.6;padding:9px 0}
  .hero-scene-controls{left:7%;right:7%;bottom:68px;max-width:350px}
  .scene-control-label{font-size:13px;margin-bottom:10px}
  .hero-scene-controls button{font-size:12px;padding:10px 16px;min-height:44px}
  .hero-scene-controls p{font-size:11px;line-height:1.7;margin-top:11px}
  .hero-bottom{font-size:8px;bottom:21px}.hero-bottom>a{font-size:10px}
  .hero-branch{width:250px;height:330px;left:-90px;bottom:-35px}
  .intro-strip{font-size:11px;letter-spacing:0;gap:3%;padding:18px 3%}
  .eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:17px}
  .section{padding-left:7%;padding-right:7%}
  .section-heading>p{font-size:14px;line-height:1.9;margin-top:18px}
  .section-heading>.text-link{font-size:13px}
  .salon-trail{padding:30px 0 28px;gap:22px;margin:0 7%}
  .trail-intro{display:block}
  .trail-intro .eyebrow{display:block;font-size:12px;margin-bottom:11px}
  .trail-intro h2{font-size:26px;line-height:1.6;margin-bottom:12px}
  .trail-intro h2 br{display:none}
  .trail-intro p{font-size:13px;line-height:1.8}
  .trail-intro p br{display:none}
  .trail-stops{grid-template-columns:1fr;gap:0;margin:0;border-top:1px solid var(--line)}
  .trail-stops a{flex-direction:row;text-align:left;min-height:0;padding:17px 0;gap:19px;border-bottom:1px solid var(--line)}
  .trail-stamp{width:59px;height:59px;flex:none;box-shadow:inset 0 0 0 4px #f7f1df,0 3px 0 #d9dcc7}
  .trail-stamp .icon{width:32px;height:40px}
  .trail-stamp b{width:22px;height:22px;right:-3px;bottom:-3px;font-size:12px}
  .trail-stops small{font-size:12px;margin:0 0 3px}
  .trail-stops strong{font-size:18px}
  .trail-stops em{font-size:12px;margin-top:3px}
  .trail-footer{margin:0;padding:0;border:0;gap:18px}
  .trail-footer p{font-size:12px;line-height:1.8}
  .about{padding-top:60px;padding-bottom:60px}
  .about h2{font-size:31px}
  .day-scenes p{font-size:14px;line-height:1.85;padding:14px 0}
  .day-scenes span{font-size:12px;margin-bottom:5px}
  .about-copy .salon-intention{font-size:14px;line-height:1.95;padding-left:16px}
  .salon-intention>span{font-size:16px}
  .vertical-note{font-size:11px;right:-26px}
  .photo-note{font-size:16px}
  .about-visual{margin-right:7%}
  .herb-story{padding-top:10px;padding-bottom:30px;gap:30px}
  .herb-copy>p:not(.eyebrow){font-size:14px;line-height:1.95}
  .sensory-list strong{font-size:20px;line-height:1.65}
  .sensory-list small{font-size:13px;line-height:1.8}
  .image-caption{font-size:12px;right:16px;bottom:15px}
  .menu-section{padding-top:35px;padding-bottom:45px}
  .menu-section .section-heading h2{font-size:30px}
  .menu-layout{gap:38px}
  .menu-art{height:300px;border-radius:2px 45px 2px 2px}
  .menu-branches{left:22%;top:24px}
  .menu-art-blend .menu-branches{left:15%}
  .menu-art-word{font-size:20px;right:27px;top:32px}
  .menu-art-bottom{font-size:9px;left:95px;right:15px;bottom:27px;letter-spacing:.1em}
  .menu-art-mark{left:25px;bottom:24px;width:50px;height:50px;font-size:33px}
  .menu-body h3{font-size:28px}
  .menu-body>p{font-size:14px;line-height:1.95}
  .menu-meta{font-size:12px;line-height:1.8;gap:10px;margin-top:20px;padding:14px 0}
  .menu-body .eyebrow{font-size:12px}
  .aroma-choice{font-size:14px;min-height:53px;margin-top:15px}
  .menu-body .text-link{font-size:13px}
  .menu-follow{margin-top:25px;padding-top:20px;gap:12px}
  .menu-note{font-size:13px}
  .menu-follow .text-link{font-size:13px;gap:15px;max-width:100%}
  .journey{padding-top:35px;padding-bottom:55px}
  .journey .section-heading h2{font-size:30px}
  .journey-tabs button{font-size:17px;padding:15px 6px;gap:8px}
  .journey-tabs button span{font-size:12px}
  .journey-visual{height:285px}
  .journey-copy{padding:26px 23px;min-height:0}
  .journey-copy h3{font-size:26px;line-height:1.6}
  .journey-copy>p:not(.eyebrow){font-size:14px;line-height:1.95}
  .journey-copy .eyebrow{font-size:12px}
  .journey-copy .text-link{font-size:13px;gap:17px}
  .journey-caption{font-size:12px;left:13px;bottom:13px;padding:6px 9px}
  .journey-bottom .text-link{font-size:13px}
  .branch-scene>.icon{height:230px;width:155px}
  .branch-scene>span{font-size:16px;right:29px;top:30px}
  .check-heading h2{font-size:30px;line-height:1.6}
  .check-heading>p:not(.eyebrow){font-size:14px;line-height:1.9}
  .check-heading .check-hint{font-size:12px;line-height:1.8;margin-bottom:13px}
  .check-progress small{font-size:12px}.check-progress{max-width:255px;gap:12px}
  .check-item{padding:18px 14px;gap:10px}
  .check-num{font-size:12px;align-self:flex-start;padding-top:3px}
  .check-copy strong{font-size:17px;line-height:1.65;margin-bottom:5px}
  .check-copy small{font-size:13px;line-height:1.7}
  .check-box{width:26px;height:26px}
  .check-actions .btn{font-size:13px;min-width:0;width:100%;padding:16px 20px;gap:12px}
  .check-actions .text-button{font-size:13px}
  .check-choices>.tiny{font-size:12px;line-height:1.85}
  .check-result{padding:30px 23px}
  .check-result>.eyebrow{font-size:11px;letter-spacing:.1em;line-height:1.8}
  .result-layout{grid-template-columns:1fr;gap:27px}
  .result-ticket{min-height:0;padding:25px 20px;transform:rotate(-1deg);display:grid;grid-template-columns:85px 1fr;gap:4px 15px;text-align:left}
  .ticket-number{grid-column:1/-1;font-size:10px;margin-bottom:16px}
  .result-ticket>.icon{grid-column:1;grid-row:2/5;width:78px;height:100px;margin:0;align-self:center}
  .result-ticket h4{font-size:26px;line-height:1.5;grid-column:2}
  .result-ticket h4 br{display:none}
  .ticket-rule{grid-column:2;width:100%;margin:8px 0;max-width:none}
  .result-ticket small{grid-column:2;font-size:12px}
  .result-ticket #result-menu-name{grid-column:2;font-size:16px;line-height:1.7;margin:3px 0 0}
  .ticket-seal{position:absolute;right:15px;top:17px;font-size:10px;padding:4px 7px;opacity:.75}
  .check-result h3{font-size:25px;line-height:1.7}
  .check-result p{font-size:14px;line-height:1.95}
  .check-result li{font-size:13px;line-height:1.85}
  .result-questions h4{font-size:18px;line-height:1.8}
  .check-result .result-questions li{font-size:13px;line-height:1.9;margin-bottom:8px}
  .result-route h4{font-size:21px;line-height:1.8}
  .result-route p{font-size:14px}
  .result-route .text-link{font-size:13px;gap:15px}
  .check-result .btn{font-size:13px;padding:16px 18px;line-height:1.7}
  .check-result .tiny{font-size:12px}
  .voices{padding-top:60px;padding-bottom:55px}
  .voice-for{font-size:12px;line-height:1.8}
  .voice-body h3{font-size:21px}
  .voice-body blockquote{font-size:22px;line-height:1.85}
  .voice-body .tiny,.review-note{font-size:12px;line-height:1.9}
  .salon-album>summary{padding:26px 7%;gap:15px}
  .salon-album>summary>span:first-child{gap:17px}
  .salon-album>summary .icon{width:33px;height:43px}
  .salon-album>summary small{font-size:12px}
  .salon-album>summary strong{font-size:20px;line-height:1.7}
  .salon-album .gallery-controls{font-size:12px;line-height:1.7}
  .gallery-controls>span{max-width:195px}
  .gallery-item:nth-child(n){flex-basis:235px;width:235px}
  .first-visit{grid-template-columns:1fr;padding-top:60px;padding-bottom:55px;gap:30px}
  .first-visit-heading{position:relative}
  .first-visit-heading h2{font-size:30px;line-height:1.65;margin-bottom:20px}
  .first-visit-heading>p:not(.eyebrow){font-size:14px}
  .visit-door{position:absolute;right:0;top:45px;margin:0;gap:5px;opacity:.7;flex-direction:column}
  .visit-door .icon{width:45px;height:55px}
  .visit-door>span{font-size:11px;text-align:center}
  .visit-door b{font-size:27px}
  .first-visit-ledger{padding:24px 22px;box-shadow:5px 5px 0 #e1e3cd}
  .ledger-heading{font-size:10px;gap:12px;line-height:1.8}
  .visit-fact{padding:19px 0;gap:7px 12px}
  .visit-fact dt{font-size:21px}
  .visit-fact dd{font-size:14px;line-height:1.85}
  .fact-ask{font-size:13px;gap:6px;min-width:59px}
  .fact-ask .icon{width:21px}
  .first-visit-ledger .btn{font-size:13px;gap:15px;min-height:57px;padding:15px 20px}
  .first-visit-ledger .tiny{font-size:12px}
  .faq-preview{padding-top:10px;padding-bottom:50px}
  .faq-item summary,.faq-page .faq-item summary{font-size:15px;line-height:1.8;gap:12px;padding:24px 0}
  .q-number{font-size:12px}
  .faq-answer{padding:0 5px 25px 39px}
  .faq-answer p{font-size:14px;line-height:1.95}
  .faq-page-intro p:not(.eyebrow),.page-hero-copy>p:last-child{font-size:14px}
  .course-disclosure{padding-top:0;padding-bottom:50px}
  .course-disclosure>summary{padding:23px 0;gap:15px}
  .course-disclosure>summary small{font-size:12px}
  .course-disclosure>summary strong{font-size:21px}
  .course.course-content{padding:30px 0 0;gap:30px}
  .course-copy>p:not(.eyebrow):not(.lead),.course-topics{font-size:14px}
  .course-copy>.tiny{font-size:12px!important}
  .course-copy .btn{font-size:13px;line-height:1.8;gap:15px}
  .visit-content>p:not(.eyebrow){font-size:14px;line-height:1.95}
  .visit .btn{font-size:14px}
  .visit .tiny{font-size:12px!important}
  .visit-photo-caption{font-size:11px;bottom:15px;right:18px}
  .footer-top p{font-size:14px;line-height:1.9}
  .footer-top>nav{font-size:14px;gap:9px 23px}
  .footer-contact .eyebrow{font-size:12px}
  .footer-top .text-link{font-size:14px;min-height:44px}
  .footer-bottom{font-size:11px}
  .mobile-dock{gap:15px;padding:10px 5% calc(10px + env(safe-area-inset-bottom))}
  .mobile-dock>a{font-size:12px;gap:6px}
  .mobile-dock>a>.icon{width:24px;height:24px}
  .dock-book{font-size:13px;line-height:1.6;min-height:48px;padding:12px 17px;gap:12px}
  .dialog-sheet{padding:27px 21px}
  .dialog-sheet h2{font-size:26px;line-height:1.6;padding-right:10px}
  .dialog-sheet #booking-context{font-size:13px;line-height:1.8}
  .inquiry-topics button{font-size:13px;min-height:44px;padding:9px 12px}
  .inquiry-fieldset legend{font-size:14px;line-height:1.8}
  .inquiry-fieldset legend small{font-size:12px;margin-left:7px}
  .inquiry-label{font-size:13px}
  #inquiry-message{font-size:16px;min-height:160px;padding:12px}
  .inquiry-help{font-size:12px!important;line-height:1.8}
  .copy-button{font-size:14px;min-height:46px}
  .dialog-sheet .dialog-status{font-size:12px}
  .dialog-sheet .btn{font-size:14px}
  .phone-alternative{font-size:12px;line-height:1.8}
  .phone-alternative strong{font-size:20px;margin-left:8px}
  .dialog-sheet .tiny{font-size:12px;line-height:1.8}
  #photo-caption{font-size:12px;line-height:1.8}
  .breadcrumb{font-size:12px;line-height:1.8}
  .voice-invitation p:not(.eyebrow){font-size:14px}
  .toast{font-size:13px;line-height:1.8;bottom:90px;padding:12px 18px;min-width:0;width:max-content;max-width:88vw}
}
@media(max-width:380px){.brand>span{font-size:16px}.brand>.icon{width:25px}.brand small{font-size:7px}.header-actions{gap:7px}.sound-toggle{gap:3px}.sound-toggle span{font-size:10px}.hero{min-height:850px}.hero-location{font-size:10px}.hero h1{font-size:38px}.hero-scene-controls button{font-size:11px;padding:11px 13px}.intro-strip{font-size:10px}.check-copy strong{font-size:16px}.check-copy small{font-size:12px}.check-item{padding:17px 12px;gap:8px}.check-num{font-size:11px}.check-box{width:24px;height:24px}.check-actions .btn{font-size:12px}.journey-tabs button{font-size:16px;gap:6px}.journey-tabs button span{font-size:11px}.journey-copy{padding:24px 20px}.journey-copy h3{font-size:25px}.menu-art-word{right:23px}.menu-art-bottom{font-size:8px}.menu-branches{left:17%}.menu-art-blend .menu-branches{left:7%}.first-visit-heading h2{font-size:28px}.visit-door{right:-3px}.visit-door .icon{width:38px;height:49px}.first-visit-ledger{padding:23px 17px}.ledger-heading{font-size:9px}.mobile-dock{gap:10px;padding-left:4%;padding-right:4%}.mobile-dock>a{font-size:11px}.dock-book{font-size:12px;padding:12px 14px}.inquiry-topics button{font-size:12px;padding:9px 11px}.phone-alternative strong{display:block;margin:4px 0}.result-ticket h4{font-size:24px}}
@media(prefers-reduced-motion:reduce){.hero-backdrop img,.hero h1>span,.hero-branch,.hero:after,.hero.scene-turning:after,.hero[data-scene=salon] .hero-scene-salon img,.hero .action-arrived,.site-header .action-arrived,.action-arrived,.stamp-arrived .trail-stamp,.motion-ready .reveal.is-visible h2,.motion-ready .reveal.is-visible .menu-branches,.motion-ready .reveal.is-visible .botanical-drawing,.journey-panel:not([hidden]) .branch-scene .icon{animation:none!important}.hero-backdrop img{transform:none}.hero:after{display:none}.hero-branch{opacity:.14;clip-path:none}.trail-stamp,.trail-stamp b{transition:none}.aroma-selected .menu-branches{transform:none}}
@media print{.salon-trail,.hero-branch,.hero:after,.mobile-dock{display:none!important}.result-ticket{transform:none}.course-disclosure>summary{display:none}.course-disclosure>.course{display:grid!important}.first-visit{display:block}.first-visit-ledger{box-shadow:none}.hero h1>span{animation:none!important;transform:none}.action-control{animation:none!important}}
