/* TableWeb adaptation of photo-business-cover-v3/src/immersive.css and cover.css. */
.tw-scroll-story { display:none; }
html.motion-ready .tw-scroll-story, html.motion-off .tw-scroll-story { display:block; }
.tw-scroll-story .story-track { position:relative; background:#fff; }
.tw-scroll-story .story-stage { position:relative; display:flex; flex-direction:column; isolation:isolate; padding-top:0; color:#182822; background:#fff; }
.tw-scroll-story .story-photo { position:relative; overflow:hidden; height:70svh; min-height:300px; flex-shrink:0; background:#182822; }
.tw-scroll-story .story-photo img { display:block; width:100%; height:100%; max-width:none; object-fit:cover; }
.tw-scroll-story .photo-wash { position:absolute; inset:0; background:linear-gradient(90deg,#182822f0,#182822aa 48%,#18282250); opacity:0; }
.tw-scroll-story .photo-two { order:4; }
.tw-scroll-story .photo-three { order:7; }
.tw-scroll-story .story-open { order:0; position:relative; min-height:calc(100svh - 80px); display:grid; place-items:center; text-align:center; padding:30px 6vw 65px; background:#fff; }
.tw-scroll-story .cover-body { width:100%; }
.tw-scroll-story .story-open .intro-label { margin-bottom:1rem; font-size:.8rem; letter-spacing:.12em; }
.tw-scroll-story .story-open h1 { max-width:14em; margin:24px auto 24px; font:inherit; font-size:clamp(1.1rem,5.9vw,4.4rem); font-weight:650; line-height:1.48; letter-spacing:-.02em; }
.tw-scroll-story .story-open .lead { max-width:37rem; margin-inline:auto; font-size:clamp(.95rem,1.15vw,1.08rem); line-height:2; }
.tw-scroll-story .story-open .hero-meta { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px 20px; margin-top:24px; }
.tw-scroll-story .story-open .hero-price { margin:0; font-size:1rem; font-weight:650; }
.tw-scroll-story .story-open .action { display:inline-flex; align-items:center; min-height:44px; }
.tw-scroll-story .cover-scroll { display:flex; justify-content:space-between; align-items:center; gap:24px; width:100%; margin:48px 0 0; padding-top:1rem; border-top:1px solid #d8ded9; color:#5b655f; font-size:.72rem; letter-spacing:.08em; }
.tw-scroll-story .cover-scroll span:last-child { color:#215a43; }
.tw-scroll-story .story-cue { order:2; padding:54px 7vw; background:#fff; color:#182822; }
.tw-scroll-story .cue-a { order:2; }
.tw-scroll-story .cue-a-detail { order:3; }
.tw-scroll-story .cue-b { order:5; }
.tw-scroll-story .cue-b-detail { order:6; }
.tw-scroll-story .cue-c { order:8; }
.tw-scroll-story .story-label { display:block; margin:0 0 18px; color:#5b655f; font-size:.72rem; line-height:1.5; letter-spacing:.14em; }
.tw-scroll-story .story-cue h2, .tw-scroll-story .story-cue > h2 { max-width:14em; margin:0; font:inherit; font-size:clamp(2rem,5.2vw,4rem); font-weight:650; line-height:1.45; letter-spacing:-.02em; }
.tw-scroll-story .story-cue p:not(.story-label) { max-width:42rem; margin:1.2rem 0 0; font-size:clamp(1rem,1.5vw,1.3rem); line-height:1.95; }
.tw-scroll-story .story-cta { display:flex; align-items:center; justify-content:space-between; gap:24px; width:max-content; max-width:100%; min-height:44px; margin-top:22px; padding:10px 0; border-bottom:1px solid currentColor; color:#215a43; font-size:.95rem; text-decoration:none; }
.tw-scroll-story .story-cta span { font-size:1.25rem; }
.tw-scroll-story .story-guide, .tw-scroll-story .story-skip { display:none; }
.tw-scroll-story .story-guide { color:#182822; }
.tw-scroll-story .story-guide.over-photo, .tw-scroll-story .story-skip.over-photo { color:#fff; }
.tw-scroll-story .guide-line { position:relative; flex:1; max-width:280px; height:1px; background:#18282250; }
.tw-scroll-story .guide-line i { position:absolute; inset:0; background:currentColor; transform-origin:left; transform:scaleX(0); }
.tw-scroll-story .guide-number { margin-left:auto; font-variant-numeric:tabular-nums; }
.tw-scroll-story .story-cue :focus-visible, .tw-scroll-story .story-skip:focus-visible, .tw-scroll-story .story-guide a:focus-visible { outline:3px solid #215a43; outline-offset:5px; }
.tw-scroll-story .story-arrival { padding:70px 7vw 30px; }
html.motion-ready .tw-scroll-story .story-track { height:calc(var(--story-height) + var(--story-travel)); }
html.motion-ready .tw-scroll-story .story-stage { position:sticky; top:0; height:var(--story-height); padding:0; display:block; overflow:hidden; }
html.motion-ready .tw-scroll-story .story-photo { position:absolute; inset:0; height:100%; min-height:0; transform-origin:center; will-change:transform,clip-path; }
html.motion-ready .tw-scroll-story .photo-two { z-index:2; clip-path:circle(0% at 67% 63%); }
html.motion-ready .tw-scroll-story .photo-three { z-index:3; clip-path:inset(100% 0 0); }
html.motion-ready .tw-scroll-story .story-photo img { will-change:transform; }
html.motion-ready .tw-scroll-story .story-open { position:absolute; inset:0; z-index:5; width:100%; height:100%; min-height:0; padding:110px 7vw 90px; background:transparent; transform-origin:50% 45%; }
html.motion-ready .tw-scroll-story .story-open h1 { max-width:14em; }
.tw-scroll-story .story-open h1 > span { display:block; white-space:normal; }
html.motion-ready .tw-scroll-story .cover-scroll { position:absolute; left:7vw; right:7vw; bottom:34px; width:auto; margin:0; }
html.motion-ready .tw-scroll-story .story-cue { position:absolute; z-index:6; right:auto; width:min(76vw,820px); padding:0; border:0; background:transparent; box-shadow:none; color:#fff; text-shadow:0 2px 20px rgba(13,28,21,.72),0 1px 4px rgba(13,28,21,.95); pointer-events:none; }
html.motion-ready .tw-scroll-story .story-cue .story-cta { pointer-events:auto; }
html.motion-ready .tw-scroll-story .detail-cue { top:39%; }
html.motion-ready .tw-scroll-story .cue-b { left:12vw; }
html.motion-ready .tw-scroll-story .cue-c { top:28%; }
html.motion-ready .tw-scroll-story .story-label { color:#fff; }
html.motion-ready .tw-scroll-story .story-cue p:not(.story-label) { font-size:clamp(1.1rem,2.1vw,1.8rem); }
html.motion-ready .tw-scroll-story .story-cta { color:#fff; border-color:#fff; }
html.motion-ready .tw-scroll-story .story-guide { position:absolute; bottom:30px; left:6vw; right:6vw; z-index:8; display:flex; align-items:center; gap:30px; color:#182822; font-size:.7rem; letter-spacing:.12em; }
html.motion-ready .tw-scroll-story .story-guide.over-photo { color:#fff; }
html.motion-ready .tw-scroll-story .guide-line { background:#ffffff75; }
html.motion-ready .tw-scroll-story .story-guide:not(.over-photo) { bottom:14px; padding:10px 12px; background:rgba(255,255,255,.88); }
html.motion-ready .tw-scroll-story .story-skip { position:absolute; right:6vw; bottom:70px; z-index:9; display:block; padding:12px 0; color:#182822; font-size:.75rem; text-decoration:none; }
html.motion-ready .tw-scroll-story .story-skip.over-photo { color:#fff; }
html.motion-ready .tw-scroll-story .story-skip:not(.over-photo) { padding:10px 12px; border-radius:2px; background:rgba(255,255,255,.88); }
html.motion-ready .tw-scroll-story .site-motion-control--story { position:absolute; top:14px; right:5vw; z-index:12; }
html.motion-ready .concept-hero, html.motion-off .concept-hero { display:none; }
html.motion-off .tw-scroll-story .story-track { height:auto; }
html.motion-off .tw-scroll-story .story-stage { position:relative; height:auto; overflow:visible; display:flex; padding-top:0; }
html.motion-off .tw-scroll-story .story-photo { position:relative; inset:auto; height:65svh; min-height:320px; opacity:1!important; visibility:visible!important; clip-path:none!important; transform:none!important; }
html.motion-off .tw-scroll-story .story-photo img { transform:none!important; }
html.motion-off .tw-scroll-story .story-open { position:relative; inset:auto; height:auto; min-height:calc(100svh - 80px); transform:none!important; opacity:1!important; visibility:visible!important; }
html.motion-off .tw-scroll-story .story-cue { position:relative; inset:auto; top:auto; left:auto; right:auto; z-index:auto; padding:54px 7vw; background:#fff; color:#182822; transform:none!important; opacity:1!important; visibility:visible!important; }
html.motion-off .tw-scroll-story .story-guide, html.motion-off .tw-scroll-story .story-skip { display:none; }
html.motion-off .tw-scroll-story .site-motion-control--story { position:absolute; top:14px; right:5vw; }
@media(max-width:759px) {
  .tw-scroll-story .story-open { min-height:calc(100svh - 75px); padding:22px 7vw 64px; }
  .tw-scroll-story .story-open h1 { font-size:clamp(1.1rem,5.9vw,2.75rem); line-height:1.48; }
  .tw-scroll-story .story-open .lead { font-size:.9rem; }
  .tw-scroll-story .story-open .hero-meta { gap:10px 14px; }
  .tw-scroll-story .cover-scroll { margin-top:30px; gap:12px; font-size:.64rem; }
  .tw-scroll-story .story-cue { padding:34px 7vw; }
  .tw-scroll-story .story-cue h2, .tw-scroll-story .story-cue > h2 { font-size:clamp(1.8rem,8vw,3rem); line-height:1.5; }
  .tw-scroll-story .story-cue p:not(.story-label) { font-size:1rem; line-height:1.9; }
  .tw-scroll-story .story-label { font-size:.62rem; margin-bottom:14px; }
  .tw-scroll-story .story-cta { margin-top:15px; font-size:.83rem; }
  html.motion-ready .tw-scroll-story .story-open { top:0; left:0; width:100%; padding:100px 7vw 92px; }
  html.motion-ready .tw-scroll-story .story-open h1 { max-width:100%; margin-top:20px; margin-bottom:18px; font-size:clamp(1.1rem,5.9vw,2.75rem); }
  html.motion-ready .tw-scroll-story .story-cue, html.motion-ready .tw-scroll-story .cue-b { left:7vw; right:7vw; top:33%; }
  html.motion-ready .tw-scroll-story .detail-cue { top:39%; }
  html.motion-ready .tw-scroll-story .cue-c { top:31%; }
  html.motion-ready .tw-scroll-story .story-guide { bottom:24px; left:7vw; right:7vw; gap:14px; font-size:.58rem; }
  html.motion-ready .tw-scroll-story .guide-line { max-width:100px; }
  html.motion-ready .tw-scroll-story .story-skip { bottom:57px; right:7vw; }
  html.motion-ready .tw-scroll-story .cover-scroll { bottom:34px; }
  html.motion-off .tw-scroll-story .story-photo { height:55svh; min-height:260px; }
  html.motion-off .tw-scroll-story .story-open { min-height:calc(100svh - 75px); padding:22px 7vw 56px; }
  html.motion-off .tw-scroll-story .story-cue { padding:34px 7vw; }
}
@media(max-width:360px) {
  .tw-scroll-story .story-open h1 { font-size:2.1rem; }
  .tw-scroll-story .story-open .lead { display:none; }
  .tw-scroll-story .story-cue h2, .tw-scroll-story .story-cue > h2 { font-size:1.8rem; }
}
@media(max-height:600px) and (min-width:760px) {
  html.motion-ready .tw-scroll-story .story-open { padding:100px 7vw 60px; }
  html.motion-ready .tw-scroll-story .story-open h1 { font-size:2.6rem; line-height:1.2; margin:10px auto 12px; }
  html.motion-ready .tw-scroll-story .story-cue { top:120px; }
  html.motion-ready .tw-scroll-story .story-cue h2, html.motion-ready .tw-scroll-story .story-cue > h2 { font-size:2.5rem; }
  html.motion-ready .tw-scroll-story .story-cue p:not(.story-label) { font-size:1.1rem; line-height:1.7; }
  html.motion-ready .tw-scroll-story .story-cta { margin-top:12px; font-size:.8rem; }
  html.motion-ready .tw-scroll-story .story-guide { bottom:16px; }
  html.motion-ready .tw-scroll-story .story-skip { bottom:43px; }
}


/* v12 targeted line-balance and cue/photo alignment fixes. */
.tw-scroll-story .cue-c > h2 { font-size:clamp(1.6rem,4.7vw,4rem); }
.tw-scroll-story .cue-c > h2 > span { display:block; white-space:normal; }
@media(max-width:759px) { .tw-scroll-story .cue-c > h2 { font-size:clamp(1.1rem,6.2vw,2.2rem); } }
@media(max-width:360px) { .tw-scroll-story .cue-a > h2 { max-width:100%; font-size:clamp(1.5rem,8vw,1.7rem); line-height:1.35; white-space:normal; overflow-wrap:anywhere; } .tw-scroll-story .cue-c > h2 { font-size:clamp(1rem,5vw,1.15rem); } }

/* v12 brand-led opening and restrained, legible photo captions. */
.tw-scroll-story .story-open .cover-body { display:flex; flex-direction:column; align-items:center; }
.tw-scroll-story .story-open .story-brand-title { width:min(88vw,1080px); aspect-ratio:4.35/1; margin:0 auto clamp(24px,5vh,52px); }
.tw-scroll-story .story-open .story-brand-artwork { display:block; width:100%; height:100%; max-width:none; object-fit:cover; object-position:center; }
.tw-scroll-story .story-open .hero-meta { gap:8px 18px; margin-top:0; color:#5b655f; font-size:.88rem; }
.tw-scroll-story .story-open .hero-price { font-size:.9rem; }
.tw-scroll-story .story-open .action { min-height:40px; font-size:.88rem; }
.tw-scroll-story .cover-scroll { justify-content:flex-end; }
html.motion-ready .tw-scroll-story .story-cue { right:auto; width:min(76vw,820px); padding:0; border:0; background:transparent; box-shadow:none; color:#fff; text-shadow:0 2px 20px rgba(13,28,21,.72),0 1px 4px rgba(13,28,21,.95); pointer-events:none; }
html.motion-ready .tw-scroll-story .story-cue h2,
html.motion-ready .tw-scroll-story .story-cue > h2 { font-size:clamp(1.8rem,4.4vw,3.45rem); line-height:1.38; }
html.motion-ready .tw-scroll-story .story-cue .story-cta { margin-top:14px; font-size:.84rem; }
html.motion-ready .tw-scroll-story .cue-b { left:auto; right:7vw; }
html.motion-ready .tw-scroll-story .cue-b-detail { top:39%; left:7vw; }
html.motion-ready .tw-scroll-story .cue-c { top:29%; }
html.motion-ready .tw-scroll-story .cue-a-detail { left:auto; right:7vw; }
html.motion-ready .tw-scroll-story .cue-b { left:7vw; right:auto; }
html.motion-ready .tw-scroll-story .cue-b-detail { top:39%; left:auto; right:7vw; }
html.tableweb-intro .tw-scroll-story .story-brand-title {
  clip-path:inset(0 100% 0 0);
  animation:tableweb-brand-reveal 640ms cubic-bezier(.2,.72,.18,1) forwards;
}
html.tableweb-intro .tw-scroll-story .hero-meta {
  opacity:0;
  animation:tableweb-detail-reveal 360ms ease-out 180ms forwards;
}
@keyframes tableweb-brand-reveal {
  0% { clip-path:inset(0 100% 0 0); transform:translateY(12px); }
  100% { clip-path:inset(0); transform:translateY(0); }
}
@keyframes tableweb-detail-reveal {
  from { opacity:0; transform:translateY(5px); }
  to { opacity:1; transform:translateY(0); }
}
@media(max-width:759px) {
  .tw-scroll-story .story-open .story-brand-title { width:min(88vw,620px); aspect-ratio:3.8/1; margin-bottom:clamp(22px,5vh,42px); }
  .tw-scroll-story .story-open .hero-meta { gap:8px 12px; font-size:.8rem; }
  .tw-scroll-story .story-open .hero-price,.tw-scroll-story .story-open .action { font-size:.8rem; }
  html.motion-ready .tw-scroll-story .story-cue,
  html.motion-ready .tw-scroll-story .cue-b,
  html.motion-ready .tw-scroll-story .cue-b-detail { left:7vw; right:7vw; width:auto; padding:17px 18px; }
  html.motion-ready .tw-scroll-story .story-cue h2,
  html.motion-ready .tw-scroll-story .story-cue > h2 { font-size:clamp(1.35rem,6.2vw,2.15rem); line-height:1.4; }
  html.motion-ready .tw-scroll-story .cue-c > h2 { font-size:clamp(1.12rem,5.2vw,1.8rem); }
  html.motion-ready .tw-scroll-story .story-cue .story-cta { min-height:36px; margin-top:10px; font-size:.76rem; }
  html.motion-ready .tw-scroll-story .cue-b-detail { top:39%; }
  html.motion-ready .tw-scroll-story .cue-a-detail,
  html.motion-ready .tw-scroll-story .cue-b-detail { left:7vw; right:7vw; }
}
@media(prefers-reduced-motion:reduce) {
  html.tableweb-intro .tw-scroll-story .story-brand-title,
  html.tableweb-intro .tw-scroll-story .hero-meta { animation:none; opacity:1; clip-path:none; transform:none; }
}

/* The caption, image crop and scroll travel form one composition. */
.tw-scroll-story .photo-two .photo-wash{background:radial-gradient(ellipse at 26% 53%,rgba(13,28,21,.44),transparent 61%);}
.tw-scroll-story .photo-three .photo-wash{background:linear-gradient(0deg,rgba(10,20,15,.78),rgba(10,20,15,.44));}
html.motion-ready .tw-scroll-story .cue-a-detail{right:8vw;top:31%;left:auto;width:min(68vw,720px);}
html.motion-ready .tw-scroll-story .cue-b{left:8vw;right:auto;top:32%;width:min(70vw,740px);}
html.motion-ready .tw-scroll-story .cue-b-detail{right:8vw;left:auto;top:27%;width:min(68vw,720px);}
html.motion-ready .tw-scroll-story .story-cue h2{font-size:clamp(2.2rem,6.8vw,6rem);line-height:1.08;letter-spacing:.035em;font-weight:500;}
html.motion-ready .tw-scroll-story .story-cue .story-cta{margin-top:20px;}
html.motion-ready .tw-scroll-story .cue-a-detail h2,html.motion-ready .tw-scroll-story .cue-b-detail h2{max-width:8em;}
.examples-self-made-note{margin:28px 0 0;color:#59655e;font-size:.82rem;letter-spacing:.06em;}
.brand-opening{position:fixed;inset:0;z-index:1000;display:grid;place-content:center;justify-items:center;gap:22px;padding:24px;background:#173d31;color:#fff;opacity:0;visibility:hidden;pointer-events:none;clip-path:inset(0);}
.brand-opening img{display:block;width:min(72vw,470px);height:auto;transform:scale(.72);opacity:0;}
.brand-opening span{font-size:clamp(11px,1.5vw,15px);letter-spacing:.22em;opacity:0;transform:translateY(12px);}
html.tableweb-brand-opening .brand-opening{opacity:1;visibility:visible;animation:tw-opening-arrive 620ms cubic-bezier(.2,.78,.16,1) both;}
html.tableweb-brand-opening .brand-opening img{animation:tw-opening-mark 720ms cubic-bezier(.16,.88,.24,1) 90ms both;}
html.tableweb-brand-opening .brand-opening span{animation:tw-opening-copy 460ms ease-out 380ms both;}
html.tableweb-brand-opening-release .brand-opening{opacity:0;clip-path:inset(0 0 100%);transition:clip-path 520ms cubic-bezier(.76,0,.2,1),opacity 220ms ease 300ms;}
@keyframes tw-opening-arrive{from{opacity:.9}to{opacity:1}}
@keyframes tw-opening-mark{from{opacity:0;transform:scale(.72) translateY(22px)}to{opacity:1;transform:scale(1) translateY(0)}}
@keyframes tw-opening-copy{to{opacity:.78;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.brand-opening{transition:none!important;animation:none!important}.brand-opening img,.brand-opening span{animation:none!important;transform:none!important;opacity:1!important}html.tableweb-brand-opening-release .brand-opening{clip-path:none;opacity:0;transition:opacity 120ms linear!important;}}

/* Title groups move as a designed composition, timed to scroll progress. */
html.motion-ready .tw-scroll-story .story-brand-artwork{clip-path:inset(0 calc((1 - var(--mark-progress,1))*100%) 0 0);}
html.motion-ready .tw-scroll-story .story-cue h2{display:flex;flex-wrap:wrap;align-items:baseline;gap:.02em .3em;overflow:visible;}
html.motion-ready .tw-scroll-story .story-word{display:inline-block;clip-path:inset(0 calc((1 - var(--word-reveal,0))*100%) 0 0);transform:translate3d(calc((1 - var(--word-reveal,0))*-.3em),calc((1 - var(--word-reveal,0))* .24em),0);transition:none;white-space:nowrap;}
html.motion-ready .tw-scroll-story .story-word:nth-child(2){transform:translate3d(calc((1 - var(--word-reveal,0))* .22em),calc((1 - var(--word-reveal,0))* .12em),0);}
html.motion-ready .tw-scroll-story .story-word:nth-child(3){transform:translate3d(calc((1 - var(--word-reveal,0))*-.16em),calc((1 - var(--word-reveal,0))* .18em),0);}
@media(prefers-reduced-motion:reduce){.tw-scroll-story .story-brand-artwork{clip-path:none!important}html.motion-ready .tw-scroll-story .story-word{clip-path:none!important;transform:none!important;}}

/* r6 three-scene sequence: brand intro, separate message, then all routes together. */
.tw-scroll-story .story-message,
.tw-scroll-story .story-destinations { position:relative; min-height:100svh; }
.tw-scroll-story .story-open .cover-body { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; }
.tw-scroll-story .story-open .story-brand-title { width:min(76vw,720px); aspect-ratio:4.35/1; margin:0; }
@media(min-width:1000px){.tw-scroll-story .story-open .story-brand-title{min-height:224.0625px;}}
.tw-scroll-story .story-open .story-intro-note { margin:0; color:#215a43; font-size:clamp(.78rem,1.3vw,1rem); letter-spacing:.2em; text-align:center; }
.tw-scroll-story .story-message { display:flex; flex-direction:column; justify-content:center; padding:8vh 8vw 12vh; color:#fff; }
.tw-scroll-story .story-message .hero-slogan { max-width:12em; margin:0 0 24px; color:inherit; font-size:clamp(2.5rem,6.4vw,5.6rem); font-weight:700; line-height:1.1; letter-spacing:-.045em; text-wrap:balance; text-shadow:0 2px 18px rgba(10,20,15,.38); }
.tw-scroll-story .story-message .hero-slogan>span { display:block; white-space:normal; }
.tw-scroll-story .story-message .lead { max-width:48rem; margin:0; color:inherit; font-size:clamp(1rem,1.45vw,1.25rem); line-height:1.75; letter-spacing:.015em; text-shadow:0 1px 12px rgba(10,20,15,.5); }
.tw-scroll-story .story-message .lead-line { display:block; }
.tw-scroll-story .story-message .hero-slogan { text-shadow:0 2px 18px rgba(0,0,0,.62),0 1px 3px rgba(0,0,0,.88); }
.tw-scroll-story .story-message .lead { text-shadow:0 1px 5px rgba(0,0,0,.95),0 0 18px rgba(0,0,0,.72); }
.tw-scroll-story .story-destinations { display:flex; align-items:center; padding:10vh 8vw 14vh; color:#fff; }
.tw-scroll-story .story-destinations .home-entries { display:block; width:min(78vw,920px); margin:0; border-block:1px solid rgba(255,255,255,.65); text-align:left; }
.tw-scroll-story .story-destinations .home-entry { display:grid; grid-template-columns:3.2em minmax(0,1fr) 2em; align-items:center; column-gap:18px; min-height:108px; padding:14px 6px; color:#fff; border:0; border-bottom:1px solid rgba(255,255,255,.55); text-decoration:none; }
.tw-scroll-story .story-destinations .home-entry:last-child { border-bottom:0; }
.tw-scroll-story .story-destinations .home-entry-index { align-self:center; color:rgba(255,255,255,.8); font-size:.78rem; letter-spacing:.1em; }
.tw-scroll-story .story-destinations .home-entry-copy { display:block; min-width:0; }
.tw-scroll-story .story-destinations .home-entry-copy strong { display:block; margin:0 0 4px; font-size:clamp(1.85rem,4.4vw,3.35rem); font-weight:700; line-height:1.2; letter-spacing:.005em; }
.tw-scroll-story .story-destinations .home-entry-copy>span { display:block; color:rgba(255,255,255,.92); font-size:clamp(.8rem,1.15vw,.98rem); line-height:1.5; }
.tw-scroll-story .story-destinations .home-entry-copy small { display:block; margin-top:2px; color:rgba(255,255,255,.86); font-size:.75rem; line-height:1.4; }
.tw-scroll-story .story-destinations .home-entry-arrow { justify-self:end; color:#fff; font-size:1.5rem; }
.tw-scroll-story .story-destinations .home-entry { text-shadow:0 1px 10px rgba(0,0,0,.76); }
.tw-scroll-story .story-destinations .home-entry:hover .home-entry-copy strong { text-decoration:underline; text-underline-offset:.18em; }
.tw-scroll-story .story-destinations .home-entry:focus-visible { outline:3px solid #fff; outline-offset:4px; }
.concept-hero .home-entries { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:min(100%,1120px); margin:14px auto 0; border-block:1px solid #cbd3cc; text-align:left; }
.concept-hero .home-entry { display:grid; grid-template-columns:2.1em minmax(0,1fr) auto; align-items:center; column-gap:12px; min-width:0; min-height:88px; padding:14px 18px; color:#182822; border-right:1px solid #d8ded9; text-decoration:none; }
.concept-hero .home-entry:last-child { border-right:0; }
.concept-hero .home-entry-index { align-self:start; color:#5b655f; font-size:.7rem; letter-spacing:.1em; font-variant-numeric:tabular-nums; }
.concept-hero .home-entry-copy { display:block; min-width:0; }
.concept-hero .home-entry-copy strong { display:block; margin-bottom:3px; font-size:1.1rem; line-height:1.3; font-weight:650; }
.concept-hero .home-entry-copy>span { display:block; color:#58645d; font-size:.76rem; line-height:1.45; }
.concept-hero .home-entry-copy small { display:block; margin-top:2px; color:#58645d; font-size:.7rem; line-height:1.4; }
.concept-hero .home-entry-arrow { color:#215a43; font-size:1.15rem; }
.concept-hero .home-entry:focus-visible { outline:3px solid #215a43; outline-offset:3px; }
html.motion-ready .tw-scroll-story .story-open { background-color:rgba(23,61,49,var(--story-opening-scrim,1)); color:#fff; }
html.motion-ready .tw-scroll-story .story-message,
html.motion-ready .tw-scroll-story .story-destinations { position:absolute; inset:0; z-index:6; width:100%; height:100%; min-height:0; overflow:visible; }
html.motion-ready .tw-scroll-story .story-message { align-items:flex-start; }
html.motion-ready .tw-scroll-story .story-destinations { align-items:center; }
html.motion-ready .tw-scroll-story .story-destinations .home-entries { width:min(78vw,920px); }
html.motion-off .tw-scroll-story .story-stage { display:flex; flex-direction:column; }
html.motion-off .tw-scroll-story .story-photo { display:none; }
html.motion-off .tw-scroll-story .story-open,
html.motion-off .tw-scroll-story .story-message,
html.motion-off .tw-scroll-story .story-destinations { position:relative; inset:auto; order:0; display:flex; width:100%; height:auto; min-height:86svh; padding:12vh 7vw; opacity:1!important; visibility:visible!important; transform:none!important; overflow:visible; }
html.motion-off .tw-scroll-story .story-open { background:#173d31; color:#fff; }
html.motion-off .tw-scroll-story .story-message,
html.motion-off .tw-scroll-story .story-destinations { background:#fff; color:#182822; }
html.motion-off .tw-scroll-story .story-message .hero-slogan { text-shadow:none; }
html.motion-off .tw-scroll-story .story-message .lead { color:#34483d; text-shadow:none; }
html.motion-off .tw-scroll-story .story-destinations .home-entries { border-color:#9eaaa1; }
html.motion-off .tw-scroll-story .story-destinations .home-entry { color:#182822; border-bottom-color:#d4dbd5; }
html.motion-off .tw-scroll-story .story-destinations .home-entry-index,
html.motion-off .tw-scroll-story .story-destinations .home-entry-copy>span,
html.motion-off .tw-scroll-story .story-destinations .home-entry-copy small,
html.motion-off .tw-scroll-story .story-destinations .home-entry-arrow { color:#44534a; }
@media(max-width:759px) {
  html.motion-ready .tw-scroll-story .story-open { padding:88px 7vw 72px; }
  html.motion-ready .tw-scroll-story .story-open .story-brand-title { width:min(76vw,340px); margin-bottom:4px; }
  html.motion-ready .tw-scroll-story .story-open .story-intro-note { font-size:.72rem; letter-spacing:.14em; }
  html.motion-ready .tw-scroll-story .story-message { padding:8vh 7vw 12vh; }
  html.motion-ready .tw-scroll-story .story-message .hero-slogan { max-width:100%; margin-bottom:20px; font-size:clamp(2rem,8.2vw,3.1rem); line-height:1.15; }
  html.motion-ready .tw-scroll-story .story-message .lead { font-size:clamp(.84rem,3.8vw,.96rem); line-height:1.65; }
  html.motion-ready .tw-scroll-story .story-destinations { padding:10vh 7vw 14vh; }
  html.motion-ready .tw-scroll-story .story-destinations .home-entries { width:100%; }
  html.motion-ready .tw-scroll-story .story-destinations .home-entry { grid-template-columns:2.4em minmax(0,1fr) 1.6em; column-gap:10px; min-height:86px; padding:9px 2px; }
  html.motion-ready .tw-scroll-story .story-destinations .home-entry-copy strong { margin-bottom:2px; font-size:clamp(1.55rem,7vw,2rem); }
  html.motion-ready .tw-scroll-story .story-destinations .home-entry-copy>span { font-size:.78rem; }
  html.motion-ready .tw-scroll-story .story-destinations .home-entry-copy small { font-size:.7rem; }
  .concept-hero .home-entries { grid-template-columns:minmax(0,1fr); width:min(100%,560px); margin-top:8px; }
  .concept-hero .home-entry { min-height:56px; padding:7px 2px; border-right:0; border-bottom:1px solid #d8ded9; column-gap:10px; }
  .concept-hero .home-entry:last-child { border-bottom:0; }
  .concept-hero .home-entry-copy strong { margin-bottom:0; font-size:1rem; }
  .concept-hero .home-entry-copy>span { font-size:.74rem; }
  .concept-hero .home-entry-copy small { font-size:.68rem; }
}
@media(max-width:360px) {
  html.motion-ready .tw-scroll-story .story-message .hero-slogan { font-size:clamp(1.8rem,8vw,2rem); }
  html.motion-ready .tw-scroll-story .story-message .lead { font-size:.82rem; line-height:1.6; }
  html.motion-ready .tw-scroll-story .story-destinations .home-entry { min-height:80px; }
}
@media(max-height:600px) and (min-width:760px) {
  html.motion-ready .tw-scroll-story .story-open { padding:56px 6vw 48px; }
  html.motion-ready .tw-scroll-story .story-message { padding:8vh 7vw 12vh; }
  html.motion-ready .tw-scroll-story .story-message .hero-slogan { margin-bottom:9px; font-size:clamp(1.9rem,4vw,2.6rem); }
  html.motion-ready .tw-scroll-story .story-message .lead { font-size:.78rem; line-height:1.3; }
  html.motion-ready .tw-scroll-story .story-destinations { padding:9vh 7vw 13vh; }
  html.motion-ready .tw-scroll-story .story-destinations .home-entry { min-height:64px; padding:6px; }
  html.motion-ready .tw-scroll-story .story-destinations .home-entry-copy strong { font-size:1.4rem; }
}


/* Localized v18 cue fixes: retain the existing scroll positions and image choreography. */
html.motion-ready .tw-scroll-story .story-cue h2{font-weight:700;letter-spacing:.01em;line-height:1.12;}
html.motion-ready .tw-scroll-story .story-cue[inert] .story-cta{visibility:hidden;}
html.motion-ready .tw-scroll-story .story-skip[inert]{opacity:0!important;}
@media(max-width:759px){
  html.motion-ready .tw-scroll-story .story-cue h2{font-size:clamp(2rem,8.2vw,2.75rem);font-weight:700;letter-spacing:.01em;line-height:1.2;}
}

.tw-scroll-story .cue-a-detail,
html.motion-ready .tw-scroll-story .cue-b,
html.motion-ready .tw-scroll-story .cue-b-detail {
  padding:18px 22px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:2px;
  background:rgba(25,31,28,.34);
  box-shadow:0 8px 28px rgba(10,20,15,.12);
  -webkit-backdrop-filter:blur(7px);
  backdrop-filter:blur(7px);
}
@media(max-width:759px) {
  html.motion-ready .tw-scroll-story .cue-a-detail,
  html.motion-ready .tw-scroll-story .cue-b,
  html.motion-ready .tw-scroll-story .cue-b-detail { padding:14px 16px; }
}
.tw-scroll-story .cue-a-detail,
.tw-scroll-story .cue-b,
.tw-scroll-story .cue-b-detail {
  padding:22px 24px;
  border:1px solid #d5ddd7;
  border-radius:2px;
  background:rgba(25,31,28,.045);
}
@media(max-width:759px) {
  .tw-scroll-story .cue-a-detail,
  .tw-scroll-story .cue-b,
  .tw-scroll-story .cue-b-detail { padding:16px 18px; }
}
html.motion-ready .tw-scroll-story .cue-a-detail,
html.motion-ready .tw-scroll-story .cue-b,
html.motion-ready .tw-scroll-story .cue-b-detail {
  padding:18px 22px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:2px;
  background:rgba(25,31,28,.34);
  box-shadow:0 8px 28px rgba(10,20,15,.12);
  -webkit-backdrop-filter:blur(7px);
  backdrop-filter:blur(7px);
}
@media(max-width:759px) {
  html.motion-ready .tw-scroll-story .cue-a-detail,
  html.motion-ready .tw-scroll-story .cue-b,
  html.motion-ready .tw-scroll-story .cue-b-detail { padding:14px 16px; }
}
html.motion-off .tw-scroll-story .cue-a-detail,
html.motion-off .tw-scroll-story .cue-b,
html.motion-off .tw-scroll-story .cue-b-detail {
  padding:22px 24px;
  border:1px solid #d5ddd7;
  border-radius:2px;
  background:rgba(25,31,28,.045);
}
@media(max-width:759px) {
  html.motion-off .tw-scroll-story .cue-a-detail,
  html.motion-off .tw-scroll-story .cue-b,
  html.motion-off .tw-scroll-story .cue-b-detail { padding:16px 18px; }
}

/* Retain the existing restaurant hero under the brand introduction. */
.tw-scroll-story .story-open .story-brand-artwork { object-fit:contain; filter:drop-shadow(0 2px 8px rgba(0,0,0,.72)); }
.tw-scroll-story .story-open .story-intro-note { color:#fff; text-shadow:0 1px 5px rgba(0,0,0,.92),0 0 14px rgba(0,0,0,.72); }
.tw-scroll-story .story-message,
.tw-scroll-story .story-destinations,
.tw-scroll-story .story-intro-note { font-family:"Noto Sans CJK JP","Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif; font-synthesis:none; }
@font-face { font-family:"Yusei Magic"; src:url("/_astro/YuseiMagic-Headline-subset-20261029.ttf") format("truetype"); font-style:normal; font-weight:400; font-display:swap; }
.tw-scroll-story .story-message .hero-slogan { font-family:"Yusei Magic","Noto Sans CJK JP","Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif; font-weight:400; font-synthesis:none; font-size:clamp(2.7rem,6.7vw,5.9rem); letter-spacing:-.02em; }
@media(max-width:759px) { html.motion-ready .tw-scroll-story .story-message .hero-slogan { font-size:clamp(2rem,8.7vw,2.2rem); } }
.tw-scroll-story .story-destinations .home-entry-copy strong { font-weight:500; letter-spacing:0; }
@media(max-width:759px) {
  .tw-scroll-story .story-open .story-brand-title { width:min(66vw,620px); }
}

/* Keep static hero navigation legible when the scroll story is unavailable. */
html:not(.motion-ready):not(.motion-off) .concept-hero .home-entries { background:#fff; border:1px solid #cbd3cc; }

/* r6j: split the destination links across the matching photo scenes. */
.story-destinations--primary .home-entries,
.story-destinations--secondary .home-entries { width:min(78vw,920px); }
.concept-hero .home-entries--secondary { margin-top:24px; }
.example-plan-note { margin:.65rem 0 0; max-width:52ch; color:#43544a; font-size:.84rem; line-height:1.7; }
.example-plan-note strong { display:block; color:#173d31; font-weight:650; }

/* Paper and linework carry the opening; the existing mark remains unchanged. */
.tw-scroll-story .story-stage { background:transparent; }
.tw-scroll-story .story-open { isolation:isolate; background:#fbfbf8; color:#182822; }
.tw-scroll-story .story-open::before,
.brand-opening::before {
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-color:#fbfbf8;
  background-image:url('/tableweb-sparse-linework-desktop.svg');
  background-position:center top;
  background-repeat:repeat-y;
  background-size:100% 1800px;
}
.tw-scroll-story .story-open::before { opacity:var(--story-opening-scrim,1); }
.tw-scroll-story .story-open .cover-body,
.tw-scroll-story .story-open .cover-scroll { position:relative; z-index:1; }
.tw-scroll-story .story-open .story-intro-note { color:#215a43; text-shadow:none; }
.tw-scroll-story .story-open .story-brand-artwork { filter:none; }
.brand-opening { isolation:isolate; background:transparent; color:#182822; }
.brand-opening::before { z-index:0; }
.brand-opening > * { position:relative; z-index:1; }
.brand-opening img { width:min(76vw,720px); }
.brand-opening span { color:#215a43; letter-spacing:.16em; }
html.motion-ready .tw-scroll-story .story-open { background:transparent; color:#182822; }
html.motion-off .tw-scroll-story .story-open { background:#fbfbf8; color:#182822; }
@media(max-width:700px) {
  .tw-scroll-story .story-open::before,
  .brand-opening::before { background-image:url('/tableweb-sparse-linework-mobile.svg'); }
}
@media(max-width:759px) {
  .concept-hero .home-entries--secondary { margin-top:12px; }
  .concept-hero .home-entries--secondary .home-entry { border-right:0; border-top:1px solid #d8ded9; }
  .example-plan-note { font-size:.82rem; }
}

/* r6k: keep the paper cover with the existing mark until both have fully exited. */
.tw-scroll-story .story-open::before { opacity:1; }
.tw-scroll-story .story-destinations .home-entry-copy>span {
  display:table;
  width:max-content;
  max-width:100%;
  margin-top:.35rem;
  padding:.2rem .5rem;
  color:#fff;
  background:rgba(9,30,22,.86);
  line-height:1.5;
  text-shadow:none;
  overflow-wrap:anywhere;
}
.tw-scroll-story .story-destinations .home-entry-copy small {
  color:#fff;
  font-size:.76rem;
  line-height:1.45;
}
@media(max-width:759px) {
  .tw-scroll-story .story-destinations .home-entry-copy>span { padding:.2rem .45rem; font-size:.8rem; }
}

/* r6m: morph the actual transparent wordmark to the header's measured image box. */
html.tableweb-brand-opening .hybrid-header .brand-artwork img{opacity:0!important;}
html.tableweb-brand-handoff .brand-opening{opacity:1!important;visibility:visible!important;clip-path:none!important;transition:none!important;animation:none!important;background:transparent!important;}
html.tableweb-brand-handoff .brand-opening::before{opacity:0;transition:opacity 1080ms cubic-bezier(.55,0,.45,1);}
html.tableweb-brand-handoff .brand-opening img{animation:none!important;opacity:1!important;will-change:transform,filter;}
html.tableweb-brand-handoff .brand-opening span{opacity:0!important;transition:opacity 160ms ease-out;}

html.tableweb-brand-opening .hybrid-header .brand-tagline{opacity:0!important;transition:opacity 180ms ease;}

html.tableweb-brand-opening .tw-scroll-story .story-brand-title{visibility:hidden!important;}

/* r7: enlarge the centered wordmark; the opening mark starts larger and scales down to it. */
.tw-scroll-story .story-open .story-brand-title { width:min(52vw,1080px); aspect-ratio:1983/793; height:auto; min-height:0; margin:0; }
html.motion-ready .tw-scroll-story .story-open .story-intro-note, html.motion-off .tw-scroll-story .story-open .story-intro-note { font-size:clamp(1rem,1.25vw,1.125rem); letter-spacing:.12em; line-height:1.5; }
@media (max-width:479px) {
  html.motion-ready .tw-scroll-story .story-open .story-brand-title,
  html.motion-off .tw-scroll-story .story-open .story-brand-title { width:min(88vw,calc(34vw + 210px),620px); aspect-ratio:1983/793; height:auto; min-height:0; margin:0; }
}
@media (min-width:480px) and (max-width:1000px) {
  html.motion-ready .tw-scroll-story .story-open .story-brand-title,
  html.motion-off .tw-scroll-story .story-open .story-brand-title { width:min(88vw,calc(28.27vw + 237.3px),620px); aspect-ratio:1983/793; height:auto; min-height:0; margin:0; }
}
@media (min-width:760px) {
  .brand-opening img { width:min(76vw,1240px); }
}
@media (max-width:759px) {
  html.motion-ready .tw-scroll-story .story-open .story-intro-note,
  html.motion-off .tw-scroll-story .story-open .story-intro-note { font-size:clamp(.9rem,3.8vw,1rem); letter-spacing:.1em; line-height:1.5; }
  .brand-opening img { width:min(100vw,480px); }
}

/* r8: dedicated second destination scene, with the generated showcase image. */
.tw-scroll-story .photo-four { order:8; }
html.motion-ready .tw-scroll-story .photo-four { position:absolute; inset:0; z-index:3; width:100%; height:100%; min-height:0; clip-path:inset(100% 0 0); }
.tw-scroll-story .photo-four .photo-wash { background:linear-gradient(0deg,rgba(10,20,15,.72),rgba(10,20,15,.30)); }
html.motion-off .tw-scroll-story .photo-four { position:relative; order:8; }

/* r9: full-width price card with centered side navigation. */
.price-section { display:block; }
.price-section-heading { display:block; }
.price-section-heading h2 { max-width:none; margin:0 0 1rem; font-size:clamp(1.8rem,2.6vw,2.5rem); font-weight:650; line-height:1.5; letter-spacing:normal; color:#182822; }
.price-section-heading>p:not(.section-index) { color:#43544a; }
.price-carousel { position:relative; min-width:0; width:100%; margin-top:28px; }
.price-carousel__viewport { overflow:hidden; border:1px solid #cbd5ce; background:#f7f9f6; }
.price-carousel__track { display:flex; width:100%; transition:transform .42s cubic-bezier(.22,.75,.2,1); will-change:transform; }
.price-slide { box-sizing:border-box; flex:0 0 100%; min-width:0; min-height:330px; padding:clamp(28px,4vw,48px) clamp(76px,8vw,112px); background:transparent; outline-offset:-4px; }
.price-slide__index { margin:0 0 18px; color:#215a43; font-size:.8rem; letter-spacing:.14em; }
.price-slide h3 { margin:0 0 .5rem; font-size:clamp(1.5rem,3vw,2.2rem); line-height:1.25; }
.price-slide__price { margin:.2rem 0 1rem; color:#173d31; font-size:clamp(2rem,5vw,3.7rem); font-weight:750; letter-spacing:-.045em; line-height:1.2; }
.price-slide__price span { font-size:.42em; letter-spacing:0; }
.price-slide>p:not(.price-slide__index):not(.price-slide__price) { max-width:48ch; color:#43544a; line-height:1.75; }
.price-slide>a { display:inline-block; margin-top:1.2rem; color:#215a43; font-weight:650; text-underline-offset:.2em; }
.price-slide ul { display:grid; gap:8px; margin:1rem 0; padding:0; list-style:none; }
.price-slide li { display:flex; justify-content:space-between; gap:1rem; padding:.45rem 0; border-bottom:1px solid #d8ded9; }
.price-slide li span { white-space:nowrap; font-variant-numeric:tabular-nums; }

/* r10: price figures and their tax labels use neutral ink. */
#price .price-slide__price,
#price .price-slide__price span,
#price .price-slide li span { color:#111; }
.price-carousel__button { position:absolute; z-index:2; top:50%; display:grid; place-items:center; width:48px; height:116px; padding:0; transform:translateY(-50%); border:1px solid #9fb0a5; border-radius:2px; background:rgba(255,255,255,.94); color:#173d31; box-shadow:0 2px 8px rgba(24,40,34,.08); font-size:1.35rem; line-height:1; cursor:pointer; transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease; }
.price-carousel__button--prev { left:0; }
.price-carousel__button--next { right:0; }
.price-carousel__button:hover { border-color:#215a43; background:#e8efea; box-shadow:0 4px 12px rgba(24,40,34,.14); }
.price-carousel__button:focus-visible { outline:3px solid #215a43; outline-offset:3px; border-color:#215a43; }
.price-carousel__button:active { background:#215a43; color:#fff; }
.price-carousel__announce { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
.price-carousel:focus-visible { outline:3px solid #215a43; outline-offset:6px; }
.price-carousel__viewport { touch-action:pan-y; }
@media(max-width:720px) {
  .price-section { display:block; }
  .price-section-heading h2 { max-width:none; font-size:clamp(1.8rem,2.6vw,2.5rem); }
  .price-carousel { margin-top:20px; }
  .price-slide { min-height:360px; padding:24px 64px; }
  .price-carousel__button { width:42px; height:104px; }
  .price-slide li { display:grid; grid-template-columns:minmax(0,1fr); gap:.2rem; }
  .price-slide li span { justify-self:start; }
}
@media(prefers-reduced-motion:reduce) { .price-carousel__track,.price-carousel__button { transition:none!important; } }

/* r11: warm neutral card surfaces, borders, and carousel arrows. */
#price .price-carousel__viewport { border-color:#d2cec6; background-color:#f6f5f1; }
#price .price-slide { background-color:#f6f5f1; }
#price .price-carousel__button {
  border-color:#b9b5ad;
  background-color:#f6f5f1;
  color:#393731;
  box-shadow:0 2px 8px rgba(48,45,39,.08);
}
#price .price-carousel__button:hover {
  border-color:#9c988f;
  background-color:#eceae4;
  color:#302e29;
  box-shadow:0 4px 12px rgba(48,45,39,.12);
}
#price .price-carousel__button:focus-visible {
  outline-color:#767168;
  border-color:#918c82;
}
#price .price-carousel__button:active { background-color:#e4e1d9; color:#302e29; }

/* r12: monochrome pricing cards and black/white arrow states. */
#price .price-carousel__viewport { border-color:#111; background-color:#fff; }
#price .price-slide { background-color:#fff; color:#111; }
#price .price-slide__index,
#price .price-slide h3,
#price .price-slide__price,
#price .price-slide__price span,
#price .price-slide>p:not(.price-slide__index):not(.price-slide__price),
#price .price-slide>a,
#price .price-slide li,
#price .price-slide li strong,
#price .price-slide li span { color:#111; }
#price .price-slide li { border-bottom-color:#111; }
#price .price-carousel__button {
  border-color:#111;
  background-color:#fff;
  color:#111;
  box-shadow:none;
}
#price .price-carousel__button:hover {
  border-color:#111;
  background-color:#111;
  color:#fff;
  box-shadow:none;
}
#price .price-carousel__button:focus-visible {
  outline:3px solid #111;
  outline-offset:3px;
  border-color:#111;
  background-color:#fff;
  color:#111;
}
#price .price-carousel__button:active { background-color:#111; color:#fff; }
