/* V92 sitewide accessibility, layout and restrained premium polish.
   Scoped predominantly to public pages; preserves navy, ivory and gold. */
:root{--client-ink:#153851;--client-gold:#b58435;--client-edge:#e7ddcd;--client-surface:#fffdf9}
html{scroll-behavior:smooth;scroll-padding-top:90px}
.brs-app{overflow-x:clip}
.brs-app :where(a,button,input,select,textarea):focus-visible{outline:3px solid #c59745!important;outline-offset:2px!important}
.brs-app :where(button,.btn,a){-webkit-tap-highlight-color:transparent}
.brs-app :where(img,video,svg){max-width:100%}
.brs-app :where(input,select,textarea){min-width:0}
.brs-app :where([hidden]){display:none!important}
.brs-app.r-public .nav .nav-inner{min-width:0}
.brs-app.r-public .r-brand{min-width:0}
.brs-app.r-public .r-book-hero{height:clamp(300px,26vw,400px);isolation:isolate}
.brs-app.r-public .r-book-hero>div{padding:clamp(34px,5vw,68px) clamp(24px,5vw,85px);width:min(870px,70%)}
.brs-app.r-public .r-book-hero h1{font-size:clamp(34px,4.3vw,60px);line-height:1.1;letter-spacing:-.02em;text-wrap:balance}
.brs-app.r-public .r-book-hero p{line-height:1.55}
.brs-app.r-public .r-book-layout{max-width:1520px;grid-template-columns:minmax(0,1.6fr) minmax(370px,.9fr);gap:clamp(17px,2.5vw,36px);padding:36px clamp(18px,4vw,60px) 64px}
.brs-app.r-public .r-reservation{min-width:0}
.brs-app.r-public .r-reservation-card{background:var(--client-surface);border:1px solid #e9dcc5;box-shadow:0 20px 45px rgba(45,67,79,.10);padding:clamp(16px,2vw,28px);border-radius:22px}
.brs-app.r-public .r-book-rooms .r-room-card{min-width:0;grid-template-columns:minmax(160px,33%) minmax(0,1fr);overflow:hidden;border:1px solid #e5e7e8;border-radius:18px;box-shadow:0 7px 25px rgba(32,56,73,.045);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.brs-app.r-public .r-book-rooms .r-room-card:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(32,56,73,.09);border-color:#dfc698}
.brs-app.r-public .r-book-rooms .r-room-body{min-width:0;gap:8px;grid-template-columns:minmax(0,1fr) auto;padding:16px 17px}
.brs-app.r-public .r-book-rooms .r-room-body>h3{font-size:clamp(18px,1.6vw,24px);line-height:1.25;overflow-wrap:anywhere}
.brs-app.r-public .r-book-rooms .r-room-bottom{min-width:0;max-width:150px;align-items:flex-end}
.brs-app.r-public .r-book-rooms .r-room-bottom b{font-size:clamp(18px,1.8vw,25px);white-space:normal;text-align:right}
.brs-app.r-public .r-book-rooms .r-room-bottom .btn{min-height:44px;white-space:normal;text-align:center;padding:9px 13px;border-radius:11px}
.brs-app.r-public .r-book-rooms .r-room-photo{min-height:200px;overflow:hidden}
.brs-app.r-public .r-book-rooms .r-room-photo img{object-fit:cover}
.brs-app.r-public .r-reservation-card :where(input,select,textarea){border-radius:10px}
.brs-app.r-public .r-reservation-card :where(button,a){min-height:42px}
.brs-app.r-public .live-room-availability{background:linear-gradient(150deg,#fffdf9,#f4f8fb);border:1px solid #e4ded2;padding:clamp(15px,2vw,22px);box-shadow:0 10px 26px rgba(23,61,85,.055)}
.brs-app.r-public .live-room-updated{background:#e6f3eb;color:#245f4d}
.brs-app.r-public .live-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.brs-app.r-public .live-room-item{border-radius:13px;min-height:92px;border:1px solid #d9e1e5;box-shadow:0 2px 8px rgba(13,55,74,.02)}
.brs-app.r-public .live-room-item:hover:not(:disabled){border-color:#b88c42;transform:translateY(-1px)}
.brs-app.r-public .live-room-item.is-selected{outline:2px solid #2b806b;outline-offset:1px}
.brs-app.r-public .stay-gallery-inner{align-items:stretch;min-width:0}
.brs-app.r-public .stay-gallery-inner>a{min-width:0}
.brs-app.r-public .stay-gallery-inner img{object-fit:cover}
.brs-app.r-public .brs-premium-loader{background:radial-gradient(circle at 50% 37%,#fffdf8 0%,#f9f1e1 65%,#f1e6d1 100%)}
.brs-app .brs-loader-logo{max-height:240px;object-fit:contain}
@media(max-width:1100px){.brs-app.r-public .r-book-layout{grid-template-columns:1fr;max-width:900px}.brs-app.r-public .r-reservation{margin-top:0}.brs-app.r-public .r-book-hero>div{width:min(95%,750px)}}
@media(max-width:620px){
 html{scroll-padding-top:68px}
 .brs-app.r-public .r-book-hero{height:auto;min-height:285px}
 .brs-app.r-public .r-book-hero>div{width:100%;padding:34px 20px}
 .brs-app.r-public .r-book-hero h1{font-size:clamp(30px,9vw,42px)}
 .brs-app.r-public .r-book-hero .r-benefits{gap:12px;flex-wrap:wrap}
 .brs-app.r-public .r-book-layout{padding:24px 14px 46px}
 .brs-app.r-public .r-book-rooms .r-room-card{grid-template-columns:1fr;min-height:0;padding:0}
 .brs-app.r-public .r-book-rooms .r-room-photo{min-height:180px;max-height:240px}
 .brs-app.r-public .r-book-rooms .r-room-body{padding:16px;grid-template-columns:minmax(0,1fr) auto}
 .brs-app.r-public .r-book-rooms .r-room-bottom{grid-column:1/-1;grid-row:auto;display:flex;flex-direction:row;justify-content:space-between;align-items:center;max-width:100%}
 .brs-app.r-public .r-book-rooms .r-room-bottom b{text-align:left}
 .brs-app.r-public .r-book-rooms .r-room-bottom .btn{min-width:120px}
 .brs-app.r-public .live-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .brs-app.r-public .r-reservation-card{padding:17px}
 .brs-app.r-public .stay-gallery-inner{flex-wrap:wrap}
 .brs-app.r-public .stay-gallery-inner>a{flex:0 0 100%;max-width:100%}
 .brs-app.r-public .stay-gallery-inner img{height:170px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.brs-app.r-public .r-book-rooms .r-room-card{transition:none;transform:none!important}}
