/* Concrete trip information and attributed guest impressions. */
.hero-typography{top:23%;max-width:760px}
.hero-typography h1{display:block;font-size:clamp(40px,4.5vw,68px);line-height:1.6;letter-spacing:.025em}
.hero-copy{max-width:670px;margin-top:22px;font-size:15px;line-height:2.1;letter-spacing:.02em}
.hero-plan-index{display:inline-block;margin:16px 0 0 5px;padding-bottom:5px;border-bottom:1px solid #ffffff80;text-decoration:none;font-size:12px}
.hero-plan-index span{margin-left:15px}
.chapter-copy{top:26%}
.chapter-copy h2{font-size:clamp(38px,4.3vw,62px);letter-spacing:.035em}
.chapter-copy>p.chapter-note{font-size:11px;line-height:1.8;margin-top:12px;color:#e5eae5}
.motion-toggle[hidden]{display:none}
.interlude-body>p.copy-note{font-size:11px;line-height:1.8;margin-top:14px}
.album-heading h2{font-size:30px;letter-spacing:.03em}
.travel-note{display:block;margin-top:12px;font-size:10px;color:#cfd6cb}
.practical h2{font-size:34px;letter-spacing:.025em}
.finale{height:540px}
.finale-content{width:min(88%,600px)}
.final-reserve{min-width:0;width:100%}
.finale h2{font-size:50px;line-height:1.5;margin:16px 0 25px}
.telephone{display:inline-flex;flex-direction:column;gap:6px;margin-top:20px}
.telephone-label{font:11px/1.6 var(--sans);letter-spacing:.06em}
.telephone-number{font:400 26px/1.25 Arial,Helvetica,sans-serif;font-variant-numeric:lining-nums tabular-nums;letter-spacing:.06em}
.guest-voices{padding:80px 6% 70px;background:#f4f3ef}
.voices-heading{margin-bottom:36px}
.voices-heading h2{font-size:37px;line-height:1.65;letter-spacing:.04em}
.voices-heading>p:last-child{margin-top:15px;font-size:14px;color:var(--mute)}
.voices-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #bfc4b9;border-bottom:1px solid #bfc4b9}
.guest-voice{padding:30px 35px 30px 0;min-width:0}
.guest-voice+.guest-voice{border-left:1px solid #bfc4b9;padding:30px 0 30px 35px}
.voice-theme{color:var(--red);font-size:11px;letter-spacing:.07em;margin-bottom:14px}
.voice-rating{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-bottom:20px}
.voice-stars{display:inline-flex;gap:3px;color:#a3762d}
.voice-stars>span{display:block;font:24px/1 Arial,sans-serif}
.voice-stars .star-empty{color:#c8c6bd}
.voice-stars .star-half{color:transparent;background:linear-gradient(90deg,#a3762d 50%,#c8c6bd 50%);background-clip:text;-webkit-background-clip:text}
.voice-rating>strong{font:500 23px/1.2 Arial,sans-serif;color:var(--ink);font-variant-numeric:tabular-nums}
.voice-rating>strong small{font-size:12px;color:var(--mute)}
.voice-rating-label{flex-basis:100%;font-size:10px;line-height:1.5;color:var(--mute)}
.guest-voice h3{font-size:23px;line-height:1.7;letter-spacing:.025em;margin-bottom:16px}
.guest-voice>p:not(.voice-theme):not(.voice-source){font-size:14px;line-height:2;max-width:42em}
.guest-voice .voice-source{font-size:11px;line-height:1.8;color:var(--mute);margin-top:23px}
.guest-voice>a{display:inline-block;font-size:11px;margin-top:10px;color:var(--mute)}
.voices-note{font-size:11px;line-height:1.8;color:var(--mute);margin-top:19px}
@media(min-width:1500px){.hero-typography{top:23%}}
@media(max-width:1000px){.hero-typography{right:10%;max-width:680px}.hero-typography h1{font-size:46px}.hero-copy{font-size:14px}.chapter-copy h2{font-size:44px}.guest-voice h3{font-size:21px}}
@media(max-width:680px){
 .hero-typography{top:20%;left:26px;right:22px}
 .hero-typography h1{font-size:30px;line-height:1.75;letter-spacing:.01em}
 .location{font-size:10px;margin-bottom:17px;letter-spacing:.06em}
 .hero-copy{font-size:13px;line-height:2;margin-top:18px;max-width:31em}
 .hero-copy br{display:none}
 .hero-plan-index{margin:15px 0 0;font-size:11px}
 .chapter-copy{top:25%}
 .chapter-copy h2{font-size:31px;line-height:1.75;letter-spacing:.02em}
 .chapter-copy>p:not(.chapter-time){font-size:13px}
 .chapter-copy>p.chapter-note{font-size:10px}
 .album-heading h2{font-size:31px}
 .practical h2{font-size:27px}
 .finale{height:470px}
 .finale h2{font-size:35px}
 .telephone-number{font-size:25px}
 .guest-voices{padding:52px 25px}
 .voices-heading{margin-bottom:25px}
 .voices-heading h2{font-size:27px;letter-spacing:.01em}
 .voices-heading>p:last-child{font-size:13px}
 .voices-grid{display:block}
 .guest-voice,.guest-voice+.guest-voice{padding:25px 0;border-left:0}
 .guest-voice+.guest-voice{border-top:1px solid #bfc4b9}
 .guest-voice h3{font-size:22px}
 .guest-voice>p:not(.voice-theme):not(.voice-source){font-size:13px}
}
@media(max-width:360px){.hero-typography{left:22px;right:18px}.hero-typography h1{font-size:25px}.hero-copy{font-size:12px}.chapter-copy h2{font-size:27px}.chapter-copy>p:not(.chapter-time){font-size:12px}.practical h2{font-size:24px}.voices-heading h2{font-size:24px}.guest-voice h3{font-size:21px}.finale h2{font-size:30px}}

/* Keep location information within the autumn landing page. */
.practical{row-gap:36px}
.access-map{grid-column:1 / -1;min-width:0}
.access-map iframe{display:block;width:100%;height:360px;border:0;background:#e5e7de}
.access-map figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;margin-top:13px;font-size:11px;line-height:1.8;color:var(--mute)}
.access-map figcaption strong{font-size:13px;font-weight:500;color:var(--ink)}
@media(max-width:680px){.access-map{margin-top:32px}.access-map iframe{height:300px}.access-map figcaption{display:block}.access-map figcaption span{display:block;margin-top:4px}}

@media(max-width:680px){.finale h2{font-size:clamp(26px,8.2vw,35px);letter-spacing:0}}

/* Keep scenic headings on two lines on small phones. */
@media(max-width:360px){.interlude h2{font-size:30px}.album-heading h2{font-size:28px}}

/* Lift photographic midtones without clipping highlights or changing source photos. */
.album-tone-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.album-item .album-photo-herb{filter:url(#album-tone-herb)}
.album-item .album-photo-hanitsu{filter:url(#album-tone-hanitsu)}

/* Shorter native scroll journey, with direct scene buttons and an exit. */
.enhanced .journey{height:230svh}
.enhanced .stage{height:100svh;min-height:0;position:sticky;top:0}
.enhanced .scene{height:100svh;min-height:0;position:absolute;inset:0;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .45s,visibility .45s}
.enhanced .scene.is-active{opacity:1;pointer-events:auto;visibility:visible}
.enhanced .scene:not(.is-active) .scene-media{transform:none}
.stay-plan{display:flex;flex-direction:column;min-width:0}
.plan-info{display:flex;flex-direction:column;flex:1}
.plan-info .plan-link{margin-top:auto}
.plan-info .benefit{margin-bottom:23px}
.plan-visual{flex-shrink:0}
/* Distinguish guest accounts from the hotel's own copy. */
.guest-voices{border-top:1px solid #d4d7ce;border-bottom:1px solid #d4d7ce}
.voices-heading{text-align:center;padding-bottom:10px}
.voices-heading h2{font-size:32px;letter-spacing:.015em}
.voice-year{font-family:Arial,Helvetica,sans-serif;letter-spacing:.02em}
.voices-heading .small-label{display:flex;align-items:center;justify-content:center;gap:16px;font:11px/1.8 Arial,sans-serif;letter-spacing:.15em}
.voices-heading .small-label::before,.voices-heading .small-label::after{content:"";width:40px;height:1px;background:#b2a392}
.voices-grid{gap:26px;border:0}
.guest-voice,.guest-voice+.guest-voice{position:relative;padding:30px;border:1px solid #c7c9be;background:#fffdf8;box-shadow:inset 0 0 0 6px #f4f3ef}
.voice-theme{display:inline-block;padding-bottom:7px;border-bottom:1px solid #d5c5b0}
@media(max-width:680px){
 .voices-heading h2{font-size:26px;line-height:1.7}
 .voices-heading>p:last-child{max-width:25em;margin-inline:auto}
 .guest-voice,.guest-voice+.guest-voice{padding:25px 22px}
 .guest-voice+.guest-voice{margin-top:22px}
 .guest-voice h3{font-size:20px}
 .voices-note{font-size:10px}
}
@media(max-width:360px){.voices-heading h2{font-size:23px}.guest-voice,.guest-voice+.guest-voice{padding:23px 18px}.guest-voice h3{font-size:17px}}

.plan-title-lead{display:block;font-size:14px;line-height:2;letter-spacing:.02em;margin-bottom:4px}
@media(max-width:360px){.film-open>span:last-child{max-width:102px}.film-open .play-icon{flex-shrink:0}}

.scene-footer{display:grid;grid-template-columns:1fr auto auto;gap:20px;padding-block:18px}
.scene-progress{position:absolute;top:-1px;left:0;right:0;height:2px;pointer-events:none}
.scene-progress span{display:block;height:100%;width:var(--journey-progress,0%);background:white}
.scene-selector button[aria-pressed=true]{text-decoration:none}
.scene-selector button[aria-pressed=true]::after{display:block;top:auto;right:auto;bottom:-6px;left:50%;width:20px;height:2px;transform:translateX(-50%);background:currentColor;pointer-events:none}
.scene-next{background:none;border:0;color:white;font-size:12px;padding:6px 0;letter-spacing:.04em}
.scene-next:after{content:"↓";margin-left:14px}
.scene-footer .motion-toggle{grid-column:3;margin:0}
@media(max-width:680px){
 .enhanced .journey{height:220svh}
 .scene-footer{grid-template-columns:1fr auto;gap:8px 12px;padding:13px 0 15px}
 .scene-next{grid-column:1/-1;grid-row:2;justify-self:end;font-size:11px;padding:3px 0}
 .scene-footer .motion-toggle{grid-column:2;grid-row:1}
 .reserve-disc{bottom:140px}
 .film-open{bottom:165px}
}
@media(max-height:679px){
 .scene-footer{position:relative;left:auto;right:auto;margin-inline:5%;}
 .scene-next{display:none}
}

.voices-heading>p.voices-season{display:flex;justify-content:center;align-items:center;gap:0;margin-top:13px;font-size:15px;letter-spacing:.05em;color:var(--mute)}
.voices-season::before,.voices-season::after{content:"";display:block;width:34px;height:1px;background:#b2a392;margin:0 16px}
@media(max-width:680px){.voices-heading>p.voices-season{font-size:14px}}

/* Show every plan; these links jump to each dinner choice. */
.plan-nav{display:flex;align-items:stretch;gap:6px;flex-shrink:0}
.plan-nav a{display:flex;align-items:center;padding:11px 16px;border:1px solid #bcc8bd;border-radius:3px;background:#f4f3ef;color:#344c40;font:13px/1.6 var(--sans);white-space:nowrap;text-decoration:none;transition:background .2s,color .2s}
.plan-nav a:hover,.plan-nav a:focus-visible{background:#344c40;border-color:#344c40;color:white}
.plans-all .plan-grid{display:block}
.plans-all .stay-plan{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(24px,4vw,60px);align-items:start;margin:0;padding:0;border:0}
.plans-all .stay-plan+.stay-plan{margin-top:44px;padding-top:44px;border-top:1px solid #c9cdc3}
.plans-all .plan-visual img{aspect-ratio:3/2}
.plans-all .plan-info{padding-top:0;align-self:stretch}
.plans-all .plan-info>p:not(.plan-kind):not(.benefit){min-height:0}
.plans-all .plan-info h3{font-size:30px}
.plans-all .plan-title-lead{font-size:15px}
@media(max-width:900px){.plans-all .section-top{display:block}.plan-nav{margin-top:24px;width:fit-content}.plans-all .plan-info h3{font-size:26px}}
@media(max-width:680px){
 .plans-all .stay-plan{display:block}
 .plans-all .stay-plan+.stay-plan{margin-top:32px;padding-top:32px}
 .plans-all .plan-info{padding-top:23px}
 .plans-all .plan-info .plan-link{margin-top:23px}
 .plans-all .plan-info h3{font-size:26px}
 .plan-nav{margin-top:22px}
}
@media(max-width:360px){.plan-nav{gap:4px}.plan-nav a{font-size:12px;padding:11px 10px}}

/* Keep in-page calls to action quiet; the final button opens booking. */
.header-reserve{justify-content:center;min-width:110px}
.reserve-disc{display:flex;justify-content:center;align-items:center;padding:0}
.reserve-disc .reserve-disc-copy{display:block;font:inherit}
.sticky-reserve{justify-content:center}
@media(max-width:680px){.header-reserve{min-width:90px}}
