@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--ink:#14262c;--paper:#f7f5f0;--gold:#d8b582;--muted:#596367;--line:#d5d8d4;--serif:'Noto Serif JP','Yu Mincho',serif;--sans:'Noto Sans JP','Yu Gothic',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit}img{display:block;width:100%;height:auto}figure,p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h2{font-size:clamp(30px,3.5vw,48px);line-height:1.7;letter-spacing:.06em}h3{font-size:clamp(25px,2.35vw,32px);line-height:1.7;letter-spacing:.04em}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #a87731;outline-offset:5px}.skip-link{position:fixed;left:10px;top:-100px;z-index:100;background:white;padding:12px}.skip-link:focus{top:10px}.eyebrow{font-size:12px;letter-spacing:.2em;font-weight:500;line-height:1.7;margin-bottom:24px}.note{font-size:12px;line-height:1.9;color:var(--muted)}.section-pad{padding:110px max(7vw,24px)}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;min-height:54px;padding:14px 30px;font-size:14px;line-height:1.5;letter-spacing:.06em;border:1px solid transparent;transition:background .2s,color .2s}.button-light{background:white;color:var(--ink)}.button-light:hover{background:var(--gold)}.button-dark-outline{border-color:var(--ink);background:transparent}.button-dark-outline:hover{background:var(--ink);color:white}.button-outline{border-color:#b7bbb8;background:transparent;color:white}.button-outline:hover{background:white;color:var(--ink)}.button-gold{background:var(--gold);color:var(--ink);width:min(100%,350px)}.button-gold:hover{background:#edce9d}.text-link{display:inline-block;font-size:14px;border-bottom:1px solid var(--ink);padding:0 0 7px;margin-top:26px}.brand{display:inline-flex;align-items:center;gap:15px;flex-shrink:0}.brand-mark{font-family:Georgia,serif;font-size:39px;line-height:.85;letter-spacing:-.08em;width:48px;text-align:center}.brand-mark span{display:block;font-family:var(--sans);font-size:9px;line-height:1.4;letter-spacing:.19em;margin-top:6px}.brand-name{font-family:Georgia,serif;font-size:21px;line-height:1.3;letter-spacing:.01em}.brand-name small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.16em;margin-top:5px}.site-header{height:94px;display:flex;align-items:center;gap:30px;padding:0 4vw;background:var(--paper);position:sticky;top:0;z-index:30;border-bottom:1px solid #d7d8d2}.desktop-nav{display:flex;gap:28px;margin-left:auto;font-size:14px}.desktop-nav a{position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:-8px;left:0;width:0;height:1px;background:var(--ink);transition:width .2s}.desktop-nav a:hover:after{width:100%}.header-reserve{font-size:14px;padding:14px 24px;background:var(--ink);color:white;line-height:1.5}.menu-toggle{display:none;background:transparent;border:0;padding:10px}.menu-toggle span{display:block;width:24px;height:1px;background:var(--ink);margin:6px 0}.mobile-menu{position:fixed;top:76px;left:0;right:0;background:var(--paper);padding:24px;z-index:29;box-shadow:0 20px 30px #14262c20}.mobile-menu a{display:block;padding:12px;border-bottom:1px solid var(--line)}[hidden]{display:none!important}
.hero{position:relative;min-height:590px;height:calc(100svh - 94px);max-height:880px;color:white;background:var(--ink);isolation:isolate;overflow:hidden}.hero-image,.hero-shade{position:absolute;inset:0}.hero-image img{height:100%;object-fit:cover;object-position:center 58%}.hero.is-play .hero-image img{object-fit:contain;object-position:center}.hero-shade{background:linear-gradient(90deg,#0b151ba6 0%,#0b151b38 65%,#0b151b14),linear-gradient(0deg,#101d25c9,transparent 45%)}.hero.is-play .hero-shade{background:linear-gradient(90deg,#07121bac,transparent 85%),linear-gradient(0deg,#0d1929c9,transparent 65%)}.hero-copy{position:absolute;left:7vw;top:50%;transform:translateY(-46%);max-width:760px}.hero h1{font-size:clamp(38px,4.7vw,66px);line-height:1.65;letter-spacing:.07em;text-shadow:0 2px 12px #0003}.hero-copy>p:not(.eyebrow){font-size:16px;line-height:2;margin:24px 0 32px;letter-spacing:.08em}.hero-footer{position:absolute;left:7vw;right:5vw;bottom:28px;display:flex;align-items:center;gap:24px}.hero-location{font-size:12px;letter-spacing:.2em;margin-right:auto}.hero-switch{display:flex;border:1px solid #fff7;background:#14262c33}.hero-switch button{font-size:14px;line-height:1.5;padding:10px 18px;background:transparent;color:white;border:0}.hero-switch .active{background:#fff;color:var(--ink)}.hero-caption{font-size:12px;color:#ffffffe0}.facts-bar{background:var(--ink);color:white;display:grid;grid-template-columns:repeat(4,1fr);padding:35px 7vw;gap:30px}.facts-bar p{display:flex;align-items:center;gap:20px;border-right:1px solid #ffffff26}.facts-bar p:last-child{border:0}.facts-bar strong{font:44px Georgia,serif;color:var(--gold);white-space:nowrap;line-height:1}.facts-bar strong small{font:14px var(--serif);margin-left:6px}.facts-bar p>span{font-size:14px;line-height:1.8;max-width:125px}.intro{display:grid;grid-template-columns:1fr 1.6fr;gap:10vw;padding-top:130px;padding-bottom:130px}.intro-label{padding-top:10px}.intro-label .eyebrow{margin-bottom:32px}.fine-line{display:block;width:60px;height:1px;background:var(--gold);margin-bottom:35px}.intro-label>span:last-child{font-family:var(--serif);font-size:18px;letter-spacing:.12em;line-height:2}.intro-copy p{margin-top:25px;line-height:2.2;color:var(--muted)}.journey-links{display:flex;gap:35px;margin-top:32px}.journey-links a{border-bottom:1px solid #b9bfb9;padding-bottom:10px;font-size:14px}.journey-links span{color:#947341;font-size:12px;margin-right:8px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:60px}.section-head>p{color:var(--muted);font-size:16px;line-height:2.1;max-width:440px}.play-section{background:#e9eeed;padding-bottom:100px}.play-layout{display:grid;grid-template-columns:1.75fr 1fr;gap:5vw;align-items:start}.coaster-figure img{width:100%;aspect-ratio:1672/941;object-fit:contain;background:#091624}.coaster-figure figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:12px;font-size:12px;letter-spacing:.04em;color:var(--muted)}.coaster-figure figcaption span:first-child{letter-spacing:.1em}.section-number{font-family:Georgia,serif;font-style:italic;font-size:17px;letter-spacing:.1em;color:#7a878b;display:inline-block;margin-bottom:15px}.play-details h3{font-size:26px}.play-details>p{font-size:16px;line-height:2;margin-top:20px}.place-list{list-style:none;margin:24px 0 0;padding:0}.place-list li{border-top:1px solid #bdc8c8}.place-list a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;font-size:14px;line-height:1.8}.place-list small{font-size:14px;white-space:nowrap;color:var(--muted)}.place-list a:hover{color:#916d38}.play-details p.note{font-size:12px}.illumination{display:grid;grid-template-columns:1.3fr 1fr;background:var(--ink);color:white;align-items:center}.illumination figure{position:relative;height:100%;min-height:480px}.illumination figure img{height:100%;object-fit:cover}.illumination figcaption{position:absolute;bottom:12px;left:18px;font-size:12px;color:white;background:#14262ca6;padding:3px 9px}.illumination-copy{padding:65px 5vw}.illumination-copy h2{font-size:clamp(28px,3vw,42px)}.illumination-copy .eyebrow{color:var(--gold)}.illumination-copy>p:not(.eyebrow){margin-top:22px;line-height:2;color:#e5e8e5;font-size:16px}.illumination-copy .button{margin-top:28px;padding-left:20px;padding-right:20px}.illumination-copy>p.note{font-size:12px;color:#b1bdbe}.stay-section{padding-bottom:110px}.stay-feature{display:grid;grid-template-columns:1.7fr 1fr;gap:6vw;align-items:center}.stay-photo{position:relative}.stay-photo img{aspect-ratio:1.3;object-fit:cover}.stay-photo>span{font-family:Georgia,serif;font-size:12px;letter-spacing:.2em;position:absolute;left:24px;bottom:20px;color:white;text-shadow:0 1px 8px #000;background:#14262c70;padding:3px 8px}.stay-description p:not(.eyebrow){font-size:16px;color:var(--muted);margin-top:23px;line-height:2.1}.material-story{display:grid;grid-template-columns:1fr 1.2fr;gap:10vw;align-items:center;margin-top:95px;padding:0 3vw}.material-copy{max-width:400px}.material-copy p:not(.eyebrow){margin-top:25px;line-height:2.1;font-size:16px;color:var(--muted)}.material-story figure img{aspect-ratio:1.5;object-fit:cover}.material-story figcaption{font-size:12px;margin-top:12px;color:var(--muted)}.rooms-section{background:#eeece7}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.room-card{display:block;padding:0;border:0;background:transparent;text-align:left;min-width:0}.room-large{grid-column:1/-1}.room-card img{width:100%;aspect-ratio:1.6;object-fit:cover;transition:filter .2s}.room-large img{aspect-ratio:2.15;object-position:center 65%}.room-card:hover img{filter:brightness(.9)}.room-card>span{display:block;position:relative;margin-top:16px;padding-right:35px}.room-card small{display:block;font-size:12px;letter-spacing:.15em;margin-bottom:4px;color:var(--muted)}.room-card strong{font:500 20px var(--serif);line-height:1.8}.room-card b{font-size:20px;position:absolute;right:5px;bottom:4px;font-weight:400}.gallery-action{margin-top:40px;display:flex;justify-content:space-between;align-items:center;gap:30px}.gallery-action p{font-size:12px;color:var(--muted)}.extra-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:35px}.extra-gallery button{padding:0;border:0;background:transparent;text-align:left}.extra-gallery img{aspect-ratio:1.5;object-fit:cover}.extra-gallery span{font-size:14px;display:block;margin-top:10px}.facility{border-top:1px solid #c6c8c2;margin-top:90px;padding-top:65px;display:grid;grid-template-columns:1fr 1.6fr;gap:60px}.facility-list{margin:0 0 30px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.facility-list li{font-size:14px;padding:10px 0;border-bottom:1px solid #c8ccc6}.facility details{border-top:1px solid #c5c9c4}.facility details:last-child{border-bottom:1px solid #c5c9c4}.facility summary{cursor:pointer;list-style:none;font-size:15px;padding:20px 0;display:flex;justify-content:space-between;gap:20px}.facility summary::-webkit-details-marker{display:none}.facility summary span{font-size:18px;transition:transform .2s}.facility details[open] summary span{transform:rotate(45deg)}.facility details p{font-size:16px;color:var(--muted);padding:0 0 22px;line-height:2}.access-section{display:grid;grid-template-columns:1fr 1fr;gap:8vw}.access-title>p:not(.eyebrow){margin-top:24px;font-size:16px;color:var(--muted);line-height:2}.access-title .button{margin-top:26px}.access-data{padding-top:15px}.access-data>div{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:23px 0;border-bottom:1px solid var(--line)}.access-data>div>span{font-size:14px;white-space:nowrap;color:var(--muted)}.access-data strong{font-weight:500;font-size:16px;text-align:right}.access-data .note{margin-top:22px}.reservation{display:grid;grid-template-columns:1.1fr 1fr;background:var(--ink);color:white;align-items:center}.reservation-photo{height:100%;min-height:560px}.reservation-photo img{height:100%;object-fit:cover}.reservation-copy{padding:70px 6vw}.reservation-copy>.eyebrow{color:var(--gold)}.reservation-copy h2{font-size:clamp(32px,3.5vw,48px)}.reservation-copy>p:not(.eyebrow){font-size:16px;color:#cbd2d0;margin:24px 0 30px;line-height:2}.booking-links{display:flex;gap:25px;margin-top:22px;font-size:14px}.booking-links a{border-bottom:1px solid #7e8a8c;padding-bottom:5px}footer{background:#0f1e24;color:#d6dfdd;padding:55px 7vw 30px}.footer-top{display:flex;justify-content:space-between;align-items:center;gap:30px;padding-bottom:40px}.footer-links{display:flex;gap:30px;font-size:14px}.footer-bottom{display:flex;align-items:flex-end;justify-content:space-between;padding-top:24px;border-top:1px solid #ffffff20;gap:20px;font-size:12px;line-height:2;color:#a4b4b5}.mobile-reserve{display:none}#photo-dialog{max-width:1100px;width:90vw;max-height:90svh;background:#14262c;border:0;color:white;padding:48px 24px 20px}#photo-dialog::backdrop{background:#06121bec}#dialog-image{max-height:calc(85svh - 130px);object-fit:contain;width:100%;height:auto}.dialog-close{position:absolute;right:10px;top:3px;font-size:30px;background:transparent;color:white;border:0;min-width:44px;min-height:44px}.dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:16px}.dialog-bottom button{border:1px solid #ffffff50;background:transparent;color:white;min-height:44px;padding:8px 16px;font-size:14px;flex-shrink:0}.dialog-bottom p{font-size:14px;text-align:center;line-height:1.7}
@media(min-width:1550px){.section-pad{padding-left:max(7vw,calc((100vw - 1400px)/2));padding-right:max(7vw,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){.desktop-nav{gap:18px}.site-header{gap:20px}.brand-name{font-size:19px}.header-reserve{padding:13px 18px;font-size:14px}.section-pad{padding:85px 5vw}.hero-copy{left:5vw}.hero-footer{left:5vw}.facts-bar{padding-left:5vw;padding-right:5vw;gap:20px}.facts-bar p{gap:12px}.play-layout{grid-template-columns:1.5fr 1fr;gap:4vw}.hero-caption{position:absolute;right:0;bottom:-23px}.illumination-copy{padding:50px 4vw}.facility{gap:35px}.facility-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){html{scroll-padding-top:76px}.site-header{height:76px;padding:0 24px}.desktop-nav{display:none}.header-reserve{margin-left:auto}.menu-toggle{display:block}.brand-name{font-size:18px}.brand-name small{font-size:10px}.brand-mark{font-size:32px;width:36px}.hero{height:700px;min-height:600px;max-height:calc(100svh - 76px)}.hero-copy{left:6vw;right:6vw;top:46%;transform:translateY(-40%)}.hero h1{font-size:clamp(34px,5.8vw,48px)}.hero-footer{left:6vw;right:6vw;flex-wrap:wrap;bottom:35px;gap:12px}.hero-location{font-size:12px}.hero-switch button{font-size:14px;padding:10px 14px}.hero.is-play .hero-image img{object-fit:contain}.hero.is-play .hero-copy{top:60%}.facts-bar{grid-template-columns:1fr 1fr;gap:24px;padding:30px 6vw}.facts-bar p:nth-child(2){border:0}.facts-bar p>span{max-width:none}.facts-bar strong{font-size:38px}.facts-bar p{gap:18px}.section-pad{padding:75px 6vw}.intro{grid-template-columns:1fr;gap:30px}.intro-label{display:flex;align-items:center;gap:25px;padding:0}.intro-label .eyebrow{margin:0;font-size:12px}.intro-label .fine-line{margin:0;width:40px}.intro-label>span:last-child{font-size:14px}.section-head{align-items:start;flex-direction:column;gap:25px;margin-bottom:35px}.section-head .eyebrow{margin-bottom:18px}.play-layout{grid-template-columns:1fr;gap:35px}.play-details{max-width:none}.play-details h3 br{display:none}.play-details>p{max-width:620px}.play-details .section-number{margin-bottom:12px}.illumination{grid-template-columns:1fr}.illumination figure{min-height:0}.illumination figure img{height:auto;aspect-ratio:1.6;object-fit:cover}.illumination-copy{padding:45px 6vw 55px}.illumination-copy h2 br{display:none}.stay-feature{grid-template-columns:1fr;gap:35px}.stay-photo img{aspect-ratio:1.5}.stay-description{max-width:650px}.material-story{grid-template-columns:1fr;gap:30px;padding:0;margin-top:60px}.material-copy{max-width:none}.material-story figure{grid-row:1}.room-grid{gap:25px}.room-card strong{font-size:18px}.room-card img{aspect-ratio:1.3}.room-large img{aspect-ratio:1.6}.gallery-action{align-items:flex-start;flex-direction:column;gap:20px}.extra-gallery{grid-template-columns:1fr 1fr;gap:20px}.facility{grid-template-columns:1fr;gap:30px;margin-top:65px;padding-top:45px}.facility-list{grid-template-columns:repeat(3,1fr)}.access-section{grid-template-columns:1fr;gap:25px}.reservation{grid-template-columns:1fr}.reservation-photo{min-height:0;max-height:420px}.reservation-photo img{aspect-ratio:1.7;object-fit:cover}.reservation-copy{padding:55px 6vw 65px}.footer-top{flex-direction:column;align-items:flex-start;gap:35px}.footer-bottom{align-items:flex-start;flex-direction:column}.mobile-reserve{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;background:var(--paper);align-items:center;justify-content:space-between;gap:15px;padding:12px 6vw calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.mobile-reserve span{font-size:12px}.mobile-reserve a{font-size:14px;background:var(--ink);color:white;padding:10px 20px}footer{padding-bottom:110px}.footer-links{gap:25px;font-size:14px}}
@media(max-width:480px){.site-header{padding:0 16px;gap:10px}.header-reserve{font-size:12px;padding:12px}.brand{gap:9px}.brand-name{font-size:16px}.brand-name small{font-size:9px;letter-spacing:.1em}.brand-mark{font-size:29px;width:30px}.menu-toggle{padding:6px}.hero h1{font-size:32px;letter-spacing:.04em;line-height:1.7}.hero .eyebrow{font-size:12px;letter-spacing:.12em;margin-bottom:20px}.hero-copy>p:not(.eyebrow){font-size:16px;letter-spacing:.02em;line-height:2;margin:23px 0 28px}.hero{min-height:590px;max-height:none;height:calc(100svh - 76px);max-height:760px}.hero-image img{object-position:64% center}.hero-footer{display:block}.hero-location{display:block;margin-bottom:10px}.hero-switch{display:inline-flex}.hero-caption{left:0;right:auto;bottom:-24px}.hero.is-play .hero-copy{top:65%;transform:translateY(-40%)}.hero.is-play .hero-image img{object-position:center 18%;height:60%;position:absolute;top:0}.hero.is-play .hero-shade{background:linear-gradient(0deg,#14262c 5%,#14262cf5 20%,transparent 80%)}.hero.is-play .hero-copy h1{font-size:29px}.hero.is-play .hero-copy>.eyebrow{display:none}.hero.is-play .hero-copy>p:not(.eyebrow){margin:15px 0 18px}.facts-bar p{gap:12px}.facts-bar p>span{font-size:12px}.facts-bar strong{font-size:34px}.intro-copy h2,h2{font-size:29px}.intro-label{gap:15px}.intro-label .fine-line{width:25px}.journey-links{gap:25px}.coaster-figure figcaption{flex-direction:column;gap:3px}.illumination-copy h2{font-size:28px}.illumination-copy h2 br{display:block}.room-grid{grid-template-columns:1fr;gap:30px}.room-large{grid-column:auto}.room-card img,.room-large img{aspect-ratio:1.5}.room-card strong{font-size:19px}.facility-list{grid-template-columns:repeat(2,1fr)}.access-data>div{gap:12px}.access-data strong{font-size:14px;max-width:190px}.access-data>div>span{font-size:14px}.booking-links{gap:22px}.dialog-bottom{gap:8px}.dialog-bottom p{font-size:12px}.dialog-bottom button{font-size:14px;padding:8px 10px}#photo-dialog{width:95vw;padding:45px 10px 15px}.gallery-action .button{width:100%}.mobile-reserve{padding-left:16px;padding-right:16px}.mobile-reserve a{padding:10px 16px}.footer-links{gap:20px}.hero-copy .button{font-size:14px;padding:14px 22px}}
@media(max-width:800px){.hero-footer{bottom:100px}}
@media(max-width:480px){.header-reserve{display:none}.menu-toggle{margin-left:auto}.hero h1{font-size:clamp(24px,7.2vw,30px)}.hero-footer{bottom:110px}.hero.is-play .hero-copy{top:43%;transform:none}.hero.is-play .hero-copy h1{font-size:clamp(24px,7.2vw,28px)}.hero.is-play .hero-copy>p:not(.eyebrow){font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}


/* Quiet charcoal and warm stone, with expansive photography. */
:root{--ink:#eee8df;--paper:#2e2c29;--gold:#b4a28b;--muted:#c1b8ad;--line:#666059}
body{background:var(--paper);color:var(--ink)}
img{filter:saturate(.73)}
.site-header{position:fixed;inset:0 0 auto;height:90px;background:linear-gradient(#17171580,transparent);color:#f5efe7;border:0;transition:background .4s}
.site-header.scrolled{background:#252421f5;border-bottom:1px solid #ffffff18}
.brand-name{font-size:19px}.brand-mark{font-size:35px}.brand-name small{letter-spacing:.12em}
.header-reserve{border:1px solid #d8cabc70;background:#7b6c5b75;color:#fff;padding:13px 24px}
.desktop-nav{font-size:13px;letter-spacing:.08em}.desktop-nav a:after,.menu-toggle span{background:#eee8df}
.mobile-menu{background:#302d28;color:#eee8df;top:76px}
.hero{height:100svh;min-height:650px;max-height:1000px;background:#292725}
.hero-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 58%;opacity:0;transition:opacity 1s ease;transform:scale(1.04);filter:saturate(.65) brightness(.76)}
.hero-frame.active{opacity:1;animation:cinema-pan 6s linear forwards}
@keyframes cinema-pan{from{transform:scale(1.04) translateX(-.4%)}to{transform:scale(1.11) translateX(.4%)}}
.motion-paused .hero-frame{animation-play-state:paused}
.hero-shade{background:linear-gradient(90deg,#1716138c,transparent 75%),linear-gradient(0deg,#171613af,transparent 60%)}
.hero-copy{left:8vw;top:auto;bottom:23%;transform:none;max-width:750px}
.hero h1{font-size:clamp(32px,3.6vw,52px);font-weight:400;line-height:1.85;letter-spacing:.11em}
.hero .eyebrow{font:12px Georgia,serif;letter-spacing:.22em;margin-bottom:27px}
.hero-copy>p:not(.eyebrow){font-size:14px;line-height:2.2;letter-spacing:.1em;margin:25px 0 30px}
.hero-copy .button{background:transparent;border:1px solid #cfc1b19e;color:#fff;font-size:13px;padding:15px 26px;min-width:255px}
.hero-copy .button:hover{background:#706354}
.hero-footer{left:8vw;right:5vw;bottom:40px;gap:30px}
.hero-scroll{font-size:10px;letter-spacing:.16em;margin-right:auto;display:flex;align-items:center;gap:26px}.hero-scroll span{font-size:23px}
.hero-controls{display:flex;gap:16px;align-items:center}.hero-controls button{font:12px Georgia,serif;border:0;border-bottom:1px solid transparent;background:transparent;color:#ffffff8f;padding:10px 4px;min-width:28px;min-height:44px}.hero-controls button.active{color:#fff;border-color:#c3b09a}.hero-controls #hero-pause{font-size:16px;color:#fff;margin-left:8px}
.hero-caption{font:13px Georgia,serif;letter-spacing:.1em;color:#d6cfc5}
.photo-nav{display:grid;grid-template-columns:repeat(4,1fr);background:#39352f;gap:1px;border-bottom:1px solid #625b52}
.photo-nav a{position:relative;display:block;overflow:hidden;height:215px;background:#282522}
.photo-nav img{height:100%;object-fit:cover;opacity:.46;filter:saturate(.5);transition:opacity .4s,transform .8s}.photo-nav a:hover img{opacity:.7;transform:scale(1.035)}
.photo-nav span{position:absolute;left:25px;right:25px;bottom:26px;font:16px var(--serif);letter-spacing:.09em;text-shadow:0 2px 15px #000}
.photo-nav small{display:block;font:11px Georgia,serif;letter-spacing:.18em;margin-bottom:10px}.photo-nav b{float:right;font-size:18px;font-weight:400}
.section-pad{padding:110px 8vw}.eyebrow{font-family:Georgia,serif;color:#c3b19c;font-weight:400}.intro{padding-top:130px;padding-bottom:135px;grid-template-columns:1fr 1.55fr;gap:9vw;background:#35312c}.intro h2{font-size:clamp(29px,3vw,42px)}.intro-copy p{color:var(--muted);font-size:15px}.journey-links a{border-color:#8f8272}.journey-links span{color:#baa891}
.button-light{background:#746653;color:#fff}.button-light:hover{background:#8a7963}.button-dark-outline,.button-outline{border-color:#a99a8880;color:#e9e2d9;background:transparent}.button-dark-outline:hover,.button-outline:hover{background:#746653;color:#fff}.button-gold{background:#a3937e;color:#211f1c}.button-gold:hover{background:#bead96}.text-link{border-color:#a49681;color:#e8dfd1}.skip-link{background:#292725;color:#fff}
h2{font-size:clamp(30px,3.1vw,44px);font-weight:400}h3{font-weight:400}.section-head>p{font-size:14px;color:#c7bdb0;letter-spacing:.06em}.section-head{margin-bottom:55px}.section-head .eyebrow{margin-bottom:18px}
.play-section{background:#292725;padding-left:6vw;padding-right:6vw}.play-layout{grid-template-columns:1fr;gap:45px}.coaster-figure img{aspect-ratio:1672/941;object-fit:contain;filter:saturate(.75);background:#10151b}.coaster-figure figcaption{color:#b8ada0;font-size:10px;margin-top:15px}
.play-details{display:grid;grid-template-columns:1fr 1fr;column-gap:8vw;position:relative;padding:20px 3vw 0}.play-details .section-number{grid-column:1;font-size:12px;color:#b1a18b}.play-details h3{grid-column:1;font-size:30px}.play-details>p{grid-column:1;font-size:14px;color:#c5bcae}.place-list{grid-column:2;grid-row:1/5;margin-top:0}.place-list li{border-color:#665e54}.place-list a{font-size:14px}.place-list small{font-size:12px;color:#b5a998}.place-list a:hover{color:#d1c1a9}.play-details p.note{grid-column:2;grid-row:5;color:#aca297;font-size:11px;line-height:1.8}
.illumination{background:#39332c;grid-template-columns:1.4fr 1fr;align-items:stretch}.illumination figure{min-height:520px}.illumination figure img{filter:saturate(.65) brightness(.85)}.illumination-copy{padding:75px 5vw;align-self:center}.illumination-copy h2{font-size:36px}.illumination-copy>p:not(.eyebrow){font-size:14px;color:#d6c9b8}.illumination-copy>p.note{color:#b4a99a;font-size:11px}.illumination figcaption{font-size:10px;background:#201d1999}
.full-photo{position:relative;margin:0;background:#211f1c}.full-photo img{width:100%;height:70vw;max-height:780px;min-height:400px;object-fit:cover;object-position:center 65%;filter:saturate(.65) brightness(.82)}.full-photo span{position:absolute;bottom:8%;left:8vw;font:clamp(14px,2vw,27px) Georgia,serif;letter-spacing:.15em;color:#fff;text-shadow:0 2px 15px #000}
.stay-section{background:#35312c}.stay-feature{grid-template-columns:1.8fr 1fr;gap:6vw}.stay-photo img{aspect-ratio:1.5;object-fit:cover}.stay-description p:not(.eyebrow),.material-copy p:not(.eyebrow){color:#c8bdaf;font-size:14px}.material-story{margin-top:100px;grid-template-columns:1fr 1.6fr;padding:0;gap:7vw}.material-story figure img{aspect-ratio:1.5}.material-copy{max-width:370px}.material-story figcaption{color:#b9ad9e;font-size:11px}
.life-story{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:90px}.life-story figure:nth-child(2){margin-top:70px}.life-story img{aspect-ratio:1.35;object-fit:cover}.life-story figcaption{font:20px var(--serif);letter-spacing:.06em;margin-top:23px}.life-story small{display:block;font:10px Georgia,serif;letter-spacing:.19em;color:#b8a68e;margin-bottom:12px}
.rooms-section{background:#292725}.room-grid{gap:48px 36px}.room-large img{aspect-ratio:1.85}.room-card img{aspect-ratio:1.5}.room-card small{color:#b1a28f;font:10px Georgia,serif}.room-card strong{font-weight:400;font-size:20px}.room-card:hover img{filter:saturate(.7) brightness(.8)}.extra-gallery{gap:40px 28px;margin-top:60px}.extra-gallery span{font:15px var(--serif);letter-spacing:.04em;color:#d0c4b5;margin-top:14px}.gallery-action p{color:#aaa093;font-size:11px}.facility{border-color:#625b52}.facility-list li,.facility details,.facility details:last-child{border-color:#625b52}.facility-list li{font-size:13px}.facility details p{color:#c1b6a8;font-size:14px}.facility summary{font-size:14px}.facility h3{font-size:28px}
.exterior-band{position:relative;background:#39342e;display:grid;grid-template-columns:1.3fr 1fr;align-items:center}.exterior-band img{aspect-ratio:1.5;object-fit:cover;filter:saturate(.6)}.exterior-band p{font:clamp(14px,2vw,24px) Georgia,serif;letter-spacing:.13em;text-align:center;padding:30px}
.access-section{background:#39342e;padding-top:85px}.access-title>p:not(.eyebrow){color:#c0b4a5;font-size:14px}.access-data strong{font-size:14px}.access-data>div>span{color:#bdae9a;font-size:13px}.access-data .note{font-size:11px;color:#b4a898}
.reservation{background:#24221f;grid-template-columns:1.3fr 1fr}.reservation-photo{min-height:560px}.reservation-photo img{filter:saturate(.65) brightness(.85)}.reservation-copy{padding:70px 5vw}.reservation-copy h2{font-size:38px}.reservation-copy>p:not(.eyebrow){font-size:14px;color:#c6b9a7}.booking-links{font-size:12px}.booking-links a{border-color:#8f7f68}
footer{background:#211f1d;color:#d4cbbf}.footer-bottom{color:#a99b89;border-color:#ffffff1f}.footer-links{font-size:12px}.mobile-reserve{background:#302c27;color:#e5d9c8;border-color:#65594a}.mobile-reserve a{background:#a08d74;color:#181715}.mobile-reserve span{color:#d0c3b1}#photo-dialog{background:#25221f}#photo-dialog::backdrop{background:#171512f2}#dialog-image{filter:none}
@media(min-width:1550px){.section-pad{padding-left:max(8vw,calc((100vw - 1400px)/2));padding-right:max(8vw,calc((100vw - 1400px)/2))}}
@media(max-width:1100px){.hero-caption{position:static}.site-header{gap:22px}.section-pad{padding:85px 6vw}.illumination-copy h2{font-size:30px}.hero-copy{left:6vw}.hero-footer{left:6vw}.photo-nav a{height:180px}.photo-nav span{left:20px;right:20px;font-size:14px}.stay-feature{grid-template-columns:1.45fr 1fr;gap:4vw}.reservation-copy h2{font-size:32px}}
@media(max-width:800px){.site-header{height:76px;padding:0 24px}.hero{height:100svh;max-height:950px;min-height:650px}.hero-copy{top:auto;bottom:24%;left:6vw;right:6vw;transform:none}.hero h1{font-size:clamp(30px,5vw,43px)}.hero-footer{display:flex;flex-wrap:wrap;bottom:90px;left:6vw;right:6vw;gap:14px}.hero-caption{display:none}.hero-scroll{font-size:9px;gap:12px}.hero-controls{gap:10px}.photo-nav{grid-template-columns:1fr 1fr}.photo-nav a{height:210px}.section-pad{padding:75px 6vw}.intro{grid-template-columns:1fr;gap:35px}.intro-label{gap:20px}.intro h2{font-size:32px}.play-details{grid-template-columns:1fr;padding:0;gap:0}.play-details h3,.play-details>p,.play-details .section-number,.place-list,.play-details p.note{grid-column:auto;grid-row:auto}.place-list{margin-top:30px}.play-details h3 br{display:block}.illumination{grid-template-columns:1fr}.illumination figure{min-height:0}.illumination figure img{height:auto;aspect-ratio:1.5}.illumination-copy{padding:50px 6vw}.illumination-copy h2 br{display:block}.full-photo img{height:75vw;min-height:350px;max-height:550px}.stay-feature{grid-template-columns:1fr;gap:35px}.material-story{grid-template-columns:1fr;gap:30px;margin-top:70px}.material-story figure{grid-row:1}.material-copy{max-width:none}.life-story{gap:25px;margin-top:60px}.life-story figure:nth-child(2){margin-top:40px}.life-story figcaption{font-size:17px}.room-grid{gap:32px 24px}.extra-gallery{grid-template-columns:1fr 1fr;gap:28px 24px}.facility{grid-template-columns:1fr;gap:25px}.exterior-band{grid-template-columns:1fr}.exterior-band p{font-size:17px;padding:45px 20px}.access-section{grid-template-columns:1fr;gap:25px}.reservation{grid-template-columns:1fr}.reservation-photo{min-height:0;max-height:none}.reservation-photo img{height:auto;aspect-ratio:1.5}.reservation-copy{padding:55px 6vw 65px}.reservation-copy h2{font-size:35px}.gallery-action .button{width:auto}.footer-top{align-items:flex-start}.brand-name{font-size:18px}}
@media(max-width:480px){.site-header{padding:0 20px}.hero{height:100svh;min-height:700px;max-height:920px}.hero-copy{bottom:26%;left:7vw;right:7vw}.hero h1{font-size:28px;letter-spacing:.06em;line-height:1.9}.hero .eyebrow{font-size:9px;letter-spacing:.15em;margin-bottom:20px}.hero-copy>p:not(.eyebrow){font-size:13px;letter-spacing:.035em;line-height:2;margin:23px 0}.hero-copy .button{font-size:12px;min-width:230px}.hero-frame{object-position:58% center}.hero-footer{display:flex;bottom:95px;left:7vw;right:7vw}.hero-controls{gap:5px}.hero-scroll{font-size:8px;letter-spacing:.08em;gap:9px}.photo-nav a{height:150px}.photo-nav span{font-size:14px;left:18px;right:18px;bottom:20px}.photo-nav small{font-size:9px;margin-bottom:9px}.intro-label>span:last-child{font-size:13px}.intro h2,h2{font-size:27px}.intro-copy p{font-size:14px}.section-pad{padding:65px 7vw}.section-head>p{font-size:13px}.coaster-figure figcaption{gap:5px}.play-details h3{font-size:26px}.full-photo img{min-height:340px;object-position:60% center}.full-photo span{font-size:12px;left:7vw;letter-spacing:.1em}.life-story{grid-template-columns:1fr;gap:35px}.life-story figure:nth-child(2){margin:0}.life-story img{aspect-ratio:1.5}.life-story figcaption{font-size:18px}.room-grid{grid-template-columns:1fr}.room-card img,.room-large img{aspect-ratio:1.5}.extra-gallery{gap:25px 18px}.extra-gallery span{font-size:13px;line-height:1.8}.facility h3{font-size:27px}.facility-list{grid-template-columns:1fr 1fr}.gallery-action .button{width:100%}.hero-caption{display:none}.brand-name{font-size:17px}.brand-mark{font-size:31px}.footer-links{font-size:13px}.reservation-copy h2{font-size:31px}}
@media(max-width:480px){.hero-frame:first-child{object-position:30% center}}
.hero-cups{object-position:50% 50%}.hero-sake-case{object-position:60% 40%}
.destination-gallery{display:grid;grid-template-columns:1fr 1fr;gap:40px 32px}
.destination-main{grid-column:1/-1}
.destination-card{display:block;min-width:0}
.destination-card img{width:100%;aspect-ratio:1.6;object-fit:cover;transition:filter .3s}
.destination-main img{aspect-ratio:1672/941;object-fit:contain;background:#211f1c}
.destination-card:hover img{filter:saturate(.75) brightness(.85)}
.destination-card figcaption{padding-top:18px;line-height:1.7}
.destination-card figcaption small{display:block;font:12px Georgia,serif;letter-spacing:.15em;color:#bdad96;margin-bottom:6px}
.destination-card figcaption strong{font:400 22px var(--serif);letter-spacing:.04em}
@media(max-width:800px){.destination-gallery{gap:32px 24px}.destination-card figcaption strong{font-size:18px}}
@media(max-width:480px){.destination-gallery{grid-template-columns:1fr;gap:32px}.destination-main{grid-column:auto}.destination-card img{aspect-ratio:1.6}.destination-main img{aspect-ratio:2}.destination-card figcaption strong{font-size:20px}.hero-image img.hero-cups{object-position:50% center}.hero-image img.hero-sake-case{object-position:60% center}}
@media(prefers-reduced-motion:reduce){.hero-frame.active{animation:none;transform:none}.hero-frame{transition:none;transform:none}.photo-nav img{transition:none}}
.destination-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px}
.garden-toggle{display:inline-flex;border:1px solid #b4a28b70;margin:0 0 28px}
.garden-toggle button{background:transparent;border:0;color:#d6c9b8;padding:14px 20px;cursor:pointer;font:inherit;font-size:13px}
.garden-toggle button[aria-pressed=true]{background:#b4a28b;color:#26221e}
.garden-toggle button span{display:block;font-size:9px;letter-spacing:.18em;margin-top:4px}
.garden-toggle button:focus-visible{outline:2px solid #eee8df;outline-offset:4px}
#garden-content p{color:#d6c9b8;font-size:14px;line-height:2}
.room-restroom img{object-fit:cover;object-position:center 58%;background:#242220}
.room-restroom[data-photo="Images/restroom-second-v4.webp"] img{object-position:center 72%}
.urushi-vessels{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:7vw;align-items:center;max-width:900px;margin:85px auto 0}
.urushi-vessels figure{margin:0}.urushi-vessels figure img{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain}
.urushi-vessels figcaption{color:#b9ad9e;font-size:11px;line-height:1.8;margin-top:14px}
.urushi-vessels-copy h3{font-size:30px;line-height:1.8;margin:18px 0 24px}
.urushi-vessels-copy p:not(.eyebrow){color:#c8bdaf;font-size:14px;line-height:2.2;margin:18px 0}
@media(max-width:800px){.urushi-vessels{gap:6vw;grid-template-columns:minmax(0,280px) minmax(0,1fr);margin-top:60px}.urushi-vessels-copy h3{font-size:25px}}
@media(max-width:600px){.urushi-vessels{grid-template-columns:1fr;gap:30px}.urushi-vessels figure{width:min(100%,300px);margin:auto}.urushi-vessels-copy h3{font-size:26px}}
@media(max-width:480px){.destination-main img{aspect-ratio:1672/941}}
.arrival-section{display:block}
.arrival-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:6vw;align-items:start}
.arrival-visual figure{margin:0 0 25px}
.arrival-visual img{width:100%;aspect-ratio:1.5;object-fit:cover;filter:saturate(.7)}
.arrival-visual figcaption{margin-top:12px;font-size:12px;color:var(--muted)}
.arrival-visual iframe{display:block;width:100%;height:300px;border:0;background:#292725}
.arrival-details h3{font-size:27px;line-height:1.7;margin-bottom:25px}
.arrival-details dl{margin:0 0 28px}
.arrival-details dl>div{display:grid;grid-template-columns:95px 1fr;gap:18px;padding:20px 0;border-top:1px solid #b4a28b40}
.arrival-details dt{font-size:12px;color:#bdae9a;line-height:2}
.arrival-details dd{margin:0;font-size:14px;line-height:2}
.arrival-details strong{font-weight:400}
.arrival-details small{font-size:11px;color:var(--muted)}
.arrival-details .note{font-size:11px;color:var(--muted);margin-top:15px}
.reservation-inline{display:block;padding:85px 7vw;background:#24221f}
.reservation-intro{text-align:center;margin-bottom:40px}
.reservation-intro h2{font-size:38px}
.reservation-intro>p:not(.eyebrow){font-size:14px;color:var(--muted);margin-top:22px;line-height:2}
.booking-embed{max-width:1100px;margin:0 auto;background:#fff;overflow:hidden}
.reservation-inline .booking-links{justify-content:center;margin:30px auto 0}
@media(max-width:800px){.arrival-layout{grid-template-columns:1fr;gap:35px}.arrival-visual iframe{height:300px}.arrival-details dl>div{grid-template-columns:90px 1fr}.reservation-inline{padding:65px 6vw}.reservation-intro h2{font-size:31px}}
@media(max-width:480px){.arrival-details h3{font-size:24px}.arrival-details dl>div{grid-template-columns:75px 1fr;gap:12px}.arrival-details dd{font-size:13px}.arrival-details .button{font-size:12px;width:100%}.reservation-inline{padding:65px 5vw}.reservation-intro h2{font-size:29px}.booking-embed{margin-left:-1vw;margin-right:-1vw}}


.guide-page{background:var(--paper);color:var(--ink)}
.guide .wrap{max-width:1040px;padding:0 45px;margin:0 auto}
.guide-head{padding-top:170px!important;padding-bottom:45px!important}
.guide-head h1{font:400 clamp(30px,4vw,46px) var(--serif);line-height:1.7;letter-spacing:.08em;margin-bottom:25px}
.guide p,.guide li{font-size:14px;line-height:2.1;color:var(--muted);overflow-wrap:anywhere}
.guide .eyebrow{font-size:11px;color:var(--gold)}
.guide-jump{display:flex;gap:24px;flex-wrap:wrap;margin-bottom:55px!important}
.guide-jump a{font-size:12px;border-bottom:1px solid #b4a28b75;padding:0 0 12px;line-height:1.8}
.guide-jump span{margin-left:12px;color:var(--gold)}
.guide .section.tight{padding:55px 0 60px;border-top:1px solid #b4a28b35;scroll-margin-top:110px}
.guide h2{font-size:28px;line-height:1.7;margin-bottom:24px}
.guide h3{font:400 20px var(--serif);line-height:1.7;margin:34px 0 10px}
.guide ul{padding-left:1.3em;margin:12px 0}
.guide li{margin:6px 0}
.guide strong{font-weight:500;color:var(--ink)}
.guide table{width:100%;border-collapse:collapse;font-size:14px;margin-top:28px;line-height:2}
.guide th{font-weight:400;text-align:left;color:var(--muted)}
.guide th,.guide td{padding:17px 18px 17px 0;vertical-align:top;border-top:1px solid #b4a28b40}
.guide tr:last-child th,.guide tr:last-child td{border-bottom:1px solid #b4a28b40}
.guide .policy{max-width:650px}
.guide .policy td{text-align:right;white-space:nowrap;color:#d1bea2}
.guide .gtable th{width:28%}
.guide .gtable td{overflow-wrap:anywhere}
.guide .note{font-size:12px;color:var(--muted)}
.guide p a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.guide .updated{font-size:12px;margin-top:40px}
.guide .center{text-align:center;background:#39342e}
.guide .center .button{margin-top:25px;border-color:#b4a28b;color:var(--ink);background:transparent}
.guide-page footer{margin-top:0}
@media(max-width:800px){.guide .wrap{padding:0 6vw}.guide-head{padding-top:135px!important}.guide-jump{gap:16px}.guide h2{font-size:25px}}
@media(max-width:480px){.guide-head{padding-top:120px!important;padding-bottom:30px!important}.guide-head h1{font-size:29px}.guide-jump{display:flex;flex-direction:column;margin-bottom:35px!important}.guide-jump a{display:flex;justify-content:space-between}.guide .section.tight{padding:40px 0 45px}.guide h2{font-size:22px}.guide p,.guide li,.guide table{font-size:13px}.guide h3{font-size:18px}.guide .gtable th,.guide .gtable td{display:block;width:100%;padding-right:0}.guide .gtable th{padding:15px 0 3px}.guide .gtable td{border-top:0;padding:0 0 15px}.guide .gtable tr:last-child th{border-bottom:0}.guide .policy th,.guide .policy td{padding-right:0}}


.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.language-switch{display:flex;flex:none;align-items:center}
.language-switch select{background:#292725;color:#eee7dc;border:1px solid #b4a28b65;border-radius:3px;padding:8px 5px;font-family:inherit;font-size:12px;width:96px;cursor:pointer}
.language-switch select:focus-visible{outline:2px solid #d8b582;outline-offset:3px}
.booking-payment-note{max-width:1100px;margin:0 auto 25px;text-align:center;font-size:14px;line-height:2;color:#d5cbbd}
.booking-payment-note p{margin:4px 0}.booking-payment-note strong{color:#eee7dc;font-weight:500}
.booking-language-note{font-size:12px;color:#b4a28b}.booking-language-note[hidden]{display:none}
html:not([lang=ja]) h1,html:not([lang=ja]) h2,html:not([lang=ja]) h3{letter-spacing:.02em;overflow-wrap:break-word}
html[lang=en] .hero h1{font-size:clamp(32px,4vw,60px)}
html:not([lang=ja]) .desktop-nav{gap:20px}
html:not([lang=ja]) .guide table{overflow-wrap:anywhere}
@media(min-width:801px) and (max-width:1200px){.site-header{gap:12px;padding-left:3vw;padding-right:3vw}.desktop-nav{gap:14px}.desktop-nav a{font-size:12px}.header-reserve{font-size:11px;padding:12px}.brand-name{font-size:18px}}
@media(max-width:800px){.site-header{gap:12px}.language-switch{margin-left:auto}.language-switch select{width:88px;font-size:11px;padding:7px 3px}.brand-name{font-size:17px}.brand-name small{font-size:10px}.booking-payment-note{font-size:12px;text-align:left}html[lang=en] .hero h1{font-size:32px}html:not([lang=ja]) .mobile-reserve span{font-size:10px}}
@media(max-width:390px){.site-header{padding-left:14px;padding-right:14px;gap:9px}.brand-name{font-size:15px}.language-switch select{width:82px}html[lang=en] .hero h1{font-size:28px}}

/* Mobile typography and dedicated portrait hero photography. */
@media(max-width:800px){
 .header-reserve{display:none}
 .hero-image img.hero-frame,.hero-image img.hero-frame:first-child,.hero-image img.hero-sake-case,.hero-image img.hero-cups{object-position:50% 50%}
 .hero h1,html[lang=en] .hero h1{font-size:28px}
 h2,.intro h2,.illumination-copy h2,.reservation-copy h2{font-size:27px}
 .play-details h3,.facility h3{font-size:24px}
 .room-card strong{font-size:17px;line-height:1.65}
 .life-story figcaption,.destination-card figcaption strong{font-size:17px}
 .intro-copy p{font-size:14px}
 .mobile-menu a{font-size:14px}
}
@media(max-width:480px){
 .hero h1,html[lang=en] .hero h1{font-size:25px}
 h2,.intro h2,.illumination-copy h2,.reservation-copy h2{font-size:24px}
 .play-details h3,.facility h3{font-size:22px}
 .room-card strong{font-size:16px}
 .life-story figcaption,.destination-card figcaption strong{font-size:16px}
 .guide h1{font-size:26px}
}

/* Compact direct-booking guidance. */
.booking-guide{max-width:900px;margin:0 auto 28px;color:#eee7dc;font-size:14px;line-height:1.8}
.booking-benefit{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-bottom:20px}
.booking-badge{padding:3px 12px;border:1px solid #bfa17b;color:#ead1ab;font-size:12px;letter-spacing:.08em}
.booking-summary{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;text-align:center}
.booking-summary strong{display:block;font-size:15px;font-weight:500}
.booking-summary small{display:block;margin-top:4px;font-size:12px;color:#cfc5b6}
.booking-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:22px 0 12px;padding:0;counter-reset:booking-step}
.booking-steps li{position:relative;padding:12px 6px;border-top:1px solid #82735e;border-bottom:1px solid #82735e;text-align:center;font-size:13px}
.booking-steps li::before{counter-increment:booking-step;content:counter(booking-step,decimal-leading-zero);display:block;color:#d8b582;font:14px Georgia,serif;margin-bottom:5px}
.booking-steps li+li::after{content:"›";position:absolute;left:-12px;top:50%;transform:translateY(-50%);color:#d8b582;font-size:20px}
.booking-flow{text-align:center;font-size:12px;color:#cfc5b6}
.booking-flow summary{cursor:pointer;display:list-item;list-style-position:inside;padding:8px}
.booking-flow summary:focus-visible{outline:2px solid #d8b582;outline-offset:3px}
.booking-flow p{max-width:680px;margin:8px auto 0;text-align:left;line-height:1.9}
.booking-guide .booking-language-note{text-align:center;margin-top:10px}
@media(max-width:600px){
 .booking-guide{font-size:13px;margin-bottom:22px}
 .booking-benefit{gap:8px 10px;margin-bottom:16px}
 .booking-summary{grid-template-columns:1fr;gap:12px}
 .booking-summary strong{font-size:14px}
 .booking-summary small{font-size:11px}
 .booking-steps{gap:12px;margin-top:18px}
 .booking-steps li{padding:10px 3px;font-size:11px;line-height:1.7;overflow-wrap:anywhere}
 .booking-steps li+li::after{left:-10px}
}
