/* Separate pages with consistent Hotel Caliber navigation. */
.page-intro{padding:70px 9% 50px;border-bottom:1px solid #eadbca;margin:0 5% 20px;padding-left:4%;padding-right:4%}.page-intro h1{font:750 clamp(48px,5.2vw,76px)/1.01 Arial;letter-spacing:-4px;margin:22px 0;color:#591b1e}.page-intro>p{font-size:14px;color:#866453;max-width:540px}.chosen-city header nav a[aria-current=page]{color:#a76933;border-bottom:1px solid #a76933}.chosen-city .home-rooms{padding-top:20px}.home-local{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;margin:0 9% 80px;align-items:center}.home-local>img{width:100%;height:400px;object-fit:cover;border-radius:22px}.home-local>div>p{font-size:14px;color:#795c51}.teaser-links{display:flex;flex-direction:column;align-items:start;gap:17px;margin-top:25px;font-size:12px}.teaser-links a{border-bottom:1px solid #d1b594;padding-bottom:7px}.page-dining .dining-section,.page-wellness .wellness-section,.page-gallery .gallery,.page-rooms #rooms,.page-contact #location,.page-stay-information #faq{margin-top:35px}.page-dining .dining-section .section-head,.page-gallery .gallery .section-head{display:none}.page-dining .dining-section{margin-bottom:65px}.page-wellness .wellness-section{padding-top:30px;padding-bottom:70px}.page-explore .city-panorama{margin-top:35px}.page-gallery .gallery{padding-top:30px}.page-stay-information .faq{padding-top:30px}.page-stay-information .faq h2{font-size:38px}.page-contact .guest-help{padding-top:70px}.contact-help{text-align:center;background:#f3e8db;border-radius:22px;padding:55px 30px;margin:0 9% 70px}.contact-help h2{font-size:38px}.contact-help>p{max-width:560px;margin:20px auto 25px;font-size:13px}.page-book .booking{margin-top:40px}.booking-help{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:65px 9% 90px}.booking-help h2{font-size:40px}.booking-help h3{font-size:24px;margin:22px 0}.booking-help p{font-size:13px;color:#795c51}.booking-help .button{margin-top:12px}.breadcrumb{display:flex;gap:14px;font-size:11px;padding:35px 0}.breadcrumb a{color:#a76933}.room-detail{padding:0 9% 40px}.room-detail-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:7%;align-items:center}.room-detail-image{display:block;padding:0;border:0;position:relative;width:100%;background:#eadbca;border-radius:22px;overflow:hidden;cursor:pointer}.room-detail-image img{display:block;width:100%;height:470px;object-fit:cover}.room-detail-image>span{position:absolute;bottom:20px;right:20px;background:#fff7e9ef;padding:10px 16px;border-radius:20px;font-size:11px;color:#591b1e}.room-detail-hero h1{font:750 54px/1 Arial;letter-spacing:-2.5px;margin:22px 0}.room-detail-hero p{font-size:14px;color:#795c51;margin:25px 0}.room-detail-hero .note{font-size:10px}.room-detail-hero .room-features{font-size:12px}.chosen-city .room-photo>img{transition:transform .35s}.chosen-city .home-rooms .room-actions a{border-bottom:1px solid #b28b69}.chosen-city .home-rooms .room-photo{color:#591b1e}.page-rooms .room-photo{color:#591b1e}footer .footer-links>a[aria-current=page]{color:#a76933}@media(max-width:1000px){.page-intro h1{font-size:60px}.room-detail-hero{gap:5%}.room-detail-hero h1{font-size:42px}.room-detail-image img{height:410px}.home-local{gap:6%}.home-local>img{height:360px}.booking-help{gap:40px}}@media(max-width:750px){.page-intro{padding:40px 3% 30px;margin:0 4% 15px}.page-intro h1{font-size:47px;letter-spacing:-2.5px;margin:18px 0}.page-intro>p{font-size:13px}.home-local{grid-template-columns:1fr;margin:0 7% 55px;gap:30px}.home-local>img{height:290px}.home-local h2{margin-top:15px}.home-local p{font-size:13px}.home-local .teaser-links{gap:17px}.chosen-city .home-rooms{padding-top:5px}.room-detail{padding:0 7% 25px}.breadcrumb{font-size:10px;gap:10px;padding:25px 0}.room-detail-hero{grid-template-columns:1fr;gap:30px}.room-detail-image img{height:300px}.room-detail-hero h1{font-size:42px}.room-detail-hero p{font-size:13px;margin:20px 0}.room-detail-hero .note{margin-bottom:0}.contact-help{padding:40px 22px;margin:0 7% 55px}.contact-help h2{font-size:31px}.booking-help{grid-template-columns:1fr;padding:45px 7% 65px;gap:40px}.booking-help h2{font-size:34px}.page-book .booking{margin-top:25px}.page-contact .guest-help{padding-top:50px}.page-stay-information .faq{padding-top:10px}.page-dining .dining-section{margin-top:25px;margin-bottom:50px}.page-wellness .wellness-section{padding-top:20px}.page-contact #location{margin-top:25px}.page-gallery .gallery{padding-top:10px}}
.chosen-city .button{background:#791e25;color:#fffaf1;border-radius:100px}.chosen-city .hero .button,.chosen-city .final-cta .button,.chosen-city .city-panorama .button{background:#e9bd70;color:#591b1e}.room-detail-image:focus-visible,.gallery-tile:focus-visible{outline:3px solid #a76933;outline-offset:5px}

.booking-dialog{border:0;border-radius:24px;padding:35px;width:min(630px,94vw);max-height:92vh;overflow:auto;background:#fffcf7;color:#591b1e}.booking-dialog::backdrop{background:#241014bf;backdrop-filter:blur(5px)}.booking-dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:20px}.booking-dialog-heading h2{font:750 38px/1.05 Arial;letter-spacing:-1.5px;margin:15px 0 10px}.booking-dialog-heading .eyebrow{font-size:9px;letter-spacing:1.5px}.booking-dialog-close{border:1px solid #d7bda5;border-radius:25px;padding:10px 15px;background:transparent;color:#591b1e;font-size:11px;cursor:pointer}.booking-dialog-intro{font-size:13px;color:#795c51;margin:20px 0 25px}.booking-dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booking-dialog-fields label{font-size:11px;color:#795c51}.booking-dialog-fields input,.booking-dialog-fields select{display:block;width:100%;margin-top:9px;border:1px solid #decab5;border-radius:9px;padding:13px 10px;background:white;color:#591b1e;min-height:47px}.chosen-city .direct-booking-submit{display:block;width:100%;margin-top:25px;font-size:12px;line-height:1.6;letter-spacing:0}.booking-dialog-note{font-size:10px;text-align:center;color:#94715c;margin-bottom:0}@media(max-width:550px){.booking-dialog{padding:24px}.booking-dialog-heading h2{font-size:30px}.booking-dialog-heading{gap:10px}.booking-dialog-close{padding:9px 11px}.booking-dialog-fields{gap:18px 12px}.booking-dialog-fields input{font-size:12px;min-width:0}.booking-dialog .eyebrow{font-size:8px}.booking-dialog-intro{font-size:12px}}

/* Dining, wellness and convenient neighbourhood stops together. */
.nearby-jumps{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.nearby-jumps a{font-size:12px;padding:11px 18px;border:1px solid #d9c3aa;border-radius:100px;color:#591b1e;background:#fffaf2}.nearby-jumps a:hover{background:#791e25;color:#fffaf1}.page-dining #dining,.page-dining #wellness,.page-dining #convenience{scroll-margin-top:110px}.page-dining .dining-section .section-head{display:flex}.page-dining .wellness-section{margin:0 9% 75px;padding:40px;background:#f2e6d8;border-radius:24px;gap:7%;align-items:center}.page-dining .wellness-photo{border-radius:17px}.nearby-shops{margin:0 9% 85px}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.shop-card{padding:32px;border:1px solid #e2cdb5;border-radius:22px;background:#fffaf2}.shop-mark{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e2cdb5;padding-bottom:22px;margin-bottom:25px;font-size:40px;line-height:1;color:#aa793f;font-weight:700;letter-spacing:-2px}.shop-mark span{font-size:9px;letter-spacing:2px;font-weight:500}.shop-card h3{font-size:32px;letter-spacing:-1px;margin:14px 0 8px;color:#591b1e}.shop-card p{font-size:13px;color:#795c51;max-width:390px}.shop-card .shop-location{font-size:11px;color:#a76933;margin-bottom:20px}.shop-card .text-link{display:inline-block;margin-top:16px}.nearby-shops>.note{margin-top:22px}@media(max-width:750px){.page-intro h1{overflow-wrap:normal}.page-dining .wellness-section{margin:0 7% 50px;padding:24px;gap:25px}.nearby-shops{margin:0 7% 55px}.shop-grid{grid-template-columns:1fr}.shop-card{padding:26px}.nearby-jumps{gap:8px}.nearby-jumps a{font-size:11px;padding:10px 13px}.nearby-shops .section-head{display:block}.nearby-shops h2{font-size:34px}}

/* Matching photographic cards for nearby convenience stores. */
.shop-photo{display:block;position:relative;overflow:hidden;border-radius:15px;margin:-12px -12px 26px;background:#eadbca}.shop-photo img{display:block;width:100%;height:270px;object-fit:cover;object-position:center 45%;transition:transform .3s}.shop-photo:hover img{transform:scale(1.035)}.shop-photo span{position:absolute;right:15px;bottom:15px;background:#fffaf1ed;color:#591b1e;padding:9px 13px;border-radius:100px;font-size:10px}.shop-photo:focus-visible{outline:3px solid #a76933;outline-offset:4px}@media(max-width:750px){.shop-photo{margin:-8px -8px 24px}.shop-photo img{height:230px}}

/* Compact, naturally wrapping layouts, shared across all pages. */
.chosen-city h1,.chosen-city h2,.chosen-city h3{overflow-wrap:break-word;text-wrap:pretty}.chosen-city .page-intro{padding:38px 4% 30px;margin-bottom:20px}.chosen-city .page-intro h1{font-size:clamp(34px,3.6vw,50px);line-height:1.12;letter-spacing:-1.8px;margin:16px 0}.chosen-city .page-intro>p{max-width:900px;margin:12px 0}.chosen-city h2{font-size:clamp(28px,2.8vw,38px);line-height:1.18;letter-spacing:-1.4px;margin:14px 0 20px}.chosen-city .hero{min-height:460px;grid-template-columns:1.1fr 1fr}.chosen-city .hero>img{height:490px}.chosen-city .hero-copy{padding:38px 8%;max-width:none}.chosen-city .hero h1{font-size:clamp(42px,4.2vw,56px);letter-spacing:-2.5px;line-height:1.06;margin:18px 0}.chosen-city .hero p{max-width:500px}.hero-caption{margin-top:24px}.chosen-city .intro{padding:55px 9%}.chosen-city .photo-intro{grid-template-columns:.8fr 1.2fr;gap:6%}.chosen-city .intro-lede{font-size:15px;line-height:1.7}.chosen-city .intro-photos{display:block;margin-bottom:20px}.chosen-city .intro-photos img:first-child{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;filter:none}.chosen-city .location{grid-template-columns:1.15fr 1fr}.chosen-city .location .photo-address{min-height:0;display:block;padding:0!important;background:transparent}.chosen-city .photo-address>img{position:static;display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;filter:none}.chosen-city .photo-address:after{display:none}.chosen-city .location>div:not(.photo-address){padding:32px 9%}.chosen-city .content-section{padding-top:45px;padding-bottom:50px}.chosen-city .section{padding-bottom:55px}.chosen-city .section-head{gap:24px;align-items:center;margin-bottom:24px}.chosen-city .section-head>p{max-width:420px}.chosen-city .room,.dining-card,.place,.shop-card{min-width:0}.chosen-city .room,.chosen-city .dining-card{display:flex;flex-direction:column}.chosen-city .room p,.dining-card p{min-height:0}.chosen-city .room-actions{margin-top:auto;padding-top:10px}.chosen-city .dining-card>.text-link{align-self:flex-start;margin-top:auto}.chosen-city .dining-section{padding-top:40px;padding-bottom:40px;margin-bottom:45px}.chosen-city .wellness-section{margin-bottom:45px;padding:28px;gap:5%}.chosen-city .wellness-photo{height:330px}.chosen-city .wellness-section h3{margin:14px 0}.chosen-city .nearby-shops{margin-bottom:50px}.chosen-city .home-local{margin-bottom:50px;gap:6%}.chosen-city .home-local>img{height:330px}.chosen-city .teaser-links{flex-direction:row;flex-wrap:wrap;gap:15px 22px}.chosen-city .final-cta{padding:40px 25px;margin-bottom:24px}.chosen-city .final-cta h2{font-size:clamp(28px,3vw,40px)}.chosen-city footer{padding-top:40px;gap:30px}.chosen-city .city-panorama{height:340px;margin-bottom:30px}.chosen-city .city-panorama>div{top:18%;max-width:80%}.chosen-city .city-panorama h2{font-size:clamp(30px,3.5vw,46px);line-height:1.12;letter-spacing:-1.8px}.chosen-city .places{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.chosen-city .place h3{font-size:21px;line-height:1.25;margin-top:16px;margin-bottom:12px}.chosen-city .destination-image{height:190px;margin-bottom:16px}.chosen-city .place p{font-size:13px}.chosen-city .faq{padding-top:35px;padding-bottom:45px;gap:40px}.chosen-city .booking-help{padding-top:40px;padding-bottom:50px}.chosen-city .room-detail-hero h1{font-size:42px;letter-spacing:-1.5px}.chosen-city .guest-help{padding-top:40px}.chosen-city .arrival-grid{margin-top:25px}.chosen-city .arrival-grid article{padding:24px}.chosen-city .arrival-grid h3{margin:14px 0}.chosen-city .contact-help{margin-bottom:45px;padding:35px 24px}.chosen-city .shop-card{display:flex;flex-direction:column}.chosen-city .shop-card>.text-link{align-self:flex-start;margin-top:auto;padding-top:15px}
@media(max-width:1000px){.chosen-city .places{grid-template-columns:repeat(2,minmax(0,1fr))}.chosen-city .section-head{align-items:flex-start}.chosen-city .location>div:not(.photo-address){padding:25px 7%}}
@media(max-width:750px){.chosen-city .page-intro{padding:28px 3% 22px}.chosen-city .page-intro h1{font-size:34px;letter-spacing:-1.4px}.chosen-city h2{font-size:29px;letter-spacing:-1px}.chosen-city .hero{grid-template-columns:1fr}.chosen-city .hero-copy{padding:28px 7%}.chosen-city .hero h1{font-size:42px;letter-spacing:-1.8px}.chosen-city .hero>img{height:265px}.chosen-city .intro{padding:35px 7%}.chosen-city .photo-intro{grid-template-columns:1fr;gap:15px}.chosen-city .intro-photos{margin-top:0}.chosen-city .intro-photos img:first-child{height:auto}.chosen-city .location{grid-template-columns:1fr}.chosen-city .location .photo-address{order:0}.chosen-city .photo-address>img{height:auto}.chosen-city .location>div:not(.photo-address){padding:25px 7%}.chosen-city .content-section{padding:32px 7%}.chosen-city .section{padding-bottom:35px}.chosen-city .section-head{display:block;margin-bottom:20px}.chosen-city .section .rooms{gap:32px}.chosen-city .room h3{font-size:25px}.chosen-city .room-tag{margin-top:18px}.chosen-city .room-photo img,.chosen-city .room:first-child img{height:245px}.chosen-city .dining-section{padding:30px 6%;margin-bottom:32px}.chosen-city .dining-grid{gap:30px}.chosen-city .dining-photo,.chosen-city .dining-photo.portrait{height:250px}.chosen-city .wellness-section{padding:22px;gap:20px;margin-bottom:32px}.chosen-city .wellness-photo{height:270px}.chosen-city .nearby-shops{margin-bottom:35px}.chosen-city .shop-grid{gap:18px}.chosen-city .home-local{margin-bottom:35px;gap:20px}.chosen-city .home-local>img{height:260px}.chosen-city .places{grid-template-columns:1fr;gap:18px}.chosen-city .destination-image{height:210px}.chosen-city .place h3{font-size:23px}.chosen-city .city-panorama{height:300px}.chosen-city .city-panorama h2{font-size:32px;letter-spacing:-1px}.chosen-city .final-cta{padding:30px 20px}.chosen-city .call-link{margin:18px 12px 0}.chosen-city footer{padding:32px 7% 20px;gap:24px}.chosen-city .faq{padding-top:30px;padding-bottom:35px;gap:20px}.chosen-city .booking-help{padding:30px 7% 35px;gap:26px}.chosen-city .room-detail-hero h1{font-size:34px}.chosen-city .contact-help{margin-bottom:30px;padding:28px 20px}.chosen-city .arrival-grid{gap:16px}.chosen-city .arrival-grid article{padding:22px}.chosen-city .shop-photo img{height:210px}}
@media(max-width:380px){.chosen-city header{gap:8px}.chosen-city header .logo{width:58px;height:48px}.menu-toggle{padding:10px 12px;gap:8px}.chosen-city header>.button{padding:11px 12px;font-size:9px}.chosen-city .hotel-topline{font-size:7px;letter-spacing:0}}

.chosen-city .hero h1{text-wrap:balance}

/* Larger, clearer navigation. */
.chosen-city header nav{font-size:15px;gap:24px}.chosen-city header nav a{font-weight:600;line-height:1.4}@media(max-width:1100px){.chosen-city header nav{font-size:13px;gap:18px}}@media(max-width:850px) and (min-width:751px){.chosen-city header nav{font-size:12px;gap:12px}}@media(max-width:750px){.chosen-city header nav a{font-size:16px;padding:15px 5px}.chosen-city .menu-toggle{font-size:13px}}

/* Client supplied starting room prices. */
.chosen-city .room .room-price,.chosen-city .room-detail-hero .room-price{font-size:14px;line-height:1.4;color:#791e25;min-height:0;margin:4px 0 16px;opacity:1}.room-price strong{font-size:24px;font-weight:700;letter-spacing:-.5px}.chosen-city .room-detail-hero .room-price{margin:8px 0 22px}.room-detail-hero .room-price strong{font-size:30px}.table-price{white-space:nowrap;font-weight:600;color:#791e25}

/* Nearby distances and event venues. */
.chosen-city .place-distance{display:table;background:#f0e3d4;color:#791e25;border-radius:20px;padding:6px 12px;font-size:12px;font-weight:600;line-height:1.4;margin:10px 0 14px;min-height:0;opacity:1}.chosen-city .nearby-events .shop-photo img{object-position:center}.chosen-city .nearby-events h3{margin-bottom:8px}.chosen-city .nearby-events .shop-location{margin-top:0}.chosen-city.page-home .home-rooms{padding-top:28px}

.chosen-city .shop-card>.place-distance{align-self:flex-start}.chosen-city .nearby-events .shop-location{min-height:0;margin-bottom:12px}

/* Parking benefit in the site-wide top bar. */
.hotel-topline{align-items:center;gap:8px 16px}.hotel-topline .top-parking{font-weight:700;white-space:nowrap}@media(max-width:600px){.hotel-topline{flex-wrap:wrap}.hotel-topline .top-parking{order:3;flex-basis:100%;text-align:center;font-size:10px;letter-spacing:.3px}}

/* Balanced mobile top bar: location and parking above reservations. */
@media(max-width:600px){.chosen-city .hotel-topline{display:grid;grid-template-columns:1fr auto;align-items:center;gap:9px 14px;padding:10px 5%;font-size:9px;line-height:1.35}.chosen-city .hotel-topline>span:first-child{font-size:9px;letter-spacing:0}.chosen-city .hotel-topline .top-parking{order:0;grid-column:2;grid-row:1;flex-basis:auto;width:auto;font-size:10px;line-height:1.3;padding:4px 9px;border:1px solid #ffffff50;border-radius:20px;letter-spacing:0}.chosen-city .hotel-topline>a{grid-column:1 / -1;justify-self:center;font-size:10px;letter-spacing:.15px}}

/* Full-width mobile parking announcement. */
@media(max-width:600px){.chosen-city .hotel-topline{grid-template-columns:1fr;gap:0;padding:0;text-align:center}.chosen-city .hotel-topline .top-parking{grid-column:1;grid-row:1;justify-self:stretch;width:100%;box-sizing:border-box;border:0;border-radius:0;background:#f1d7ab;color:#591b1e;font-size:12px;font-weight:700;letter-spacing:.4px;line-height:1.4;padding:9px 16px}.chosen-city .hotel-topline>span:first-child{grid-column:1;grid-row:2;padding:10px 16px 0;font-size:10px}.chosen-city .hotel-topline>a{grid-column:1;grid-row:3;padding:5px 16px 10px;font-size:10px;justify-self:center}}

/* Compact mobile location and reservations row. */
@media(max-width:600px){.chosen-city .hotel-topline{grid-template-columns:minmax(0,1fr) auto;column-gap:10px}.chosen-city .hotel-topline .top-parking{grid-column:1 / -1;grid-row:1}.chosen-city .hotel-topline>span:first-child{grid-column:1;grid-row:2;text-align:left;padding:10px 0 10px 16px;font-size:8px;white-space:nowrap}.chosen-city .hotel-topline>a{grid-column:2;grid-row:2;justify-self:end;text-align:right;padding:10px 16px 10px 0;font-size:8px;letter-spacing:0;white-space:nowrap}}
