:root{--navy:#062d4e;--deep:#031f36;--blue:#0e527f;--sky:#eaf3f7;--gold:#c5a56a;--ink:#183044;--white:#fff;--serif:"Noto Serif JP",serif;--sans:"Noto Sans JP",sans-serif;--en:"Cormorant Garamond",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);font-weight:300;background:#f9fbfc}a{color:inherit;text-decoration:none}img{width:100%;display:block}.header{position:absolute;z-index:10;top:0;left:0;width:100%;height:98px;padding:0 4.5vw;display:flex;align-items:center;color:#fff;border-bottom:1px solid #ffffff3b}.brand{display:flex;align-items:center;gap:13px}.brand-mark{display:grid;place-items:center;width:43px;height:43px;border:1px solid #c5a56a;border-radius:50%;font:500 31px/1 var(--en);color:var(--gold)}.brand b,.footer-brand b{font:500 17px/1 var(--en);letter-spacing:.14em}.brand small,.footer-brand small{display:block;margin-top:5px;font:10px/1 var(--sans);letter-spacing:.32em}.nav{margin-left:auto;display:flex;gap:34px;font-size:13px;letter-spacing:.08em}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-10px;width:0;height:1px;background:var(--gold);transition:.3s}.nav a:hover:after{width:100%}.header-actions{margin-left:38px;display:flex;align-items:center;gap:22px}.phone{font:500 15px var(--en);letter-spacing:.1em}.book{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;background:var(--gold);color:#fff;padding:17px 26px;font-size:13px;letter-spacing:.1em;transition:.25s}.book:hover{background:#b18f51;transform:translateY(-2px)}.book-small{padding:16px 22px}.menu{display:none;background:none;border:0}.hero{height:min(860px,100vh);min-height:700px;position:relative;color:#fff;overflow:hidden}.hero-bg,.booking-bg{position:absolute;inset:0;background:url("assets/213b4611c7193733.webp") center/cover no-repeat;transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,24,42,.76),rgba(4,39,64,.2) 65%,rgba(2,20,35,.12)),linear-gradient(0deg,rgba(2,25,43,.58),transparent 45%)}.hero-content{position:absolute;left:9vw;top:50%;transform:translateY(-43%);max-width:660px}.eyebrow{font:500 12px var(--en);letter-spacing:.26em;color:var(--blue);margin:0 0 25px}.eyebrow:before{content:"";display:inline-block;width:38px;height:1px;background:currentColor;vertical-align:middle;margin-right:14px}.eyebrow.light{color:#d4c49d}.hero h1,.section h2,.dining h2,.access h2,.booking h2{font:400 clamp(38px,5vw,72px)/1.38 var(--serif);letter-spacing:.04em;margin:0}.hero h1 em,.section h2 em,.dining h2 em,.access h2 em{font-style:normal;color:var(--gold)}.hero-copy{margin:27px 0 36px;font-size:15px;line-height:2.05;letter-spacing:.08em}.hero-info{position:absolute;right:0;bottom:0;display:flex;background:#f8fbfc;color:var(--ink);padding:28px 4.5vw 25px 42px;gap:46px}.hero-info div+div{padding-left:42px;border-left:1px solid #cfdbe1}.hero-info span{display:block;font:500 10px var(--en);letter-spacing:.2em;color:var(--blue);margin-bottom:8px}.hero-info strong{font-size:12px;font-weight:400;letter-spacing:.04em}.scroll{position:absolute;bottom:26px;left:3.8vw;font:10px var(--en);letter-spacing:.22em;writing-mode:vertical-rl;display:flex;align-items:center;gap:12px}.scroll i{height:36px;width:1px;background:#fff}.section{padding:130px max(7vw,30px)}.intro{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12vw;overflow:hidden}.intro h2,.section-head h2{font-size:clamp(34px,4.2vw,58px)}.intro-copy{padding-top:45px;font-size:14px;line-height:2.2;max-width:520px}.text-link{display:inline-flex;gap:50px;margin-top:25px;padding-bottom:8px;border-bottom:1px solid var(--navy);font-size:13px}.watermark{position:absolute;right:-20px;bottom:-75px;font:500 190px/1 var(--en);letter-spacing:.06em;color:#eaf0f3;margin:0;z-index:-1}.rooms{background:#eaf3f7}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:60px}.section-head>p{font-size:13px;line-height:2;color:#536d7d;margin-bottom:10px}.room-grid{display:grid;grid-template-columns:1.45fr 1fr;gap:22px}.room-main{grid-row:span 2}.room-card{position:relative;overflow:hidden;background:#082c49;min-height:270px}.room-main{min-height:562px}.room-card:after,.special:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,#021c2ed9)}.room-card img{height:100%;object-fit:cover;position:absolute;transition:.7s}.room-card:hover img,.special:hover img{transform:scale(1.04)}.room-label{position:absolute;z-index:2;bottom:25px;left:28px;right:28px;color:#fff;display:flex;align-items:flex-end;gap:18px}.room-label>span{font:22px var(--en);color:var(--gold)}.room-label p{font:10px var(--en);letter-spacing:.18em;margin:0 0 5px}.room-label h3{font:400 17px var(--serif);margin:0}.room-label i{margin-left:auto;font:10px var(--en);letter-spacing:.12em;font-style:normal;color:#c9d8e1}.outline-btn{display:flex;justify-content:space-between;width:280px;border:1px solid #7f9aab;padding:17px 20px;margin:40px 0 0 auto;font-size:12px;letter-spacing:.08em}.dining{min-height:710px;background:var(--navy);display:grid;grid-template-columns:56% 44%;align-items:center;color:#fff;padding:100px 0}.dining-image{position:relative;margin-left:5vw}.dining-image img{height:510px;object-fit:cover}.dining-image span{position:absolute;left:-25px;bottom:48px;writing-mode:vertical-rl;font:italic 15px var(--en);letter-spacing:.12em;color:#fff}.dining-copy{padding:0 8vw 0 6vw}.dining h2,.access h2{font-size:clamp(34px,4vw,57px)}.dining-copy>p:not(.eyebrow){font-size:13px;line-height:2.15;color:#cfdae2;margin:28px 0}.dining-links{border-top:1px solid #ffffff30}.dining-links a{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff30;padding:18px 0;font-size:13px}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cad8df;border-bottom:1px solid #cad8df}.feature{padding:40px 28px;min-height:230px}.feature+.feature{border-left:1px solid #cad8df}.icon{font:30px var(--en);color:var(--gold);height:45px;display:block}.feature p,.special span{font:10px var(--en);letter-spacing:.17em;color:#52748c}.feature h3{font:400 18px var(--serif);margin:14px 0}.feature small{font-size:11px;line-height:1.8;color:#6f818d}.special-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:75px}.special{height:330px;position:relative;overflow:hidden;color:#fff}.special img{height:100%;object-fit:cover;transition:.7s}.special:after{inset:25% 0 0}.special span,.special h3,.special i{position:absolute;z-index:2;left:26px}.special span{bottom:69px;color:#c6d6e0}.special h3{bottom:28px;font:400 19px var(--serif);margin:0}.special i{right:24px;left:auto;bottom:30px;font-style:normal}.access{display:grid;grid-template-columns:55% 45%;min-height:650px;background:#062d4e;color:#fff}.map-art{position:relative;overflow:hidden;background:linear-gradient(135deg,#edf4f6,#dce9ee);color:#59778b}.map-art:before,.map-art:after{content:"";position:absolute;width:120%;height:3px;background:#bbccd5;transform:rotate(-24deg);top:45%;left:-10%}.map-art:after{transform:rotate(19deg);top:68%}.map-art span,.map-art strong{position:absolute;z-index:2;background:#edf4f6;padding:5px;font-size:11px}.map-art span:nth-child(1){top:27%;right:17%}.map-art span:nth-child(2){top:18%;left:22%}.map-art span:nth-child(3){bottom:24%;left:17%}.map-art strong{top:46%;left:47%;transform:translate(-50%,-50%);width:110px;height:110px;border-radius:50%;display:grid;place-items:center;text-align:center;background:var(--navy);color:#fff;font:500 12px/1.5 var(--en);letter-spacing:.1em;box-shadow:0 0 0 12px #0e527f2b}.access-copy{padding:100px 8vw}.access dl{margin:32px 0}.access dl div{display:flex;justify-content:space-between;border-top:1px solid #ffffff30;padding:17px 0;font-size:13px}.access dl div:last-child{border-bottom:1px solid #ffffff30}.access dd{margin:0;color:#d5c18f}.access-copy>p:not(.eyebrow){font-size:11px;color:#bacbd5}.light-btn{margin:30px 0 0;color:#fff;border-color:#ffffff55}.booking{position:relative;min-height:560px;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden}.booking-bg{background-image:linear-gradient(#052b4cba,#052b4cd9),url("assets/5955e0ae88d2722b.webp");filter:saturate(.75)}.booking-content{position:relative;z-index:1}.booking h2{font-size:clamp(34px,4.5vw,60px)}.booking-content>p:not(.eyebrow){font-size:13px;line-height:2;margin:22px 0 28px}.book-large{min-width:310px}.booking-phone{display:block;margin-top:23px;font:14px var(--en);letter-spacing:.08em}footer{background:#021b2e;color:#afbfca;padding:65px 7vw 30px;display:grid;grid-template-columns:1.5fr 2fr 1fr;gap:50px;position:relative}.footer-brand{display:flex;gap:15px;align-items:center;color:#fff}.footer-brand p{margin:0}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;font-size:11px}.address{font-size:11px;line-height:2;margin:0}.copy{grid-column:1/-1;border-top:1px solid #ffffff1c;padding-top:25px;font:9px var(--en);letter-spacing:.15em}.mobile-book{display:none}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.header{height:75px;padding:0 20px}.brand b{font-size:14px}.brand-mark{width:37px;height:37px}.nav,.header-actions{display:none}.menu{display:block;margin-left:auto;width:38px}.menu span{display:block;height:1px;background:#fff;margin:8px 0}.hero{height:760px;min-height:0}.hero-content{left:28px;right:28px;top:43%}.hero h1{font-size:43px}.hero-copy br{display:none}.hero-info{left:0;right:0;padding:18px 22px;gap:0;justify-content:space-between}.hero-info div{width:33%;padding:0 10px!important}.hero-info div+div{border-left:1px solid #cfdbe1}.hero-info strong{font-size:9px}.scroll{display:none}.section{padding:85px 24px}.intro{grid-template-columns:1fr;gap:10px}.intro-copy{padding-top:0}.watermark{font-size:100px}.section-head{display:block}.section-head>p{margin-top:20px}.room-grid{grid-template-columns:1fr}.room-main,.room-card{min-height:330px;grid-row:auto}.dining{grid-template-columns:1fr;padding:75px 24px}.dining-image{margin:0}.dining-image img{height:380px}.dining-copy{padding:60px 5px 0}.feature-grid{grid-template-columns:1fr 1fr}.feature:nth-child(3){border-left:0;border-top:1px solid #cad8df}.feature:nth-child(4){border-top:1px solid #cad8df}.special-grid{grid-template-columns:1fr}.special{height:280px}.access{grid-template-columns:1fr}.map-art{height:420px}.access-copy{padding:75px 28px}.booking{min-height:530px;padding:60px 25px}footer{grid-template-columns:1fr;gap:35px;padding-bottom:90px}.footer-links{grid-template-columns:1fr 1fr}.mobile-book{display:flex;position:fixed;z-index:20;bottom:0;left:0;right:0;height:58px}.mobile-book a{width:42%;display:grid;place-items:center;background:#fff;color:var(--navy);font-size:12px}.mobile-book a:last-child{width:58%;background:var(--gold);color:#fff}.outline-btn{margin-left:0;max-width:100%}}
@media(max-width:520px){.hero h1{font-size:37px}.hero-info span{font-size:8px}.hero-info strong{line-height:1.45}.feature{padding:30px 17px;min-height:215px}.room-card{min-height:280px}.dining-image img{height:310px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}

/* 2026 bright-blue refinement */
:root{--navy:#0b527f;--deep:#063b60;--blue:#2b7ead;--sky:#f2f8fb;--ink:#173f59}
body{background:#fff}
.official-logo b{font-family:var(--serif);font-size:17px;font-weight:500;letter-spacing:.08em;white-space:nowrap}
.official-logo small{font-family:var(--en);font-size:9px;letter-spacing:.24em;text-align:center}
.hero-bg{filter:brightness(1.14) saturate(1.04)}
.hero-shade{background:linear-gradient(90deg,rgba(4,45,73,.46),rgba(25,94,132,.08) 64%,transparent),linear-gradient(0deg,rgba(4,42,68,.3),transparent 42%)}
.header{background:linear-gradient(180deg,rgba(4,45,72,.26),transparent)}
.rooms{background:#f1f8fb}
.room-card:after,.special:after{background:linear-gradient(transparent,rgba(4,45,72,.72))}
.dining{background:linear-gradient(135deg,#17658f,#0c527f)}
.access{background:linear-gradient(145deg,#2077a4,#0d5886)}
.booking-bg{background-image:linear-gradient(rgba(17,85,122,.48),rgba(8,64,98,.62)),url("assets/5955e0ae88d2722b.webp");filter:brightness(1.12) saturate(.95)}
footer{background:#083e62;color:#cbdde7}
@media(max-width:900px){.official-logo b{font-size:14px}.official-logo small{font-size:8px}.hero-shade{background:linear-gradient(90deg,rgba(4,45,73,.48),rgba(25,94,132,.08)),linear-gradient(0deg,rgba(4,42,68,.28),transparent 45%)}}

.all-rooms{grid-template-columns:repeat(3,1fr)}
.all-rooms .room-card{min-height:350px}
.usage-details{margin-top:90px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.usage-panel{background:#fff;border:1px solid #d4e2e9;padding:48px}
.usage-panel:first-child{grid-column:1/-1}
.usage-panel h3{font:400 30px var(--serif);margin:-8px 0 22px;color:var(--navy)}
.usage-lead{display:inline-block;background:#e9f4f9;color:var(--blue);font-weight:500;padding:10px 15px;margin:0 0 24px}
.usage-panel ol{list-style:none;counter-reset:usage;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 34px}
.usage-panel:not(:first-child) ol{grid-template-columns:1fr}
.usage-panel li{counter-increment:usage;position:relative;padding:17px 0 17px 38px;border-top:1px solid #dbe6eb;font-size:13px;line-height:1.75}
.usage-panel ol li:before{content:counter(usage,decimal-leading-zero);position:absolute;left:0;top:17px;font:500 13px var(--en);color:var(--gold)}
.usage-panel li b,.usage-panel li span{display:block}.usage-panel li b{font-weight:500;color:#244d67}.usage-panel li span{font-size:12px;color:#637b89;margin-top:5px}
.nearby{margin-top:30px;padding:28px;background:#f1f7f9}.nearby h4{font:500 17px var(--serif);margin:0 0 18px}.nearby ul{display:grid;grid-template-columns:repeat(2,1fr);gap:9px 25px;margin:0;padding:0;list-style:none}.nearby li{border:0;padding:0 0 0 15px;font-size:11px}.nearby li:before{content:"";position:absolute;left:0;top:.75em;width:5px;height:5px;background:var(--gold);border-radius:50%}
@media(max-width:900px){.all-rooms{grid-template-columns:1fr 1fr}.all-rooms .room-card{min-height:300px}.usage-details{grid-template-columns:1fr;margin-top:65px}.usage-panel,.usage-panel:first-child{grid-column:auto;padding:32px 24px}.usage-panel ol{grid-template-columns:1fr}.nearby ul{grid-template-columns:1fr}}
@media(max-width:520px){.all-rooms{grid-template-columns:1fr}.all-rooms .room-card{min-height:285px}}
.usage-hero{height:340px;margin:-48px -48px 42px;overflow:hidden}
.usage-hero img{height:100%;object-fit:cover;object-position:center}
.usage-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:-48px -48px 38px}
.usage-gallery img{height:190px;object-fit:cover}
@media(max-width:900px){.usage-hero{height:260px;margin:-32px -24px 32px}.usage-gallery{margin:-32px -24px 30px}.usage-gallery img{height:155px}}

/* Ghost header and official wordmark */
.header{position:fixed;transition:height .35s ease,background-color .35s ease,color .35s ease,box-shadow .35s ease,border-color .35s ease,backdrop-filter .35s ease}
.official-logo img{width:285px;height:auto;display:block}
.header.is-scrolled{height:76px;background:rgba(255,255,255,.94);color:var(--navy);border-color:#d8e5eb;box-shadow:0 8px 30px rgba(15,64,91,.1);backdrop-filter:blur(14px)}
.header.is-scrolled .official-logo img{filter:brightness(0) saturate(100%) invert(25%) sepia(35%) saturate(1260%) hue-rotate(161deg) brightness(88%)}
.header.is-scrolled .menu span{background:var(--navy)}
.header.is-scrolled .book{color:#fff}
.footer-brand.official-logo img{width:290px}
@media(max-width:1100px){.official-logo img{width:235px}.nav{gap:20px}.header-actions{margin-left:22px;gap:14px}}
@media(max-width:900px){.official-logo img{width:220px}.header.is-scrolled{height:68px}.footer-brand.official-logo img{width:min(290px,100%)}}

/* Soft white veil over photography */
.hero-bg:after,.booking-bg:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.14);pointer-events:none}
.dining-image:after,.usage-hero:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.17);pointer-events:none;z-index:1}
.dining-image,.usage-hero{position:relative}
.room-card:before,.special:before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.13);z-index:1;pointer-events:none}
.room-card:after,.special:after{z-index:1}
.usage-gallery,.map-art{background:#fff}
.usage-gallery img{opacity:.84}
.room-card img,.special img,.dining-image img,.usage-hero img{filter:saturate(.9) brightness(1.04)}

/* Clear photography — remove glass/colour veils */
.hero-bg:after,.booking-bg:after,.dining-image:after,.usage-hero:after,.room-card:before,.special:before{display:none}
.hero-bg,.room-card img,.special img,.dining-image img,.usage-hero img,.usage-gallery img{filter:none;opacity:1}
.hero-shade{background:linear-gradient(90deg,rgba(3,27,44,.24),rgba(3,27,44,.04) 48%,transparent 72%),linear-gradient(0deg,rgba(3,27,44,.16),transparent 34%)}
.room-card:after,.special:after{background:linear-gradient(transparent 30%,rgba(3,27,44,.7));inset:55% 0 0}
.booking-bg{background-image:linear-gradient(rgba(3,35,55,.2),rgba(3,35,55,.42)),url("assets/5955e0ae88d2722b.webp");filter:none}

/* Guest rooms page */
.room-page-hero{height:72vh;min-height:620px;position:relative;overflow:hidden;color:#fff}
.room-page-hero>img{height:100%;object-fit:cover;object-position:center 58%}
.rooms-page .room-page-hero>img{object-position:center 48%}
.room-page-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,30,48,.38),rgba(3,30,48,.04) 65%),linear-gradient(0deg,rgba(3,30,48,.24),transparent 45%)}
.room-page-title{position:absolute;left:8vw;bottom:12%;z-index:1}.room-page-title p{font:500 12px var(--en);letter-spacing:.3em;color:#d8c497}.room-page-title h1{font:400 clamp(44px,6vw,78px) var(--serif);letter-spacing:.08em;margin:10px 0 17px}.room-page-title span{font-size:13px;letter-spacing:.14em}
.room-introduction{text-align:center;padding:120px 24px}.room-introduction .eyebrow:before{display:none}.room-introduction h2{font:400 clamp(34px,4.5vw,58px)/1.55 var(--serif);margin:0}.room-introduction h2 em{font-style:normal;color:var(--gold)}.room-introduction>p:last-child{font-size:13px;line-height:2.1;color:#647d8d;margin-top:28px}
.large-room-list{padding:0 5vw 120px}.large-room{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(350px,.85fr);min-height:600px;margin-bottom:72px;background:#f1f7fa}.large-room.reverse{grid-template-columns:minmax(350px,.85fr) minmax(0,1.65fr)}.large-room.reverse .large-room-photo{order:2}.large-room.reverse .large-room-info{order:1}.large-room-photo{overflow:hidden;min-height:600px}.large-room-photo img{height:100%;object-fit:cover;transition:transform .8s}.large-room:hover .large-room-photo img{transform:scale(1.025)}.large-room-info{position:relative;padding:70px 4.5vw;align-self:center}.room-number{position:absolute;right:35px;top:28px;font:500 58px/1 var(--en);color:#d8e5eb}.room-en{font:500 11px var(--en);letter-spacing:.24em;color:var(--blue);margin:0 0 12px}.large-room-info h2{font:400 clamp(25px,2.5vw,37px) var(--serif);margin:0 0 22px}.room-description{font-size:12px;line-height:2;color:#627887;margin-bottom:28px}.large-room-info dl{margin:0;border-top:1px solid #cfdee5}.large-room-info dl div{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #cfdee5;font-size:12px}.large-room-info dt{color:#6f8592}.large-room-info dd{margin:0;font-weight:500;color:#294f68}.room-equipment{font-size:10px;line-height:1.8;color:#748a96;margin:18px 0}.room-book{display:flex;justify-content:space-between;background:var(--navy);color:#fff;padding:17px 19px;margin-top:25px;font-size:12px;letter-spacing:.06em;transition:.25s}.room-book:hover{background:var(--blue)}
.room-amenities{background:linear-gradient(135deg,#17658f,#0b527f);color:#fff;padding:90px 8vw;display:grid;grid-template-columns:1fr 1.5fr;gap:8vw;align-items:center}.room-amenities h2{font:400 clamp(28px,3vw,43px) var(--serif);margin:0}.room-amenities ul{display:grid;grid-template-columns:repeat(2,1fr);list-style:none;margin:0;padding:0;border-top:1px solid #ffffff3b}.room-amenities li{padding:17px;border-bottom:1px solid #ffffff3b;font-size:12px}.room-amenities li:nth-child(odd){border-right:1px solid #ffffff3b}.room-page-booking{min-height:500px}
@media(max-width:900px){.room-page-hero{height:640px;min-height:0}.room-page-title{left:25px;bottom:12%}.room-introduction{padding:85px 24px}.room-introduction br{display:none}.large-room-list{padding:0 20px 80px}.large-room,.large-room.reverse{grid-template-columns:1fr;margin-bottom:35px}.large-room.reverse .large-room-photo,.large-room.reverse .large-room-info{order:initial}.large-room-photo{min-height:360px}.large-room-info{padding:55px 28px}.room-amenities{grid-template-columns:1fr;padding:75px 25px}}
@media(max-width:520px){.room-page-hero{height:540px}.room-page-title h1{font-size:40px}.large-room-photo{min-height:260px}.large-room-info{padding:48px 22px}.room-number{font-size:44px}.room-amenities ul{grid-template-columns:1fr}.room-amenities li:nth-child(odd){border-right:0}}

/* Access page */
.access-page-hero{height:72vh;min-height:620px;position:relative;overflow:hidden;background:#dcecf2}.access-hero-map{position:absolute;inset:0;background:linear-gradient(135deg,#eef6f8,#d6e8ef);overflow:hidden}.map-road{position:absolute;width:130%;height:4px;background:#b2cad5;left:-15%}.road-a{top:38%;transform:rotate(-16deg)}.road-b{top:61%;transform:rotate(12deg)}.road-c{top:50%;transform:rotate(78deg);background:#c5d8df}.map-station{position:absolute;font-size:12px;color:#557789;background:#eef6f8;padding:7px 10px;z-index:1}.station-jr{right:15%;top:28%}.station-tobu{left:17%;bottom:21%}.station-pref{left:25%;top:20%}.access-hero-map strong{position:absolute;z-index:2;left:52%;top:48%;transform:translate(-50%,-50%);display:grid;place-items:center;width:145px;height:145px;border-radius:50%;text-align:center;color:#fff;background:var(--navy);font:500 14px/1.5 var(--en);letter-spacing:.12em;box-shadow:0 0 0 18px rgba(36,116,165,.16)}.access-page-heading{position:absolute;left:8vw;bottom:11%;z-index:3;color:var(--navy)}.access-page-heading p{font:500 12px var(--en);letter-spacing:.3em;color:var(--blue)}.access-page-heading h1{font:400 clamp(44px,6vw,78px) var(--serif);margin:8px 0}.access-page-heading span{font-size:13px;letter-spacing:.12em}
.access-overview{padding:120px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center}.access-overview-title h2{font:400 clamp(34px,4vw,55px)/1.5 var(--serif);margin:0}.access-overview-title h2 em{font-style:normal;color:var(--gold)}.access-overview-title>p:last-child{font-size:13px;line-height:2;color:#657e8e;margin-top:28px}.access-address-card{background:#f0f7fa;padding:48px}.card-label{font:500 10px var(--en);letter-spacing:.2em;color:var(--blue)}.access-address-card h3{font:400 22px var(--serif);margin:16px 0 28px}.access-address-card dl{margin:0}.access-address-card dl div{display:grid;grid-template-columns:90px 1fr;padding:14px 0;border-top:1px solid #cfdfe6;font-size:12px;line-height:1.7}.access-address-card dl div:last-child{border-bottom:1px solid #cfdfe6}.access-address-card dd{margin:0;font-weight:500}.map-button{display:flex;justify-content:space-between;background:var(--navy);color:#fff;padding:17px 20px;margin-top:28px;font-size:12px}
.transport-section{background:#f2f8fb;padding:110px 8vw}.transport-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.transport-card{background:#fff;padding:45px 35px;min-height:320px}.transport-icon{font:500 11px var(--en);letter-spacing:.2em;color:var(--gold)}.transport-card h3{font:400 20px var(--serif);margin:24px 0}.transport-time{display:flex;align-items:baseline;gap:15px;border-top:1px solid #d2e1e7;border-bottom:1px solid #d2e1e7;padding:17px 0}.transport-time b{font-size:11px;font-weight:400}.transport-time strong{font:500 25px var(--serif);color:var(--blue)}.transport-card>p:last-child{font-size:11px;line-height:1.9;color:#6b808d}
.parking-section{display:grid;grid-template-columns:44% 56%;background:linear-gradient(145deg,#0f5c88,#0a4770);color:#fff;min-height:650px}.parking-copy{padding:90px 6vw}.parking-copy h2{font:400 clamp(33px,4vw,53px) var(--serif);margin:0 0 23px}.parking-copy>p{font-size:12px;line-height:2;color:#d4e1e7}.parking-copy ol{list-style:none;margin:30px 0;padding:0;border-top:1px solid #ffffff32}.parking-copy li{display:flex;gap:22px;align-items:center;padding:16px 0;border-bottom:1px solid #ffffff32}.parking-copy li span{font:16px var(--en);color:var(--gold)}.parking-copy li b{font-size:12px;font-weight:400;line-height:1.7}.parking-note{font-size:10px!important}.parking-phone{display:inline-block;border-bottom:1px solid #fff;padding:8px 0;font:14px var(--en)}.parking-map{background:#fff;display:grid;place-items:center;padding:50px}.parking-map img{width:100%;max-width:750px;object-fit:contain}
.nearby-access{padding:110px 8vw;text-align:center}.nearby-access .eyebrow:before{display:none}.nearby-access h2{font:400 clamp(30px,3.6vw,48px) var(--serif);margin:0 0 50px}.nearby-access-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cadbe3;border-bottom:1px solid #cadbe3}.nearby-access-grid>div{padding:35px 20px}.nearby-access-grid>div+div{border-left:1px solid #cadbe3}.nearby-access-grid span{font:15px var(--en);color:var(--gold)}.nearby-access-grid p{font:400 16px var(--serif)}.nearby-access-grid strong{font-size:11px;color:var(--blue)}
@media(max-width:900px){.access-page-hero{height:600px;min-height:0}.access-page-heading{left:25px}.access-overview{grid-template-columns:1fr;padding:85px 24px}.access-address-card{padding:35px 25px}.transport-section{padding:80px 24px}.transport-grid{grid-template-columns:1fr}.parking-section{grid-template-columns:1fr}.parking-copy{padding:75px 25px}.parking-map{padding:25px}.nearby-access{padding:80px 24px}.nearby-access-grid{grid-template-columns:1fr 1fr}.nearby-access-grid>div:nth-child(3){border-left:0;border-top:1px solid #cadbe3}.nearby-access-grid>div:nth-child(4){border-top:1px solid #cadbe3}}
@media(max-width:520px){.access-page-hero{height:520px}.access-page-heading h1{font-size:42px}.access-hero-map strong{width:115px;height:115px}.nearby-access-grid{grid-template-columns:1fr}.nearby-access-grid>div+div{border-left:0;border-top:1px solid #cadbe3}}

/* Refined access billboard */
.access-page-hero{height:min(820px,92vh);min-height:690px;background:#eef6f8}
.access-hero-map{left:42%;background:linear-gradient(145deg,#f5fafb 0%,#e4f0f4 65%,#dcebf0 100%);border-left:1px solid #cfdee5}
.access-page-hero:before{content:"";position:absolute;inset:0 58% 0 0;background:linear-gradient(145deg,#0e5b86,#093e63);z-index:1}
.city-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(67,118,143,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(67,118,143,.08) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(90deg,transparent,#000 22%,#000)}
.access-hero-map .map-road{height:7px;background:#fff;box-shadow:0 0 0 1px rgba(72,117,138,.12)}.access-hero-map .road-a{top:35%;transform:rotate(-18deg)}.access-hero-map .road-b{top:65%;transform:rotate(15deg)}.access-hero-map .road-c{top:50%;transform:rotate(75deg);background:#fff}.map-river{position:absolute;width:140%;height:17px;left:-20%;top:76%;background:#b9dce9;transform:rotate(-8deg);border-radius:50%}
.access-hero-map .map-station{display:flex;flex-direction:column;gap:3px;background:rgba(245,250,251,.9);padding:10px 12px 10px 28px;box-shadow:0 8px 25px rgba(36,75,93,.08);font-size:11px;letter-spacing:.05em}.access-hero-map .map-station i{position:absolute;left:11px;top:14px;width:8px;height:8px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 4px rgba(197,165,106,.18)}.access-hero-map .map-station small{font:8px var(--en);letter-spacing:.12em;color:#8ba0aa}.access-hero-map .station-jr{right:8%;top:25%}.access-hero-map .station-tobu{left:13%;bottom:19%}.access-hero-map .station-pref{left:19%;top:18%}
.hotel-pin{position:absolute;z-index:4;left:53%;top:49%;transform:translate(-50%,-50%);width:160px;height:160px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:var(--navy);box-shadow:0 0 0 12px rgba(255,255,255,.88),0 18px 50px rgba(17,72,99,.27)}.hotel-pin>span{position:absolute;bottom:-19px;width:0;height:0;border-left:16px solid transparent;border-right:16px solid transparent;border-top:26px solid var(--navy)}.hotel-pin strong{position:static!important;transform:none!important;width:auto!important;height:auto!important;border-radius:0!important;background:none!important;box-shadow:none!important;font:500 15px/1.45 var(--en)!important}.hotel-pin small{margin-top:10px;font:8px var(--en);letter-spacing:.16em;color:#bdd5e2}.map-route{position:absolute;left:25%;top:63%;width:28%;border-top:2px dashed var(--gold);transform:rotate(-18deg);transform-origin:right}.map-route i{position:absolute;top:-5px;width:8px;height:8px;border-radius:50%;background:var(--gold)}.map-route i:nth-child(1){left:0}.map-route i:nth-child(2){left:33%}.map-route i:nth-child(3){left:66%}.map-route i:nth-child(4){right:0}.map-coordinates{position:absolute;right:4%;bottom:4%;font:9px var(--en);letter-spacing:.18em;color:#76909e}.map-area{position:absolute;right:4%;top:7%;text-align:right;font:500 42px/.8 var(--en);letter-spacing:.04em;color:rgba(30,99,132,.1)}.map-area span{font-size:16px;letter-spacing:.24em}
.access-page-heading{left:7vw;bottom:auto;top:50%;transform:translateY(-50%);width:31%;color:#fff;z-index:3}.access-page-heading p{color:#d7c494}.access-page-heading h1{font-size:clamp(41px,4.5vw,66px);line-height:1.4;margin:17px 0 24px}.access-page-heading h1 em{font-style:normal;color:#d7c494}.access-page-heading>span{display:block;font-size:12px;line-height:2;letter-spacing:.08em;color:#d4e2e9}.hero-access-facts{position:absolute;z-index:4;left:7vw;bottom:8%;display:flex;color:#fff}.hero-access-facts div{padding-right:25px;margin-right:25px}.hero-access-facts div+div{border-left:1px solid rgba(255,255,255,.25);padding-left:25px}.hero-access-facts small{display:block;font:8px var(--en);letter-spacing:.18em;color:#aac7d7;margin-bottom:7px}.hero-access-facts b{font-size:11px;font-weight:400}.hero-map-caption{position:absolute;z-index:3;right:22px;top:50%;writing-mode:vertical-rl;font:9px var(--en);letter-spacing:.22em;color:#648594}
@media(max-width:900px){.access-page-hero{height:750px;min-height:0}.access-page-hero:before{inset:0 0 52%}.access-hero-map{left:0;top:48%;border:0}.access-page-heading{left:25px;top:24%;width:calc(100% - 50px)}.access-page-heading h1{font-size:40px;margin:10px 0}.access-page-heading>span{line-height:1.7}.hero-access-facts{left:25px;bottom:auto;top:42%;transform:translateY(-100%)}.hero-access-facts div{padding-right:13px;margin-right:13px}.hero-access-facts div+div{padding-left:13px}.hotel-pin{width:112px;height:112px}.hotel-pin strong{font-size:11px!important}.hotel-pin small{font-size:6px}.map-area{font-size:28px}.hero-map-caption{display:none}}
@media(max-width:520px){.access-page-hero{height:720px}.access-page-heading h1{font-size:35px}.hero-access-facts b{font-size:9px}.access-hero-map .station-jr{right:3%}.access-hero-map .station-pref{left:5%}.access-hero-map .station-tobu{left:5%}.map-coordinates{display:none}}

/* Completely clear photography */
.hero-shade,.room-page-hero-shade{display:none}
.hero-bg,.room-page-hero>img,.large-room-photo img,.dining-image img,.usage-hero img,.usage-gallery img,.parking-map img{filter:none!important;opacity:1!important;mix-blend-mode:normal!important}
.hero-content,.room-page-title{text-shadow:0 2px 18px rgba(0,24,40,.5)}
.room-card,.special{padding-bottom:88px;background:#0b527f}
.room-card img,.special img{height:calc(100% - 88px);filter:none!important;opacity:1!important}
.room-card:before,.room-card:after,.special:before,.special:after{display:none!important}
.room-label{bottom:0;left:0;right:0;height:88px;padding:18px 22px;background:#0b527f;align-items:center}
.special span{bottom:52px}.special h3{bottom:21px}.special i{bottom:25px}
.booking-bg{background-image:url("assets/5955e0ae88d2722b.webp");filter:none!important}
.booking-content{background:rgba(255,255,255,.94);color:var(--navy);padding:48px 65px;box-shadow:0 20px 60px rgba(8,55,82,.16);text-shadow:none}
.booking-content .eyebrow.light{color:var(--blue)}
.booking-content>p:not(.eyebrow){color:#577283}
.booking-phone{color:var(--navy)}
@media(max-width:900px){.booking-content{padding:40px 26px;width:min(92%,560px)}.room-card,.special{padding-bottom:82px}.room-card img,.special img{height:calc(100% - 82px)}.room-label{height:82px}}

/* Supplied official Centre logo */
.header .official-logo{background:rgba(255,255,255,.96);padding:5px 10px;border-radius:8px;box-shadow:0 8px 24px rgba(3,34,53,.12)}
.header .official-logo img{width:72px;height:58px;object-fit:contain;filter:none!important}
.header.is-scrolled .official-logo{background:#fff;box-shadow:none;border:1px solid #dce6eb}
.header.is-scrolled .official-logo img{filter:none!important}
.footer-brand.official-logo img{width:108px;height:auto;object-fit:contain;background:#fff;padding:8px;border-radius:8px;filter:none!important}
@media(max-width:900px){.header .official-logo{padding:4px 8px}.header .official-logo img{width:58px;height:48px}.footer-brand.official-logo img{width:96px}}

.official-logo .logo-type{display:flex;flex-direction:column;justify-content:center;min-width:max-content}
.header .official-logo .logo-type{color:var(--navy);padding-right:8px}
.official-logo .logo-type b{font-family:var(--serif);font-size:15px;font-weight:500;line-height:1.25;letter-spacing:.08em}
.official-logo .logo-type small{display:block;margin-top:7px;font:500 8px/1 var(--en);letter-spacing:.2em;text-align:left}
.footer-brand.official-logo .logo-type{color:#fff}
.footer-brand.official-logo .logo-type b{font-size:16px}
@media(max-width:1100px){.header .official-logo .logo-type b{font-size:13px}.header .official-logo .logo-type small{font-size:7px;letter-spacing:.12em}.header .official-logo img{width:62px}}
@media(max-width:900px){.header .official-logo .logo-type b{font-size:12px}.header .official-logo .logo-type small{font-size:6px;margin-top:5px}.header .official-logo{gap:7px}.footer-brand.official-logo{align-items:center}}
@media(max-width:430px){.header .official-logo img{width:48px;height:42px}.header .official-logo .logo-type b{font-size:10px}.header .official-logo .logo-type small{display:none}}

/* Transparent official logo treatment */
.header .official-logo{background:transparent;box-shadow:none;border:0;padding:0}
.header .official-logo img{filter:invert(1)!important}
.header .official-logo .logo-type{color:#fff;padding-right:0;text-shadow:0 1px 10px rgba(0,24,40,.32)}
.header.is-scrolled .official-logo{background:transparent;border:0;box-shadow:none}
.header.is-scrolled .official-logo img{filter:none!important}
.header.is-scrolled .official-logo .logo-type{color:var(--navy);text-shadow:none}
.footer-brand.official-logo img{background:transparent;padding:0;border-radius:0;filter:invert(1)!important}

/* Google Maps embeds */
.google-map-embed{position:relative;min-height:650px;background:#e8f1f5;overflow:hidden}
.google-map-embed iframe,.access-hero-map .map-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;filter:none}
.access-hero-map .map-frame{z-index:10}
.access-hero-map .map-frame~*{display:none}
@media(max-width:900px){.google-map-embed{min-height:420px}.access-hero-map .map-frame{min-height:100%}}

/* Japanese typography and line-flow refinement */
html{font-kerning:normal;text-rendering:optimizeLegibility}
body{font-feature-settings:"palt" 1;letter-spacing:.025em;line-break:strict;overflow-wrap:break-word}
h1,h2,h3,h4,.room-page-title,.access-page-heading{text-wrap:balance;word-break:auto-phrase;line-break:strict;font-feature-settings:"palt" 1}
p,li,dt,dd,.hero-copy,.room-description,.room-equipment{text-wrap:pretty;word-break:auto-phrase;line-break:strict}
.nav,.book,.outline-btn,.room-book,.map-button,.phone,.booking-phone{white-space:nowrap;letter-spacing:.07em}
.logo-type b{white-space:nowrap;letter-spacing:.055em!important}.logo-type small{white-space:nowrap}
.hero h1{letter-spacing:.055em;line-height:1.42}.hero-copy{letter-spacing:.055em;line-height:2}
.section h2,.dining h2,.access h2,.booking h2,.large-room-info h2,.access-overview-title h2{letter-spacing:.035em}
.intro-copy,.dining-copy>p:not(.eyebrow),.access-overview-title>p:last-child{line-height:2.05}
.room-label h3,.special h3{letter-spacing:.045em}.room-label i{white-space:nowrap}
.usage-panel li span,.transport-card>p:last-child{line-height:1.85}
.large-room-info dt,.large-room-info dd,.access-address-card dt,.access-address-card dd{word-break:keep-all}
@media(max-width:900px){body{letter-spacing:.015em}.hero h1{letter-spacing:.035em;line-height:1.48}.hero-copy{line-height:1.9}.section h2,.dining h2,.access h2,.booking h2{line-height:1.5}.section-head>p br,.access-overview-title>p:last-child br{display:none}.large-room-info h2{line-height:1.45}.usage-panel h3{line-height:1.5}.book,.outline-btn,.room-book,.map-button{letter-spacing:.04em}}
@media(max-width:520px){h1,h2,h3,h4{word-break:auto-phrase}.hero h1{font-size:35px}.hero-copy br,.dining h2 br,.booking-content br,.access-page-heading>span br{display:none}.intro h2 br,.section-head h2 br{display:none}.logo-type b{letter-spacing:.025em!important}.room-label i{font-size:8px}.large-room-info dl div,.access-address-card dl div{gap:15px}}

/* Dining / Jihei page */
.dining-page-hero{height:78vh;min-height:650px;position:relative;overflow:hidden;color:#fff;background:#1c2a22}.dining-page-hero>img{width:100%;height:100%;object-fit:cover}.dining-page-title{position:absolute;left:8vw;bottom:12%;text-shadow:0 3px 22px rgba(0,0,0,.65)}.dining-page-title p{font:500 11px var(--en);letter-spacing:.3em;color:#dfc88e}.dining-page-title h1{font:400 clamp(43px,6vw,78px)/1.38 var(--serif);margin:10px 0 17px}.dining-page-title h1 em{font-style:normal;color:#dfc88e}.dining-page-title span{font-size:13px;letter-spacing:.12em}
.jihei-intro{padding:120px 8vw;display:grid;grid-template-columns:1fr 1.2fr;gap:9vw;align-items:center}.jihei-intro-copy h2{font:400 clamp(36px,4.2vw,57px)/1.55 var(--serif);margin:0}.jihei-intro-copy h2 em{font-style:normal;color:var(--gold)}.jihei-intro-copy>p:last-child{font-size:13px;line-height:2.15;color:#647b89;margin-top:28px}.jihei-intro-photo{height:540px}.jihei-intro-photo img{height:100%;object-fit:cover}
.jihei-gallery{padding:0 5vw 120px;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;gap:12px}.jihei-gallery .wide{grid-column:span 2}.jihei-gallery div{overflow:hidden}.jihei-gallery img{height:100%;object-fit:cover;transition:transform .7s}.jihei-gallery div:hover img{transform:scale(1.025)}
.breakfast-section{background:linear-gradient(140deg,#0c527f,#083d60);color:#fff;display:grid;grid-template-columns:58% 42%;min-height:650px}.breakfast-photos{display:grid;grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr;gap:7px;padding:55px 0 55px 5vw}.breakfast-photos img{height:100%;object-fit:cover}.breakfast-photos img:first-child{grid-row:1/-1}.breakfast-copy{padding:95px 7vw}.breakfast-copy h2{font:400 clamp(35px,4vw,54px)/1.5 var(--serif);margin:0}.breakfast-copy>p:not(.eyebrow){font-size:12px;line-height:2;color:#d4e1e8;margin:25px 0}.breakfast-copy dl{margin:0;border-top:1px solid #ffffff35}.breakfast-copy dl div{display:grid;grid-template-columns:110px 1fr;padding:18px 0;border-bottom:1px solid #ffffff35;font-size:12px;line-height:1.8}.breakfast-copy dd{margin:0}.breakfast-copy small{color:#b9cfda}
.jihei-hours{padding:110px 8vw;background:#f2f7f9}.hours-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #cbdce4;border-bottom:1px solid #cbdce4}.hours-grid article{padding:40px 34px;min-height:300px}.hours-grid article+article{border-left:1px solid #cbdce4}.hours-grid article>span{font:18px var(--en);color:var(--gold)}.hours-grid article>p{font:500 10px var(--en);letter-spacing:.2em;color:var(--blue);margin:20px 0 7px}.hours-grid h3{font:400 21px var(--serif);margin:0 0 22px}.hours-grid strong,.hours-grid small{display:block}.hours-grid strong{font-size:12px;font-weight:500;margin-top:15px}.hours-grid small{font-size:10px;color:#6f838e;margin-top:6px}
@media(max-width:900px){.dining-page-hero{height:620px;min-height:0}.dining-page-title{left:25px}.jihei-intro{grid-template-columns:1fr;padding:85px 24px}.jihei-intro-photo{height:390px}.jihei-gallery{grid-template-columns:1fr 1fr;padding:0 20px 80px;grid-auto-rows:240px}.breakfast-section{grid-template-columns:1fr}.breakfast-photos{height:480px;padding:25px}.breakfast-copy{padding:70px 25px}.jihei-hours{padding:80px 24px}.hours-grid{grid-template-columns:1fr}.hours-grid article+article{border-left:0;border-top:1px solid #cbdce4}}
@media(max-width:520px){.dining-page-hero{height:540px}.dining-page-title h1{font-size:40px}.jihei-intro-photo{height:300px}.jihei-gallery{grid-template-columns:1fr;grid-auto-rows:250px}.jihei-gallery .wide{grid-column:auto}.breakfast-photos{height:390px;padding:14px}.breakfast-copy dl div{grid-template-columns:90px 1fr}}
.dining-page .dining-page-hero>img{object-position:center 52%}

/* Jihei — refined Japanese luxury */
.dining-page{--jihei-ink:#211d19;--jihei-ivory:#f7f3ea;--jihei-gold:#b69a62;background:var(--jihei-ivory)}
.dining-page-hero{height:min(860px,92vh);background:#17130f;border-bottom:1px solid #c7b27e}
.dining-page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,12,9,.18),transparent 48%);z-index:1;pointer-events:none}
.dining-page-hero:after{content:"日本料理　天ぷら　治兵衛";position:absolute;right:3.2vw;bottom:8%;z-index:2;writing-mode:vertical-rl;color:#fff;font:400 12px/2 var(--serif);letter-spacing:.28em;text-shadow:0 2px 12px #000}
.dining-page-title{z-index:2;left:6vw;bottom:7%;width:min(510px,45vw);padding:42px 48px;background:var(--jihei-ivory);color:var(--jihei-ink);text-shadow:none;border-top:3px solid var(--jihei-gold);box-shadow:0 24px 65px rgba(14,10,7,.28)}
.dining-page-title p{margin:0;color:#8f7443}.dining-page-title p:after{content:"";display:inline-block;width:65px;height:1px;background:var(--jihei-gold);vertical-align:middle;margin-left:16px}.dining-page-title h1{font-size:clamp(40px,4.6vw,65px);line-height:1.32;letter-spacing:.09em;margin:14px 0 17px}.dining-page-title h1 em{color:#91733d}.dining-page-title span{color:#685d50;font-size:12px;letter-spacing:.1em}
.jihei-intro{position:relative;background:var(--jihei-ivory);padding-top:150px;padding-bottom:150px;overflow:hidden}.jihei-intro:before{content:"治兵衛";position:absolute;left:2vw;bottom:-.1em;font:400 150px/1 var(--serif);letter-spacing:.1em;color:rgba(101,82,52,.055)}.jihei-intro-copy{position:relative;z-index:1}.jihei-intro-copy .eyebrow{color:#967943}.jihei-intro-copy h2{color:var(--jihei-ink);letter-spacing:.08em}.jihei-intro-copy h2 em{color:#9d7c42}.jihei-intro-copy>p:last-child{color:#6a6259;line-height:2.3}.jihei-intro-photo{position:relative;padding:12px;background:#fff;box-shadow:0 25px 65px rgba(64,50,33,.13)}.jihei-intro-photo:after{content:"季節の味わいを、静かな空間で。";position:absolute;right:-28px;top:25px;writing-mode:vertical-rl;font:400 11px/2 var(--serif);letter-spacing:.22em;color:#7d6848}.jihei-intro-photo img{filter:none}
.jihei-gallery{background:#eee8dc;padding-top:100px;padding-bottom:130px;gap:18px}.jihei-gallery div{background:#fff;padding:8px;box-shadow:0 14px 38px rgba(58,45,29,.09)}.jihei-gallery img{filter:none}.jihei-gallery div:hover img{transform:scale(1.015)}
.breakfast-section{background:var(--jihei-ink);border-top:1px solid #75643f;border-bottom:1px solid #75643f}.breakfast-photos{gap:10px;padding-top:70px;padding-bottom:70px}.breakfast-photos img{filter:none}.breakfast-copy{padding-top:105px}.breakfast-copy .eyebrow.light{color:#c5aa72}.breakfast-copy h2{letter-spacing:.08em;color:#f4eddf}.breakfast-copy>p:not(.eyebrow){color:#c8beb0;line-height:2.2}.breakfast-copy dl{border-color:#ffffff22}.breakfast-copy dl div{border-color:#ffffff22}.breakfast-copy dt{color:#bca77c}.breakfast-copy dd{color:#f0e9dc}
.jihei-hours{background:var(--jihei-ivory);padding-top:130px;padding-bottom:140px}.jihei-hours .eyebrow{color:#967943}.jihei-hours .section-head h2{font-family:var(--serif);color:var(--jihei-ink);letter-spacing:.08em}.hours-grid{border:0;gap:16px}.hours-grid article{position:relative;background:#fff;border:1px solid #ddd2bf!important;padding:48px 38px;box-shadow:0 12px 35px rgba(64,50,33,.06)}.hours-grid article:before{content:"";position:absolute;left:18px;right:18px;top:18px;bottom:18px;border:1px solid rgba(182,154,98,.24);pointer-events:none}.hours-grid article>span{color:#b69a62}.hours-grid article>p{color:#8f7443}.hours-grid h3{font-size:23px;color:var(--jihei-ink)}.hours-grid strong{color:#4d453c}.hours-grid small{color:#8a7e70}
.dining-page .book{background:#a88a4e}.dining-page .book:hover{background:#8f733d}.dining-page .booking-content{border-top:3px solid var(--jihei-gold)}
@media(max-width:900px){.dining-page-hero{height:720px}.dining-page-title{left:24px;right:24px;bottom:30px;width:auto;padding:32px}.dining-page-hero:after{display:none}.jihei-intro{padding-top:100px;padding-bottom:100px}.jihei-intro:before{font-size:90px}.jihei-intro-photo:after{right:8px;top:15px;background:rgba(255,255,255,.9);padding:8px}.jihei-gallery{padding-top:60px}.breakfast-photos{padding:25px}.hours-grid{gap:12px}.hours-grid article+article{border-top:1px solid #ddd2bf}}
@media(max-width:520px){.dining-page-hero{height:650px}.dining-page-title{padding:26px 23px}.dining-page-title h1{font-size:37px}.dining-page-title span{line-height:1.8}.jihei-gallery div{padding:5px}}

/* Breakfast light palette and detailed Japanese typesetting */
.breakfast-section{background:#eee6d7;color:var(--jihei-ink);border-top:1px solid #d4c4a6;border-bottom:1px solid #d4c4a6;align-items:stretch}
.breakfast-photos{background:#e8decc;padding-top:64px;padding-bottom:64px}
.breakfast-copy{display:flex;flex-direction:column;justify-content:center;background:#faf7f0;padding-top:72px;padding-bottom:72px}
.breakfast-copy .eyebrow.light{color:#9a7c44}
.breakfast-copy h2{max-width:8.5em;color:#29231d;font-size:clamp(36px,3.9vw,52px);font-weight:400;line-height:1.52;letter-spacing:.065em;text-wrap:balance;word-break:keep-all}
.breakfast-copy>p:not(.eyebrow){max-width:34em;color:#625a50;font-size:13px;line-height:2.1;letter-spacing:.035em;text-align:justify;text-justify:inter-ideograph;widows:2;orphans:2}
.breakfast-copy dl{max-width:520px;border-color:#d6c9b5}
.breakfast-copy dl div{grid-template-columns:7.5em minmax(0,1fr);gap:24px;border-color:#d6c9b5;font-size:13px;line-height:1.9}
.breakfast-copy dt{color:#876d40;font-weight:500;letter-spacing:.08em;word-break:keep-all}
.breakfast-copy dd{color:#332d27;font-variant-numeric:tabular-nums;letter-spacing:.035em}
.breakfast-copy small{color:#776e62;font-size:10px;letter-spacing:.04em}
.dining-page h1,.dining-page h2,.dining-page h3{word-break:keep-all;line-break:strict;text-wrap:balance;font-feature-settings:"palt" 1}
.dining-page p,.dining-page dt,.dining-page dd{line-break:strict;overflow-wrap:break-word}
.dining-page-title h1{letter-spacing:.075em}.dining-page-title span{display:block;max-width:28em;line-height:1.9;text-wrap:pretty}
.jihei-intro-copy h2{letter-spacing:.065em;line-height:1.58}.jihei-intro-copy>p:last-child{max-width:38em;letter-spacing:.035em;text-align:justify;text-justify:inter-ideograph;widows:2;orphans:2}
.jihei-hours .section-head h2{letter-spacing:.065em;line-height:1.5}.hours-grid h3{letter-spacing:.07em;line-height:1.5}.hours-grid strong,.hours-grid small{font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:.025em;position:relative;z-index:1}
@media(max-width:900px){.breakfast-photos{padding:25px}.breakfast-copy{padding:65px 30px}.breakfast-copy h2{max-width:none}.breakfast-copy>p:not(.eyebrow){text-align:left}.jihei-intro-copy>p:last-child{text-align:left}.dining-page-title h1{letter-spacing:.055em}}
@media(max-width:520px){.breakfast-copy{padding:58px 24px}.breakfast-copy h2{font-size:35px;line-height:1.5;letter-spacing:.045em}.breakfast-copy>p:not(.eyebrow){font-size:12px;line-height:2}.breakfast-copy dl div{grid-template-columns:6.5em minmax(0,1fr);gap:16px}.breakfast-copy dd{font-size:12px}.hours-grid strong{font-size:11px}.dining-page-title h1{letter-spacing:.04em}}

/* Refined room-name bands */
.room-card{background:linear-gradient(135deg,#073554 0%,#0d6596 58%,#0a466d 100%)}
.room-label{overflow:hidden;background:radial-gradient(circle at 82% -35%,rgba(255,255,255,.22),transparent 43%),linear-gradient(112deg,#062f4d 0%,#0b5f8f 48%,#117bab 72%,#073b5d 100%);border-top:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px rgba(255,255,255,.08),0 -10px 28px rgba(3,31,50,.18)}
.room-label:before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 12%,rgba(255,255,255,.1) 46%,transparent 70%);pointer-events:none}
.room-label:after{content:"";position:absolute;left:22px;right:22px;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(205,178,116,.9),transparent);pointer-events:none}
.room-label>span,.room-label>div,.room-label>i{position:relative;z-index:1}
.room-label h3{text-shadow:0 1px 8px rgba(0,25,42,.3)}
.room-label>span{color:#e0c58a;text-shadow:0 1px 8px rgba(0,20,35,.35)}
.room-label i{color:#e1edf3}

/* Site-wide dimensional colour surfaces */
.dining,.access{background:radial-gradient(circle at 18% 8%,rgba(82,170,211,.2),transparent 34%),linear-gradient(135deg,#0a3d61 0%,#126b98 52%,#073653 100%)}
footer{background:radial-gradient(circle at 82% 0,rgba(31,113,153,.3),transparent 38%),linear-gradient(135deg,#031d31 0%,#08486d 58%,#062d49 100%)}
.book,.room-book,.map-button{background:linear-gradient(115deg,#b28d4c 0%,#d0b370 48%,#a67e3e 100%);box-shadow:inset 0 1px rgba(255,255,255,.28),0 8px 22px rgba(89,63,24,.14)}
.book:hover,.room-book:hover,.map-button:hover{background:linear-gradient(115deg,#9e783b,#c5a45d 52%,#906b34)}
.dining-page .book{background:linear-gradient(115deg,#92713b 0%,#bea363 52%,#876630 100%)}
.dining-page .book:hover{background:linear-gradient(115deg,#80602f,#aa8d50 52%,#755525)}
.mobile-book a:last-child{background:linear-gradient(115deg,#b28d4c,#d0b370 52%,#9e7739)}
.rooms{background:linear-gradient(145deg,#f7fbfd 0%,#e8f4f8 48%,#f2f8fb 100%)}
.large-room{background:linear-gradient(135deg,#f7fbfc 0%,#eaf4f7 100%)}
.usage-lead{background:linear-gradient(110deg,#edf7fa,#dceef5 55%,#eef8fb)}
.access-address-card,.transport-section{background:linear-gradient(140deg,#f8fbfc 0%,#e9f4f8 55%,#f4f9fb 100%)}
.hotel-pin,.access-hero-map strong{background:radial-gradient(circle at 35% 24%,#1778a8 0%,#0a4b73 48%,#052d49 100%)}
.breakfast-section{background:linear-gradient(140deg,#f4eee2 0%,#e6dac5 52%,#f1e9db 100%)}
.breakfast-photos{background:linear-gradient(145deg,#eee5d5,#ddd0bb)}
.breakfast-copy{background:linear-gradient(145deg,#fffdf8 0%,#f5eee2 100%)}
.jihei-gallery{background:linear-gradient(145deg,#f3eee4 0%,#e6ddcd 52%,#f1ece3 100%)}

/* Luxurious top billboard accents */
.hero:before{content:"";position:absolute;z-index:1;left:0;top:98px;width:44%;height:1px;background:linear-gradient(90deg,transparent 8%,rgba(224,197,138,.9) 35%,transparent);pointer-events:none}
.hero:after{content:"HOTEL THE CENTRE";position:absolute;z-index:2;right:3vw;top:50%;transform:translateY(-50%);padding:22px 0;border-top:1px solid rgba(224,197,138,.72);border-bottom:1px solid rgba(224,197,138,.72);color:rgba(255,255,255,.9);font:500 10px var(--en);letter-spacing:.42em;writing-mode:vertical-rl;text-shadow:0 2px 14px rgba(0,25,42,.5);pointer-events:none}
.hero-content{z-index:2;left:3vw;max-width:540px;padding:40px 40px 43px;background:linear-gradient(118deg,rgba(3,32,51,.76) 0%,rgba(5,54,81,.58) 64%,rgba(8,68,98,.28) 100%);border-left:1px solid rgba(224,197,138,.82);border-top:1px solid rgba(255,255,255,.24);box-shadow:0 24px 70px rgba(0,25,42,.22),inset 0 1px rgba(255,255,255,.08);text-shadow:0 2px 18px rgba(0,19,32,.48)}
.hero-content h1{font-size:clamp(38px,4vw,56px)}
.hero-content:before,.hero-content:after{content:"";position:absolute;pointer-events:none}
.hero-content:before{left:-1px;top:-1px;width:82px;height:82px;border-top:3px solid #d2b574;border-left:3px solid #d2b574}
.hero-content:after{right:22px;bottom:20px;width:72px;height:1px;background:linear-gradient(90deg,transparent,#d2b574)}
.hero .eyebrow.light{color:#e4cc96}.hero .eyebrow.light:before{background:linear-gradient(90deg,#d1b36f,#f1dfb4)}
.hero h1 em{color:#e2c27d;text-shadow:0 2px 20px rgba(207,169,91,.25)}
.hero-info{background:linear-gradient(115deg,rgba(255,255,255,.96),rgba(238,246,249,.96) 58%,rgba(220,237,244,.96));border-top:1px solid rgba(255,255,255,.75);box-shadow:-18px -12px 45px rgba(1,34,53,.14)}
@media(max-width:900px){.hero:after{display:none}.hero:before{top:75px;width:70%}.hero-content{left:24px;right:24px;max-width:none;padding:39px 32px 42px}.hero-content:before{width:62px;height:62px}.hero-copy{margin-bottom:29px}}
@media(max-width:520px){.hero-content{padding:34px 25px 37px}.hero-content:after{right:16px;bottom:15px;width:48px}.hero .eyebrow.light{font-size:9px;letter-spacing:.2em}}

/* Sightseeing page */
.sightseeing-page{background:#f8fbfc}
.sightseeing-hero{position:relative;height:min(820px,88vh);min-height:650px;overflow:hidden;background:#17445e;color:#fff}
.sightseeing-hero>img{width:100%;height:100%;object-fit:cover;object-position:center 54%;filter:none}
.sightseeing-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,31,49,.68),rgba(3,31,49,.12) 52%,transparent 76%),linear-gradient(0deg,rgba(3,31,49,.3),transparent 40%);pointer-events:none}
.sightseeing-hero-copy{position:absolute;z-index:2;left:7vw;bottom:11%;padding:39px 46px 43px;border-left:2px solid #d4b873;background:linear-gradient(120deg,rgba(3,34,54,.76),rgba(10,71,101,.35));box-shadow:0 24px 65px rgba(0,25,40,.22)}
.sightseeing-hero-copy p{margin:0 0 13px;color:#e1c988;font:500 11px var(--en);letter-spacing:.3em}
.sightseeing-hero-copy h1{margin:0 0 16px;font:400 clamp(42px,5vw,70px)/1.35 var(--serif);letter-spacing:.07em;word-break:keep-all}
.sightseeing-hero-copy span{font-size:12px;line-height:2;letter-spacing:.08em}
.sightseeing-intro{padding:125px 8vw 105px;display:grid;grid-template-columns:.85fr 1.15fr;gap:11vw;align-items:end;background:linear-gradient(145deg,#fff,#edf6f9)}
.sightseeing-intro h2{margin:0;font:400 clamp(34px,4vw,56px)/1.55 var(--serif);letter-spacing:.045em}
.sightseeing-intro>p{max-width:650px;margin:0;color:#607987;font-size:13px;line-height:2.25;letter-spacing:.035em;text-align:justify;text-justify:inter-ideograph}
.sightseeing-areas{padding:0 7vw 130px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;background:linear-gradient(145deg,#fff,#edf6f9)}
.sightseeing-area{position:relative;min-height:400px;padding:52px 52px 48px;background:#fff;border:1px solid #d5e3e9;box-shadow:0 16px 45px rgba(29,72,93,.07);overflow:hidden}
.sightseeing-area:before{content:"";position:absolute;left:0;top:0;width:100%;height:5px;background:linear-gradient(90deg,#073d60,#1780ae 60%,#d1b36d)}
.sightseeing-area>span{display:block;color:#b08e4e;font:500 10px var(--en);letter-spacing:.22em}
.sightseeing-area h2{margin:14px 0 28px;color:#173f57;font:400 clamp(23px,2.4vw,33px)/1.5 var(--serif);letter-spacing:.05em}
.sightseeing-area ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;margin:0;padding:0;list-style:none}
.sightseeing-area li{border-top:1px solid #dce6ea;font-size:12px;line-height:1.7}
.sightseeing-area li:nth-last-child(-n+2){border-bottom:1px solid #dce6ea}
.sightseeing-area li a,.sightseeing-area li>span{display:flex;justify-content:space-between;align-items:center;min-height:52px;padding:10px 2px}
.sightseeing-area li a:after{content:"↗";color:#b29455;font-family:var(--en);transition:transform .2s}
.sightseeing-area li a:hover{color:#0d6e9b}.sightseeing-area li a:hover:after{transform:translate(2px,-2px)}
.sightseeing-area-onsen{grid-column:1/-1;min-height:0}
.sightseeing-area-onsen ul{grid-template-columns:repeat(3,minmax(0,1fr))}
.sightseeing-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:8px;background:#062f4c}
.sightseeing-gallery figure{position:relative;height:360px;margin:0;overflow:hidden}
.sightseeing-gallery img{height:100%;object-fit:cover;transition:transform .7s;filter:none}
.sightseeing-gallery figure:hover img{transform:scale(1.025)}
.sightseeing-gallery figcaption{position:absolute;left:22px;bottom:19px;padding:8px 13px;background:rgba(255,255,255,.9);color:#173f57;font:500 11px var(--serif);letter-spacing:.08em}
.sightseeing-map{display:grid;grid-template-columns:38% 62%;min-height:600px;background:radial-gradient(circle at 10% 8%,#1677a4,#083e61 55%,#052d48);color:#fff}
.sightseeing-map-copy{align-self:center;padding:80px 6vw}
.sightseeing-map-copy h2{margin:0;font:400 clamp(34px,4vw,55px)/1.55 var(--serif);letter-spacing:.05em}
.sightseeing-map-copy>p:last-child{font-size:12px;line-height:2;color:#d2e1e8;margin-top:24px}
.sightseeing-map iframe{width:100%;height:100%;min-height:600px;border:0;filter:none}
@media(max-width:900px){.sightseeing-hero{height:650px;min-height:0}.sightseeing-hero-copy{left:24px;right:24px;bottom:28px;padding:32px}.sightseeing-intro{grid-template-columns:1fr;gap:35px;padding:90px 24px 75px}.sightseeing-intro>p{text-align:left}.sightseeing-areas{grid-template-columns:1fr;padding:0 24px 90px}.sightseeing-area-onsen{grid-column:auto}.sightseeing-gallery{grid-template-columns:1fr 1fr}.sightseeing-gallery figure{height:300px}.sightseeing-map{grid-template-columns:1fr}.sightseeing-map-copy{padding:75px 28px}.sightseeing-map iframe{min-height:480px}}
@media(max-width:520px){.sightseeing-hero{height:570px}.sightseeing-hero-copy{padding:27px 24px}.sightseeing-hero-copy h1{font-size:38px}.sightseeing-area{padding:42px 25px 36px}.sightseeing-area ul,.sightseeing-area-onsen ul{grid-template-columns:1fr}.sightseeing-area li:nth-last-child(-n+2){border-bottom:0}.sightseeing-area li:last-child{border-bottom:1px solid #dce6ea}.sightseeing-gallery{grid-template-columns:1fr}.sightseeing-gallery figure{height:280px}}

/* Sightseeing detail pages */
.tour-detail-page{background:#f8fbfc}
.tour-detail-hero{position:relative;height:min(780px,86vh);min-height:620px;overflow:hidden;background:#153c52;color:#fff}
.tour-detail-hero>img{width:100%;height:100%;object-fit:cover;filter:none}
.tour-detail-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,30,48,.68),rgba(3,30,48,.08) 58%,transparent),linear-gradient(0deg,rgba(3,30,48,.32),transparent 42%);pointer-events:none}
.tour-detail-heading{position:absolute;z-index:2;left:7vw;bottom:10%;width:min(620px,48vw);padding:39px 45px 42px;background:linear-gradient(120deg,rgba(3,35,55,.79),rgba(11,76,107,.38));border-left:2px solid #d2b571;box-shadow:0 24px 60px rgba(0,25,40,.23)}
.tour-detail-heading>p{margin:0 0 13px;color:#e4cc91;font:500 10px var(--en);letter-spacing:.3em}
.tour-detail-heading h1{margin:0 0 21px;font:400 clamp(38px,4.6vw,66px)/1.42 var(--serif);letter-spacing:.055em;word-break:keep-all;line-break:strict;text-wrap:balance}
.tour-detail-heading a{display:inline-block;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.65);font-size:11px;letter-spacing:.08em}
.tour-detail-intro{padding:115px 8vw 75px;background:linear-gradient(145deg,#fff,#edf6f9)}
.tour-detail-intro h2{margin:0;font:400 clamp(34px,4vw,55px)/1.55 var(--serif);letter-spacing:.055em;word-break:keep-all}
.tour-detail-intro>p:last-child{max-width:760px;margin:25px 0 0;color:#667e8b;font-size:13px;line-height:2.1}
.tour-detail-content{padding:0 7vw 125px;background:linear-gradient(145deg,#fff,#edf6f9)}
.tour-detail-copy{max-width:1050px;margin:0 auto 78px;padding:52px 58px;background:#fff;border-top:4px solid transparent;border-image:linear-gradient(90deg,#0b5c88,#d0b16a) 1;box-shadow:0 16px 46px rgba(24,68,88,.08)}
.tour-detail-copy p{margin:0;color:#4f6775;font-size:13px;line-height:2.25;letter-spacing:.025em;text-align:justify;text-justify:inter-ideograph;word-break:normal;line-break:strict}
.tour-detail-copy p+p{margin-top:30px;padding-top:30px;border-top:1px solid #dbe6ea}
.tour-detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.tour-detail-photo{height:440px;margin:0;overflow:hidden;background:#dce8ed}
.tour-detail-photo:first-child:nth-last-child(odd){grid-column:1/-1;height:580px}
.tour-detail-photo img{width:100%;height:100%;object-fit:cover;filter:none;transition:transform .7s}
.tour-detail-photo:hover img{transform:scale(1.02)}
.tour-detail-map{display:grid;grid-template-columns:38% 62%;min-height:560px;background:radial-gradient(circle at 10% 8%,#1677a4,#083e61 55%,#052d48);color:#fff}
.tour-detail-map>div{align-self:center;padding:75px 6vw}
.tour-detail-map h2{margin:0 0 30px;font:400 clamp(32px,3.8vw,52px)/1.55 var(--serif);letter-spacing:.05em}
.tour-detail-map a{display:inline-flex;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.65);font-size:12px;letter-spacing:.07em}
.tour-detail-map iframe{width:100%;height:100%;min-height:560px;border:0}
.tour-detail-back{padding:55px 7vw;background:#f5f9fb;text-align:center}
.tour-detail-back a{display:inline-block;min-width:240px;padding:17px 24px;border:1px solid #90aab7;color:#244e66;font-size:12px;letter-spacing:.07em}
@media(max-width:900px){.tour-detail-hero{height:650px;min-height:0}.tour-detail-heading{left:24px;right:24px;bottom:28px;width:auto;padding:32px}.tour-detail-intro{padding:85px 24px 55px}.tour-detail-content{padding:0 24px 85px}.tour-detail-copy{padding:38px 30px;margin-bottom:50px}.tour-detail-copy p{text-align:left}.tour-detail-photo{height:330px}.tour-detail-photo:first-child:nth-last-child(odd){height:430px}.tour-detail-map{grid-template-columns:1fr}.tour-detail-map>div{padding:70px 28px}.tour-detail-map iframe{min-height:470px}}
@media(max-width:520px){.tour-detail-hero{height:570px}.tour-detail-heading{padding:27px 24px}.tour-detail-heading h1{font-size:36px}.tour-detail-gallery{grid-template-columns:1fr}.tour-detail-photo,.tour-detail-photo:first-child:nth-last-child(odd){grid-column:auto;height:280px}.tour-detail-copy{padding:31px 23px}.tour-detail-copy p{font-size:12px;line-height:2.05}}

/* Amenities and rental items */
.amenity-guide{padding:130px 6vw 140px;background:linear-gradient(145deg,#fafdfe 0%,#eaf4f8 52%,#f6fafc 100%)}
.amenity-heading{display:grid;grid-template-columns:1fr .9fr;gap:10vw;align-items:end;max-width:1450px;margin:0 auto 75px}
.amenity-heading h2{margin:0;font:400 clamp(36px,4.3vw,60px)/1.5 var(--serif);letter-spacing:.045em}
.amenity-heading>p{max-width:560px;margin:0 0 8px;color:#617986;font-size:13px;line-height:2.1;letter-spacing:.035em}
.amenity-feature{display:grid;grid-template-columns:1.45fr .75fr;max-width:1450px;margin:0 auto 95px;background:#fff;box-shadow:0 20px 60px rgba(25,70,92,.1)}
.amenity-feature figure{min-height:580px;margin:0;overflow:hidden}
.amenity-feature figure img{height:100%;object-fit:cover;filter:none}
.amenity-feature-copy{position:relative;padding:65px 4vw;align-self:center}
.amenity-feature-copy:before{content:"";position:absolute;left:0;top:65px;bottom:65px;width:3px;background:linear-gradient(#0a5b87,#d0b16b)}
.amenity-feature-copy>span,.rental-intro span,.coffee-service span{color:#a18145;font:500 10px var(--en);letter-spacing:.24em}
.amenity-feature-copy h3,.rental-intro h3,.coffee-service h3{margin:12px 0 20px;color:#173e56;font:400 clamp(26px,3vw,40px)/1.5 var(--serif);letter-spacing:.055em}
.amenity-feature-copy>p{color:#657c89;font-size:12px;line-height:2;margin-bottom:28px}
.amenity-feature-copy ul{display:grid;grid-template-columns:1fr 1fr;gap:0 20px;margin:0;padding:0;list-style:none}
.amenity-feature-copy li{padding:11px 2px;border-top:1px solid #dbe6ea;color:#35576a;font-size:11px}
.rental-intro{display:flex;justify-content:space-between;align-items:end;max-width:1450px;margin:0 auto 35px;padding-bottom:25px;border-bottom:1px solid #cbdce3}
.rental-intro h3{margin-bottom:0}.rental-intro>p{margin:0;color:#637b88;font-size:12px;line-height:1.9;text-align:right}.rental-intro small{font-size:10px;color:#8497a1}
.rental-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;max-width:1450px;margin:0 auto 100px}
.rental-card{background:#fff;box-shadow:0 12px 35px rgba(25,70,92,.07);overflow:hidden}
.rental-card>img{height:245px;object-fit:cover;filter:none;transition:transform .6s}
.rental-card:hover>img{transform:scale(1.025)}
.rental-card>div{position:relative;padding:22px 20px 25px;border-top:1px solid #e0e9ed}
.rental-card>div:before{content:"";position:absolute;left:0;top:0;width:42%;height:2px;background:linear-gradient(90deg,#0b638f,#d0b16b)}
.rental-card span{color:#8ba0aa;font:500 8px var(--en);letter-spacing:.16em}
.rental-card h4{margin:7px 0 0;color:#264c62;font:400 17px var(--serif);letter-spacing:.04em}
.coffee-service{display:grid;grid-template-columns:1.15fr .85fr;max-width:1250px;margin:0 auto;background:linear-gradient(135deg,#073856,#0d6792 58%,#073a59);color:#fff;box-shadow:0 22px 60px rgba(4,45,68,.18)}
.coffee-service>img{height:430px;object-fit:cover;filter:none}
.coffee-service>div{align-self:center;padding:55px 5vw}
.coffee-service span{color:#e1c788}.coffee-service h3{color:#fff;margin-top:14px}.coffee-service p{color:#d7e4e9;font-size:12px;line-height:2}
@media(max-width:1050px){.rental-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.amenity-guide{padding:90px 24px}.amenity-heading{grid-template-columns:1fr;gap:30px;margin-bottom:55px}.amenity-feature{grid-template-columns:1fr;margin-bottom:70px}.amenity-feature figure{min-height:0;height:430px}.amenity-feature-copy{padding:50px 35px}.amenity-feature-copy:before{top:50px;bottom:50px}.rental-grid{grid-template-columns:1fr 1fr;margin-bottom:75px}.coffee-service{grid-template-columns:1fr}.coffee-service>img{height:370px}.coffee-service>div{padding:45px 35px}}
@media(max-width:520px){.amenity-heading h2{font-size:35px}.amenity-feature figure{height:300px}.amenity-feature-copy{padding:42px 25px}.amenity-feature-copy:before{top:42px;bottom:42px}.amenity-feature-copy ul{grid-template-columns:1fr}.rental-intro{display:block}.rental-intro>p{text-align:left;margin-top:18px}.rental-grid{grid-template-columns:1fr}.rental-card{display:grid;grid-template-columns:48% 52%}.rental-card>img{height:170px}.rental-card>div{display:flex;flex-direction:column;justify-content:center}.coffee-service>img{height:280px}.coffee-service>div{padding:38px 25px}}

/* Lobby welcome */
.welcome-lobby{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(340px,.6fr);min-height:760px;background:linear-gradient(135deg,#073b5b 0%,#0c668f 62%,#073650 100%);color:#fff;overflow:hidden}
.welcome-lobby-visual{position:relative;min-height:760px;padding:75px 6vw 75px 0}
.welcome-lobby-main{height:100%;margin:0;overflow:hidden;box-shadow:20px 25px 60px rgba(0,25,40,.25)}
.welcome-lobby-main img{height:100%;object-fit:cover;filter:none}
.welcome-lobby-sub{position:absolute;right:2vw;bottom:40px;width:43%;height:250px;margin:0;padding:7px;background:#fff;box-shadow:0 20px 50px rgba(0,25,40,.3);overflow:hidden}
.welcome-lobby-sub img{height:100%;object-fit:cover;filter:none}
.welcome-lobby-copy{align-self:center;padding:80px 7vw 80px 4vw}
.welcome-lobby-copy .eyebrow{color:#dfc589}
.welcome-lobby-copy h2{margin:0;font:400 clamp(35px,4vw,57px)/1.55 var(--serif);letter-spacing:.045em}
.welcome-lobby-copy h2 em{font-style:normal;color:#e0c37c}
.welcome-lobby-copy>p:not(.eyebrow){margin:28px 0 36px;color:#d6e5eb;font-size:13px;line-height:2.15;letter-spacing:.035em}
.welcome-lobby-note{display:flex;align-items:center;gap:24px;padding:20px 0;border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28)}
.welcome-lobby-note span{color:#e0c37c;font:500 12px var(--en);letter-spacing:.2em}.welcome-lobby-note strong{font-size:12px;font-weight:400;letter-spacing:.07em}
@media(max-width:900px){.welcome-lobby{grid-template-columns:1fr}.welcome-lobby-visual{min-height:600px;padding:45px 24px 0}.welcome-lobby-sub{right:18px;bottom:-35px;width:46%;height:210px}.welcome-lobby-copy{padding:100px 28px 80px}}
@media(max-width:520px){.welcome-lobby-visual{min-height:440px;padding:24px 0 0 24px}.welcome-lobby-main{height:360px}.welcome-lobby-sub{right:14px;bottom:0;width:55%;height:160px;padding:4px}.welcome-lobby-copy{padding:65px 24px 70px}.welcome-lobby-copy h2{font-size:35px}.welcome-lobby-note{align-items:flex-start;flex-direction:column;gap:8px}}

/* Lobby welcome — light editorial variation */
.welcome-lobby{grid-template-columns:minmax(330px,.72fr) minmax(0,1.28fr);min-height:700px;background:linear-gradient(140deg,#fbf8f1 0%,#eee7d9 100%);color:#203b4b;border-top:1px solid #ded2bd;border-bottom:1px solid #ded2bd}
.welcome-lobby-copy{order:1;position:relative;padding:100px 5.5vw 100px 7vw;background:transparent}
.welcome-lobby-copy:before{content:"WELCOME";position:absolute;left:6.5vw;top:45px;color:rgba(34,72,93,.055);font:500 clamp(75px,8vw,135px)/1 var(--en);letter-spacing:.03em;pointer-events:none}
.welcome-lobby-copy .eyebrow{position:relative;color:#997b42}
.welcome-lobby-copy h2{position:relative;color:#213e50;font-size:clamp(34px,3.7vw,54px)}
.welcome-lobby-copy h2 em{color:#a98749}
.welcome-lobby-copy>p:not(.eyebrow){position:relative;color:#657881;line-height:2.2}
.welcome-lobby-note{position:relative;border-color:#cfc2aa}
.welcome-lobby-note span{color:#9c7b3e}.welcome-lobby-note strong{color:#345365}
.welcome-lobby-visual{order:2;display:grid;grid-template-columns:1.35fr .65fr;gap:10px;min-height:700px;padding:0;background:#e4dbcc}
.welcome-lobby-main,.welcome-lobby-sub{position:static;width:auto;height:auto;min-height:700px;margin:0;padding:0;background:none;box-shadow:none}
.welcome-lobby-main img,.welcome-lobby-sub img{height:100%;object-fit:cover}
.welcome-lobby-main img{object-position:center}.welcome-lobby-sub img{object-position:center}
@media(max-width:900px){.welcome-lobby{grid-template-columns:1fr}.welcome-lobby-copy{order:1;padding:90px 28px 75px}.welcome-lobby-copy:before{left:20px;top:38px}.welcome-lobby-visual{order:2;grid-template-columns:1.2fr .8fr;min-height:480px;padding:0}.welcome-lobby-main,.welcome-lobby-sub{min-height:480px;height:auto;width:auto}.welcome-lobby-sub{position:static}}
@media(max-width:520px){.welcome-lobby-copy{padding:75px 24px 60px}.welcome-lobby-copy:before{font-size:72px;top:31px}.welcome-lobby-visual{grid-template-columns:1fr;gap:6px;min-height:0;padding:0 14px 14px}.welcome-lobby-main{height:310px;min-height:0}.welcome-lobby-sub{height:220px;min-height:0}.welcome-lobby-note{flex-direction:row;align-items:center;gap:17px}}

/* Additional Jihei photography */
.jihei-new-gallery{padding:135px 5vw 145px;background:linear-gradient(145deg,#faf7ef 0%,#e9e0d0 54%,#f5f0e7 100%)}
.jihei-new-heading{display:grid;grid-template-columns:1fr 1fr;gap:3vw 8vw;align-items:end;max-width:1450px;margin:0 auto 65px}
.jihei-new-heading .eyebrow{grid-column:1/-1;color:#967943;margin-bottom:0}
.jihei-new-heading h2,.jihei-cuisine-heading h2{margin:0;color:#27221d;font:400 clamp(34px,4vw,55px)/1.58 var(--serif);letter-spacing:.055em}
.jihei-new-heading>p:last-child{margin:0 0 7px;color:#696056;font-size:13px;line-height:2.2;letter-spacing:.035em}
.jihei-space-mosaic{display:grid;grid-template-columns:1.4fr .8fr .8fr;grid-template-rows:300px 300px;gap:12px;max-width:1450px;margin:0 auto}
.jihei-space-mosaic figure,.jihei-cuisine-mosaic figure{position:relative;margin:0;overflow:hidden;background:#d8ccba}
.jihei-space-mosaic img,.jihei-cuisine-mosaic img{width:100%;height:100%;object-fit:cover;filter:none;transition:transform .7s}
.jihei-space-mosaic figure:hover img,.jihei-cuisine-mosaic figure:hover img{transform:scale(1.025)}
.jihei-space-mosaic .jihei-photo-main{grid-row:1/-1}
.jihei-space-mosaic .jihei-photo-wide{grid-column:2/-1}
.jihei-cuisine-heading{display:flex;justify-content:space-between;align-items:end;max-width:1450px;margin:125px auto 55px;padding-bottom:25px;border-bottom:1px solid #cfc1aa}
.jihei-cuisine-heading .eyebrow{color:#967943;margin:0}
.jihei-cuisine-mosaic{display:grid;grid-template-columns:.8fr .8fr 1.4fr;grid-template-rows:280px 280px;gap:12px;max-width:1450px;margin:0 auto}
.jihei-cuisine-mosaic .jihei-food-main{grid-column:3;grid-row:1/-1}
.jihei-cuisine-mosaic figure:nth-child(4){grid-column:1}.jihei-cuisine-mosaic figure:nth-child(5){grid-column:2}
@media(max-width:900px){.jihei-new-gallery{padding:90px 24px}.jihei-new-heading{grid-template-columns:1fr;gap:28px;margin-bottom:45px}.jihei-new-heading .eyebrow{grid-column:auto}.jihei-space-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:360px 230px 230px}.jihei-space-mosaic .jihei-photo-main{grid-column:1/-1;grid-row:auto}.jihei-space-mosaic .jihei-photo-wide{grid-column:1/-1}.jihei-cuisine-heading{display:block;margin-top:85px}.jihei-cuisine-heading h2{margin-top:18px}.jihei-cuisine-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:250px 360px 250px}.jihei-cuisine-mosaic .jihei-food-main{grid-column:1/-1;grid-row:2}.jihei-cuisine-mosaic figure:nth-child(4){grid-column:1}.jihei-cuisine-mosaic figure:nth-child(5){grid-column:2}}
@media(max-width:520px){.jihei-new-gallery{padding:75px 14px}.jihei-new-heading,.jihei-cuisine-heading{padding-left:10px;padding-right:10px}.jihei-new-heading h2,.jihei-cuisine-heading h2{font-size:34px}.jihei-space-mosaic,.jihei-cuisine-mosaic{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:7px}.jihei-space-mosaic figure,.jihei-space-mosaic .jihei-photo-main,.jihei-space-mosaic .jihei-photo-wide,.jihei-cuisine-mosaic figure,.jihei-cuisine-mosaic .jihei-food-main,.jihei-cuisine-mosaic figure:nth-child(4),.jihei-cuisine-mosaic figure:nth-child(5){grid-column:auto;grid-row:auto;height:260px}.jihei-space-mosaic .jihei-photo-main,.jihei-cuisine-mosaic .jihei-food-main{height:340px}}

/* Jihei photo tone — warm, clear and consistent */
.dining-page-hero>img,.jihei-intro-photo img,.jihei-gallery img,.jihei-space-mosaic img,.jihei-cuisine-mosaic img,.breakfast-photos img{filter:brightness(1.035) contrast(.96) saturate(.9) sepia(.025)}
.dining-page-hero>img{filter:brightness(1.075) contrast(.95) saturate(.88) sepia(.025)}
.jihei-space-mosaic figure:nth-child(1) img{filter:brightness(1.09) contrast(.94) saturate(.88) sepia(.025)}
.jihei-space-mosaic figure:nth-child(2) img{filter:brightness(1.12) contrast(.93) saturate(.86) sepia(.02)}
.jihei-space-mosaic figure:nth-child(3) img{filter:brightness(1.13) contrast(.94) saturate(.88) sepia(.035)}
.jihei-space-mosaic figure:nth-child(4) img{filter:brightness(1.12) contrast(.94) saturate(.86) sepia(.035)}
.jihei-space-mosaic figure:nth-child(5) img{filter:brightness(1.07) contrast(.95) saturate(.88) sepia(.03)}
.jihei-cuisine-mosaic img{filter:brightness(1.01) contrast(.95) saturate(.88) sepia(.018)}
.jihei-space-mosaic figure:hover img,.jihei-cuisine-mosaic figure:hover img{transform:scale(1.025)}

/* Final production Japanese typesetting */
html[lang="ja"]{font-kerning:normal;text-rendering:optimizeLegibility}
body{font-feature-settings:"palt" 1}
:where(h1,h2,h3,h4){line-break:strict;word-break:normal;overflow-wrap:break-word;text-wrap:balance;hanging-punctuation:allow-end;font-feature-settings:"palt" 1}
:where(p,li,dt,dd,figcaption,small){line-break:strict;word-break:normal;overflow-wrap:anywhere;text-wrap:pretty}
:where(a,button,strong,b,.eyebrow){line-break:strict}
:where(.phone,.booking-phone,.book,.book-small,.book-large,.outline-btn,.map-button,.room-book,.mobile-book a){word-break:keep-all;white-space:nowrap}
:where(.hours-grid strong,.hours-grid small,.breakfast-copy dd,.transport-time,.phone,.booking-phone){font-variant-numeric:tabular-nums}
:where(main section)>*{min-width:0}
.footer-links a{line-height:1.7;overflow-wrap:anywhere}
@media(max-width:520px){:where(h1,h2,h3,h4){word-break:auto-phrase;overflow-wrap:break-word}.footer-links a{font-size:10px;line-height:1.65}}

/* Jihei — refined Japanese dining */
.dining-page{--jihei-charcoal:#26211c;--jihei-washi:#fbf8f1;--jihei-muted:#746a5f;--jihei-metal:#a98a50}
.dining-page-hero{isolation:isolate}
.dining-page-hero:before{background:linear-gradient(90deg,rgba(17,12,8,.28) 0%,rgba(17,12,8,.03) 48%,rgba(17,12,8,.12) 100%)}
.dining-page-hero:after{right:4.5vw;bottom:9%;padding-top:54px;background:linear-gradient(var(--jihei-metal),var(--jihei-metal)) top center/1px 40px no-repeat;color:#fffaf0;letter-spacing:.38em}
.dining-page-title{bottom:6.5%;padding:48px 55px 44px;background:rgba(252,249,242,.93);border:1px solid rgba(255,255,255,.72);border-top:0;box-shadow:0 30px 90px rgba(17,11,7,.34);backdrop-filter:blur(9px)}
.dining-page-title:before,.dining-page-title:after{content:"";position:absolute;pointer-events:none}
.dining-page-title:before{inset:11px;border:1px solid rgba(169,138,80,.48)}
.dining-page-title:after{left:55px;top:0;width:92px;height:3px;background:linear-gradient(90deg,#806431,#d2ba80,#806431)}
.dining-page-title p,.dining-page-title h1,.dining-page-title span{position:relative;z-index:1}
.dining-page-title h1{color:#211b16;font-weight:500;letter-spacing:.115em}
.dining-page-title span{color:#5f5448}
.jihei-intro{grid-template-columns:minmax(0,.85fr) minmax(500px,1.15fr);gap:10vw;padding-top:175px;padding-bottom:175px;background:radial-gradient(circle at 10% 18%,rgba(190,166,117,.09),transparent 28%),var(--jihei-washi)}
.jihei-intro:before{left:auto;right:-.08em;bottom:-.08em;color:rgba(85,68,43,.04);font-size:190px}
.jihei-kicker{margin:0 0 15px;color:#4b4035;font:400 14px/1.8 var(--serif);letter-spacing:.22em}
.jihei-intro-copy h2{font-size:clamp(39px,4.4vw,61px);line-height:1.62}
.jihei-intro-copy>p:last-of-type:not(.jihei-signature){font-size:13px}
.jihei-signature{display:flex;align-items:center;gap:13px;margin:35px 0 0;color:#907649;font:500 9px/1 var(--en);letter-spacing:.22em;white-space:nowrap}
.jihei-signature i{display:block;width:26px;height:1px;background:#c7b58f}
.jihei-intro-photo{height:610px;padding:10px 10px 42px;box-shadow:0 35px 90px rgba(45,34,23,.16)}
.jihei-intro-photo:before{content:"";position:absolute;inset:20px -22px -22px 22px;border:1px solid rgba(169,138,80,.48);z-index:-1}
.jihei-intro-photo:after{display:none}
.jihei-intro-photo span{position:absolute;left:25px;bottom:14px;color:#635648;font:400 10px/1 var(--serif);letter-spacing:.18em}
.jihei-values{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0 8vw 145px;background:var(--jihei-washi)}
.jihei-values:before{content:"治兵衛のこだわり";position:absolute;left:8vw;top:-47px;color:#8e7548;font:400 10px/1 var(--serif);letter-spacing:.22em}
.jihei-values article{position:relative;min-height:305px;padding:52px 44px 42px;border-top:1px solid #bda879;border-bottom:1px solid #d7cdbd;background:rgba(255,255,255,.52)}
.jihei-values article+article{border-left:1px solid #d7cdbd}
.jihei-values article>span{position:absolute;right:28px;top:25px;color:rgba(141,112,61,.14);font:400 58px/1 var(--serif)}
.jihei-values article>p{margin:0 0 16px;color:#9a7f4c;font:500 9px/1 var(--en);letter-spacing:.28em}
.jihei-values h3{margin:0 0 22px;color:var(--jihei-charcoal);font:400 25px/1.5 var(--serif);letter-spacing:.12em}
.jihei-values small{display:block;max-width:23em;color:#71675c;font-size:11px;line-height:2.15;letter-spacing:.035em}
.jihei-gallery{padding-top:125px;padding-bottom:150px}
.jihei-gallery div{padding:7px;background:#fdfaf4;border:1px solid rgba(164,137,89,.18);box-shadow:0 20px 55px rgba(58,45,29,.1)}
.jihei-new-gallery{padding-top:155px}
.jihei-new-heading,.jihei-cuisine-heading{border-color:#bca77e}
.jihei-new-heading h2,.jihei-cuisine-heading h2{font-weight:500;letter-spacing:.085em}
.jihei-space-mosaic figure,.jihei-cuisine-mosaic figure{box-shadow:inset 0 0 0 1px rgba(255,255,255,.34)}
.hours-grid article{background:linear-gradient(145deg,#fff 0%,#faf6ed 100%);box-shadow:0 20px 55px rgba(64,50,33,.08)}
@media(max-width:900px){
  .dining-page-title{padding:38px 40px 34px}
  .dining-page-title:after{left:40px}
  .jihei-intro{grid-template-columns:1fr;gap:70px;padding-top:115px;padding-bottom:120px}
  .jihei-intro-photo{height:520px}
  .jihei-values{grid-template-columns:1fr;padding:0 24px 105px}
  .jihei-values:before{left:24px}
  .jihei-values article{min-height:0}
  .jihei-values article+article{border-left:0;border-top:0}
}
@media(max-width:520px){
  .dining-page-title{padding:31px 29px 29px}
  .dining-page-title:before{inset:8px}
  .dining-page-title:after{left:29px;width:70px}
  .dining-page-title h1{letter-spacing:.075em}
  .jihei-intro{gap:52px;padding-top:90px;padding-bottom:95px}
  .jihei-kicker{font-size:12px}
  .jihei-signature{gap:8px;font-size:8px;letter-spacing:.13em}
  .jihei-signature i{width:14px}
  .jihei-intro-photo{height:350px;padding:7px 7px 36px}
  .jihei-intro-photo:before{inset:13px -10px -10px 13px}
  .jihei-intro-photo span{left:18px;bottom:13px;font-size:9px}
  .jihei-values{padding-left:14px;padding-right:14px}
  .jihei-values:before{left:24px}
  .jihei-values article{padding:43px 29px 37px}
  .jihei-gallery{padding-top:85px;padding-bottom:100px}
}

/* Jihei photo alignment — calm, architectural rhythm */
.dining-page .jihei-gallery{
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:330px;
  align-items:stretch;
}
.dining-page .jihei-gallery .wide{grid-column:auto}
.dining-page .jihei-gallery>div{height:330px}
.dining-page .jihei-space-mosaic,
.dining-page .jihei-cuisine-mosaic{
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:330px 330px;
  grid-auto-flow:row;
  align-items:stretch;
}
.dining-page .jihei-space-mosaic figure,
.dining-page .jihei-cuisine-mosaic figure,
.dining-page .jihei-space-mosaic .jihei-photo-main,
.dining-page .jihei-space-mosaic .jihei-photo-wide,
.dining-page .jihei-cuisine-mosaic .jihei-food-main,
.dining-page .jihei-cuisine-mosaic figure:nth-child(4),
.dining-page .jihei-cuisine-mosaic figure:nth-child(5){
  grid-column:auto;
  grid-row:auto;
  height:330px;
}
.dining-page .jihei-space-mosaic figure:nth-child(4),
.dining-page .jihei-cuisine-mosaic figure:nth-child(4){
  grid-column:1;
}
.dining-page .jihei-space-mosaic figure:nth-child(5),
.dining-page .jihei-cuisine-mosaic figure:nth-child(5){
  grid-column:2 / 4;
}
@media(max-width:900px){
  .dining-page .jihei-gallery,
  .dining-page .jihei-space-mosaic,
  .dining-page .jihei-cuisine-mosaic{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:none;
    grid-auto-rows:280px;
  }
  .dining-page .jihei-gallery>div,
  .dining-page .jihei-space-mosaic figure,
  .dining-page .jihei-cuisine-mosaic figure,
  .dining-page .jihei-space-mosaic .jihei-photo-main,
  .dining-page .jihei-space-mosaic .jihei-photo-wide,
  .dining-page .jihei-cuisine-mosaic .jihei-food-main{
    grid-column:auto;
    grid-row:auto;
    height:280px;
  }
  .dining-page .jihei-space-mosaic figure:nth-child(5),
  .dining-page .jihei-cuisine-mosaic figure:nth-child(5){
    grid-column:auto;
  }
}

/* Page-specific booking/footer photography */
.booking-bg{
  background-image:
    linear-gradient(rgba(3,35,55,.24),rgba(3,35,55,.5)),
    var(--booking-image,url("assets/5955e0ae88d2722b.webp"))!important;
  background-position:var(--booking-position,center)!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.dining-page .booking-bg{
  background-image:
    linear-gradient(rgba(27,20,14,.28),rgba(27,20,14,.58)),
    var(--booking-image,url("assets/jihei-new/garden-seat.jpg"))!important;
}

.access-page .transport-section .section-head h2{
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:.055em;
}

/* Keep the ghost header above embedded maps */
.header{z-index:10000}
.header.is-scrolled{z-index:10000}
.access-page-hero,.access-hero-map,.google-map-embed,.sightseeing-map,.tour-detail-map{
  isolation:isolate;
}
.access-hero-map .map-frame,
.google-map-embed iframe,
.sightseeing-map iframe,
.tour-detail-map iframe{
  z-index:1;
}

/* Guest rooms — refined hotel editorial */
.rooms-page{
  --rooms-ink:#15364b;
  --rooms-deep:#082d45;
  --rooms-ivory:#f8f5ee;
  --rooms-gold:#b99a5c;
  background:var(--rooms-ivory);
}
.rooms-page .room-page-hero{height:min(850px,88vh);border-bottom:1px solid rgba(185,154,92,.6)}
.rooms-page .room-page-hero:after{content:"HOTEL THE CENTRE";position:absolute;right:4.5vw;bottom:9%;writing-mode:vertical-rl;color:#fff;font:500 10px/2 var(--en);letter-spacing:.35em;text-shadow:0 2px 14px rgba(0,0,0,.65)}
.rooms-page .room-page-hero-shade{display:block;background:linear-gradient(90deg,rgba(4,31,48,.3),transparent 58%),linear-gradient(0deg,rgba(3,25,40,.28),transparent 48%)}
.rooms-page .room-page-title{left:6vw;bottom:7%;width:min(560px,48vw);padding:45px 51px 42px;background:rgba(249,247,241,.94);color:var(--rooms-ink);text-shadow:none;border:1px solid rgba(255,255,255,.72);box-shadow:0 28px 80px rgba(3,22,35,.3);backdrop-filter:blur(8px)}
.rooms-page .room-page-title:before{content:"";position:absolute;inset:10px;border:1px solid rgba(185,154,92,.45);pointer-events:none}
.rooms-page .room-page-title:after{content:"";position:absolute;left:51px;top:0;width:90px;height:3px;background:linear-gradient(90deg,#8b6b34,#d6bf88,#8b6b34)}
.rooms-page .room-page-title>*{position:relative;z-index:1}
.rooms-page .room-page-title p{margin:0;color:#937640}
.rooms-page .room-page-title h1{margin:13px 0 16px;color:#15364b;font-size:clamp(43px,5.4vw,70px);letter-spacing:.1em}
.rooms-page .room-page-title span{color:#5e6e76;font-size:12px;letter-spacing:.12em}
.rooms-page .room-introduction{position:relative;padding:150px 8vw 135px;background:radial-gradient(circle at 88% 30%,rgba(166,193,206,.2),transparent 30%),var(--rooms-ivory);overflow:hidden}
.rooms-page .room-introduction:after{content:"ROOMS";position:absolute;right:-.03em;bottom:-.18em;color:rgba(17,62,87,.045);font:500 190px/1 var(--en);letter-spacing:.06em}
.rooms-page .room-introduction>*{position:relative;z-index:1}
.rooms-page .room-introduction .eyebrow{color:#9b7b3f}
.rooms-page .room-introduction h2{color:var(--rooms-ink);font-size:clamp(38px,4.7vw,62px);font-weight:400;letter-spacing:.065em}
.rooms-page .room-introduction h2 em{color:#9a7a3d}
.rooms-page .room-introduction>p:last-child{max-width:620px;color:#667985;font-size:13px;line-height:2.2;letter-spacing:.035em}
.rooms-page .large-room-list{padding:0 7vw 155px;background:linear-gradient(145deg,#f8f5ee 0%,#edf3f4 52%,#f7f4ed 100%)}
.rooms-page .large-room{
  grid-template-columns:minmax(0,1.65fr) minmax(390px,.75fr);
  min-height:640px;
  margin:0 0 115px;
  background:transparent;
  align-items:center;
}
.rooms-page .large-room.reverse{grid-template-columns:minmax(390px,.75fr) minmax(0,1.65fr)}
.rooms-page .large-room-photo{height:640px;min-height:0;box-shadow:0 30px 75px rgba(13,48,68,.14)}
.rooms-page .large-room-photo img{filter:brightness(1.025) saturate(.92);transform:scale(1.002)}
.rooms-page .variant-photo-grid{position:relative;display:grid;grid-template-columns:1fr;gap:12px;height:auto;min-height:0;padding:12px;background:linear-gradient(145deg,#f8fbfc,#e6eff3);box-shadow:0 30px 75px rgba(13,48,68,.14)}
.rooms-page .variant-photo-grid img{display:block;width:100%;height:auto;min-width:0;aspect-ratio:16/9;object-fit:contain;background:#edf3f5}
.rooms-page .variant-photo-grid .variant-photo-note{position:absolute;right:26px;bottom:26px;padding:8px 14px;background:rgba(255,255,255,.94);color:#294f68;font-size:10px;letter-spacing:.14em;box-shadow:0 8px 24px rgba(13,48,68,.12)}
.rooms-page .large-room-info{
  z-index:2;
  margin-left:-58px;
  padding:67px 4vw 59px;
  background:rgba(253,252,248,.97);
  border-top:3px solid var(--rooms-gold);
  box-shadow:0 24px 70px rgba(12,43,61,.14);
  backdrop-filter:blur(8px);
}
.rooms-page .large-room.reverse .large-room-info{margin-left:0;margin-right:-58px}
.rooms-page .large-room-info:after{content:"";position:absolute;inset:11px;border:1px solid rgba(185,154,92,.25);pointer-events:none}
.rooms-page .large-room-info>*{position:relative;z-index:1}
.rooms-page .room-number{right:31px;top:27px;color:rgba(162,130,70,.18);font-size:70px;font-weight:400}
.rooms-page .room-en{color:#9b7b3f;letter-spacing:.28em}
.rooms-page .large-room-info h2{color:var(--rooms-ink);font-size:clamp(27px,2.7vw,39px);letter-spacing:.065em}
.rooms-page .room-description{color:#667681;font-size:12px;line-height:2.15}
.rooms-page .large-room-info dl{border-color:#d9d1c1}
.rooms-page .large-room-info dl div{border-color:#ded7c9;padding:14px 2px}
.rooms-page .large-room-info dt{color:#837663}
.rooms-page .large-room-info dd{color:#27495e}
.rooms-page .room-equipment{color:#7c8589;letter-spacing:.025em}
.rooms-page .amenity-guide{background:linear-gradient(145deg,#fbfaf6 0%,#edf3f4 55%,#f8f5ee 100%)}
.rooms-page .amenity-heading h2,.rooms-page .amenity-feature-copy h3,.rooms-page .rental-intro h3,.rooms-page .coffee-service h3{color:var(--rooms-ink)}
.rooms-page .amenity-feature{border:1px solid rgba(185,154,92,.2);box-shadow:0 28px 75px rgba(15,52,71,.11)}
.rooms-page .rental-card{border-bottom:2px solid rgba(185,154,92,.45)}
.rooms-page .booking-content{padding:52px 60px;background:rgba(6,39,59,.68);border-top:2px solid var(--rooms-gold);backdrop-filter:blur(5px)}
.rooms-page .coffee-service h3{
  color:#fffdf8;
  text-shadow:0 2px 16px rgba(0,25,40,.3);
}
.rooms-page .coffee-service p{color:#edf5f7}
.rooms-page .booking-content h2{
  color:#fffdf8;
  text-shadow:0 2px 18px rgba(0,18,30,.42);
}
.rooms-page .booking-content>p:not(.eyebrow){color:#eef4f6}
.rooms-page .booking-content .eyebrow.light{color:#e4c98f}

/* Third-party reservation widgets: move from top-right to bottom-right */
#talkappi-book-widget{
  position:fixed!important;
  top:auto!important;
  right:22px!important;
  bottom:92px!important;
  left:auto!important;
  transform:none!important;
  z-index:9000!important;
}
#talkappi-chat-ota-price-compare{
  position:fixed!important;
  top:150px!important;
  right:22px!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  z-index:9000!important;
}
#trip_ai_container{
  position:fixed!important;
  top:320px!important;
  right:22px!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  z-index:9000!important;
}
@media(max-width:900px){
  #talkappi-book-widget{right:12px!important;bottom:140px!important}
  #talkappi-chat-ota-price-compare{top:110px!important;right:12px!important;bottom:auto!important}
  #trip_ai_container{top:220px!important;right:12px!important;bottom:auto!important}
}

.back-to-top{
  position:fixed;
  z-index:2147483646;
  right:22px;
  bottom:22px;
  width:54px;
  height:54px;
  padding:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  border:1px solid rgba(255,255,255,.55);
  border-radius:50%;
  background:linear-gradient(145deg,#0b527f,#062d4e);
  color:#fff;
  box-shadow:0 8px 28px rgba(2,31,49,.25);
  cursor:pointer;
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .25s,visibility .25s,transform .25s,background .25s;
}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:none}
.back-to-top:hover{background:linear-gradient(145deg,#b99a5c,#8c6c35);transform:translateY(-2px)}
.back-to-top span{font:300 19px/1 var(--en)}
.back-to-top small{font:500 8px/1 var(--en);letter-spacing:.16em}
@media(max-width:900px){
  .back-to-top{right:12px;bottom:74px;width:50px;height:50px}
}

.footer-social{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.11);
}
.footer-social>span{
  margin-right:12px;
  color:#738c9b;
  font:500 9px/1 var(--en);
  letter-spacing:.24em;
}
.footer-social a{
  min-width:94px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.2);
  color:#e6edf1;
  font:500 10px/1 var(--en);
  letter-spacing:.1em;
  text-align:center;
  transition:border-color .25s,color .25s,background .25s;
}
.footer-social a:hover{
  border-color:#c5a56a;
  background:rgba(197,165,106,.1);
  color:#fff;
}
@media(max-width:520px){
  .footer-social{flex-wrap:wrap;gap:8px}
  .footer-social>span{width:100%;margin:0 0 7px}
  .footer-social a{flex:1;min-width:82px;padding:11px 8px}
}

/* Home news immediately below the billboard */
.home-news{
  display:grid;
  grid-template-columns:minmax(220px,.7fr) minmax(0,2.3fr);
  gap:6vw;
  padding:62px 7vw 58px;
  background:linear-gradient(135deg,#fff 0%,#f3f7f8 100%);
  border-bottom:1px solid #d8e3e7;
}
.home-news-heading{padding-top:7px}
.home-news-heading p{
  margin:0 0 12px;
  color:#a18145;
  font:500 10px/1 var(--en);
  letter-spacing:.25em;
}
.home-news-heading h2{
  margin:0;
  color:#173e56;
  font:400 28px/1.5 var(--serif);
  letter-spacing:.09em;
}
.home-news-list{border-top:1px solid #bfcfd6}
.home-news-item{
  display:grid;
  grid-template-columns:105px 100px minmax(0,1fr) 25px;
  gap:16px;
  align-items:center;
  min-height:69px;
  padding:14px 4px;
  border-bottom:1px solid #d1dde2;
  color:#274a5e;
  transition:padding .25s,background .25s;
}
.home-news-item:hover{padding-left:12px;padding-right:12px;background:rgba(255,255,255,.72)}
.guest-information{
  display:grid;
  grid-template-columns:minmax(210px,.58fr) minmax(0,1.42fr);
  gap:6vw;
  align-items:start;
  padding:100px max(7vw,30px) 115px;
  background:linear-gradient(145deg,#f8fbfd 0%,#edf5f9 100%);
  border-bottom:1px solid #d5e2e8;
}
.guest-information-heading{position:sticky;top:125px;padding-top:16px}
.guest-information-heading p{
  margin:0 0 18px;
  color:#a18145;
  font:500 10px/1 var(--en);
  letter-spacing:.24em;
}
.guest-information-heading h2{
  margin:0;
  color:#173e56;
  font:400 clamp(28px,3.1vw,44px)/1.55 var(--serif);
  letter-spacing:.09em;
}
.guest-information-heading span{
  display:block;
  margin-top:14px;
  color:#667f8e;
  font-size:12px;
  letter-spacing:.12em;
}
.guest-information-poster{
  width:min(100%,860px);
  margin:0 auto;
  padding:14px;
  background:#fff;
  border:1px solid rgba(24,83,119,.16);
  box-shadow:0 28px 75px rgba(13,54,78,.13);
}
.guest-information-poster img{width:100%;height:auto}
.guest-information-content{display:grid;gap:24px}
.information-card{
  display:grid;
  grid-template-columns:210px minmax(0,1fr);
  overflow:hidden;
  background:rgba(255,255,255,.94);
  border:1px solid #9bbdd1;
  border-radius:16px;
  box-shadow:0 18px 45px rgba(13,54,78,.08);
}
.information-card-label{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:22px;
  padding:35px 22px;
  color:#154f7e;
  text-align:center;
  background:#edf5fa;
  border-right:1px solid #a8c3d3;
}
.information-card-label strong{font:600 16px/1.8 var(--serif);letter-spacing:.06em}
.information-symbol{
  display:grid;
  place-items:center;
  width:112px;
  height:112px;
  color:#17588b;
  border:3px solid currentColor;
  border-radius:50%;
  font:600 42px/1 var(--en);
}
.battery-symbol{color:#fff;border-color:#fff;background:#2e79b5;box-shadow:0 0 0 13px #2e79b5}
.invoice-symbol{height:130px;border-radius:7px;font-size:15px;letter-spacing:.08em;background:linear-gradient(135deg,#fff 0 82%,#c9dce8 82%)}
.information-card-copy{padding:32px 38px 35px}
.information-card-copy h3{
  margin:0 0 20px;
  padding-bottom:13px;
  color:#154f7e;
  border-bottom:1px solid #83aac1;
  font:600 21px/1.55 var(--serif);
  letter-spacing:.05em;
}
.information-card-copy p{margin:0 0 12px;color:#314e60;font-size:12px;line-height:1.95;letter-spacing:.025em}
.information-card-copy strong,.information-card-copy b{color:#13558a;font-weight:600}
.information-battery .information-card-label{color:#fff;background:linear-gradient(145deg,#2e7ab7,#176296);border-right:0}
.battery-rules{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 15px}
.battery-rules section{padding:15px 14px;background:#f7fafc;border:1px solid #b5ccd9;border-radius:10px}
.battery-rules section>b{display:flex;align-items:center;gap:8px;font-size:11px;line-height:1.5}
.battery-rules i{display:grid;place-items:center;flex:0 0 25px;height:25px;color:#fff;background:#175c91;border-radius:50%;font-style:normal}
.battery-rules p{margin:11px 0 0;font-size:10px;line-height:1.8}
.information-closing{text-align:center;font-weight:500}
@media(max-width:900px){
  .guest-information{grid-template-columns:1fr;gap:35px;padding:70px 20px 80px}
  .guest-information-heading{position:static;padding-top:0}
  .guest-information-poster{padding:7px}
  .information-card{grid-template-columns:1fr}
  .information-card-label{padding:28px 20px;border-right:0;border-bottom:1px solid #a8c3d3}
  .information-symbol{width:88px;height:88px;font-size:34px}
  .invoice-symbol{height:102px;font-size:12px}
  .information-card-copy{padding:27px 22px 30px}
  .information-card-copy h3{font-size:18px}
  .battery-rules{grid-template-columns:1fr}
}

/* Mobile navigation */
@media(max-width:900px){
  body.menu-open{overflow:hidden;touch-action:none}
  .header{isolation:isolate}
  .header .brand,.header .menu{position:relative;z-index:10002}
  .menu{
    position:relative;
    z-index:10002;
    width:44px;
    height:44px;
    padding:8px 3px;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }
  .menu span{
    width:30px;
    margin:7px auto;
    transition:transform .3s ease,background-color .3s ease;
    transform-origin:center;
  }
  .menu[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}
  .menu[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}
  .header .nav.nav-open{
    position:fixed;
    z-index:10001;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:0;
    margin:0;
    padding:105px 28px 90px;
    overflow-y:auto;
    color:#fff;
    background:
      radial-gradient(circle at 85% 12%,rgba(74,151,191,.32),transparent 34%),
      linear-gradient(145deg,rgba(3,29,49,.985),rgba(7,73,108,.985));
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
  }
  .header .nav.nav-open a{
    width:min(340px,100%);
    padding:18px 12px;
    border-bottom:1px solid rgba(255,255,255,.16);
    color:#fff;
    text-align:center;
    font:400 18px/1.5 var(--serif);
    letter-spacing:.13em;
  }
  .header .nav.nav-open a:first-child{border-top:1px solid rgba(255,255,255,.16)}
  .header .nav.nav-open a:after{display:none}
  body.menu-open .header .official-logo img{filter:none}
  body.menu-open .header .menu span{background:#fff}
  body.menu-open #talkappi-chat-ota-price-compare,
  body.menu-open #talkappi-book-widget,
  body.menu-open #trip_ai_container,
  body.menu-open #talkappi-chat-icon,
  body.menu-open #talkappi-chat-greeting{display:none!important}
}
.home-news-item time{
  color:#758b96;
  font:500 10px/1 var(--en);
  letter-spacing:.11em;
}
.home-news-item>span{
  padding:6px 8px;
  border:1px solid #b8cbd4;
  color:#557585;
  font-size:9px;
  line-height:1;
  letter-spacing:.06em;
  text-align:center;
}
.home-news-item strong{font-size:12px;font-weight:400;line-height:1.75;letter-spacing:.025em}
.home-news-item i{color:#a18145;font:400 17px/1 var(--en);font-style:normal;text-align:right}
.home-news-featured>span{border-color:#b99a5c;color:#8c6b32}
@media(max-width:900px){
  .home-news{grid-template-columns:1fr;gap:28px;padding:50px 24px}
  .home-news-heading{display:flex;align-items:end;justify-content:space-between}
  .home-news-heading p{order:2;margin-bottom:9px}
}
@media(max-width:520px){
  .home-news{padding:43px 20px}
  .home-news-heading{display:block}
  .home-news-heading p{margin-bottom:10px}
  .home-news-item{grid-template-columns:88px 78px 1fr;gap:10px;padding:15px 2px}
  .home-news-item strong{grid-column:1/-1;padding-top:3px}
  .home-news-item i{display:none}
}

.traffic-alert{
  display:grid;
  grid-template-columns:minmax(190px,.55fr) minmax(0,2fr);
  gap:6vw;
  padding:72px 8vw;
  background:linear-gradient(135deg,#fffaf0 0%,#f4ead5 100%);
  border-top:1px solid #d2b979;
  border-bottom:1px solid #d2b979;
  scroll-margin-top:90px;
}
.traffic-alert-label{padding-top:6px}
.traffic-alert-label span{
  display:block;
  margin-bottom:15px;
  color:#9a7130;
  font:500 10px/1 var(--en);
  letter-spacing:.25em;
}
.traffic-alert-label strong{
  color:#6e542b;
  font:400 17px/1.7 var(--serif);
  letter-spacing:.08em;
}
.traffic-alert-copy{max-width:900px}
.traffic-alert-date{
  margin:0 0 12px;
  color:#9a7130;
  font-size:12px;
  font-weight:500;
  letter-spacing:.07em;
}
.traffic-alert h2{
  margin:0 0 24px;
  color:#3f3426;
  font:400 clamp(25px,3vw,39px)/1.55 var(--serif);
  letter-spacing:.055em;
}
.traffic-alert-copy>p:not(.traffic-alert-date){
  margin:0 0 12px;
  color:#665b4c;
  font-size:12px;
  line-height:2;
  letter-spacing:.025em;
}
.traffic-alert a{
  display:inline-block;
  margin-top:14px;
  padding-bottom:6px;
  border-bottom:1px solid #9a7130;
  color:#755523;
  font-size:11px;
  font-weight:500;
}
@media(max-width:700px){
  .traffic-alert{grid-template-columns:1fr;gap:28px;padding:55px 24px}
  .traffic-alert h2 br{display:none}
}
@media(max-width:900px){
  .rooms-page .room-page-title{left:24px;right:24px;bottom:30px;width:auto;padding:36px 40px 34px}
  .rooms-page .room-page-title:after{left:40px}
  .rooms-page .room-page-hero:after{display:none}
  .rooms-page .room-introduction{padding:105px 24px 95px}
  .rooms-page .room-introduction:after{font-size:105px}
  .rooms-page .large-room-list{padding:0 24px 105px}
  .rooms-page .large-room,.rooms-page .large-room.reverse{grid-template-columns:1fr;margin-bottom:75px}
  .rooms-page .large-room-photo{height:470px}
  .rooms-page .large-room-photo.variant-photo-grid{height:auto}
  .rooms-page .large-room-info,.rooms-page .large-room.reverse .large-room-info{margin:-45px 24px 0;padding:58px 40px 50px}
}
@media(max-width:520px){
  .rooms-page .room-page-title{padding:29px 27px 27px}
  .rooms-page .room-page-title:before{inset:8px}
  .rooms-page .room-page-title:after{left:27px;width:68px}
  .rooms-page .room-page-title h1{font-size:38px;letter-spacing:.07em}
  .rooms-page .room-page-title span{font-size:11px;line-height:1.8}
  .rooms-page .room-introduction{padding-top:85px}
  .rooms-page .room-introduction:after{font-size:68px}
  .rooms-page .large-room-list{padding-left:14px;padding-right:14px}
  .rooms-page .large-room{margin-bottom:58px}
  .rooms-page .large-room-photo{height:310px}
  .rooms-page .large-room-photo.variant-photo-grid{height:auto;padding:7px;gap:7px}
  .rooms-page .large-room-info,.rooms-page .large-room.reverse .large-room-info{margin:-24px 10px 0;padding:48px 27px 42px}
  .rooms-page .room-number{font-size:50px}
  .rooms-page .booking-content{width:calc(100% - 28px);padding:42px 24px}
}
@media(max-width:520px){
  .dining-page .jihei-gallery,
  .dining-page .jihei-space-mosaic,
  .dining-page .jihei-cuisine-mosaic{
    grid-template-columns:1fr;
    grid-auto-rows:260px;
  }
  .dining-page .jihei-gallery>div,
  .dining-page .jihei-space-mosaic figure,
  .dining-page .jihei-cuisine-mosaic figure,
  .dining-page .jihei-space-mosaic .jihei-photo-main,
  .dining-page .jihei-space-mosaic .jihei-photo-wide,
  .dining-page .jihei-cuisine-mosaic .jihei-food-main{
    height:260px;
  }
}
/* Contact page */
.contact-page{background:#f7f9fc;color:#132b4a}
.contact-hero{min-height:clamp(340px,48vw,560px);display:grid;place-items:end start;padding:140px max(7vw,32px) 72px;position:relative;overflow:hidden;background:linear-gradient(118deg,rgba(6,35,73,.9) 0%,rgba(16,68,116,.68) 48%,rgba(255,255,255,.08) 100%),url("assets/rooms-hero-exterior.png") center 55%/cover no-repeat}
.contact-hero:after{content:"CONTACT";position:absolute;right:4vw;bottom:-.18em;color:rgba(255,255,255,.09);font:500 clamp(76px,14vw,210px)/1 "Cormorant Garamond",serif;letter-spacing:.03em}
.contact-hero-copy{position:relative;z-index:1;color:#fff}
.contact-hero-copy h1{margin:.2em 0;font:500 clamp(42px,6vw,82px)/1.2 "Noto Serif JP",serif;letter-spacing:.12em}
.contact-hero-copy>p:last-child{font-size:clamp(15px,1.4vw,18px);line-height:2;letter-spacing:.08em}
.contact-intro{max-width:1180px;margin:auto;padding:clamp(70px,9vw,120px) 5vw;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:clamp(40px,8vw,100px);align-items:center}
.contact-intro-copy h2{margin:12px 0 24px;font:500 clamp(30px,4vw,52px)/1.4 "Noto Serif JP",serif;letter-spacing:.08em}
.contact-intro-copy>p{max-width:650px;line-height:2}
.contact-note{margin-top:20px;color:#59687b;font-size:14px}
.contact-phone-card{padding:42px 36px;background:linear-gradient(145deg,#0b3565,#061d3c);color:#fff;box-shadow:0 22px 54px rgba(8,35,66,.18)}
.contact-phone-card small{display:block;color:#a9c5e3;letter-spacing:.22em}
.contact-phone-card span{display:block;margin:16px 0 8px;font-family:"Noto Serif JP",serif}
.contact-phone-card a{display:inline-block;color:#fff;font:500 clamp(26px,3vw,38px)/1.4 "Cormorant Garamond",serif;letter-spacing:.08em;text-decoration:none}
.contact-phone-card p{margin:8px 0 0;color:#cbd9e7;font-size:13px}
.contact-form-section{padding:0 5vw clamp(90px,12vw,150px)}
.contact-form-heading{max-width:1080px;margin:0 auto 28px;display:flex;align-items:baseline;gap:20px}
.contact-form-heading span{color:#8aa6c4;font:500 13px/1 "Cormorant Garamond",serif;letter-spacing:.24em}
.contact-form-heading h2{font:500 clamp(23px,3vw,36px)/1.5 "Noto Serif JP",serif;letter-spacing:.06em}
.contact-form-shell{max-width:1080px;margin:auto;padding:clamp(24px,4vw,54px);background:#fff;border:1px solid rgba(16,67,113,.14);box-shadow:0 22px 70px rgba(11,44,79,.09)}
.contact-form-frame{display:block;width:100%;height:900px;border:0;background:transparent}
.contact-form-fallback{text-align:center;margin:24px 0 0;font-size:13px;color:#687789}
.contact-form-fallback a{color:#124d86;text-underline-offset:3px}
@media(max-width:760px){
  .contact-hero{min-height:390px;padding:120px 24px 48px;background-position:62% center}
  .contact-intro{grid-template-columns:1fr;padding:64px 24px;gap:32px}
  .contact-form-section{padding:0 14px 96px}
  .contact-form-heading{display:block;padding:0 10px}
  .contact-form-heading h2{margin-top:10px}
  .contact-form-shell{padding:18px 8px}
  .contact-form-frame{height:1100px}
}
/* Refined opening sequence */
body.opening-active{overflow:hidden}
.site-opening{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#041f38;color:#fff;overflow:hidden}
.site-opening:before{content:"";position:absolute;z-index:1;width:min(78vw,900px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(113,180,225,.22) 0%,rgba(39,112,166,.1) 28%,transparent 67%);filter:blur(10px);opacity:0;transform:scale(.55);animation:opening-bloom 2.45s cubic-bezier(.22,.61,.36,1) forwards}
.site-opening:after{content:"";position:absolute;z-index:3;top:-40%;left:-25%;width:24%;height:180%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),rgba(179,217,242,.1),transparent);filter:blur(16px);transform:rotate(18deg) translateX(-150%);animation:opening-sweep 1.35s cubic-bezier(.3,.7,.2,1) .68s forwards;pointer-events:none}
.site-opening-panel{position:absolute;top:0;bottom:0;width:50.1%;background:linear-gradient(145deg,#062d4e,#031a2e);transition:transform 1.05s cubic-bezier(.76,0,.24,1) .15s}
.site-opening-panel:after{content:"";position:absolute;top:0;bottom:0;width:1px;background:linear-gradient(transparent,rgba(197,165,106,.65) 42%,rgba(216,235,248,.8) 50%,rgba(197,165,106,.65) 58%,transparent);opacity:.75;box-shadow:0 0 22px rgba(142,197,232,.45)}
.site-opening-panel-left:after{right:0}.site-opening-panel-right:after{left:0}
.site-opening-panel-left{left:0}.site-opening-panel-right{right:0}
.site-opening-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;opacity:0;transform:translateY(12px);transition:opacity .9s ease .12s,transform .9s ease .12s}
.site-opening.is-ready .site-opening-inner{opacity:1;transform:none}
.site-opening-inner:before,.site-opening-inner:after{content:"";position:absolute;left:50%;top:38%;border:1px solid rgba(197,165,106,.25);border-radius:50%;opacity:0;transform:translate(-50%,-50%) scale(.45);animation:opening-ring 1.6s ease-out .42s forwards}
.site-opening-inner:before{width:190px;height:190px}.site-opening-inner:after{width:250px;height:250px;animation-delay:.62s}
.site-opening-inner img{position:relative;z-index:1;width:clamp(88px,9vw,128px);height:auto;filter:invert(1) drop-shadow(0 0 18px rgba(162,211,241,.26));opacity:.92;animation:opening-logo 1.7s ease-out .12s both}
.site-opening-inner p{position:relative;z-index:1;margin:25px 0 0;font:500 clamp(22px,3vw,38px)/1.1 var(--en);letter-spacing:.36em;animation:opening-type 1.35s cubic-bezier(.22,.61,.36,1) .2s both}
.site-opening-inner small{margin-top:10px;color:#c7b27e;font:500 10px/1 var(--sans);letter-spacing:.45em}
.site-opening-line{width:1px;height:0;margin-bottom:22px;background:linear-gradient(transparent,#c5a56a);transition:height .8s ease .25s}
.site-opening.is-ready .site-opening-line{height:54px}
.site-opening-caption{position:absolute;top:calc(100% + 38px);white-space:nowrap;color:rgba(255,255,255,.5);font:9px/1 var(--en);letter-spacing:.25em}
.site-opening.is-leaving .site-opening-inner{opacity:0;transform:translateY(-8px);transition-delay:0s;transition-duration:.4s}
.site-opening.is-leaving .site-opening-panel-left{transform:translateX(-101%)}
.site-opening.is-leaving .site-opening-panel-right{transform:translateX(101%)}
.site-opening.is-leaving{background:transparent;pointer-events:none;transition:background .3s ease .7s}
@keyframes opening-bloom{0%{opacity:0;transform:scale(.55)}45%{opacity:1}100%{opacity:.48;transform:scale(1.18)}}
@keyframes opening-sweep{0%{transform:rotate(18deg) translateX(-160%);opacity:0}18%{opacity:1}100%{transform:rotate(18deg) translateX(720%);opacity:0}}
@keyframes opening-ring{0%{opacity:0;transform:translate(-50%,-50%) scale(.45)}30%{opacity:.65}100%{opacity:0;transform:translate(-50%,-50%) scale(1.2)}}
@keyframes opening-logo{0%{opacity:0;transform:translateY(9px) scale(.93);filter:invert(1) drop-shadow(0 0 0 rgba(162,211,241,0))}55%{opacity:1}100%{opacity:.92;transform:none;filter:invert(1) drop-shadow(0 0 22px rgba(162,211,241,.32))}}
@keyframes opening-type{0%{opacity:0;letter-spacing:.36em;transform:translateY(8px)}100%{opacity:1;letter-spacing:.2em;transform:none}}
@media(max-width:600px){
  .site-opening-inner img{width:82px}
  .site-opening-inner p{font-size:25px;letter-spacing:.14em}
  .site-opening-caption{font-size:7px;letter-spacing:.16em}
}
@media(prefers-reduced-motion:reduce){.site-opening{display:none}}
/* In-page motion for interior pages */
.interior-hero-effect{overflow:hidden;isolation:isolate}
.interior-hero-effect>img,.interior-hero-effect .access-hero-map{animation:interior-photo-settle 1.9s cubic-bezier(.22,.61,.36,1) both;will-change:transform,filter,opacity}
.sightseeing-hero.interior-hero-effect>img,
.tour-detail-hero.interior-hero-effect>img{animation:none;transform:none;filter:none;opacity:1;will-change:auto}
.interior-effects .room-page-title:after,.interior-effects .dining-page-title:after,.interior-effects .access-page-heading:after,.interior-effects .sightseeing-hero-copy:after,.interior-effects .tour-detail-heading:after,.interior-effects .contact-hero-copy:after{content:"";display:block;width:0;height:1px;margin-top:22px;background:linear-gradient(90deg,#c5a56a,rgba(255,255,255,.55),transparent);animation:interior-title-line 1.35s cubic-bezier(.22,.61,.36,1) .35s forwards}
.image-light-effect{position:relative;overflow:hidden;isolation:isolate}
.image-light-effect:after{content:"";position:absolute;z-index:3;inset:-35% auto -35% -35%;width:24%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);filter:blur(12px);transform:skewX(-17deg) translateX(-260%);pointer-events:none}
.image-light-effect.visible:after,.reveal.visible .image-light-effect:after,.image-light-effect.reveal.visible:after{animation:image-light-pass 1.15s ease-out .2s forwards}
.stagger-effect{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .9s cubic-bezier(.22,.61,.36,1);transition-delay:calc(var(--stagger-index,0)*70ms)}
.stagger-effect.visible,.reveal.visible .stagger-effect{opacity:1;transform:none}
.interior-effects .eyebrow{background-image:linear-gradient(90deg,currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size 1s ease .2s}
.interior-effects .reveal.visible .eyebrow,.interior-effects .eyebrow.visible{background-size:100% 1px}
@keyframes interior-title-line{to{width:min(260px,65vw)}}
@keyframes image-light-pass{0%{transform:skewX(-17deg) translateX(-260%);opacity:0}20%{opacity:1}100%{transform:skewX(-17deg) translateX(780%);opacity:0}}
@keyframes interior-photo-settle{0%{opacity:.68;filter:brightness(.88) saturate(.72) contrast(.92) blur(2px);transform:scale(1.035)}45%{opacity:1}100%{opacity:1;filter:brightness(1) saturate(1) contrast(1) blur(0);transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.interior-hero-effect>img,.interior-hero-effect .access-hero-map{animation:none!important}.stagger-effect{opacity:1;transform:none;transition:none}.image-light-effect:after{display:none}}
.comic-showcase{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.6fr);max-width:1450px;margin:78px auto 0;background:linear-gradient(135deg,#062d4e 0%,#0b456a 100%);color:#fff;box-shadow:0 26px 70px rgba(4,38,62,.18);overflow:hidden}.comic-showcase-copy{display:flex;flex-direction:column;justify-content:center;padding:58px clamp(30px,4vw,62px)}.comic-showcase-copy .eyebrow{color:#d2b677;margin-bottom:18px}.comic-showcase-copy h3{margin:0;font:400 clamp(28px,3vw,43px)/1.5 var(--serif);letter-spacing:.055em}.comic-showcase-copy h3 em{color:#d8bd7f;font-style:normal}.comic-showcase-copy>p:not(.eyebrow){margin:24px 0;color:#d6e1e7;font-size:12px;line-height:2.05}.comic-showcase-copy>span{padding-top:18px;border-top:1px solid rgba(255,255,255,.22);font:10px var(--en);letter-spacing:.18em;color:#d8bd7f}.comic-showcase-gallery{display:grid;grid-template-columns:1.18fr .82fr;gap:5px;min-height:430px;background:#fff}.comic-showcase-gallery figure{margin:0;overflow:hidden}.comic-showcase-gallery img{width:100%;height:100%;object-fit:cover;filter:none;transition:transform .8s ease}.comic-showcase-gallery figure:hover img{transform:scale(1.025)}.comic-photo-detail img{object-position:center}
@media(max-width:900px){.comic-showcase{grid-template-columns:1fr;margin-top:58px}.comic-showcase-copy{padding:45px 34px}.comic-showcase-gallery{min-height:360px}}
@media(max-width:520px){.comic-showcase-gallery{grid-template-columns:1fr;min-height:0}.comic-showcase-gallery figure{height:255px}.comic-showcase-gallery .comic-photo-detail{height:225px}}
