.lounge-wrap { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
#site-content:has(.lounge-hero) { color:#244b5c; background:#faf6ee; font:18px/1.8 Arial,Helvetica,sans-serif; }
.lounge-eyebrow { margin:0 0 20px; font-size:14px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.lounge-hero { position:relative; padding:78px 0 64px; color:#faf6ee; background:#244b5c; overflow:hidden; }
.lounge-hero::before { content:""; position:absolute; width:720px; height:720px; top:-350px; left:-450px; border:1px solid #d7c09944; border-radius:50%; box-shadow:0 0 0 70px #d7c09909,0 0 0 140px #d7c09907; pointer-events:none; }
.lounge-hero__grid { position:relative; display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; align-items:center; }
.lounge-hero h1 { margin:0 0 30px; color:#faf6ee; font:400 clamp(54px,6.6vw,92px)/1.01 Georgia,serif; letter-spacing:-.045em; }
.lounge-hero__copy > p:not(.lounge-eyebrow) { max-width:490px; }
.lounge-lead { font:400 clamp(22px,2.1vw,28px)/1.5 Georgia,serif; }
.lounge-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px 24px; margin-top:28px; }
.lounge-button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 24px; border:1px solid #d7c099; border-radius:999px; background:#d7c099; color:#173b38; font:700 16px/1.6 Arial,sans-serif; text-decoration:none; }
.lounge-button--dark { background:#244b5c; border-color:#244b5c; color:#faf6ee; }
.lounge-text-link { display:inline-flex; align-items:center; gap:16px; min-height:44px; color:inherit; font-size:16px; font-weight:700; text-decoration:none; border-bottom:1px solid #a47737; }
.lounge-hero .lounge-text-link { border-color:#d7c099; }
.lounge-hero__location { margin-top:35px; font-size:17px; }
.lounge-hero-photo { margin:0; min-width:0; }
.lounge-hero-photo img { display:block; width:100%; height:auto; border:2px solid #d7c099; border-radius:24px; box-shadow:0 18px 48px #102e3755; }
.lounge-hero-photo figcaption { margin-top:16px; color:#faf6ee; font-size:17px; }
.lounge-strip { padding:18px 0; background:#d7c099; color:#244b5c; }
.lounge-strip > div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; font-size:15px; font-weight:700; }
.lounge-story { display:grid; grid-template-columns:1fr 1fr; gap:90px; padding-block:90px; }
.lounge-story h2,.lounge-table h2,.lounge-context h2,.lounge-evening h2,.lounge-visit h2 { margin:0 0 24px; font:400 clamp(34px,4vw,54px)/1.08 Georgia,serif; letter-spacing:-.035em; }
.lounge-story__copy > :first-child { margin-top:0; }
.lounge-rooms { padding-bottom:80px; }
.lounge-rooms h2 { margin:0 0 30px; font:400 clamp(34px,4vw,54px)/1.1 Georgia,serif; letter-spacing:-.03em; }
.lounge-rooms__grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.lounge-rooms figure { margin:0; min-width:0; overflow:hidden; border-radius:18px; background:#eee2cf; }
.lounge-rooms img { display:block; width:100%; height:auto; }
.lounge-rooms figcaption { padding:24px; }
.lounge-rooms figcaption strong { display:block; margin-bottom:8px; font:400 28px/1.2 Georgia,serif; }
.lounge-rooms figcaption span { font-size:17px; }
.lounge-table { padding:64px 0; background:#eee9de; }
.lounge-table__grid { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:70px; }
.lounge-food-photo { margin:0; }
.lounge-food-photo img { display:block; width:100%; height:auto; border-radius:4px 80px 4px 4px; }
.lounge-food-photo figcaption { margin-top:10px; font-size:17px; }
.lounge-small { margin-top:24px; font-size:17px; }
.lounge-context { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; padding-block:80px; }
.lounge-context h2 { font-size:clamp(32px,3.8vw,48px); }
.lounge-context > div > :first-child:not(.lounge-eyebrow) { margin-top:0; }
.lounge-evening { padding-block:70px; color:#faf6ee; background:#244b5c; }
.lounge-evening__grid { display:grid; grid-template-columns:.85fr 1.15fr; align-items:center; gap:64px; }
.lounge-evening figure { margin:0; }
.lounge-evening img { display:block; width:100%; height:auto; border-radius:4px; }
.lounge-evening figcaption { margin-top:14px; font-size:17px; line-height:1.6; }
.lounge-visit { display:grid; grid-template-columns:1fr 1fr; gap:90px; padding-block:90px; }
.lounge-visit__notes { align-self:center; padding:32px; border:1px solid #bca77f; background:#f2ecdf; }
.lounge-visit__notes h3 { margin:0 0 20px; font:400 28px/1.2 Georgia,serif; }
.lounge-visit__notes p { font-size:17px; }
.lounge-visit a:not([class]) { color:inherit; font-weight:700; }
.lounge-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#site-content:has(.lounge-hero) a:focus-visible { outline:3px solid #b45e28; outline-offset:5px; }
@media(max-width:900px) {
  .lounge-hero__grid,.lounge-table__grid,.lounge-evening__grid { gap:36px; }
  .lounge-story,.lounge-context,.lounge-visit { gap:36px; }
}
@media(max-width:760px) {
  .lounge-wrap { width:calc(100% - 40px); }
  .lounge-review { padding:12px 20px; }
  .lounge-hero { padding:48px 0 40px; }
  .lounge-hero__grid,.lounge-story,.lounge-table__grid,.lounge-context,.lounge-evening__grid,.lounge-visit { grid-template-columns:1fr; gap:32px; }
  .lounge-hero h1 { font-size:clamp(49px,11vw,76px); }
  .lounge-rooms__grid { grid-template-columns:1fr; }
  .lounge-rooms { padding-bottom:56px; }
  .lounge-strip > div { justify-content:center; text-align:center; }
  .lounge-story,.lounge-context,.lounge-visit { padding-block:56px; }
  .lounge-table,.lounge-evening { padding-block:48px; }
  .lounge-visit__notes { padding:24px; }
}
