/* Shared editorial rhythm, with a distinct accent for each stay. */
body{font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;text-rendering:optimizeLegibility;overflow-wrap:anywhere}
h1,h2,h3{overflow-wrap:normal;line-break:strict;text-wrap:pretty}p{line-break:strict}.eyebrow{font-size:14px;font-weight:600;letter-spacing:.14em}.section{padding-top:88px;padding-bottom:88px}
header{height:90px;border-bottom:1px solid #18282312}.brand span{font-size:12px}.button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;line-height:1.6;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}
.stay-second{--tone:#644833;--wash:#f5f1ec}.stay-hotel-airstar{--tone:#204859;--wash:#eef3f5}.stay-west{--tone:#345d58;--wash:#edf4f2}.stay-hoshiyoi{--tone:#584b42;--wash:#f5f2ed}.stay-beppu-hontei{--tone:#193e68;--wash:#edf3f9}
body[class*='stay-'] main{--accent:var(--tone)!important}
body:not(.playhouse) .detail-hero{margin:20px 24px 0;min-height:620px;border-radius:3px}
body:not(.playhouse) .detail-hero>div{padding:80px 6vw;max-width:1100px}
body:not(.playhouse) .detail-hero h1{font-size:clamp(32px,4vw,60px);letter-spacing:.055em;line-height:1.65}
.detail-hero .property-name{font-size:18px;letter-spacing:.055em;max-width:700px}.detail-hero .eyebrow{max-width:680px}.detail-hero .button{margin-right:10px}
.stay-nav{max-width:1250px;margin:auto;padding:25px 24px;gap:8px 32px}.stay-nav a{min-height:44px;display:inline-flex;align-items:center;font-weight:600}.stay-nav a:last-child{display:inline-flex}.intro{padding-bottom:70px}.intro h2{font-size:clamp(26px,3.1vw,42px);letter-spacing:.03em}.intro>p:last-child{max-width:760px;font-size:18px;line-height:2.15}
.stories{padding-top:0;gap:34px}.stories article p{line-height:1.95}.stories h2{font-size:23px}.stories .number{color:var(--tone);font-weight:600;letter-spacing:.08em}
.room-editorial{display:grid;grid-template-columns:1.05fr 1fr;gap:55px;align-items:center}.room-editorial>img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.room-editorial h2{font-size:clamp(26px,2.6vw,37px);margin-bottom:24px}.room-editorial .lead{font-size:17px;line-height:2.05}.stay-details h2,.photo-section h2{font-size:clamp(27px,2.8vw,40px);letter-spacing:.025em}
.photo-section{background:var(--wash,#f5f7f6)}.photo-grid{gap:26px}.photo-tile img{transition:filter .2s}.photo-tile:hover img{filter:brightness(.91)}.photo-tile span{font-size:14px;line-height:1.6;padding:14px 0}.photo-grid .photo-tile:first-child{grid-column:span 2;grid-row:span 2}.photo-grid .photo-tile:first-child img{aspect-ratio:1.42}.photo-grid .photo-tile:not(:first-child) img{aspect-ratio:1.5}
.amenity-grid{gap:0 48px}.amenity-grid article{padding:28px 0;border-top:1px solid #c7cfca}.amenity-grid h3{color:var(--tone);font-size:19px}.amenity-grid li{font-size:16px;line-height:1.8}.rules-list article{grid-template-columns:200px minmax(0,1fr);gap:35px}.rules-list h3{font-size:18px}.rules-list p{max-width:740px}.access-grid h3{font-size:19px;margin-top:30px}.access-grid iframe{border-radius:4px}.stay-details details{padding:0}.stay-details summary{padding:23px 0;min-height:60px}.stay-details details p{margin-top:0;padding:0 24px 24px 0}.stay-details summary:focus-visible{outline:3px solid var(--tone);outline-offset:4px}
.booking{background:var(--wash,#f3f6f4);max-width:none}.booking h2{font-size:clamp(27px,3vw,40px)}.related a{min-height:70px}.lightbox-controls button{min-width:52px}.lightbox button:focus-visible{outline:3px solid #fbd74f;outline-offset:3px}
.playhouse .photo-grid .photo-tile:first-child{grid-column:auto;grid-row:auto}.playhouse .photo-grid .photo-tile img{aspect-ratio:4/3}.playhouse .room-editorial>img{border-radius:20px;box-shadow:8px 8px 0 #fbd74f}.playhouse .stories .number{display:none}.playhouse .stories h2{margin-top:0}.playhouse .stay-details h2{letter-spacing:0}.playhouse .stay-nav{max-width:none}.playhouse .booking{background:#ffe9a4}
@media(min-width:1000px){.photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.collection .card img{height:390px}}
@media(max-width:850px){.room-editorial{grid-template-columns:1fr;gap:30px}.room-editorial>img{max-height:430px}.rules-list article{grid-template-columns:1fr;gap:8px}.access-grid{grid-template-columns:1fr}}
@media(max-width:700px){header{height:80px}.section{padding:58px 6vw}.stories{padding-top:0}.stay-nav{gap:0 21px;padding:18px 6vw;justify-content:flex-start}.stay-nav a{font-size:14px}.detail-hero .button{font-size:14px;margin-top:12px;margin-right:6px;padding:13px 17px}body:not(.playhouse) .detail-hero{margin:10px 12px 0;min-height:560px}body:not(.playhouse) .detail-hero>div{padding:55px 6vw}body:not(.playhouse) .detail-hero h1{font-size:clamp(29px,7.1vw,42px);line-height:1.7;letter-spacing:.025em}.detail-hero .property-name{font-size:16px}.detail-hero .eyebrow{font-size:13px;letter-spacing:.05em}.intro>p:last-child{font-size:17px}.photo-grid{gap:20px 14px}.photo-grid .photo-tile:first-child{grid-column:1/-1;grid-row:auto}.photo-grid .photo-tile:first-child img{aspect-ratio:4/3}.photo-grid .photo-tile span{font-size:14px}.playhouse .photo-grid .photo-tile:first-child{grid-column:1/-1}.playhouse .photo-tile{padding:7px}.playhouse .photo-tile span{padding:10px 4px;font-size:14px}.playhouse .detail-hero h1{font-size:clamp(37px,10vw,60px)}.amenity-grid{gap:0}.stay-details h2{margin-bottom:25px}.room-editorial h2{font-size:28px}.lightbox>img{height:58dvh}.lightbox-controls p{font-size:14px}.related a{padding:18px 0}.brand span{letter-spacing:.12em}}
@media(prefers-reduced-motion:reduce){.button:hover{transform:none}}
.cancel-terms{display:flex;flex-wrap:wrap;gap:16px;margin:22px 0 0}.cancel-terms>div{flex:1;min-width:160px;border-left:3px solid var(--tone);padding:8px 18px;background:var(--wash)}.cancel-terms dt{font-size:14px}.cancel-terms dd{margin:3px 0 0;font-size:18px;font-weight:700}
