:root{--brand:#9d1975;--brand-dark:#6f0f52;--gold:#bd8b2c;--ink:#1f2937;--muted:#64748b;--cream:#fff8ef;--soft:#f7f3ef;--radius:1.25rem}html{scroll-padding-top:90px}body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);line-height:1.6;background:#fff}.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;z-index:2000;background:#000;color:#fff;padding:.75rem 1rem;border-radius:.5rem}.logo-img{object-fit:contain}.brand-text{font-weight:700;color:var(--brand);letter-spacing:.02em}.navbar .nav-link{font-weight:650;color:#334155}.navbar .nav-link.active,.navbar .nav-link:hover{color:var(--brand)}.btn-primary{--bs-btn-bg:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand-dark);--bs-btn-hover-border-color:var(--brand-dark);--bs-btn-focus-shadow-rgb:157,25,117}.btn-outline-primary{--bs-btn-color:var(--brand);--bs-btn-border-color:var(--brand);--bs-btn-hover-bg:var(--brand);--bs-btn-hover-border-color:var(--brand)}.text-brand{color:var(--brand)}.bg-cream{background:var(--cream)}.bg-soft{background:var(--soft)}.hero{min-height:76vh;background:linear-gradient(90deg,rgba(21,25,31,.84),rgba(21,25,31,.42)),url('../img/exterior-hero.webp') center/cover no-repeat;color:#fff;display:flex;align-items:center}.hero-card{background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-radius:var(--radius);color:var(--ink);box-shadow:0 1rem 3rem rgba(0,0,0,.28)}.eyebrow{letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--gold);font-size:.82rem}.section-pad{padding:5rem 0}.card-modern{border:1px solid #e5e7eb;border-radius:var(--radius);box-shadow:0 1rem 2.5rem rgba(15,23,42,.08);overflow:hidden;height:100%}.icon-pill{width:3rem;height:3rem;display:inline-grid;place-items:center;border-radius:999px;background:#fff1fa;color:var(--brand);font-weight:800}.room-img{aspect-ratio:4/3;object-fit:cover;width:100%}.feature-list li{margin-bottom:.55rem}.feature-list li::marker{color:var(--brand)}.callout{border-radius:var(--radius);background:linear-gradient(135deg,var(--brand),#c94fa2);color:#fff}.badge-soft{background:#fff1fa;color:var(--brand);border:1px solid #f7c6e7}.gallery-img{border-radius:var(--radius);object-fit:cover;width:100%;height:100%}.map-card{min-height:320px;background:linear-gradient(135deg,#f8fafc,#fdf2f8);border-radius:var(--radius);display:grid;place-items:center;border:1px dashed #d6b7cc}.footer-link{color:rgba(255,255,255,.78);text-decoration:none}.footer-link:hover,.footer-link:focus{color:#fff;text-decoration:underline}.footer-nav li{margin-bottom:.45rem}.cookie-banner{position:fixed;left:0;right:0;bottom:0;background:#111827;color:#fff;padding:1rem 0;z-index:1055;box-shadow:0 -1rem 2rem rgba(0,0,0,.18)}.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 .25rem rgba(157,25,117,.18)}.required::after{content:' *';color:#b91c1c}.shadow-soft{box-shadow:0 1.25rem 3.5rem rgba(15,23,42,.12)}.rounded-xxl{border-radius:var(--radius)}.ratio-img{aspect-ratio:16/10;object-fit:cover}.breadcrumb a{color:var(--brand)}.accordion-button:not(.collapsed){background:#fff1fa;color:var(--brand)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #0d6efd;outline-offset:2px}@media (max-width:767px){.hero{min-height:auto;padding:4rem 0}.section-pad{padding:3.25rem 0}.display-4{font-size:2.25rem}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}

.ad-slider-section{background:linear-gradient(180deg,#fff,#fff8ef);border-top:1px solid #f0e2d4}.ad-carousel{padding-bottom:2.75rem}.ad-slide{min-height:300px;background:#fff}.ad-visual{background:radial-gradient(circle at top left,#fff4cc,transparent 35%),linear-gradient(135deg,var(--brand),var(--brand-dark));color:#fff}.ad-icon{width:6.25rem;height:6.25rem;display:grid;place-items:center;margin:auto;border-radius:2rem;background:rgba(255,255,255,.16);font-size:3rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22)}.ad-label{font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;color:#ffe8a3}.ad-indicators{bottom:-2.75rem;margin-bottom:0}.ad-indicators [data-bs-target]{width:.75rem;height:.75rem;border-radius:999px;background:var(--brand);opacity:.3}.ad-indicators .active{opacity:1}.ad-control{width:3.25rem}.ad-control .carousel-control-prev-icon,.ad-control .carousel-control-next-icon{background-color:rgba(31,41,55,.7);border-radius:999px;background-size:55%;width:2.4rem;height:2.4rem}@media (max-width:991px){.ad-control{display:none}.ad-slide{min-height:auto}.ad-visual{min-height:220px}}@media (prefers-reduced-motion:reduce){.ad-carousel{transition:none}.carousel-item{transition:none}}


.booking-strip{background:#fff;margin-top:-1px}.booking-panel{background:linear-gradient(135deg,#ffffff,#fff8ef);border-color:#efdcca}.booking-panel .form-text{font-size:.78rem}.booking-panel .alert a{font-weight:700}.booking-panel .btn-primary{min-height:3rem}.booking-panel a{color:var(--brand);font-weight:650;text-decoration:none}.booking-panel a:hover,.booking-panel a:focus{text-decoration:underline}

/* Priority booking and subpage hero refresh */
.navbar .btn-outline-primary{background:#fff}.page-hero{position:relative;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(18,24,38,.84),rgba(18,24,38,.48)),var(--page-hero-image) center/cover no-repeat}.page-hero::after{content:"";position:absolute;inset:auto -10% -40% -10%;height:70%;background:radial-gradient(circle,rgba(189,139,44,.22),transparent 62%);pointer-events:none}.page-hero>.container{position:relative;z-index:1}.page-hero .lead,.page-hero .breadcrumb,.page-hero .breadcrumb a{color:rgba(255,255,255,.86)}.page-hero-rooms{--page-hero-image:url('../img/room-two-queen.webp')}.page-hero-amenities{--page-hero-image:url('../img/whirlpool.webp')}.page-hero-nearby{--page-hero-image:url('../img/exterior.webp')}.page-hero-contact{--page-hero-image:url('../img/exterior-hero.webp')}.page-hero-legal{--page-hero-image:url('../img/guestroom-amenities.webp')}.booking-strip{position:relative;z-index:5;background:linear-gradient(180deg,#fff8ef,#fff);box-shadow:0 .75rem 2rem rgba(15,23,42,.06)}.booking-strip:not(.booking-strip-hero){margin-top:-2.25rem}.booking-panel{background:linear-gradient(135deg,#ffffff,#fff8ef);border-color:#efdcca}.booking-panel-hero{background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.48);border-radius:var(--radius);box-shadow:0 1rem 3rem rgba(0,0,0,.28);color:var(--ink)}.booking-panel-hero .btn-primary,.booking-panel .btn-primary{text-transform:uppercase;letter-spacing:.04em;font-weight:800}.booking-panel-hero .form-control-lg,.booking-panel-hero .form-select-lg{min-height:3.25rem}.booking-panel-hero a,.booking-panel a{color:var(--brand);font-weight:650;text-decoration:none}.booking-panel-hero a:hover,.booking-panel-hero a:focus,.booking-panel a:hover,.booking-panel a:focus{text-decoration:underline}.booking-panel .form-text{font-size:.78rem}.booking-panel .alert a{font-weight:700}.booking-panel .btn-primary{min-height:3rem}.contact-card-actions .btn{min-width:10rem}@media (max-width:991px){.booking-strip:not(.booking-strip-hero){margin-top:0}.page-hero{padding-top:4rem;padding-bottom:4rem}.site-header .navbar-nav .btn{display:inline-flex;margin-top:.5rem}}@media (max-width:767px){.page-hero{padding-top:3.25rem;padding-bottom:3.25rem}.booking-panel-hero{padding:1.25rem!important}}

.legal-copy h2{margin-top:2rem;margin-bottom:.75rem}.legal-copy p,.legal-copy li{line-height:1.75}.legal-copy .alert a{font-weight:700}


/* ADA contrast and cross-browser stability fixes: May 2026 update */
.booking-strip{background:#ffffff;box-shadow:0 .75rem 2rem rgba(15,23,42,.10)}
.booking-panel,
.booking-panel-hero{background:#ffffff!important;color:#111827!important;border:2px solid #4b0b37!important;box-shadow:0 1rem 2.25rem rgba(0,0,0,.24)!important}
.booking-panel .eyebrow,
.booking-panel-hero .eyebrow{color:#5f0b45!important}
.booking-panel h2,
.booking-panel-hero h2,
.booking-panel label,
.booking-panel-hero label{color:#111827!important;font-weight:800}
.booking-panel .text-secondary,
.booking-panel-hero .text-secondary,
.booking-panel .form-text,
.booking-panel-hero .form-text{color:#374151!important}
.booking-panel .form-control,
.booking-panel .form-select,
.booking-panel-hero .form-control,
.booking-panel-hero .form-select{background-color:#ffffff!important;color:#111827!important;border:2px solid #6b7280!important}
.booking-panel .form-control:focus,
.booking-panel .form-select:focus,
.booking-panel-hero .form-control:focus,
.booking-panel-hero .form-select:focus{border-color:#0d6efd!important;box-shadow:0 0 0 .25rem rgba(13,110,253,.35)!important;outline:0}
.booking-panel .btn-primary,
.booking-panel-hero .btn-primary{background:#6f0f52!important;border-color:#6f0f52!important;color:#ffffff!important;box-shadow:0 .5rem 1rem rgba(111,15,82,.28)}
.booking-panel .btn-primary:hover,
.booking-panel .btn-primary:focus,
.booking-panel-hero .btn-primary:hover,
.booking-panel-hero .btn-primary:focus{background:#4b0b37!important;border-color:#4b0b37!important;color:#ffffff!important}
.booking-panel a,
.booking-panel-hero a{color:#4b0b37!important;text-decoration:underline;text-underline-offset:.16em}
.booking-panel .required::after,
.booking-panel-hero .required::after{color:#9f1239!important;font-weight:900}

/* Avoid CSS custom-property background images for browser consistency. Use JPEG backgrounds as the universal fallback. */
.page-hero{position:relative;overflow:hidden;color:#ffffff;background-color:#111827!important;background-repeat:no-repeat!important;background-position:center center!important;background-size:cover!important;min-height:340px;display:flex;align-items:center}
.page-hero-rooms{background-image:linear-gradient(90deg,rgba(17,24,39,.90),rgba(17,24,39,.58)),url('../img/room-two-queen.jpg')!important}
.page-hero-amenities{background-image:linear-gradient(90deg,rgba(17,24,39,.90),rgba(17,24,39,.58)),url('../img/whirlpool.jpg')!important}
.page-hero-nearby{background-image:linear-gradient(90deg,rgba(17,24,39,.90),rgba(17,24,39,.58)),url('../img/exterior.jpg')!important}
.page-hero-contact{background-image:linear-gradient(90deg,rgba(17,24,39,.90),rgba(17,24,39,.58)),url('../img/exterior-hero.jpg')!important}
.page-hero-legal{background-image:linear-gradient(90deg,rgba(17,24,39,.92),rgba(17,24,39,.62)),url('../img/guestroom-amenities.jpg')!important}
.page-hero .eyebrow{color:#ffd166!important;text-shadow:0 1px 2px rgba(0,0,0,.65)}
.page-hero h1,.page-hero .lead,.page-hero .breadcrumb,.page-hero .breadcrumb a{color:#ffffff!important;text-shadow:0 2px 4px rgba(0,0,0,.65)}
.page-hero .breadcrumb .active{color:#ffffff!important}
.page-hero .btn-light{color:#111827!important;background:#ffffff!important;border:2px solid #ffffff!important;font-weight:800}

/* Partner ad slider: robust flex layout and visible controls in current Chrome, Safari, Firefox, and Edge. */
.ad-slider-section{background:#fff8ef;border-top:1px solid #e7d6c6;border-bottom:1px solid #e7d6c6;overflow:hidden}
.ad-carousel{padding-bottom:3.25rem}
.ad-carousel .carousel-inner{background:#ffffff;border:1px solid #d1d5db;border-radius:1.25rem;overflow:hidden}
.ad-slide{display:flex;flex-wrap:wrap;align-items:stretch;min-height:320px;width:100%;background:#ffffff;color:#111827}
.ad-visual{flex:0 0 38%;max-width:38%;min-height:320px;background:#6f0f52!important;color:#ffffff!important;display:flex;align-items:center;justify-content:center;text-align:center;padding:2.5rem}
.ad-content{flex:1 1 62%;max-width:62%;background:#ffffff;color:#111827;display:flex;align-items:center;padding:2.5rem}
.ad-content h3{color:#111827}.ad-content .text-secondary{color:#374151!important}.ad-label{color:#ffe08a!important}.ad-icon{background:rgba(255,255,255,.20);border:1px solid rgba(255,255,255,.35)}
.ad-content .btn-primary{background:#6f0f52!important;border-color:#6f0f52!important;color:#ffffff!important;font-weight:800}.ad-content .btn-primary:hover,.ad-content .btn-primary:focus{background:#4b0b37!important;border-color:#4b0b37!important;color:#ffffff!important}
.ad-indicators{bottom:-2.65rem}.ad-indicators [data-bs-target]{background-color:#4b0b37!important;opacity:.45}.ad-indicators .active{opacity:1}.ad-control{opacity:1}.ad-control .carousel-control-prev-icon,.ad-control .carousel-control-next-icon{background-color:#111827!important;border:2px solid #ffffff;box-shadow:0 .35rem .75rem rgba(0,0,0,.25)}
@media (max-width:991px){.ad-slide{display:block;min-height:0}.ad-visual,.ad-content{max-width:100%;width:100%;flex-basis:100%;min-height:0}.ad-visual{padding:2rem}.ad-content{padding:2rem}.ad-control{display:none!important}}
@media (max-width:767px){.page-hero{min-height:280px}.booking-panel,.booking-panel-hero{box-shadow:0 .75rem 1.5rem rgba(0,0,0,.18)!important}.ad-content,.ad-visual{padding:1.5rem}.ad-carousel{padding-bottom:3rem}}

/* Enhanced affiliate/sponsor ad cards with logo support and brand-style themes */
.ad-section-note{color:#374151!important;max-width:58rem}
.ad-carousel-shell{border:1px solid #d1d5db;background:#ffffff}
.ad-slide{display:flex;flex-wrap:wrap;align-items:stretch;min-height:340px;background:#ffffff;color:#111827}
.ad-brand-panel{position:relative;flex:0 0 40%;max-width:40%;min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2.25rem;color:#ffffff;background:#4b0b37}
.ad-brand-panel::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.22),transparent 34%),radial-gradient(circle at 80% 85%,rgba(255,255,255,.12),transparent 38%);pointer-events:none}
.ad-logo-wrap,.ad-label,.ad-pill{position:relative;z-index:1}
.ad-logo-wrap{width:min(100%,22rem);padding:.65rem;border-radius:1.25rem;background:#ffffff;box-shadow:0 1rem 2.25rem rgba(0,0,0,.22)}
.ad-logo-wrap img{display:block;width:100%;height:auto;border-radius:.85rem}
.ad-pill{position:absolute;top:1rem;left:1rem;display:inline-flex;align-items:center;border-radius:999px;background:#ffffff;color:#111827;border:2px solid rgba(17,24,39,.18);font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .7rem;box-shadow:0 .4rem .9rem rgba(0,0,0,.18)}
.ad-label{font-size:.82rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#ffffff!important;text-shadow:0 1px 2px rgba(0,0,0,.45)}
.ad-content-panel{flex:1 1 60%;max-width:60%;display:flex;align-items:center;padding:2.75rem;background:#ffffff;color:#111827}
.ad-content-inner{max-width:44rem}.ad-partner{font-weight:900;text-transform:uppercase;letter-spacing:.11em;font-size:.82rem;color:#4b0b37}.ad-copy{color:#374151!important;font-size:1.05rem}.ad-disclosure{color:#4b5563!important}.ad-cta{font-weight:900;border:2px solid transparent;border-radius:.75rem;padding:.8rem 1.15rem;text-transform:uppercase;letter-spacing:.035em}.ad-cta:focus-visible{outline:3px solid #0d6efd;outline-offset:3px}
.ad-theme-travel .ad-brand-panel{background:linear-gradient(135deg,#062b5f,#0f4c81)}.ad-theme-travel .ad-partner{color:#062b5f}.ad-theme-travel .ad-cta{background:#062b5f;color:#ffffff;border-color:#062b5f}.ad-theme-travel .ad-cta:hover,.ad-theme-travel .ad-cta:focus{background:#041d40;color:#ffffff;border-color:#041d40}
.ad-theme-attractions .ad-brand-panel{background:linear-gradient(135deg,#0f766e,#115e59)}.ad-theme-attractions .ad-partner{color:#115e59}.ad-theme-attractions .ad-cta{background:#115e59;color:#ffffff;border-color:#115e59}.ad-theme-attractions .ad-cta:hover,.ad-theme-attractions .ad-cta:focus{background:#0b423f;color:#ffffff;border-color:#0b423f}
.ad-theme-car .ad-brand-panel{background:linear-gradient(135deg,#7c2d12,#9a3412)}.ad-theme-car .ad-partner{color:#7c2d12}.ad-theme-car .ad-cta{background:#7c2d12;color:#ffffff;border-color:#7c2d12}.ad-theme-car .ad-cta:hover,.ad-theme-car .ad-cta:focus{background:#5f210d;color:#ffffff;border-color:#5f210d}
.ad-theme-local .ad-brand-panel{background:linear-gradient(135deg,#4b0b37,#6f0f52)}.ad-theme-local .ad-partner{color:#4b0b37}.ad-theme-local .ad-cta{background:#4b0b37;color:#ffffff;border-color:#4b0b37}.ad-theme-local .ad-cta:hover,.ad-theme-local .ad-cta:focus{background:#330625;color:#ffffff;border-color:#330625}
.ad-indicators{bottom:-2.75rem}.ad-indicators [data-bs-target]{width:.85rem;height:.85rem;border-radius:999px;background-color:#111827!important;opacity:.38}.ad-indicators .active{opacity:1}.ad-control{width:3.5rem;opacity:1}.ad-control .carousel-control-prev-icon,.ad-control .carousel-control-next-icon{background-color:#111827!important;border:2px solid #ffffff;border-radius:999px;box-shadow:0 .35rem .75rem rgba(0,0,0,.30);background-size:55%;width:2.55rem;height:2.55rem}
@media (max-width:991px){.ad-slide{display:block;min-height:0}.ad-brand-panel,.ad-content-panel{max-width:100%;width:100%;flex-basis:100%;min-height:0}.ad-brand-panel{padding:2.25rem 1.5rem}.ad-content-panel{padding:2rem}.ad-logo-wrap{width:min(100%,20rem)}.ad-control{display:none!important}}
@media (max-width:575px){.ad-pill{position:static;margin-bottom:1rem}.ad-brand-panel{padding:1.5rem}.ad-content-panel{padding:1.5rem}.ad-logo-wrap{padding:.45rem;border-radius:1rem}.ad-logo-wrap img{border-radius:.7rem}.ad-cta{width:100%;justify-content:center;text-align:center}.ad-carousel{padding-bottom:3rem}}


/* Home-page hero booking widget corner fix */
.booking-strip-hero{background:transparent!important;box-shadow:none!important;border-radius:var(--radius);overflow:hidden}
.booking-strip-hero .booking-panel-hero{border-radius:var(--radius)!important;overflow:hidden}
.booking-strip-hero .booking-panel-hero form{border-radius:calc(var(--radius) - 2px)}
