/* Third refinement — the room, the leaves, and a small notebook to take along. */
.hero{height:100svh;min-height:700px;max-height:1100px}
.hero-content{top:48%;max-width:690px}
.hero-intro{font-size:16px;line-height:1.95}
.brand small{letter-spacing:.11em;font-size:9px}
.hero-bottom{letter-spacing:.12em}
.hero-scene-controls p{font-size:12px}
.menu-art-bottom{font-size:12px;letter-spacing:.1em}
.salon-intention{border-left:2px solid #a1a776;padding:0 0 0 22px;margin:30px 0 25px}
.salon-intention>span{font:21px/1.7 var(--serif);color:#596947;display:block;margin-bottom:12px}
.salon-intention p{font-size:14px;line-height:1.95;margin:0 0 12px}
.salon-intention small{font-size:12px;color:#71805f}
.menu-feature{isolation:isolate}
.menu-art{box-shadow:inset 0 1px 0 #fff8,0 14px 35px #5464410c}
.menu-art-ring{transition:box-shadow .7s,border-color .7s}
.menu-follow-note{display:grid;gap:12px}
.local-stamp{display:inline-flex;align-items:center;gap:9px;min-height:30px;font:12px/1.5 var(--sans);color:#788168}
.local-stamp>.icon{width:25px;height:25px;border:1px dashed #9ca68b;border-radius:50%;padding:4px;stroke-width:1.4;opacity:.6;flex:none}
.local-stamp.is-earned{color:#45633e}
.local-stamp.is-earned>.icon{border:1px solid #9c995c;background:radial-gradient(circle at 30% 20%,#f9e9b9,#c8bc79);color:#32522f;opacity:1;box-shadow:0 2px 0 #b0ac74,inset 0 1px 0 #fff8}
.journey-bottom{gap:20px}
.journey-bottom>.local-stamp{margin-right:auto}
.chapter-next{margin-top:25px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding-top:23px}
.chapter-next p{font-size:13px;line-height:1.9;color:#657456;margin:0}
.chapter-next .text-link{font-size:14px;flex:none}
.journey-steam{position:absolute;left:31%;right:24%;top:17%;bottom:8%;pointer-events:none;overflow:hidden}
.journey-steam i{position:absolute;left:20%;bottom:-25%;width:24%;height:76%;border-left:2px solid #fff2d2a6;border-radius:50%;filter:blur(2px);opacity:0;transform-origin:center bottom}
.journey-steam i:nth-child(2){left:47%;height:90%}
.journey-steam i:nth-child(3){left:70%;height:64%}
.result-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}
.result-heading>.eyebrow{margin:0;font-size:12px}
.result-heading .local-stamp.is-earned{color:#e1d8a4}
.result-layout{grid-template-columns:.58fr 1fr;gap:35px;align-items:center}
.result-ticket{min-height:350px;padding:23px}
.result-ticket>.icon{height:92px;width:80px;margin-bottom:8px}
.result-ticket h4{font-size:27px}
.ticket-number{font-size:12px;letter-spacing:.07em;margin-bottom:15px}
.ticket-rule{margin:18px auto 13px}
.result-ticket #result-menu-name{font-size:16px;margin-bottom:8px}
.ticket-seal{font-size:11px}
.check-result{scroll-margin-top:24px}
.check-result h3{font-size:29px;margin-bottom:12px}
.check-result #result-text{font-size:14px;line-height:1.85;color:#e1e6ce;margin-bottom:18px}
.result-details{border-top:1px solid #d5d7ac55;border-bottom:1px solid #d5d7ac55;margin:20px 0 0}
.result-details>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;padding:15px 0;color:#f3e9bf;font-size:13px;min-height:56px}
.result-details>summary::-webkit-details-marker{display:none}
#result-detail-count{font-size:12px;color:#cdd8b6;margin-left:auto;white-space:nowrap}
.detail-cross{font-size:23px;line-height:1;transition:rotate .25s}
.result-details[open] .detail-cross{rotate:45deg}
.result-detail-body{padding:6px 0 12px}
.result-detail-body>h4,.result-questions h4{font:14px/1.8 var(--sans);color:#dce1bb}
.check-result .result-detail-body ul{margin:12px 0 18px}
.result-questions{border:0;margin:12px 0 0;padding:0}
.result-route{border:0;padding:21px 0}
.result-route>span{font-size:12px;color:#c8ceab}
.result-route h4{font-size:23px;line-height:1.6;margin-bottom:10px}
.result-route p{font-size:14px;line-height:1.85;margin-bottom:5px}
.result-route .text-link{font-size:13px;min-height:44px}
.result-copy>.btn{font-size:14px;min-width:0;max-width:100%}
.result-copy>.tiny{margin:14px 0 0}
.voice-body h3{font-size:21px;margin-bottom:15px}
.voice-body blockquote{font-size:22px;line-height:1.9}
.voice-for{line-height:1.8}
.voice-card{position:relative}
.voice-card:after{content:"";position:absolute;right:27px;top:81px;width:33px;height:1px;background:#9fa980}
.visit-questions{grid-column:1/-1;border-top:1px solid var(--line);padding-top:28px;margin-top:8px;display:grid;grid-template-columns:.65fr 1.35fr;gap:5px 45px}
.visit-questions>div:first-child{padding-top:10px}
.visit-questions .eyebrow{font-size:12px;margin-bottom:13px}
.visit-questions h3{font-size:25px;line-height:1.7}
.visit-questions .faq-list{margin:0}
.visit-questions .faq-item:first-child{border-top:0}
.visit-questions .faq-item summary{padding:17px 0}
.visit-questions>.text-link{grid-column:2;justify-self:start;margin-top:15px}
.first-visit{row-gap:36px}
.first-visit-heading h2{font-size:38px}
.visit-fact dd{font-size:14px}
.course-art-word{font-family:var(--serif);font-size:55px;line-height:1.4;letter-spacing:.15em}
.stamp-notice{position:fixed;top:26px;left:50%;translate:-50% -20px;z-index:60;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 32px);padding:13px 21px 13px 13px;border:1px solid #c8bd88;border-radius:40px;background:linear-gradient(120deg,#fff9e6f5,#ece3c4f5);color:#3c5639;box-shadow:0 8px 35px #20362333;pointer-events:none;opacity:0;transition:opacity .25s,translate .4s var(--ease)}
.stamp-notice.visible{opacity:1;translate:-50% 0}
.stamp-notice-mark{width:32px;height:32px;border:1px solid #9c995c;border-radius:50%;display:grid;place-items:center;background:radial-gradient(ellipse at 30% 20%,#d9dfb0,#afba83);box-shadow:inset 0 0 0 3px #edf0d080;flex:none}
.stamp-notice-mark>.icon{width:20px;height:20px}
#stamp-notice-text{font-size:13px;line-height:1.6}
.trail-award{position:fixed;z-index:50;bottom:26px;right:26px;width:345px;max-width:calc(100vw - 32px);padding:25px 27px 23px;color:#354d32;background:radial-gradient(ellipse at 90% 0,#faf0bdaa,transparent 70%),repeating-linear-gradient(0deg,#bda87009 0 1px,transparent 1px 5px),linear-gradient(120deg,#fff9e8,#e5ddbf);border:1px solid #b2aa7f;border-radius:3px 36px 3px 3px;box-shadow:8px 8px 0 #20362328,0 15px 60px #122a2845}
.trail-award:before{content:"";position:absolute;inset:9px;border:1px solid #aca36f70;border-radius:inherit;pointer-events:none}
.award-close{position:absolute;right:13px;top:13px;display:grid;place-items:center;width:40px;height:40px;border:1px solid #b1b18d;border-radius:50%;background:linear-gradient(135deg,#fff8df,#e3dfc0);color:#596846;box-shadow:0 3px 0 #b6b493}
.award-close .icon{width:17px;height:17px}
.award-stamps{display:flex;gap:8px;margin:0 0 18px}
.award-stamps .icon{width:38px;height:38px;padding:8px;border:1px solid #909c66;border-radius:50%;background:linear-gradient(130deg,#67794d,#395639);color:#efdfac;box-shadow:inset 0 0 0 3px #5a704d,0 3px 0 #bac098;stroke-width:1.4}
.trail-award .eyebrow{font-size:11px;margin-bottom:9px;letter-spacing:.1em}
.trail-award h2{font-size:26px;line-height:1.6;margin:0 0 12px}
#trail-award-menu{font-size:12px;line-height:1.8;margin:0 0 6px}
.trail-award .text-link{font-size:14px;min-height:44px}
.action-control:focus-visible{outline:2px solid #a99350;outline-offset:5px}
.check-result .action-control:focus-visible,.hero .action-control:focus-visible{outline-color:#e7d5a4}
.result-details .action-control.is-pressed{box-shadow:none!important}
@media(prefers-reduced-motion:no-preference){
  .motion-ready .menu-feature.reveal.is-visible .menu-branches{animation:leaf-unfold 1.45s var(--ease) both}
  .motion-ready .menu-feature.reveal.is-visible .menu-art-ring{animation:ink-circle 1.5s var(--ease) both}
  .motion-ready .about-visual.reveal.is-visible{animation:photo-unveil 1.25s var(--ease) both}
  .motion-ready .voice-card.reveal.is-visible{animation:letter-arrival .85s var(--ease) both}
  .motion-ready .voice-card:nth-child(2).reveal.is-visible{animation-delay:.1s}
  .motion-ready .voice-card:nth-child(3).reveal.is-visible{animation-delay:.2s}
  .journey-panel:not([hidden]) .journey-steam i{animation:room-steam 4.5s ease-in-out infinite}
  .journey-panel:not([hidden]) .journey-steam i:nth-child(2){animation-delay:1s}
  .journey-panel:not([hidden]) .journey-steam i:nth-child(3){animation-delay:2s}
  .local-stamp.stamp-arrived>.icon{animation:stamp-mark .8s var(--ease)}
  .trail-award:not([hidden]){animation:notebook-open .65s var(--ease) both}
  .trail-award:not([hidden]) .award-stamps .icon{animation:stamp-mark .7s .15s var(--ease) both}
  .trail-award:not([hidden]) .award-stamps .icon:nth-child(2){animation-delay:.28s}
  .trail-award:not([hidden]) .award-stamps .icon:nth-child(3){animation-delay:.4s}
  [data-book].action-control.press-pop{animation:reservation-return .58s var(--ease)!important}
}
@keyframes leaf-unfold{from{clip-path:inset(100% 0 0);translate:0 28px;opacity:.25}to{clip-path:inset(0);translate:0 0;opacity:1}}
@keyframes ink-circle{from{opacity:0;scale:.65;rotate:-18deg}to{opacity:1;scale:1;rotate:0deg}}
@keyframes photo-unveil{from{clip-path:inset(6% 0 4% 8%);translate:0 20px}to{clip-path:inset(0);translate:0 0}}
@keyframes letter-arrival{from{translate:0 24px;rotate:-1.3deg}to{translate:0 0;rotate:0deg}}
@keyframes room-steam{0%{opacity:0;translate:0 20%;rotate:-10deg;scale:1 .5}40%{opacity:.4}100%{opacity:0;translate:-12% -70%;rotate:12deg;scale:1.3 1.3}}
@keyframes notebook-open{from{opacity:0;translate:0 35px;rotate:4deg;scale:.94}to{opacity:1;translate:0 0;rotate:0deg;scale:1}}
@keyframes reservation-return{0%{translate:0 3px;scale:.975}45%{translate:0 -3px;scale:1.02;filter:brightness(1.12)}100%{translate:0 0;scale:1;filter:brightness(1)}}
@media(max-width:1100px){.desktop-nav{gap:15px;font-size:12px}.header-book{font-size:12px}.hero-content{max-width:590px}.hero h1{font-size:64px}.result-layout{grid-template-columns:.58fr 1fr;gap:25px}.result-ticket{padding:24px 18px}.result-route h4{font-size:21px}.visit-questions{gap:5px 30px}.first-visit-heading h2{font-size:34px}}
@media(max-width:960px){.trail-award{bottom:95px}.journey-bottom{flex-wrap:wrap;gap:14px}.journey-bottom>.local-stamp{font-size:11px}.chapter-next{align-items:flex-start;flex-direction:column;gap:10px}.visit-questions{grid-template-columns:1fr}.visit-questions>.text-link{grid-column:1}.visit-questions>div:first-child{margin-bottom:10px}.first-visit-heading h2{font-size:31px}.hero-intro{font-size:15px}}
@media(max-width:700px){
  .hero{display:flex;flex-direction:column;justify-content:flex-end;gap:19px;height:auto;min-height:100svh;max-height:none;padding:clamp(150px,26svh,240px) 7% 24px}
  .hero-content{position:relative;inset:auto;transform:none;max-width:none;width:100%}
  .hero h1{font-size:clamp(36px,9.8vw,60px);line-height:1.4;letter-spacing:0}
  .hero-location{font-size:11px;margin-bottom:13px;line-height:1.65}
  .hero-intro{font-size:14px;line-height:1.8;margin:17px 0 20px;letter-spacing:.025em}
  .hero-actions{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:9px 20px}
  .hero-actions .btn{min-width:0;min-height:55px;font-size:14px;padding:15px 24px;margin:0}
  .hero-secondary{font-size:12px;min-height:40px;padding:7px 0;gap:18px}
  .hero-backdrop img{object-position:64% 30%}
  .hero-shade{background:linear-gradient(0deg,#132b20fc 0%,#132b20e6 25%,#172b2190 50%,#172b2110 77%,#132b2178 100%)}
  .hero-scene-controls{position:relative;inset:auto;max-width:100%;width:100%;text-align:left;margin:0}
  .scene-control-label{display:none}
  .hero-scene-controls>div{max-width:100%;padding:3px}
  .hero-scene-controls button{font-size:12px;padding:10px 16px;min-height:44px}
  .hero-scene-controls p{font-size:11px;line-height:1.6;margin-top:9px}
  .hero-bottom{display:none}
  .brand small{font-size:8px}
  .salon-trail{padding-top:28px}
  .salon-intention{padding-left:17px;margin:25px 0}
  .salon-intention>span{font-size:21px}
  .salon-intention p{font-size:14px}
  .about h2{font-size:31px}
  .menu-art-bottom{font-size:11px;letter-spacing:.04em;left:96px}
  .menu-follow{margin-top:26px}
  .local-stamp{font-size:12px;line-height:1.6}
  .journey-bottom{display:grid;grid-template-columns:auto 1fr;align-items:center}
  .journey-bottom>.local-stamp{grid-column:1/-1;grid-row:2;font-size:12px}
  .journey-bottom>#journey-next{grid-column:2;grid-row:1;justify-self:end;font-size:13px}
  .chapter-next{margin-top:19px;padding-top:20px}
  .chapter-next .text-link{font-size:13px}
  .journey-copy{min-height:0;padding:27px 23px}
  .journey-copy>p:not(.eyebrow){font-size:14px}
  .result-heading{align-items:flex-start;gap:10px;margin-bottom:18px;flex-wrap:wrap}
  .result-heading>.eyebrow{font-size:12px;line-height:30px}
  .result-layout{grid-template-columns:1fr;gap:25px}
  .result-ticket{min-height:0;display:grid;grid-template-columns:56px 1fr;gap:3px 18px;padding:23px 24px;transform:rotate(-1deg);text-align:left}
  .ticket-number{grid-column:1/-1;font-size:11px;margin-bottom:10px}
  .result-ticket>.icon{grid-column:1;grid-row:2/5;width:54px;height:80px;margin:0;align-self:center}
  .result-ticket h4{grid-column:2;font-size:22px;line-height:1.5;margin:0}
  .result-ticket h4 br{display:none}
  .result-ticket small{grid-column:2;font-size:11px;margin-top:7px}
  .result-ticket #result-menu-name{grid-column:2;font-size:14px;margin:2px 0 4px}
  .ticket-rule,.ticket-seal{display:none}
  .check-result{padding:26px 22px;scroll-margin-top:18px}
  .check-result h3{font-size:25px;line-height:1.6}
  .check-result #result-text{font-size:14px}
  .result-details>summary{font-size:12px;gap:6px;line-height:1.8}
  #result-detail-count{font-size:11px}
  .result-route{padding:20px 0}
  .result-route h4{font-size:22px}
  .result-route p{font-size:14px}
  .result-copy>.btn{width:100%;font-size:13px;padding:15px 18px;gap:14px;line-height:1.7}
  .voice-body blockquote{font-size:22px}
  .voice-body h3{font-size:20px}
  .visit-questions{padding-top:24px;margin-top:2px;gap:0}
  .visit-questions h3{font-size:25px}
  .visit-questions .faq-item summary{font-size:14px}
  .first-visit{row-gap:25px;padding-bottom:45px}
  .first-visit-heading h2{font-size:31px}
  .visit-fact dd{font-size:14px}
  .stamp-notice{top:14px;padding:10px 15px 10px 10px;gap:8px}
  #stamp-notice-text{font-size:12px}
  .stamp-notice-mark{width:29px;height:29px}
  .trail-award{bottom:calc(85px + env(safe-area-inset-bottom));right:16px;width:320px;padding:23px 25px;max-height:calc(100svh - 120px);overflow-y:auto}
  .trail-award h2{font-size:25px}
  .award-stamps{margin-bottom:14px}
  .course-art-word{font-size:43px}
  .mobile-dock{padding-bottom:calc(10px + env(safe-area-inset-bottom))}
}
@media(max-width:380px){
  .hero{padding-top:clamp(130px,24svh,200px);gap:16px;padding-bottom:20px}
  .hero h1{font-size:36px}
  .hero-location{font-size:10px;margin-bottom:10px}
  .hero-intro{font-size:13px;margin:14px 0 16px}
  .hero-actions .btn{font-size:13px;min-height:52px;padding:13px 22px}
  .hero-scene-controls button{font-size:11px;padding:9px 14px}
  .hero-scene-controls p{font-size:10px}
  .result-ticket{grid-template-columns:44px 1fr;gap:3px 12px;padding:21px 18px}
  .result-ticket>.icon{width:44px;height:70px}
  .result-ticket h4{font-size:20px}
  .result-details>summary{flex-wrap:wrap}
  .result-details>summary>span:first-child{flex:1}
  #result-detail-count{font-size:10px}
  .trail-award{max-width:calc(100vw - 32px)}
}
@media(max-width:700px) and (max-height:650px){.hero{padding-top:135px;gap:13px}.hero-intro{margin:13px 0 15px}.hero-scene-controls p{margin-top:7px}.hero-actions{gap:4px 15px}}
@media(prefers-reduced-motion:reduce){.stamp-notice{transition:none}.journey-steam{display:none}.local-stamp,.award-stamps .icon{animation:none!important}.hero{scroll-behavior:auto}}
@media print{.trail-award,.stamp-notice,.local-stamp,.chapter-next,.journey-steam{display:none!important}.hero{min-height:0;height:auto;padding:0;display:block}.hero-content{padding:35px 7%}.result-layout{grid-template-columns:1fr}.result-detail-body{display:block}.result-details>summary{display:none}.result-ticket{transform:none}.visit-questions{display:block}}
