*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17352d;line-height:1.6;background:#fff}a{color:inherit;text-decoration:none}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:sticky;top:0;background:rgba(255,255,255,.97);z-index:20;box-shadow:0 2px 15px rgba(0,0,0,.06)}.logo{font-family:Georgia,serif;font-size:24px;font-weight:700;line-height:1}.logo span{font-weight:400}.logo small{display:block;font:9px system-ui;letter-spacing:2px;margin-top:6px;color:#6b806f}nav{display:flex;gap:25px;align-items:center;font-size:14px}nav a:hover{color:#9a6b32}.nav-cta,.btn{padding:12px 20px;border-radius:4px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;font-size:12px}.nav-cta,.primary{background:#17352d;color:#fff}.menu-toggle{display:none;border:0;background:none;font-size:25px}.hero{min-height:680px;display:flex;align-items:center;position:relative;background:linear-gradient(135deg,#486d61,#88a99a);color:#fff}.hero:before{content:"PLACEHOLDER — RIVERFRONT HERO PHOTO";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;letter-spacing:2px;opacity:.3}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,35,29,.75),rgba(10,35,29,.15))}.hero-content{position:relative;max-width:900px;padding:90px 7%;z-index:1}.eyebrow{font-size:11px;letter-spacing:2.2px;font-weight:800;color:#a4753a;margin:0 0 12px}.hero .eyebrow{color:#e9d3a8}.hero h1{font:clamp(42px,6vw,76px)/1.05 Georgia,serif;max-width:850px;margin:0 0 25px}.hero p{font-size:19px;max-width:680px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.btn{display:inline-block;border:1px solid transparent}.light{background:#fff;color:#17352d}.outline-light{border-color:#fff;color:#fff}.hero-facts{margin-top:28px;font-size:12px;letter-spacing:1px;text-transform:uppercase}.section{padding:90px 7%;max-width:1400px;margin:auto}.alt{background:#f3f0e8;max-width:none}.section-heading{text-align:center;max-width:800px;margin:0 auto 48px}.section h2{font:clamp(34px,4vw,52px)/1.1 Georgia,serif;margin:0 0 16px}.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.reverse{grid-template-columns:1fr 1fr}.photo,.placeholder-photo{min-height:430px;background:linear-gradient(145deg,#6c9181,#d6c39e);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;font-weight:800;letter-spacing:2px}.placeholder-photo span{font-size:12px;letter-spacing:1px}.cards{display:grid;gap:20px}.six{grid-template-columns:repeat(3,1fr);max-width:1200px;margin:auto}.cards article{background:#fff;padding:28px;border-radius:5px;box-shadow:0 8px 30px rgba(23,53,45,.07)}.icon{font-size:30px}.cards h3{font:24px Georgia,serif;margin:10px 0}.rooms{grid-template-columns:repeat(3,1fr);max-width:1200px;margin:auto}.room{padding:0!important;overflow:hidden}.room-photo,.experience-photo{min-height:220px;background:linear-gradient(145deg,#789b8b,#cdb78f);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;letter-spacing:1.5px}.room-body{padding:24px}.room-body strong{display:block;margin:18px 0;color:#9a6b32}.room-body a,.experience-grid a,.text-link{color:#9a6b32;font-weight:800}.features{font-size:13px;color:#64736d}.notice{font-size:12px;color:#6c7771;display:block;text-align:center;margin-top:25px}.dark{background:#17352d;color:#fff;max-width:none}.dark .eyebrow{color:#d9b67a}.experience-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px;max-width:1200px;margin:auto}.experience-grid article{background:#24483e;overflow:hidden}.experience-grid article>div:last-child{padding:28px}.experience-grid h3{font:30px Georgia,serif;margin:0 0 10px}.food-list{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.food-list span{background:#f3f0e8;padding:7px 12px;font-size:12px}.dark-btn{background:#17352d;color:#fff}.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:210px;gap:12px;max-width:1200px;margin:auto}.gallery div{background:linear-gradient(145deg,#75998a,#cdb68c);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12px;letter-spacing:1px}.gallery div:first-child{grid-row:span 2}.gallery div:nth-child(4){grid-column:span 2}.map-placeholder{min-height:430px;background:#e9e5d9;display:flex;align-items:center;justify-content:center;text-align:center;font-weight:800;letter-spacing:2px}.map-placeholder small{display:block;letter-spacing:0;font-weight:400}.narrow{max-width:850px;margin:auto}.quote{font:italic 30px Georgia,serif;color:#dfc18f;margin-top:35px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1100px;margin:auto}.review-grid blockquote{margin:0;background:#f3f0e8;padding:30px;font:italic 19px Georgia,serif}.review-grid cite{display:block;font:12px system-ui;margin-top:20px;color:#6d7a73}.center{text-align:center}.booking{background:#faf9f5;max-width:none}.booking form{max-width:900px;margin:auto;background:#fff;padding:40px;box-shadow:0 10px 35px rgba(0,0,0,.06)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{font-size:13px;font-weight:700;display:block}input,select,textarea{width:100%;margin-top:7px;padding:13px;border:1px solid #d5d9d4;border-radius:3px;font:inherit;background:#fff}fieldset{border:1px solid #d5d9d4;margin:25px 0;padding:20px;display:flex;gap:18px;flex-wrap:wrap}.check{font-weight:500}.check input{width:auto}.form-message{font-weight:700;color:#9a6b32}.contact-cta{background:#9a6b32;color:#fff;padding:70px 7%;display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-cta .eyebrow{color:#f1dfbe}.contact-cta h2{font:46px Georgia,serif;margin:0}.contact-cta p{max-width:650px}footer{background:#102a24;color:#d9e1dc;padding:55px 7%;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;position:relative}footer .logo{color:#fff}footer a:hover{color:#e4c690}.copyright{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.12);padding-top:20px;font-size:12px;color:#91a39a}@media(max-width:900px){nav{display:none;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;align-items:stretch;box-shadow:0 10px 20px rgba(0,0,0,.1)}nav.open{display:flex}.menu-toggle{display:block}.section-grid,.reverse{grid-template-columns:1fr}.six,.rooms{grid-template-columns:1fr 1fr}.experience-grid,.review-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery div:first-child{grid-row:auto}.gallery div:nth-child(4){grid-column:auto}.contact-cta{flex-direction:column;align-items:flex-start}}@media(max-width:600px){.site-header{padding:0 5%;height:70px}.logo{font-size:20px}.hero{min-height:650px}.hero-content{padding:80px 6%}.hero h1{font-size:43px}.hero p{font-size:17px}.section{padding:65px 6%}.six,.rooms,.form-grid{grid-template-columns:1fr}.photo,.placeholder-photo,.map-placeholder{min-height:300px}.gallery{grid-template-columns:1fr;grid-auto-rows:190px}.contact-cta{padding:55px 6%}.contact-cta h2{font-size:38px}footer{grid-template-columns:1fr;padding:45px 6%}.copyright{grid-column:auto}.booking form{padding:25px}.hero-facts{line-height:2}.buttons .btn{width:100%;text-align:center}}
/* Photo repository */
.photo img,.room-photo img,.experience-photo img,.gallery img{width:100%;height:100%;object-fit:cover;display:block}.photo,.room-photo,.experience-photo,.gallery>div{overflow:hidden}.hero{background-size:cover;background-position:center}.hero:before{display:none}

/* Mobile performance and usability improvements */
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{overflow-x:hidden}
img{max-width:100%;height:auto}
section{scroll-margin-top:74px}
@media(max-width:900px){
  body.menu-open{overflow:hidden}
  .site-header{position:sticky!important;top:0!important;z-index:10000!important}
  .site-header #nav{z-index:9999!important;overscroll-behavior:contain}
  .site-header #nav.open{display:flex!important}
  .menu-toggle{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  .hero{min-height:auto!important;padding-top:72px!important;padding-bottom:56px!important}
  .hero h1{font-size:clamp(2rem,9vw,3.2rem)!important;line-height:1.05!important}
  .hero p{font-size:1rem!important;line-height:1.6!important}
  .container,.section-inner{width:min(100% - 32px,1100px)!important;margin-inline:auto!important}
  section{padding-top:56px!important;padding-bottom:56px!important}
  .btn,.button,button,input,select,textarea{max-width:100%}
  input,select,textarea{font-size:16px!important}
}
@media(max-width:600px){
  .site-header{padding-inline:12px!important}
  .site-header .logo{font-size:18px!important}
  .site-header #nav{padding:8px 12px 18px!important}
  .site-header #nav a{min-height:48px!important;font-size:15px!important}
  section{padding-top:44px!important;padding-bottom:44px!important}
  h2{font-size:clamp(1.65rem,7vw,2.25rem)!important;line-height:1.15!important}
  p,li{line-height:1.65}
  .gallery-grid,.gallery-fixed-grid{gap:10px!important}
  .reservation-grid,.updated-room-grid,.dining-grid,.dining-repaired-grid{gap:16px!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none!important;transform:none!important}}

/* Keep anchor headings below the sticky navigation. */
[id]{scroll-margin-top:94px}
.hero::before{content:none}
.room-stepper button:disabled{opacity:.4;cursor:default}
@media(max-width:900px){[id]{scroll-margin-top:80px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Stable rendering for hash navigation and consistent mobile headers. */
section{content-visibility:visible!important;contain-intrinsic-size:none!important}
@media(max-width:600px){.site-header #nav{top:70px}}
.review-grid blockquote{overflow-wrap:anywhere}
.review-grid cite a{text-decoration:underline}

.room-selection-v2{display:block!important;min-width:0}
.room-picker-list{width:100%}
.room-stepper input{margin:0!important;padding:0!important;min-height:40px}

.review-rating{color:#806019;font:normal 18px system-ui;letter-spacing:2px;margin:0 0 12px}
