*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;background:none;border:0;color:inherit}img{display:block;max-width:100%}[hidden]{display:none!important}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@font-face {
  font-family: 'KPC Work Sans';
  src: url('/media/hospitality/fonts/work-sans.woff') format('woff');
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

.hospitality__site { --navy:#132d3c; --warm:#f4f5f2; --muted:#58666d; --line:#dce1e1; background:#fff; color:var(--navy); font-family:'KPC Work Sans','Helvetica Neue',Arial,sans-serif; font-weight:400; line-height:1.6; overflow-x:clip; }
.hospitality__site * { box-sizing:border-box; }
.hospitality__site h1,.hospitality__site h2,.hospitality__site h3,.hospitality__site p,.hospitality__site figure { margin:0; }
.hospitality__site h1,.hospitality__site h2,.hospitality__site h3 { font-family:inherit; font-weight:300; line-height:1.2; letter-spacing:-.035em; }
.hospitality__site a { color:inherit; text-decoration:none; -webkit-tap-highlight-color:transparent; }
.hospitality__site button { font:inherit; cursor:pointer; color:inherit; -webkit-tap-highlight-color:transparent; }
.hospitality__site button[hidden] { display:none; }
.hospitality__site a:focus-visible,.hospitality__site button:focus-visible { outline:2px solid #9e7446; outline-offset:5px; }
.hospitality__site section[id],.hospitality__site footer[id] { scroll-margin-top:110px; }
.hospitality__eyebrow { font-size:10px; letter-spacing:.16em; font-weight:500; line-height:1.6; text-transform:uppercase; }
.hospitality__srOnly { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.hospitality__skipLink { position:absolute; top:10px; left:16px; transform:translateY(-180px); background:white; padding:12px; z-index:120; }
.hospitality__skipLink:focus { transform:none; }
.hospitality__textLink { display:inline-flex; align-items:center; gap:20px; border-bottom:1px solid currentColor; padding:10px 0; font-size:11px; font-weight:500; letter-spacing:.13em; text-transform:uppercase; line-height:1.6; }
.hospitality__textLink svg { transition:transform .25s ease; flex-shrink:0; }
.hospitality__textLink:hover svg { transform:translate(3px,-3px); }
.hospitality__pillLink { display:inline-flex; align-items:center; justify-content:center; gap:24px; padding:17px 25px; border:1px solid currentColor; font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; transition:background .2s,color .2s; }
.hospitality__pillLink:hover { background:var(--navy); color:#fff; }

/* Balanced mark; the reduction on scroll is deliberately modest. */
.hospitality__headerSpace { height:112px; }
.hospitality__header { position:fixed; inset:0 0 auto; z-index:80; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; height:112px; padding:0 5.5vw; background:rgba(255,255,255,.98); border-bottom:1px solid var(--line); transition:height .35s ease,box-shadow .35s ease; }
.hospitality__headerCompact { height:88px; box-shadow:0 5px 20px #132d3c08; }
.hospitality__wordmark { display:block; line-height:1; justify-self:center; }
.hospitality__brandLogo { display:block; position:relative; width:184px; aspect-ratio:1078/454; overflow:hidden; transition:width .35s ease; }
.hospitality__brandLogo img { position:absolute; width:116.32653%; max-width:none; height:auto; left:-8.90538%; top:-96.03524%; }
.hospitality__headerCompact .hospitality__brandLogo { width:158px; }
.hospitality__menuToggle,.hospitality__closeMenu { display:flex; justify-self:start; align-items:center; gap:14px; min-height:44px; padding:0; background:none; border:0; }
.hospitality__menuToggle span,.hospitality__closeMenu span { font-size:11px; letter-spacing:.17em; text-transform:uppercase; }
.hospitality__headerRight { display:flex; justify-content:flex-end; gap:30px; align-items:center; }
.hospitality__headerRight a { display:inline-flex; align-items:center; gap:6px; padding:13px 0; white-space:nowrap; font-size:11px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; }
.hospitality__headerRight a:hover { text-decoration:underline; text-underline-offset:6px; }
.hospitality__headerRight .hospitality__restaurantsLink { font-weight:600; }
.hospitality__navDialog { inset:0; width:100%; max-width:none; height:100dvh; max-height:none; margin:0; padding:0; border:0; color:var(--navy); background:var(--warm); overflow-y:auto; }
.hospitality__navDialog[open] { display:flex; flex-direction:column; animation:menuEnter .25s ease-out; }
.hospitality__navDialog::backdrop { background:#132d3c66; }
.hospitality__dialogTop { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; min-height:112px; padding:0 5.5vw; border-bottom:1px solid var(--line); background:#fff; }
.hospitality__dialogCity { justify-self:end; font-size:10px; text-transform:uppercase; letter-spacing:.14em; }
.hospitality__dialogBody { display:grid; grid-template-columns:.9fr 1.1fr; flex:1; min-height:580px; }
.hospitality__dialogPhoto { position:relative; overflow:hidden; }
.hospitality__dialogPhoto img { object-fit:cover; object-position:50% 65%; }
.hospitality__dialogPhoto:after { content:''; position:absolute; inset:65% 0 0; background:linear-gradient(transparent,#071c2580); }
.hospitality__dialogPhoto>span { position:absolute; bottom:30px; left:36px; z-index:1; color:#fff; font-size:11px; letter-spacing:.09em; }
.hospitality__dialogLinks { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:55px 8vw; }
.hospitality__dialogLinks nav { display:flex; flex-direction:column; align-items:flex-start; gap:18px; }
.hospitality__dialogLinks nav a { font-size:clamp(28px,3.6vw,54px); font-weight:300; line-height:1.25; letter-spacing:-.035em; transition:transform .25s; }
.hospitality__dialogLinks nav a:hover { transform:translateX(8px); }
.hospitality__dialogLinks>.hospitality__textLink { margin-top:42px; }
@keyframes menuEnter { from { opacity:0; transform:translateY(-12px); } to { opacity:1; transform:translateY(0); } }

/* Photography leads. The only overlay is the venue and its controls. */
.hospitality__hero { position:relative; height:clamp(420px,63svh,760px); background:var(--navy); color:#fff; isolation:isolate; overflow:hidden; }
.hospitality__heroFrame { position:absolute; inset:0; z-index:-3; opacity:0; transition:opacity 1.2s ease; }
.hospitality__heroFrame img { object-fit:cover; transform:scale(1.015); transition:transform 9s linear; }
.hospitality__heroFrameActive { opacity:1; z-index:-2; }
.hospitality__heroFrameActive img { transform:scale(1.045); }
.hospitality__heroShade { position:absolute; inset:50% 0 0; z-index:-1; background:linear-gradient(transparent,#061721aa); }
.hospitality__heroVisit { position:absolute; inset:0; z-index:0; }
.hospitality__heroVisit:focus-visible { outline-offset:-7px!important; }
.hospitality__heroBottom { position:absolute; bottom:30px; left:5.5vw; right:5.5vw; display:flex; justify-content:space-between; align-items:flex-end; gap:30px; pointer-events:none; }
.hospitality__heroLocation,.hospitality__heroControls { pointer-events:auto; }
.hospitality__heroLocation { display:grid; gap:8px; }
.hospitality__heroLocation>span { font-size:10px; font-weight:400; letter-spacing:.14em; text-transform:uppercase; }
.hospitality__heroLocation>a { display:inline-flex; align-items:center; gap:20px; font-size:27px; font-weight:300; letter-spacing:-.025em; line-height:1.3; }
.hospitality__heroLocation>a:hover { text-decoration:underline; text-underline-offset:6px; }
.hospitality__heroControls { display:flex; align-items:center; gap:7px; }
.hospitality__heroControls button { display:grid; place-items:center; width:43px; height:43px; border:1px solid #ffffff6b; border-radius:50%; background:#132d3c10; color:#fff; transition:background .2s; }
.hospitality__heroControls button:hover { background:#ffffff25; }
.hospitality__heroControls .hospitality__motionControl { margin-left:2px; }
.hospitality__heroCount { display:flex; gap:12px; align-items:center; margin-right:18px; font-size:11px; font-variant-numeric:tabular-nums; }
.hospitality__heroCount i { display:block; width:35px; height:1px; background:#ffffff75; }

.hospitality__homeIntroduction { max-width:1440px; margin:0 auto; padding:78px 6.5vw 82px; }
.hospitality__homeIntroduction h1 { max-width:1120px; font-size:clamp(31px,3.4vw,49px); line-height:1.32; letter-spacing:-.035em; }
.hospitality__homeIntroduction>p { max-width:1050px; font-size:clamp(18px,2vw,28px); font-weight:300; line-height:1.55; margin:24px 0 26px; }
.hospitality__ribbon { background:var(--warm); padding:25px 0 22px; overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.hospitality__ribbonHeading { padding:0 6.5vw; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.hospitality__ribbonHeading .hospitality__textLink { border:0; padding:0; }
.hospitality__ribbonHeading>button { display:grid; place-items:center; width:35px; height:35px; border:1px solid #132d3c40; border-radius:50%; }
.hospitality__ribbonViewport { overflow:hidden; margin-top:12px; }
.hospitality__ribbonTrack { display:flex; width:max-content; animation:logoDrift 60s linear infinite; }
.hospitality__ribbonGroup { display:flex; flex-shrink:0; }
.hospitality__ribbonLogo { display:flex; flex-direction:column; align-items:center; justify-content:center; width:245px; min-height:137px; padding:10px 24px; gap:12px; transition:opacity .2s; }
.hospitality__ribbonLogo:hover { opacity:.6; }
.hospitality__ribbonLogo small { font-size:9px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }
.hospitality__venueIdentity { display:flex; align-items:center; justify-content:center; width:100%; }
.hospitality__venueLogoAsset { width:190px; height:74px; object-fit:contain; background:transparent; filter:grayscale(1) contrast(3); mix-blend-mode:multiply; }
.hospitality__chaletIdentity .hospitality__venueLogoAsset { height:115px; width:120px; }
.hospitality__venueWordmark { display:block; font-size:25px; font-weight:400; line-height:1.18; letter-spacing:-.035em; text-align:center; }
.hospitality__ribbonPaused .hospitality__ribbonTrack,.hospitality__ribbonViewport:hover .hospitality__ribbonTrack,.hospitality__ribbonViewport:focus-within .hospitality__ribbonTrack { animation-play-state:paused; }
@keyframes logoDrift { to { transform:translateX(-50%); } }
.hospitality__billyFeature { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:center; max-width:1440px; margin:0 auto; padding:75px 6.5vw 80px; }
.hospitality__billyFeaturePhoto { display:block; position:relative; aspect-ratio:1.4; overflow:hidden; background:var(--warm); }
.hospitality__billyFeaturePhoto img { object-fit:cover; object-position:50% 35%; transition:transform .6s ease; }
.hospitality__billyFeaturePhoto:hover img { transform:scale(1.025); }
.hospitality__billyFeature figcaption,.hospitality__portraitCredit { font-size:9px; line-height:1.6; color:var(--muted); margin-top:10px; }
.hospitality__billyFeatureCopy { max-width:480px; }
.hospitality__billyFeatureCopy h2 { font-size:clamp(34px,3.4vw,49px); }
.hospitality__billyFeatureCopy>p { font-size:17px; line-height:1.85; margin:22px 0 24px; color:var(--muted); }

.hospitality__footer { padding:48px 6.5vw 25px; background:var(--navy); color:#fff; }
.hospitality__footerTop { display:flex; align-items:center; justify-content:space-between; gap:35px; padding-bottom:32px; border-bottom:1px solid #ffffff30; }
.hospitality__footer .hospitality__brandLogo { width:153px; filter:brightness(0) invert(1); }
.hospitality__footerTop nav { display:flex; gap:26px; flex-wrap:wrap; justify-content:flex-end; }
.hospitality__footerTop nav a { font-size:10px; font-weight:400; letter-spacing:.12em; text-transform:uppercase; padding:10px 0; }
.hospitality__footer a:hover { text-decoration:underline; text-underline-offset:5px; }
.hospitality__footerContacts { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; padding:30px 0; }
.hospitality__footerContacts>div { display:flex; flex-direction:column; gap:5px; }
.hospitality__footerContacts a:first-child { font-size:13px; font-weight:400; }
.hospitality__footerContacts a:last-child { font-size:12px; font-weight:300; color:#d2dbdf; }
.hospitality__footerBottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid #ffffff30; padding-top:20px; font-size:9px; letter-spacing:.07em; color:#c2cdd1; }
.hospitality__footerBottom small { font-size:inherit; }

.hospitality__interiorHead { max-width:1440px; margin:0 auto; padding:65px 6.5vw 60px; }
.hospitality__interiorHead h1 { font-size:clamp(45px,6.3vw,86px); margin:14px 0 22px; }
.hospitality__interiorHead>p:last-child { max-width:720px; color:var(--muted); font-size:20px; font-weight:300; line-height:1.65; }
.hospitality__aboutImage { position:relative; height:clamp(400px,50vw,650px); margin:0 6.5vw; overflow:hidden; }
.hospitality__aboutImage img { object-fit:cover; object-position:50% 64%; }
.hospitality__aboutCopy { display:grid; grid-template-columns:.85fr 1.15fr; gap:8vw; padding:72px 6.5vw 85px; max-width:1440px; margin:0 auto; }
.hospitality__aboutCopy h2 { font-size:clamp(33px,3.5vw,50px); max-width:390px; }
.hospitality__aboutCopy>div { max-width:610px; }
.hospitality__aboutCopy p { font-size:17px; line-height:1.85; color:var(--muted); margin-bottom:22px; }
.hospitality__aboutCopy .hospitality__textLink { margin-top:8px; }
.hospitality__founderArticle { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:start; padding:0 6.5vw 80px; max-width:1440px; margin:0 auto; }
.hospitality__founderPortrait { position:relative; aspect-ratio:4/4.2; background:var(--warm); }
.hospitality__founderPortrait img { object-fit:cover; object-position:50% 35%; }
.hospitality__founderArticleCopy { padding-top:12px; }
.hospitality__founderArticleCopy h2 { font-size:clamp(30px,3vw,43px); margin-bottom:27px; }
.hospitality__founderArticleCopy p { font-size:17px; line-height:1.85; color:var(--muted); margin-bottom:22px; }
.hospitality__founderArticleCopy .hospitality__textLink { margin-top:8px; }
.hospitality__teamFeature { padding:65px 6.5vw 80px; background:var(--warm); }
.hospitality__teamFeature>div:first-child { max-width:760px; margin-bottom:35px; }
.hospitality__teamFeature h2 { font-size:clamp(31px,3.2vw,45px); margin-bottom:20px; }
.hospitality__teamFeature p { font-size:17px; line-height:1.8; color:var(--muted); }
.hospitality__teamPhoto { position:relative; aspect-ratio:1.95; max-width:1250px; }
.hospitality__teamPhoto img { object-fit:cover; }
.hospitality__teamFeature>.hospitality__textLink { margin-top:25px; }
.hospitality__happeningsGrid { padding:0 6.5vw 80px; }
.hospitality__happeningCard { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:center; padding:40px 0; border-top:1px solid var(--line); }
.hospitality__happeningImage { position:relative; display:block; aspect-ratio:1.35; overflow:hidden; }
.hospitality__happeningImage img { object-fit:cover; transition:transform .5s; }
.hospitality__happeningImage:hover img { transform:scale(1.025); }
.hospitality__happeningCopy { max-width:480px; }
.hospitality__happeningCopy h2 { font-size:clamp(31px,3vw,43px); margin:18px 0; }
.hospitality__happeningCopy>p:not(.hospitality__eyebrow) { color:var(--muted); font-size:16px; line-height:1.8; }
.hospitality__happeningCopy>small { display:block; font-size:11px; margin-top:22px; color:var(--muted); }
.hospitality__happeningCopy>.hospitality__textLink { margin-top:20px; }
.hospitality__contactList { padding:0 6.5vw 75px; }
.hospitality__contactRow { display:grid; grid-template-columns:1.2fr 1fr .8fr; gap:45px; padding:36px 0; border-top:1px solid var(--line); }
.hospitality__contactRow h2 { font-size:30px; max-width:360px; }
.hospitality__contactRow p { font-size:14px; line-height:1.8; color:var(--muted); }
.hospitality__contactRow p+p { margin-top:12px; }
.hospitality__contactRow nav { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.hospitality__contactRow nav a { font-size:13px; text-decoration:underline; text-underline-offset:5px; overflow-wrap:anywhere; }

.hospitality__collectionPage { padding:55px 5.5vw 80px; }
.hospitality__collectionIntro { text-align:center; max-width:760px; margin:0 auto 42px; }
.hospitality__collectionIntro h1 { font-size:clamp(50px,6.2vw,88px); margin:18px 0 22px; }
.hospitality__collectionIntro>p:last-child { font-size:18px; font-weight:300; color:var(--muted); max-width:570px; margin:auto; }
.hospitality__collectionFilters { display:flex; justify-content:center; gap:35px; border-bottom:1px solid var(--line); margin-bottom:32px; }
.hospitality__collectionFilters button { display:flex; align-items:center; gap:9px; font-size:11px; padding:14px 1px; border:0; border-bottom:2px solid transparent; background:none; color:var(--muted); }
.hospitality__collectionFilters button[aria-pressed=true] { color:var(--navy); border-color:var(--navy); }
.hospitality__collectionFilters span { font-size:9px; opacity:.65; }
.hospitality__collectionGrid { display:grid; grid-template-columns:1fr 1fr; gap:22px; }
.hospitality__collectionCard { position:relative; min-height:470px; display:flex; flex-direction:column; justify-content:space-between; padding:28px; color:#fff!important; background:var(--navy); isolation:isolate; overflow:hidden; }
.hospitality__collectionCard>img { object-fit:cover; z-index:-3; transition:transform .65s; }
.hospitality__collectionCard:hover>img { transform:scale(1.035); }
.hospitality__collectionCard:after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,#061721bd,transparent 65%,#06172155); z-index:-2; }
.hospitality__cardTop { display:flex; justify-content:space-between; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.hospitality__cardIdentity { display:flex; justify-content:center; align-items:center; min-height:150px; padding:20px; }
.hospitality__cardIdentity .hospitality__venueLogoAsset { width:250px; height:110px; filter:grayscale(1) contrast(3) invert(1); mix-blend-mode:screen; }
.hospitality__cardIdentity .hospitality__chaletIdentity .hospitality__venueLogoAsset { height:210px; width:190px; }
.hospitality__cardIdentity .hospitality__venueWordmark { font-size:43px; max-width:380px; }
.hospitality__cardBottom { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:19px; border-top:1px solid #ffffff50; }
.hospitality__cardBottom h2 { font-size:16px; font-weight:500; letter-spacing:-.015em; line-height:1.4; }
.hospitality__cardBottom p { margin-top:5px; font-size:11px; opacity:.8; }
.hospitality__collectionComing { min-height:330px; color:var(--navy)!important; background:var(--warm); border:1px solid var(--line); }
.hospitality__collectionComing:after { display:none; }
.hospitality__collectionComing .hospitality__cardBottom { border-color:var(--line); }
.hospitality__collectionComing .hospitality__venueWordmark { font-weight:300; }

.hospitality__venueIntro { max-width:1200px; margin:auto; padding:30px 6.5vw 48px; text-align:center; }
.hospitality__back { display:block; text-align:left; font-size:11px; letter-spacing:.05em; padding:8px 0; margin-bottom:26px; color:var(--muted)!important; }
.hospitality__detailLogo { height:140px; width:260px; object-fit:contain; margin:0 auto 25px; filter:grayscale(1) contrast(3); mix-blend-mode:multiply; }
.hospitality__venueIntro h1 { font-size:clamp(38px,5.4vw,74px); margin:18px 0; }
.hospitality__location { font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.hospitality__venueIntro>p:last-of-type { font-size:17px; color:var(--muted); max-width:600px; margin:20px auto 0; }
.hospitality__venueActions { display:flex; justify-content:center; gap:32px; margin-top:24px; }
.hospitality__venueActions a { font-size:12px; border-bottom:1px solid currentColor; padding:9px 0; }
.hospitality__venuePhotos { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:0 5.5vw; }
.hospitality__venuePhotos>div { position:relative; height:440px; }
.hospitality__venuePhotos img { object-fit:cover; }
.hospitality__singlePhoto { grid-template-columns:1fr; }
.hospitality__singlePhoto>div { height:540px; }
.hospitality__venueMenu { max-width:1120px; padding:65px 26px; margin:auto; }
.hospitality__venueMenu>.hospitality__eyebrow,.hospitality__venueMenu>h2 { text-align:center; }
.hospitality__venueMenu>h2 { font-size:52px; margin:16px 0 30px; }
.hospitality__venueMenu>.hospitality__pillLink { display:table; margin:28px auto 0; }
.hospitality__menuList { display:grid; grid-template-columns:1fr 1fr; column-gap:50px; row-gap:24px; margin:38px 0; }
.hospitality__menuList>div { display:grid; grid-template-columns:1fr auto; gap:6px 16px; border-bottom:1px solid var(--line); padding-bottom:20px; }
.hospitality__menuList h3 { font-size:16px; font-weight:500; letter-spacing:-.02em; }
.hospitality__menuList span { font-size:13px; }
.hospitality__menuList p { grid-column:1/-1; font-size:13px; color:var(--muted); line-height:1.7; }
.hospitality__venueContact { background:var(--warm); padding:55px 6.5vw; display:grid; grid-template-columns:1fr 1fr; gap:8vw; }
.hospitality__venueContact h2 { font-size:36px; margin:16px 0; }
.hospitality__venueContact p:not(.hospitality__eyebrow) { font-size:14px; max-width:560px; color:var(--muted); }
.hospitality__venueHours { margin-top:12px!important; font-size:13px!important; line-height:1.8; }
.hospitality__venueContact nav { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:14px; }
.hospitality__venueContact nav a { font-size:13px; text-decoration:underline; text-underline-offset:5px; }
.hospitality__comingPage { min-height:550px; padding:30px 6.5vw 85px; background:var(--warm); text-align:center; }
.hospitality__comingPage h1 { font-size:clamp(43px,7vw,95px); max-width:950px; margin:55px auto 25px; }
.hospitality__comingPage>p:not(.hospitality__eyebrow) { max-width:550px; margin:0 auto 30px; font-size:17px; color:var(--muted); }

@media(max-width:1000px) {
  .hospitality__headerRight { gap:20px; }
  .hospitality__headerRight .hospitality__orderLink { display:none; }
  .hospitality__dialogLinks { padding:45px 6vw; }
  .hospitality__billyFeature { gap:5vw; }
  .hospitality__footerTop nav { gap:20px; }
  .hospitality__contactRow { grid-template-columns:1fr 1fr; gap:28px; }
  .hospitality__contactRow nav { grid-column:2; }
}
@media(max-width:760px) {
  .hospitality__headerSpace { height:84px; }
  .hospitality__header { height:84px; padding:0 20px; }
  .hospitality__headerCompact { height:74px; }
  .hospitality__brandLogo { width:132px; }
  .hospitality__headerCompact .hospitality__brandLogo { width:116px; }
  .hospitality__menuToggle span { display:none; }
  .hospitality__menuToggle { min-width:44px; }
  .hospitality__headerRight a { font-size:9px; letter-spacing:.035em; padding:15px 0; }
  .hospitality__dialogTop { min-height:84px; padding:0 20px; }
  .hospitality__dialogCity { display:none; }
  .hospitality__closeMenu span { display:none; }
  .hospitality__dialogBody { display:block; min-height:0; }
  .hospitality__dialogPhoto { display:none; }
  .hospitality__dialogLinks { min-height:calc(100dvh - 84px); padding:38px 27px 55px; justify-content:flex-start; }
  .hospitality__dialogLinks nav { gap:24px; }
  .hospitality__dialogLinks nav a { font-size:37px; }
  .hospitality__dialogLinks>.hospitality__textLink { margin-top:40px; }
  .hospitality__hero { height:64svh; min-height:430px; max-height:680px; }
  .hospitality__heroBottom { left:23px; right:20px; bottom:25px; gap:16px; align-items:flex-end; }
  .hospitality__heroLocation { gap:6px; max-width:calc(100% - 130px); }
  .hospitality__heroLocation>span { font-size:8px; letter-spacing:.075em; }
  .hospitality__heroLocation>a { font-size:21px; gap:10px; }
  .hospitality__heroLocation>a svg { width:16px; flex-shrink:0; }
  .hospitality__heroControls { gap:4px; }
  .hospitality__heroControls button { width:36px; height:40px; border:0; }
  .hospitality__heroCount { display:none; }
  .hospitality__homeIntroduction { padding:48px 24px 52px; }
  .hospitality__homeIntroduction h1 { font-size:30px; line-height:1.35; }
  .hospitality__homeIntroduction>p { font-size:19px; line-height:1.65; margin:22px 0; }
  .hospitality__textLink { font-size:10px; letter-spacing:.1em; gap:17px; }
  .hospitality__ribbon { padding:20px 0 14px; }
  .hospitality__ribbonHeading { padding:0 24px; }
  .hospitality__ribbonLogo { width:205px; min-height:129px; padding:10px 22px; }
  .hospitality__venueLogoAsset { width:162px; height:64px; }
  .hospitality__chaletIdentity .hospitality__venueLogoAsset { height:105px; width:108px; }
  .hospitality__venueWordmark { font-size:22px; }
  .hospitality__ribbonLogo small { font-size:8px; }
  .hospitality__billyFeature { grid-template-columns:1fr; gap:28px; padding:48px 24px 55px; }
  .hospitality__billyFeaturePhoto { aspect-ratio:1.3; }
  .hospitality__billyFeature figcaption { font-size:8px; }
  .hospitality__billyFeatureCopy h2 { font-size:35px; }
  .hospitality__billyFeatureCopy>p { font-size:16px; line-height:1.8; margin:18px 0; }
  .hospitality__footer { padding:38px 24px 24px; }
  .hospitality__footerTop { flex-direction:column; align-items:flex-start; gap:25px; padding-bottom:26px; }
  .hospitality__footerTop nav { justify-content:flex-start; gap:8px 22px; }
  .hospitality__footerTop nav a { font-size:9px; }
  .hospitality__footer .hospitality__brandLogo { width:136px; }
  .hospitality__footerContacts { grid-template-columns:1fr; gap:20px; padding:26px 0; }
  .hospitality__footerContacts>div { flex-direction:row; justify-content:space-between; align-items:center; gap:18px; }
  .hospitality__footerContacts a:first-child { font-size:11px; }
  .hospitality__footerContacts a:last-child { font-size:10px; white-space:nowrap; }
  .hospitality__footerBottom { font-size:8px; gap:14px; }
  .hospitality__interiorHead { padding:42px 24px 40px; }
  .hospitality__interiorHead h1 { font-size:48px; margin:12px 0 20px; }
  .hospitality__interiorHead>p:last-child { font-size:18px; }
  .hospitality__aboutImage { margin:0 24px; height:380px; }
  .hospitality__aboutCopy { grid-template-columns:1fr; gap:26px; padding:42px 24px 50px; }
  .hospitality__aboutCopy h2 { font-size:34px; }
  .hospitality__aboutCopy p { font-size:16px; }
  .hospitality__founderArticle { grid-template-columns:1fr; gap:28px; padding:0 24px 50px; }
  .hospitality__founderPortrait { aspect-ratio:1.05; }
  .hospitality__founderArticleCopy { padding:0; }
  .hospitality__founderArticleCopy h2 { font-size:32px; margin-bottom:23px; }
  .hospitality__founderArticleCopy p { font-size:16px; }
  .hospitality__teamFeature { padding:42px 24px 48px; }
  .hospitality__teamFeature h2 { font-size:32px; }
  .hospitality__teamFeature p { font-size:16px; }
  .hospitality__teamPhoto { aspect-ratio:1.55; }
  .hospitality__happeningsGrid { padding:0 24px 45px; }
  .hospitality__happeningCard { grid-template-columns:1fr; gap:25px; padding:30px 0; }
  .hospitality__happeningCopy h2 { font-size:33px; }
  .hospitality__happeningCopy>p:not(.hospitality__eyebrow) { font-size:15px; }
  .hospitality__contactList { padding:0 24px 45px; }
  .hospitality__contactRow { grid-template-columns:1fr; gap:20px; padding:28px 0; }
  .hospitality__contactRow h2 { font-size:29px; }
  .hospitality__contactRow nav { grid-column:auto; }
  .hospitality__collectionPage { padding:37px 20px 48px; }
  .hospitality__collectionIntro { margin-bottom:26px; }
  .hospitality__collectionIntro h1 { font-size:49px; margin:13px 0 19px; }
  .hospitality__collectionIntro>p:last-child { font-size:16px; }
  .hospitality__collectionFilters { gap:20px; margin-bottom:24px; }
  .hospitality__collectionFilters button { font-size:10px; gap:6px; }
  .hospitality__collectionGrid { grid-template-columns:1fr; gap:18px; }
  .hospitality__collectionCard { min-height:420px; padding:23px; }
  .hospitality__collectionComing { min-height:290px; }
  .hospitality__cardIdentity .hospitality__venueWordmark { font-size:37px; }
  .hospitality__cardIdentity .hospitality__venueLogoAsset { width:220px; height:96px; }
  .hospitality__cardIdentity .hospitality__chaletIdentity .hospitality__venueLogoAsset { height:190px; width:170px; }
  .hospitality__cardTop { font-size:9px; }
  .hospitality__cardBottom h2 { font-size:15px; }
  .hospitality__cardBottom p { font-size:10px; }
  .hospitality__venueIntro { padding:25px 24px 36px; }
  .hospitality__venueIntro h1 { font-size:42px; }
  .hospitality__venueIntro>p:last-of-type { font-size:15px; }
  .hospitality__detailLogo { width:220px; height:115px; }
  .hospitality__venueActions { gap:24px; }
  .hospitality__venueActions a { font-size:11px; }
  .hospitality__venuePhotos { grid-template-columns:1fr; padding:0 20px; }
  .hospitality__venuePhotos>div,.hospitality__singlePhoto>div { height:330px; }
  .hospitality__venueMenu { padding:42px 24px; }
  .hospitality__venueMenu>h2 { font-size:39px; }
  .hospitality__menuList { grid-template-columns:1fr; gap:22px; }
  .hospitality__venueContact { grid-template-columns:1fr; padding:38px 24px; gap:30px; }
  .hospitality__venueContact h2 { font-size:32px; }
  .hospitality__comingPage { padding:24px 24px 60px; min-height:480px; }
  .hospitality__comingPage h1 { font-size:48px; }
  .hospitality__comingPage>p:not(.hospitality__eyebrow) { font-size:16px; }
}
@media(max-width:380px) {
  .hospitality__header,.hospitality__dialogTop { padding:0 14px; }
  .hospitality__brandLogo { width:120px; }
  .hospitality__headerRight a { font-size:8px; letter-spacing:0; }
  .hospitality__heroBottom { left:20px; right:15px; gap:10px; }
  .hospitality__heroLocation { max-width:calc(100% - 113px); }
  .hospitality__heroLocation>a { font-size:18px; }
  .hospitality__heroControls { gap:0; }
  .hospitality__heroControls button { width:34px; }
  .hospitality__homeIntroduction h1 { font-size:28px; }
  .hospitality__collectionFilters { gap:14px; }
  .hospitality__footerContacts>div { flex-direction:column; align-items:flex-start; gap:4px; }
}
@media(prefers-reduced-motion:reduce) {
  .hospitality__site *,.hospitality__site *:before,.hospitality__site *:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
  .hospitality__heroFrame img { transform:none; }
  .hospitality__ribbonTrack { width:auto; }
  .hospitality__ribbonViewport { overflow-x:auto; }
  .hospitality__ribbonDuplicate,.hospitality__ribbonHeading>button { display:none; }
}


/* =========================================================
   STARR-DIRECTION REFINEMENT — restaurant-first, image-led,
   clean navigation, interactive directory and restrained motion.
========================================================= */

/* Header */
.hospitality__headerSpace{height:104px}
.hospitality__header{height:104px;padding:0 5vw;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);background:rgba(255,255,255,.985)}
.hospitality__headerCompact{height:72px;box-shadow:0 8px 26px rgba(7,28,37,.06)}
.hospitality__brandLogo{width:168px}
.hospitality__headerCompact .hospitality__brandLogo{width:124px}
.hospitality__menuToggle,.hospitality__closeMenu{width:46px;height:46px;min-height:46px;display:grid;place-items:center;gap:0}
.hospitality__menuToggle span,.hospitality__closeMenu span{display:none}
.hospitality__headerRight{gap:32px}
.hospitality__headerRight a{font-size:10px;font-weight:650;letter-spacing:.17em}
.hospitality__headerRight .hospitality__restaurantsLink{font-weight:700}
.hospitality__headerRight .hospitality__orderLink{font-weight:650}

/* Full-screen navigation: no visible "menu" label; imagery changes by hover/focus */
.hospitality__navDialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:#071f35;color:#fff}
.hospitality__navDialog[open]{display:flex;flex-direction:column;animation:navShellIn .3s ease both}
.hospitality__navDialog::backdrop{background:#071f35}
.hospitality__dialogBackdrop{position:absolute;inset:0;z-index:0;overflow:hidden;background:#071f35}
.hospitality__dialogBackdrop img{object-fit:cover;opacity:0;transform:scale(1.035);transition:opacity .42s ease,transform 1.2s cubic-bezier(.22,1,.36,1)}
.hospitality__dialogBackdrop img.hospitality__dialogBackdropActive{opacity:.6;transform:scale(1)}
.hospitality__dialogBackdrop>span{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,22,38,.9),rgba(5,22,38,.66) 52%,rgba(5,22,38,.48)),linear-gradient(0deg,rgba(5,22,38,.52),transparent 54%)}
.hospitality__dialogTop{position:relative;z-index:2;min-height:104px;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;padding:0 5vw;border-bottom:1px solid rgba(255,255,255,.26);background:transparent}
.hospitality__closeMenu{color:#fff}
.hospitality__dialogLogo{justify-self:center;line-height:1}
.hospitality__dialogLogo .hospitality__brandLogo{width:158px}
.hospitality__dialogCity{justify-self:end;color:#fff;font-size:9px;letter-spacing:.18em;text-transform:uppercase}
.hospitality__dialogBody{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;padding:48px 24px 64px}
.hospitality__dialogLinks{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:0;margin:0}
.hospitality__dialogLinks>a{display:flex;align-items:center;gap:18px;color:#fff;font-size:clamp(38px,4.6vw,72px);font-weight:300;letter-spacing:-.045em;line-height:1.18;opacity:.92;transform:translateY(18px);animation:navWordDrop .58s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--nav-delay)}
.hospitality__dialogLinks>a:hover,.hospitality__dialogLinks>a:focus-visible{opacity:1;transform:translateY(0) scale(1.025);text-shadow:0 8px 30px rgba(0,0,0,.2)}
.hospitality__dialogLinks>a:after{content:"";width:0;height:1px;background:#fff;transition:width .3s ease}
.hospitality__dialogLinks>a:hover:after,.hospitality__dialogLinks>a:focus-visible:after{width:38px}
.hospitality__dialogCaption{position:absolute;left:5vw;bottom:30px;color:rgba(255,255,255,.72);font-size:9px;letter-spacing:.14em;text-transform:uppercase}
@keyframes navShellIn{from{opacity:0}to{opacity:1}}
@keyframes navWordDrop{from{opacity:0;transform:translateY(-24px)}to{opacity:.92;transform:translateY(0)}}

/* Restaurant directory */
.hospitality__directory{position:relative;min-height:calc(100svh - 104px);display:flex;flex-direction:column;isolation:isolate;overflow:hidden;background:#071f35;color:#fff;padding:0 5vw 4.5vh}
.hospitality__directoryBackground{position:absolute;inset:0;z-index:-2}
.hospitality__directoryBackground img{object-fit:cover;animation:directoryImageIn .5s ease both}
.hospitality__directoryBackground>span{position:absolute;inset:0;background:linear-gradient(rgba(5,23,39,.54),rgba(5,23,39,.72)),linear-gradient(90deg,rgba(5,23,39,.24),rgba(5,23,39,.08))}
@keyframes directoryImageIn{from{opacity:.25;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
.hospitality__directoryTopline{min-height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.55);font-size:10px;font-weight:650;letter-spacing:.2em}
.hospitality__directoryGrid{flex:1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:stretch}
.hospitality__directoryBrand{position:relative;min-height:clamp(180px,31vh,300px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;border-right:1px solid rgba(255,255,255,.24);border-bottom:1px solid rgba(255,255,255,.24);transition:background .28s ease}
.hospitality__directoryBrand:nth-child(4n){border-right:0}
.hospitality__directoryBrand:nth-last-child(-n+4){border-bottom:0}
.hospitality__directoryBrand:hover,.hospitality__directoryBrand:focus-visible,.hospitality__directoryBrand[data-active="true"]{background:rgba(5,23,39,.17)}
.hospitality__directoryBrand .hospitality__venueIdentity{color:#fff}
.hospitality__directoryBrand .hospitality__venueLogoAsset{width:min(78%,210px);height:100px;object-fit:contain;filter:grayscale(1) brightness(0) invert(1);mix-blend-mode:screen;opacity:.82;transition:opacity .25s ease,transform .32s cubic-bezier(.22,1,.36,1)}
.hospitality__directoryBrand .hospitality__chaletIdentity .hospitality__venueLogoAsset{height:150px;width:min(64%,150px);filter:none;mix-blend-mode:normal}
.hospitality__directoryBrand .hospitality__venueWordmark{max-width:90%;color:#fff;font-size:clamp(25px,2.2vw,37px);font-weight:300;line-height:1.08;opacity:.82;transition:opacity .25s ease,transform .32s cubic-bezier(.22,1,.36,1)}
.hospitality__directoryBrand:hover .hospitality__venueLogoAsset,.hospitality__directoryBrand:focus-visible .hospitality__venueLogoAsset,.hospitality__directoryBrand[data-active="true"] .hospitality__venueLogoAsset,.hospitality__directoryBrand:hover .hospitality__venueWordmark,.hospitality__directoryBrand:focus-visible .hospitality__venueWordmark,.hospitality__directoryBrand[data-active="true"] .hospitality__venueWordmark{opacity:1;transform:translateY(-4px) scale(1.035)}
.hospitality__directoryBrand small{font-size:8px;font-weight:650;letter-spacing:.17em;color:rgba(255,255,255,.64)}
.hospitality__directoryNumber{position:absolute;top:16px;left:17px;font-size:8px;letter-spacing:.15em;color:rgba(255,255,255,.55)}

/* Homepage */
.hospitality__homeIntroduction{max-width:1040px;margin:0 auto;padding:92px 28px 96px;text-align:center}
.hospitality__homeIntroduction .hospitality__eyebrow{margin-bottom:22px}
.hospitality__homeIntroduction h1{font-size:clamp(44px,5.4vw,78px);line-height:1.06;margin:0 auto 25px;max-width:920px}
.hospitality__homeIntroduction>p:not(.hospitality__eyebrow){max-width:650px;margin:0 auto;color:var(--muted);font-size:16px;line-height:1.85}
.hospitality__homeIntroduction .hospitality__textLink{margin-top:26px}
.hospitality__homeHappenings{padding:88px 5.5vw 100px;background:#fff}
.hospitality__homeSectionHead{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:42px}
.hospitality__homeSectionHead h2{font-size:clamp(42px,4.8vw,68px);margin-top:15px}
.hospitality__homeSectionHead h2 em{color:#96764d}
.hospitality__homeDirectoryCta{padding:88px 24px 96px;text-align:center;background:#f3f0e8}
.hospitality__homeDirectoryCta h2{font-size:clamp(42px,5vw,72px);margin:20px 0 34px}
.hospitality__homeDirectoryCta h2 em{color:#96764d}

/* Happenings cards */
.hospitality__happeningsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.hospitality__happeningCard{min-width:0}
.hospitality__happeningImage{display:block;position:relative;aspect-ratio:1.08;overflow:hidden;background:#e9e6dc}
.hospitality__happeningImage img{object-fit:cover;transition:transform .75s cubic-bezier(.22,1,.36,1)}
.hospitality__happeningCard:hover .hospitality__happeningImage img{transform:scale(1.035)}
.hospitality__happeningCopy{padding:22px 0 0}
.hospitality__happeningCopy h2{font-size:clamp(28px,2.5vw,39px);line-height:1.13;margin:10px 0 13px}
.hospitality__happeningCopy>p:not(.hospitality__eyebrow){max-width:390px;color:var(--muted);font-size:13px;line-height:1.75}
.hospitality__happeningCopy>small{display:block;margin-top:11px;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.hospitality__happeningCopy .hospitality__textLink{margin-top:17px}

/* Logo rail: clean, transparent-feeling, same visual weight */
.hospitality__ribbon{padding:34px 0 42px;background:#f3f0e8;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hospitality__ribbonHeading{display:flex;align-items:center;justify-content:center;gap:16px}
.hospitality__ribbonHeading button{width:30px;height:30px}
.hospitality__ribbonViewport{margin:22px 0 0}
.hospitality__ribbonLogo{width:220px;min-height:112px;padding:18px 28px;background:transparent}
.hospitality__ribbonLogo .hospitality__venueLogoAsset{width:170px;height:68px;object-fit:contain;filter:grayscale(1) contrast(2.8);mix-blend-mode:multiply;opacity:.84}
.hospitality__ribbonLogo .hospitality__chaletIdentity .hospitality__venueLogoAsset{width:86px;height:96px;filter:grayscale(1) contrast(2.3);mix-blend-mode:multiply}
.hospitality__ribbonLogo .hospitality__venueWordmark{font-size:24px;line-height:1.08;color:var(--navy);opacity:.82}
.hospitality__ribbonLogo:hover .hospitality__venueLogoAsset,.hospitality__ribbonLogo:focus-visible .hospitality__venueLogoAsset,.hospitality__ribbonLogo:hover .hospitality__venueWordmark,.hospitality__ribbonLogo:focus-visible .hospitality__venueWordmark{opacity:1;transform:translateY(-2px)}
.hospitality__ribbonLogo small{font-size:8px}

/* Individual restaurant photography — make multi-image venues feel editorial */
.hospitality__venuePhotos{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hospitality__venuePhotos>div{height:auto;aspect-ratio:1.18}
.hospitality__venuePhotos>div:nth-child(3n){grid-column:1/-1;aspect-ratio:2.05}
.hospitality__venuePhotos>div:nth-child(5n){grid-column:auto;aspect-ratio:1.18}
.hospitality__venuePhotos img{object-fit:cover}

/* Footer: STARR-like restraint. No partial contact list. */
.hospitality__footer{padding:58px 5.5vw 30px;background:#09273a;color:#fff}
.hospitality__footerTop{display:flex;align-items:center;justify-content:space-between;gap:45px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.24)}
.hospitality__footerLogo{display:block;line-height:1}
.hospitality__footerLogo .hospitality__brandLogo{width:188px}
.hospitality__footerTop nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:34px}
.hospitality__footerTop nav a{font-size:10px;font-weight:650;letter-spacing:.16em;text-transform:uppercase;color:#fff}
.hospitality__footerTop nav a:hover{text-decoration:underline;text-underline-offset:6px}
.hospitality__footerBottom{display:flex;justify-content:space-between;gap:24px;padding-top:25px;color:rgba(255,255,255,.72)}
.hospitality__footerBottom small,.hospitality__footerBottom span{font-size:9px;letter-spacing:.1em}
.hospitality__footerContacts{display:none!important}

/* Professional text motion: small, slow, optional */
@media (prefers-reduced-motion:no-preference){
 .hospitality__homeIntroduction h1,.hospitality__homeIntroduction>p,.hospitality__homeSectionHead>div,.hospitality__homeDirectoryCta h2{
  animation:copyRise linear both;
  animation-timeline:view();
  animation-range:entry 10% cover 34%;
 }
 .hospitality__happeningCard,.hospitality__directoryBrand{
  animation:copyRise .7s cubic-bezier(.22,1,.36,1) both;
 }
 .hospitality__happeningCard:nth-child(2){animation-delay:.06s}
 .hospitality__happeningCard:nth-child(3){animation-delay:.12s}
}
@keyframes copyRise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:980px){
 .hospitality__directoryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hospitality__directoryBrand:nth-child(4n){border-right:1px solid rgba(255,255,255,.24)}
 .hospitality__directoryBrand:nth-child(2n){border-right:0}
 .hospitality__directoryBrand:nth-last-child(-n+4){border-bottom:1px solid rgba(255,255,255,.24)}
 .hospitality__directoryBrand:nth-last-child(-n+2){border-bottom:0}
 .hospitality__happeningsGrid{grid-template-columns:1fr 1fr}
 .hospitality__happeningCard:last-child{grid-column:1/-1}
 .hospitality__footerTop{align-items:flex-start}
 .hospitality__footerTop nav{max-width:530px}
}

@media(max-width:760px){
 .hospitality__headerSpace{height:82px}
 .hospitality__header{height:82px;padding:0 18px;grid-template-columns:44px 1fr auto}
 .hospitality__headerCompact{height:68px}
 .hospitality__brandLogo{width:138px}
 .hospitality__headerCompact .hospitality__brandLogo{width:112px}
 .hospitality__menuToggle{grid-column:1}
 .hospitality__wordmark{grid-column:2}
 .hospitality__headerRight{grid-column:3;gap:0}
 .hospitality__headerRight .hospitality__orderLink{display:none}
 .hospitality__headerRight .hospitality__restaurantsLink{font-size:8px;letter-spacing:.13em}
 .hospitality__dialogTop{min-height:82px;padding:0 18px}
 .hospitality__dialogLogo .hospitality__brandLogo{width:132px}
 .hospitality__dialogCity{font-size:7px;letter-spacing:.12em}
 .hospitality__dialogBody{padding:30px 20px 60px}
 .hospitality__dialogLinks{gap:7px}
 .hospitality__dialogLinks>a{font-size:clamp(38px,12vw,56px)}
 .hospitality__dialogCaption{left:20px;bottom:20px;right:20px;font-size:7px}
 .hospitality__directory{min-height:calc(100svh - 82px);padding:0 18px 30px}
 .hospitality__directoryTopline{min-height:62px;font-size:8px}
 .hospitality__directoryGrid{grid-template-columns:1fr 1fr}
 .hospitality__directoryBrand{min-height:175px}
 .hospitality__directoryBrand .hospitality__venueLogoAsset{height:76px;width:min(78%,150px)}
 .hospitality__directoryBrand .hospitality__chaletIdentity .hospitality__venueLogoAsset{height:110px;width:95px}
 .hospitality__directoryBrand .hospitality__venueWordmark{font-size:24px}
 .hospitality__directoryBrand small{font-size:7px;letter-spacing:.1em;text-align:center}
 .hospitality__directoryNumber{top:11px;left:11px}
 .hospitality__homeIntroduction{padding:62px 22px 68px}
 .hospitality__homeIntroduction h1{font-size:42px}
 .hospitality__homeIntroduction>p:not(.hospitality__eyebrow){font-size:14px}
 .hospitality__homeHappenings{padding:62px 20px 70px}
 .hospitality__homeSectionHead{display:block;margin-bottom:30px}
 .hospitality__homeSectionHead h2{font-size:42px}
 .hospitality__homeSectionHead>.hospitality__textLink{margin-top:20px}
 .hospitality__happeningsGrid{grid-template-columns:1fr}
 .hospitality__happeningCard:last-child{grid-column:auto}
 .hospitality__happeningImage{aspect-ratio:1.25}
 .hospitality__homeDirectoryCta{padding:64px 22px 72px}
 .hospitality__homeDirectoryCta h2{font-size:42px}
 .hospitality__venuePhotos{grid-template-columns:1fr;padding:0 18px}
 .hospitality__venuePhotos>div,.hospitality__venuePhotos>div:nth-child(3n),.hospitality__venuePhotos>div:nth-child(5n){grid-column:auto;aspect-ratio:1.2}
 .hospitality__footer{padding:46px 22px 28px}
 .hospitality__footerTop{display:block;padding-bottom:34px}
 .hospitality__footerLogo .hospitality__brandLogo{width:160px}
 .hospitality__footerTop nav{justify-content:flex-start;gap:18px 26px;margin-top:32px}
 .hospitality__footerTop nav a{font-size:9px}
 .hospitality__footerBottom{padding-top:22px}
}


/* =========================================================
   FINAL RESTAURANT-GROUP PASS
   Blue-first directory, free logos, richer hero motion,
   longer editorial story and collection-wide news.
========================================================= */

/* KPC Hospitality mark on dark surfaces: remove the white square optically */
.hospitality__brandLogoOnDark img{
  filter:grayscale(1) invert(1) contrast(2.5);
  mix-blend-mode:screen;
}

/* Hero: rich photography, no pause control, subtle continuous movement */
.hospitality__hero{
  height:calc(100svh - 104px);
  min-height:610px;
  max-height:860px;
}
.hospitality__heroFrame img{
  object-fit:cover;
  transform:scale(1.025);
}
.hospitality__heroFrameActive img{
  animation:heroRichMove 7.2s cubic-bezier(.18,.72,.26,1) both;
}
@keyframes heroRichMove{
  from{transform:scale(1.025) translate3d(0,0,0)}
  to{transform:scale(1.075) translate3d(-.7%,.35%,0)}
}
.hospitality__heroShade{
  background:linear-gradient(180deg,rgba(7,26,38,.08) 25%,rgba(7,26,38,.47) 100%);
}
.hospitality__heroControls button{background:rgba(9,38,56,.2);backdrop-filter:blur(8px)}
.hospitality__motionControl{display:none!important}

/* Homepage story is intentionally longer and more editorial */
.hospitality__homeIntroduction{
  max-width:none;
  margin:0;
  padding:100px 6vw 108px;
  text-align:left;
}
.hospitality__homeIntroduction>.hospitality__eyebrow{max-width:1440px;margin:0 auto 26px}
.hospitality__homeStoryGrid{
  max-width:1440px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1.08fr .82fr;
  gap:9vw;
  align-items:start;
}
.hospitality__homeStoryGrid h1{
  max-width:780px;
  font-size:clamp(52px,5.8vw,86px);
  line-height:1.02;
  letter-spacing:-.045em;
}
.hospitality__homeStoryGrid>div{max-width:590px;padding-top:10px}
.hospitality__homeStoryGrid>div>p{
  color:var(--muted);
  font-size:15px;
  line-height:1.9;
  margin-bottom:18px;
}
.hospitality__homeStoryGrid .hospitality__textLink{margin-top:8px}

/* Short group story: founder appears as context, not as the homepage subject */
.hospitality__groupStory{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:680px;
  background:#f2eee5;
}
.hospitality__groupStoryPhoto{position:relative;min-height:680px;overflow:hidden}
.hospitality__groupStoryPhoto img{object-fit:cover;object-position:48% 34%;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.hospitality__groupStory:hover .hospitality__groupStoryPhoto img{transform:scale(1.025)}
.hospitality__groupStoryCopy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:70px clamp(48px,7vw,120px);
}
.hospitality__groupStoryCopy h2{
  max-width:620px;
  margin:18px 0 28px;
  font-size:clamp(44px,4.8vw,70px);
  line-height:1.06;
}
.hospitality__groupStoryCopy>p:not(.hospitality__eyebrow){
  max-width:570px;
  color:var(--muted);
  font-size:15px;
  line-height:1.9;
  margin-bottom:18px;
}
.hospitality__groupStoryCopy .hospitality__textLink{align-self:flex-start;margin-top:8px}

/* Short, elegant moving collection ribbon */
.hospitality__ribbon{
  padding:20px 0 22px;
  background:#fff;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.hospitality__ribbonHeading{
  max-width:1440px;
  margin:0 auto;
  padding:0 5.5vw 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  color:var(--navy);
}
.hospitality__ribbonHeading>span{
  font-size:9px;
  font-weight:650;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hospitality__ribbonHeading>a{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-size:9px;
  font-weight:650;
  letter-spacing:.15em;
  text-transform:uppercase;
}
.hospitality__ribbonViewport{margin:0;overflow:hidden}
.hospitality__ribbonTrack{
  display:flex;
  width:max-content;
  animation:ribbonMove 32s linear infinite;
}
.hospitality__ribbonGroup{display:flex;align-items:center;flex:none}
.hospitality__ribbonLogo{
  width:178px;
  min-height:74px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:7px 22px;
  background:transparent!important;
}
.hospitality__ribbonLogo .hospitality__venueLogoAsset{
  width:138px;
  height:54px;
  object-fit:contain;
  filter:grayscale(1) contrast(2.3);
  mix-blend-mode:multiply;
  opacity:.9;
}
.hospitality__ribbonLogo .hospitality__chaletIdentity .hospitality__venueLogoAsset{
  width:66px;
  height:66px;
  filter:grayscale(1) contrast(2.2);
  mix-blend-mode:multiply;
}
.hospitality__ribbonLogo .hospitality__venueWordmark{
  color:var(--navy);
  font-size:21px;
  line-height:1.02;
  opacity:.9;
}
.hospitality__ribbonLogo:hover .hospitality__venueLogoAsset,
.hospitality__ribbonLogo:focus-visible .hospitality__venueLogoAsset,
.hospitality__ribbonLogo:hover .hospitality__venueWordmark,
.hospitality__ribbonLogo:focus-visible .hospitality__venueWordmark{
  transform:translateY(-2px);
  opacity:1;
}
@keyframes ribbonMove{to{transform:translateX(-50%)}}

/* What's On now behaves like a news/rewards desk for all 8 restaurants */
.hospitality__homeHappenings{
  padding:96px 5.5vw 108px;
  background:#fff;
}
.hospitality__homeSectionHead{
  display:grid;
  grid-template-columns:1.05fr .62fr;
  gap:9vw;
  align-items:end;
  margin-bottom:48px;
}
.hospitality__homeSectionHead h2{
  margin-top:16px;
  font-size:clamp(46px,5vw,74px);
  line-height:1.04;
}
.hospitality__homeSectionHead h2 em{color:#94734b}
.hospitality__homeSectionIntro{
  max-width:430px;
  justify-self:end;
  color:var(--muted);
  font-size:14px;
  line-height:1.85;
  padding-bottom:7px;
}
.hospitality__newsGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 34px;
  border-top:1px solid var(--line);
}
.hospitality__newsCard{
  display:grid;
  grid-template-columns:210px 1fr;
  gap:28px;
  padding:28px 0;
  border-bottom:1px solid var(--line);
  min-width:0;
}
.hospitality__newsVisual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:168px;
  overflow:hidden;
  background:#e9e6dd;
}
.hospitality__newsVisual>img{
  object-fit:cover;
  transition:transform .7s cubic-bezier(.22,1,.36,1);
}
.hospitality__newsCard:hover .hospitality__newsVisual>img{transform:scale(1.045)}
.hospitality__newsCopy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.hospitality__newsCopy h3{
  margin:9px 0 11px;
  font-size:clamp(25px,2.2vw,35px);
  line-height:1.12;
}
.hospitality__newsCopy>p:not(.hospitality__eyebrow){
  max-width:520px;
  color:var(--muted);
  font-size:13px;
  line-height:1.7;
}
.hospitality__newsMeta{
  width:100%;
  margin-top:auto;
  padding-top:18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  font-size:8px;
  font-weight:650;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hospitality__newsMeta>a{display:inline-flex;align-items:center;gap:9px}
.hospitality__newsCardUpcoming .hospitality__newsVisual{background:#0b2b3d}
.hospitality__newsCardUpcoming .hospitality__newsVisual .hospitality__venueIdentity{color:#fff}
.hospitality__newsCardUpcoming .hospitality__newsVisual .hospitality__venueLogoAsset{
  width:150px;
  height:90px;
  object-fit:contain;
  filter:grayscale(1) invert(1) contrast(2.3);
  mix-blend-mode:screen;
  opacity:.95;
}
.hospitality__newsCardUpcoming .hospitality__newsVisual .hospitality__chaletIdentity .hospitality__venueLogoAsset{filter:none;mix-blend-mode:normal}
.hospitality__newsCardUpcoming .hospitality__newsVisual .hospitality__venueWordmark{color:#fff;font-size:27px;opacity:.96}

/* Restaurant page starts blue. Open restaurants reveal full-colour photography only on hover/focus. */
.hospitality__directory{
  position:relative;
  min-height:calc(100svh - 104px);
  display:flex;
  flex-direction:column;
  isolation:isolate;
  overflow:hidden;
  background:#08283a;
  color:#fff;
  padding:0 5vw 4vh;
}
.hospitality__directoryBackground{position:absolute;inset:0;z-index:-2;background:#08283a}
.hospitality__directoryBackground img{
  object-fit:cover;
  filter:none;
  animation:directoryImageIn .52s ease both;
}
.hospitality__directoryBackground>span{
  position:absolute;
  inset:0;
  background:linear-gradient(rgba(6,31,46,.18),rgba(6,31,46,.32));
}
.hospitality__directoryTopline{
  min-height:74px;
  border-bottom:1px solid rgba(255,255,255,.3);
  font-size:9px;
}
.hospitality__directoryGrid{
  flex:1;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  gap:16px 20px;
  padding:30px 0 16px;
}
.hospitality__directoryBrand,
.hospitality__directoryBrand:nth-child(4n),
.hospitality__directoryBrand:nth-last-child(-n+4){
  border:0;
}
.hospitality__directoryBrand{
  position:relative;
  min-height:clamp(190px,29vh,280px);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14px;
  color:#fff;
  background:transparent!important;
  transition:transform .32s cubic-bezier(.22,1,.36,1),opacity .25s ease;
}
.hospitality__directoryBrand:hover,.hospitality__directoryBrand:focus-visible,.hospitality__directoryBrand[data-active="true"]{
  background:transparent!important;
  transform:translateY(-3px);
}
.hospitality__directoryBrand .hospitality__venueIdentity{color:#fff}
.hospitality__directoryBrand .hospitality__venueLogoAsset{
  width:min(86%,245px);
  height:112px;
  object-fit:contain;
  filter:grayscale(1) invert(1) contrast(2.5);
  mix-blend-mode:screen;
  opacity:1;
  transition:transform .34s cubic-bezier(.22,1,.36,1),opacity .25s ease;
}
.hospitality__directoryBrand:nth-child(2) .hospitality__venueLogoAsset{
  width:150px;
  height:154px;
  filter:none;
  mix-blend-mode:normal;
}
.hospitality__directoryBrand:nth-child(4) .hospitality__venueLogoAsset{
  width:175px;
  height:128px;
  filter:none;
  mix-blend-mode:normal;
}
.hospitality__directoryBrand .hospitality__venueWordmark{
  max-width:92%;
  color:#fff;
  font-size:clamp(28px,2.35vw,39px);
  line-height:1.06;
  opacity:1;
}
.hospitality__directoryBrand:hover .hospitality__venueLogoAsset,
.hospitality__directoryBrand:focus-visible .hospitality__venueLogoAsset,
.hospitality__directoryBrand:hover .hospitality__venueWordmark,
.hospitality__directoryBrand:focus-visible .hospitality__venueWordmark{
  transform:scale(1.055);
}
.hospitality__directoryBrand small{
  font-size:8px;
  font-weight:650;
  letter-spacing:.16em;
  color:rgba(255,255,255,.72);
}
.hospitality__directoryNumber{display:none!important}

/* Upcoming restaurant detail pages remain one confident KPC blue */
.hospitality__comingPage{
  min-height:calc(100svh - 104px);
  background:#08283a!important;
  color:#fff!important;
}
.hospitality__comingPage .hospitality__eyebrow,.hospitality__comingPage p{color:rgba(255,255,255,.72)!important}
.hospitality__comingPage .hospitality__pillLink:hover{background:#fff;color:#08283a}

/* Visual navigation: solid blue until a word is hovered. No caption copy in the corner. */
.hospitality__navDialog{background:#08283a}
.hospitality__dialogBackdrop{background:#08283a}
.hospitality__dialogBackdrop img{opacity:0;filter:none}
.hospitality__dialogBackdrop img.hospitality__dialogBackdropActive{opacity:.58}
.hospitality__dialogBackdrop>span{
  background:linear-gradient(90deg,rgba(5,28,43,.76),rgba(5,28,43,.5) 52%,rgba(5,28,43,.42));
}
.hospitality__dialogCaption{display:none!important}
.hospitality__dialogRestaurantMarks{
  position:absolute;
  left:5vw;
  right:5vw;
  bottom:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:42px;
}
.hospitality__dialogRestaurantMarks>a{
  display:flex;
  align-items:center;
  justify-content:center;
  width:120px;
  height:52px;
  opacity:.72;
  transition:opacity .25s ease,transform .25s ease;
}
.hospitality__dialogRestaurantMarks>a:hover,.hospitality__dialogRestaurantMarks>a:focus-visible{opacity:1;transform:translateY(-2px)}
.hospitality__dialogRestaurantMarks img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:grayscale(1) invert(1) contrast(2.4);
  mix-blend-mode:screen;
}
.hospitality__dialogRestaurantMarks>a:nth-child(2) img{filter:none;mix-blend-mode:normal}
.hospitality__dialogLogo .hospitality__brandLogoOnDark img,
.hospitality__footerLogo .hospitality__brandLogoOnDark img{
  filter:grayscale(1) invert(1) contrast(2.5);
  mix-blend-mode:screen;
}

/* Footer logo no longer reads as a white block */
.hospitality__footerLogo .hospitality__brandLogo{overflow:visible}

/* Gentle view motion across editorial copy */
@media (prefers-reduced-motion:no-preference){
  .hospitality__homeStoryGrid h1,
  .hospitality__homeStoryGrid>div,
  .hospitality__groupStoryCopy>*,
  .hospitality__homeSectionHead>*,
  .hospitality__newsCard{
    animation:copyRise linear both;
    animation-timeline:view();
    animation-range:entry 8% cover 30%;
  }
}

@media(max-width:980px){
  .hospitality__homeStoryGrid{grid-template-columns:1fr;gap:34px}
  .hospitality__homeStoryGrid>div{max-width:720px}
  .hospitality__groupStory{grid-template-columns:1fr 1fr}
  .hospitality__newsGrid{grid-template-columns:1fr}
  .hospitality__directoryGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}
  .hospitality__directoryBrand{min-height:210px}
}

@media(max-width:760px){
  .hospitality__hero{
    height:calc(100svh - 82px);
    min-height:560px;
    max-height:760px;
  }
  .hospitality__heroFrameActive img{animation-duration:7.2s}
  .hospitality__homeIntroduction{padding:66px 22px 72px}
  .hospitality__homeStoryGrid h1{font-size:45px}
  .hospitality__homeStoryGrid>div>p{font-size:14px;line-height:1.78}
  .hospitality__groupStory{grid-template-columns:1fr;min-height:0}
  .hospitality__groupStoryPhoto{min-height:500px}
  .hospitality__groupStoryCopy{padding:56px 22px 64px}
  .hospitality__groupStoryCopy h2{font-size:43px}
  .hospitality__groupStoryCopy>p:not(.hospitality__eyebrow){font-size:14px;line-height:1.8}
  .hospitality__ribbon{padding:16px 0 18px}
  .hospitality__ribbonHeading{padding:0 20px 12px}
  .hospitality__ribbonLogo{width:148px;min-height:62px;padding:5px 17px}
  .hospitality__ribbonLogo .hospitality__venueLogoAsset{width:112px;height:46px}
  .hospitality__ribbonLogo .hospitality__chaletIdentity .hospitality__venueLogoAsset{width:56px;height:56px}
  .hospitality__ribbonLogo .hospitality__venueWordmark{font-size:18px}
  .hospitality__homeHappenings{padding:66px 20px 76px}
  .hospitality__homeSectionHead{grid-template-columns:1fr;gap:18px;margin-bottom:34px}
  .hospitality__homeSectionHead h2{font-size:43px}
  .hospitality__homeSectionIntro{justify-self:start;font-size:13px}
  .hospitality__newsCard{grid-template-columns:118px 1fr;gap:18px;padding:20px 0}
  .hospitality__newsVisual{min-height:124px}
  .hospitality__newsCopy h3{font-size:25px}
  .hospitality__newsCopy>p:not(.hospitality__eyebrow){font-size:12px}
  .hospitality__newsMeta{display:block}
  .hospitality__newsMeta>a{margin-top:9px}
  .hospitality__directory{min-height:calc(100svh - 82px);padding:0 18px 26px}
  .hospitality__directoryTopline{min-height:60px}
  .hospitality__directoryGrid{grid-template-columns:1fr 1fr;gap:4px 10px;padding:18px 0 8px}
  .hospitality__directoryBrand{min-height:165px}
  .hospitality__directoryBrand .hospitality__venueLogoAsset{width:min(88%,150px);height:76px}
  .hospitality__directoryBrand:nth-child(2) .hospitality__venueLogoAsset{width:96px;height:104px}
  .hospitality__directoryBrand:nth-child(4) .hospitality__venueLogoAsset{width:116px;height:86px}
  .hospitality__directoryBrand .hospitality__venueWordmark{font-size:23px}
  .hospitality__directoryBrand small{font-size:7px;text-align:center;letter-spacing:.1em}
  .hospitality__dialogRestaurantMarks{left:20px;right:20px;bottom:18px;gap:24px}
  .hospitality__dialogRestaurantMarks>a{width:86px;height:40px}
}


/* =========================================================
   COLLECTION POLISH — 28 SEP 2026
   Clean identities, live eight-venue directory and animated nav
========================================================= */

/* A more deliberate hamburger: three unequal strokes that travel on hover. */
.hospitality__menuToggle{width:46px;justify-content:flex-start;overflow:visible}
.hospitality__hamburgerIcon{
  position:relative;
  display:block;
  width:34px;
  height:24px;
  transition:transform .35s cubic-bezier(.22,1,.36,1);
}
.hospitality__hamburgerIcon i{
  position:absolute;
  left:0;
  display:block;
  height:1.5px;
  background:var(--navy);
  transform-origin:left center;
  transition:width .34s cubic-bezier(.22,1,.36,1),transform .34s cubic-bezier(.22,1,.36,1),opacity .25s ease;
}
.hospitality__hamburgerIcon i:nth-child(1){top:3px;width:30px}
.hospitality__hamburgerIcon i:nth-child(2){top:11px;width:22px}
.hospitality__hamburgerIcon i:nth-child(3){top:19px;width:27px}
.hospitality__menuToggle:hover .hospitality__hamburgerIcon{transform:translateX(2px)}
.hospitality__menuToggle:hover .hospitality__hamburgerIcon i:nth-child(1){width:23px;transform:translateX(7px)}
.hospitality__menuToggle:hover .hospitality__hamburgerIcon i:nth-child(2){width:32px;transform:translateX(0)}
.hospitality__menuToggle:hover .hospitality__hamburgerIcon i:nth-child(3){width:20px;transform:translateX(10px)}
.hospitality__menuToggle:active .hospitality__hamburgerIcon{transform:scale(.92)}
.hospitality__closeMenu svg{transition:transform .42s cubic-bezier(.22,1,.36,1)}
.hospitality__closeMenu:hover svg{transform:rotate(90deg)}

/* The navigation is intentionally only navigation — no restaurant-logo row below it. */
.hospitality__dialogRestaurantMarks{display:none!important}
.hospitality__dialogBody{display:flex!important;align-items:center;justify-content:center;min-height:0}
.hospitality__dialogLinks{padding:54px 7vw!important;align-items:center!important;text-align:center}
.hospitality__dialogLinks nav{align-items:center!important}
.hospitality__dialogLinks nav a{transform-origin:center}
.hospitality__dialogLinks nav a:hover{transform:translateY(-2px) scale(1.015)!important}

/* Keep the moving collection ribbon alive and short; no stopping on hover. */
.hospitality__ribbonViewport:hover .hospitality__ribbonTrack,
.hospitality__ribbonViewport:focus-within .hospitality__ribbonTrack{animation-play-state:running!important}
.hospitality__ribbonLogo{overflow:visible}
.hospitality__ribbonLogo .hospitality__venueIdentity{height:62px}
.hospitality__ribbonLogo .hospitality__venueLogoAsset{background:transparent!important;transition:transform .35s ease,opacity .25s ease,filter .25s ease}

/* KPC: use the owner's official round identity, without a rectangular tile. */
.hospitality__ribbonLogo [data-venue="kpc-kacyiru"] .hospitality__venueLogoAsset{
  width:64px!important;
  height:64px!important;
  border-radius:50%;
  object-fit:cover;
  filter:none!important;
  mix-blend-mode:normal!important;
}

/* Le Petit Chalet stays as its proper shield identity. */
.hospitality__ribbonLogo [data-venue="le-petit-chalet"] .hospitality__venueLogoAsset{
  width:66px!important;
  height:66px!important;
  filter:grayscale(1) contrast(2.2)!important;
  mix-blend-mode:multiply!important;
}

/* Lilly JPEG loses its dark square: black mark on white. */
.hospitality__ribbonLogo [data-venue="lilly-fine-dining"] .hospitality__venueLogoAsset{
  width:68px!important;
  height:68px!important;
  object-fit:contain;
  filter:grayscale(1) invert(1) contrast(2.6)!important;
  mix-blend-mode:multiply!important;
}

/* Sanga reads as a clean black mark on the white ribbon, not a black tile. */
.hospitality__ribbonLogo [data-venue="sanga-african-grill"] .hospitality__venueLogoAsset{
  width:74px!important;
  height:74px!important;
  object-fit:contain;
  filter:grayscale(1) invert(1) contrast(2.7)!important;
  mix-blend-mode:multiply!important;
}
.hospitality__ribbonLogo [data-venue="sanga-african-grill"]{transform:scale(1.08)}
.hospitality__ribbonLogo .hospitality__venueWordmark{font-size:20px!important;font-weight:400}
.hospitality__ribbonLogo:hover .hospitality__venueIdentity{transform:translateY(-2px)}

/* Directory: every one of the eight venues is live and owns a photograph on hover. */
.hospitality__directoryBackground img{
  animation:directoryImageIn .58s cubic-bezier(.22,1,.36,1) both;
  transform:scale(1.018);
}
@keyframes directoryImageIn{
  from{opacity:0;transform:scale(1.045)}
  to{opacity:1;transform:scale(1.018)}
}
.hospitality__directoryBackground>span{
  background:linear-gradient(180deg,rgba(5,28,42,.18),rgba(5,28,42,.46))!important;
}
.hospitality__directoryBrand{cursor:pointer}
.hospitality__directoryBrand[data-active="true"] .hospitality__venueIdentity{transform:translateY(-3px) scale(1.035)}
.hospitality__directoryBrand .hospitality__venueIdentity{transition:transform .35s cubic-bezier(.22,1,.36,1)}
.hospitality__directoryBrand .hospitality__venueLogoAsset{background:transparent!important}

/* Official KPC round logo: keep its red/green identity and crop away square corners. */
.hospitality__directoryBrand[data-venue="kpc-kacyiru"] .hospitality__venueLogoAsset{
  width:142px!important;
  height:142px!important;
  border-radius:50%;
  object-fit:cover;
  filter:none!important;
  mix-blend-mode:normal!important;
}

/* Le Petit Chalet remains clear against the navy. */
.hospitality__directoryBrand[data-venue="le-petit-chalet"] .hospitality__venueLogoAsset{
  width:144px!important;
  height:150px!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}

/* Lilly: screen removes its black JPEG field, leaving the white mark floating. */
.hospitality__directoryBrand[data-venue="lilly-fine-dining"] .hospitality__venueLogoAsset{
  width:132px!important;
  height:132px!important;
  object-fit:contain;
  filter:none!important;
  mix-blend-mode:screen!important;
}

/* Sanga: preserve the official horn mark on navy; its black field visually disappears. */
.hospitality__directoryBrand[data-venue="sanga-african-grill"] .hospitality__venueLogoAsset{
  width:154px!important;
  height:154px!important;
  object-fit:contain;
  filter:none!important;
  mix-blend-mode:screen!important;
}
.hospitality__directoryBrand .hospitality__venueWordmark{
  font-size:clamp(26px,2.15vw,37px)!important;
  font-weight:350;
}
.hospitality__directoryBrand small{margin-top:2px}

/* Detail pages: remove boxed-logo feel on white surfaces. */
.hospitality__venueIntro[data-venue="kpc-kacyiru"] .hospitality__detailLogo{
  width:154px;
  height:154px;
  border-radius:50%;
  object-fit:cover;
  filter:none!important;
  mix-blend-mode:normal!important;
}
.hospitality__venueIntro[data-venue="lilly-fine-dining"] .hospitality__detailLogo{
  width:150px;
  height:150px;
  object-fit:contain;
  filter:grayscale(1) invert(1) contrast(2.6)!important;
  mix-blend-mode:multiply!important;
}
.hospitality__venueIntro[data-venue="sanga-african-grill"] .hospitality__detailLogo{
  width:170px;
  height:170px;
  object-fit:contain;
  filter:grayscale(1) invert(1) contrast(2.7)!important;
  mix-blend-mode:multiply!important;
}

/* New single-photo venue pages behave as editorial heroes rather than placeholders. */
.hospitality__singlePhoto{padding:0!important}
.hospitality__singlePhoto>div{
  grid-column:1/-1!important;
  width:100%;
  aspect-ratio:16/8.4!important;
  min-height:520px;
}
.hospitality__singlePhoto>div img{
  object-fit:cover;
  transition:transform 1.2s cubic-bezier(.22,1,.36,1);
}
.hospitality__singlePhoto:hover>div img{transform:scale(1.018)}

/* Eight live news cards: photographs lead, never placeholder/logo tiles. */
.hospitality__newsVisual{background:#e7e2d8}
.hospitality__newsVisual>img{object-position:center}
.hospitality__newsCard:nth-child(4) .hospitality__newsVisual>img{object-position:50% 55%}
.hospitality__newsCard:nth-child(5) .hospitality__newsVisual>img{object-position:50% 50%}
.hospitality__newsCard:nth-child(6) .hospitality__newsVisual>img{object-position:50% 52%}
.hospitality__newsCard:nth-child(7) .hospitality__newsVisual>img{object-position:50% 50%}
.hospitality__newsCard:nth-child(8) .hospitality__newsVisual>img{object-position:50% 55%}

@media(max-width:760px){
  .hospitality__hamburgerIcon{width:30px;height:22px}
  .hospitality__hamburgerIcon i:nth-child(1){top:3px;width:27px}
  .hospitality__hamburgerIcon i:nth-child(2){top:10px;width:19px}
  .hospitality__hamburgerIcon i:nth-child(3){top:17px;width:24px}
  .hospitality__dialogLinks{padding:36px 20px 50px!important}
  .hospitality__directoryBrand[data-venue="kpc-kacyiru"] .hospitality__venueLogoAsset{width:92px!important;height:92px!important}
  .hospitality__directoryBrand[data-venue="le-petit-chalet"] .hospitality__venueLogoAsset{width:90px!important;height:100px!important}
  .hospitality__directoryBrand[data-venue="lilly-fine-dining"] .hospitality__venueLogoAsset{width:88px!important;height:88px!important}
  .hospitality__directoryBrand[data-venue="sanga-african-grill"] .hospitality__venueLogoAsset{width:96px!important;height:96px!important}
  .hospitality__singlePhoto>div{min-height:390px;aspect-ratio:4/3!important}
}


/* =========================================================
   FINAL HEADER / MONOCHROME BRAND / MOBILE HOSPITALITY PASS
========================================================= */

/* Header clarity */
.hospitality__headerRight a{
  font-size:12px!important;
  letter-spacing:.135em!important;
  font-weight:650!important;
}
.hospitality__headerRight{gap:34px!important}

/* The hamburger had been hidden by an earlier generic span rule. */
.hospitality__menuToggle{
  display:grid!important;
  place-items:center start!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  visibility:visible!important;
  opacity:1!important;
}
.hospitality__menuToggle .hospitality__hamburgerIcon{
  display:block!important;
  position:relative!important;
  width:33px!important;
  height:24px!important;
  visibility:visible!important;
  opacity:1!important;
}
.hospitality__menuToggle .hospitality__hamburgerIcon i{
  display:block!important;
  position:absolute!important;
  left:0!important;
  height:1.5px!important;
  background:var(--navy)!important;
  opacity:1!important;
  visibility:visible!important;
}
.hospitality__menuToggle .hospitality__hamburgerIcon i:nth-child(1){top:3px!important;width:31px!important}
.hospitality__menuToggle .hospitality__hamburgerIcon i:nth-child(2){top:11px!important;width:22px!important}
.hospitality__menuToggle .hospitality__hamburgerIcon i:nth-child(3){top:19px!important;width:27px!important}
.hospitality__menuToggle:hover .hospitality__hamburgerIcon i:nth-child(1){width:22px!important;transform:translateX(9px)}
.hospitality__menuToggle:hover .hospitality__hamburgerIcon i:nth-child(2){width:31px!important}
.hospitality__menuToggle:hover .hospitality__hamburgerIcon i:nth-child(3){width:20px!important;transform:translateX(11px)}

/* All outlet identities now share one monochrome visual language. */
.hospitality__directoryBrand .hospitality__venueLogoAsset,
.hospitality__ribbonLogo .hospitality__venueLogoAsset,
.hospitality__cardIdentity .hospitality__venueLogoAsset,
.hospitality__detailLogo{
  transition:filter .25s ease,transform .3s ease,opacity .25s ease;
}

/* On the dark restaurant directory: every existing image logo reads as white monochrome. */
.hospitality__directoryBrand[data-venue="kpc-kacyiru"] .hospitality__venueLogoAsset{
  border-radius:50%;
  clip-path:circle(49%);
  filter:grayscale(1) invert(1) brightness(2.2) contrast(2.4)!important;
  mix-blend-mode:screen!important;
}
.hospitality__directoryBrand[data-venue="le-petit-chalet"] .hospitality__venueLogoAsset{
  filter:grayscale(1) brightness(2.3) contrast(2.2)!important;
  mix-blend-mode:screen!important;
}
.hospitality__directoryBrand[data-venue="lilly-fine-dining"] .hospitality__venueLogoAsset{
  filter:grayscale(1) invert(1) brightness(2.25) contrast(2.5)!important;
  mix-blend-mode:screen!important;
}
.hospitality__directoryBrand[data-venue="sanga-african-grill"] .hospitality__venueLogoAsset{
  filter:grayscale(1) brightness(2.1) contrast(2.2)!important;
  mix-blend-mode:screen!important;
}
.hospitality__directoryBrand .hospitality__venueWordmark{
  color:#fff!important;
  font-weight:350!important;
}

/* On white ribbon/details: every mark reads as black monochrome. */
.hospitality__ribbonLogo [data-venue="kpc-kacyiru"] .hospitality__venueLogoAsset{
  border-radius:50%;
  clip-path:circle(49%);
  filter:grayscale(1) contrast(2.7)!important;
  mix-blend-mode:multiply!important;
}
.hospitality__ribbonLogo [data-venue="le-petit-chalet"] .hospitality__venueLogoAsset{
  filter:grayscale(1) contrast(2.4)!important;
  mix-blend-mode:multiply!important;
}
.hospitality__ribbonLogo [data-venue="lilly-fine-dining"] .hospitality__venueLogoAsset{
  filter:grayscale(1) contrast(2.8)!important;
  mix-blend-mode:multiply!important;
}
.hospitality__ribbonLogo [data-venue="sanga-african-grill"] .hospitality__venueLogoAsset{
  filter:grayscale(1) invert(1) contrast(2.7)!important;
  mix-blend-mode:multiply!important;
}
.hospitality__ribbonLogo .hospitality__venueWordmark{color:var(--navy)!important}

.hospitality__venueIntro[data-venue="kpc-kacyiru"] .hospitality__detailLogo{
  clip-path:circle(49%);
  filter:grayscale(1) contrast(2.7)!important;
  mix-blend-mode:multiply!important;
}
.hospitality__venueIntro[data-venue="le-petit-chalet"] .hospitality__detailLogo{
  filter:grayscale(1) contrast(2.4)!important;
  mix-blend-mode:multiply!important;
}
.hospitality__venueIntro[data-venue="lilly-fine-dining"] .hospitality__detailLogo{
  filter:grayscale(1) contrast(2.8)!important;
  mix-blend-mode:multiply!important;
}
.hospitality__venueIntro[data-venue="sanga-african-grill"] .hospitality__detailLogo{
  filter:grayscale(1) invert(1) contrast(2.7)!important;
  mix-blend-mode:multiply!important;
}

/* Mobile photography is built into each restaurant tile because phones have no hover. */
.hospitality__mobileVenuePhoto{display:none}

/* Better mobile hospitality, not a compressed desktop page. */
@media(max-width:760px){
  .hospitality__headerSpace{height:78px!important}
  .hospitality__header{
    height:78px!important;
    padding:0 16px!important;
    grid-template-columns:52px 1fr 92px!important;
  }
  .hospitality__headerCompact{height:68px!important}
  .hospitality__brandLogo{width:126px!important}
  .hospitality__headerCompact .hospitality__brandLogo{width:116px!important}

  .hospitality__menuToggle{
    grid-column:1!important;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
  }
  .hospitality__menuToggle .hospitality__hamburgerIcon{
    display:block!important;
    width:29px!important;
    height:22px!important;
  }
  .hospitality__menuToggle .hospitality__hamburgerIcon i:nth-child(1){top:3px!important;width:27px!important}
  .hospitality__menuToggle .hospitality__hamburgerIcon i:nth-child(2){top:10px!important;width:19px!important}
  .hospitality__menuToggle .hospitality__hamburgerIcon i:nth-child(3){top:17px!important;width:24px!important}

  .hospitality__headerRight{
    grid-column:3!important;
    gap:0!important;
    justify-content:flex-end!important;
  }
  .hospitality__headerRight .hospitality__restaurantsLink{display:none!important}
  .hospitality__headerRight .hospitality__orderLink{
    display:inline-flex!important;
    font-size:9px!important;
    letter-spacing:.105em!important;
    font-weight:700!important;
    padding:15px 0!important;
  }
  .hospitality__headerRight .hospitality__orderLink svg{width:11px;height:11px}

  .hospitality__dialogTop{
    min-height:78px!important;
    padding:0 16px!important;
    grid-template-columns:48px 1fr 88px!important;
  }
  .hospitality__dialogLogo .hospitality__brandLogo{width:124px!important}
  .hospitality__dialogCity{
    font-size:7px!important;
    letter-spacing:.11em!important;
    white-space:nowrap;
  }
  .hospitality__closeMenu{
    width:44px!important;
    height:44px!important;
  }
  .hospitality__dialogBody{
    min-height:calc(100dvh - 78px)!important;
    padding:0!important;
  }
  .hospitality__dialogLinks{
    width:100%;
    padding:28px 20px 42px!important;
    justify-content:center!important;
  }
  .hospitality__dialogLinks>a{
    font-size:clamp(42px,12.5vw,58px)!important;
    line-height:1.12!important;
    letter-spacing:-.045em!important;
  }

  .hospitality__hero{
    height:calc(100svh - 78px)!important;
    min-height:560px!important;
    max-height:760px!important;
  }
  .hospitality__heroBottom{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
    gap:15px!important;
    align-items:flex-end!important;
  }
  .hospitality__heroLocation{gap:5px!important;max-width:62%}
  .hospitality__heroLocation>span{
    font-size:8px!important;
    line-height:1.45!important;
    letter-spacing:.11em!important;
  }
  .hospitality__heroLocation>a{
    font-size:23px!important;
    gap:9px!important;
    line-height:1.15!important;
  }
  .hospitality__heroLocation>a svg{width:17px;height:17px}
  .hospitality__heroCount{display:none!important}
  .hospitality__heroControls{gap:6px!important}
  .hospitality__heroControls button{
    width:39px!important;
    height:39px!important;
    background:rgba(7,31,46,.28)!important;
    backdrop-filter:blur(8px);
  }

  .hospitality__homeIntroduction{padding:62px 20px 66px!important}
  .hospitality__homeIntroduction>.hospitality__eyebrow{margin-bottom:18px!important}
  .hospitality__homeStoryGrid{display:block!important}
  .hospitality__homeStoryGrid h1{
    font-size:43px!important;
    line-height:1.01!important;
    margin-bottom:28px!important;
  }
  .hospitality__homeStoryGrid>div{padding:0!important}
  .hospitality__homeStoryGrid>div>p{
    font-size:14px!important;
    line-height:1.8!important;
    margin-bottom:17px!important;
  }

  .hospitality__groupStory{display:block!important}
  .hospitality__groupStoryPhoto{min-height:430px!important}
  .hospitality__groupStoryCopy{padding:50px 20px 58px!important}
  .hospitality__groupStoryCopy h2{
    font-size:41px!important;
    line-height:1.04!important;
    margin:15px 0 23px!important;
  }

  .hospitality__ribbon{padding:14px 0 16px!important}
  .hospitality__ribbonHeading{padding:0 18px 10px!important}
  .hospitality__ribbonHeading>span,.hospitality__ribbonHeading>a{font-size:7.5px!important}
  .hospitality__ribbonLogo{
    width:132px!important;
    min-height:56px!important;
    padding:4px 15px!important;
  }
  .hospitality__ribbonLogo .hospitality__venueIdentity{height:54px!important}
  .hospitality__ribbonLogo .hospitality__venueLogoAsset{
    max-width:84px!important;
    max-height:52px!important;
  }
  .hospitality__ribbonLogo .hospitality__venueWordmark{
    font-size:16px!important;
    line-height:1.05!important;
  }

  .hospitality__homeHappenings{padding:58px 18px 66px!important}
  .hospitality__homeSectionHead{display:block!important;margin-bottom:28px!important}
  .hospitality__homeSectionHead h2{
    font-size:41px!important;
    line-height:1.02!important;
  }
  .hospitality__homeSectionIntro{
    margin-top:19px!important;
    max-width:100%!important;
    font-size:13px!important;
    line-height:1.65!important;
  }
  .hospitality__newsGrid{display:block!important}
  .hospitality__newsCard{
    display:block!important;
    padding:0 0 28px!important;
    margin-bottom:28px!important;
    border-bottom:1px solid var(--line)!important;
  }
  .hospitality__newsVisual{
    display:block!important;
    min-height:0!important;
    aspect-ratio:16/10!important;
    margin-bottom:18px!important;
  }
  .hospitality__newsCopy h3{
    font-size:29px!important;
    line-height:1.08!important;
    margin:8px 0 10px!important;
  }
  .hospitality__newsCopy>p:not(.hospitality__eyebrow){
    font-size:13px!important;
    line-height:1.65!important;
  }
  .hospitality__newsMeta{
    display:flex!important;
    margin-top:14px!important;
    padding-top:12px!important;
  }
  .hospitality__newsMeta>a{margin-top:0!important}

  /* Restaurant directory becomes an image-led mobile collection. */
  .hospitality__directory{
    min-height:auto!important;
    padding:0 14px 20px!important;
    background:#08283a!important;
  }
  .hospitality__directoryBackground{display:none!important}
  .hospitality__directoryTopline{
    min-height:56px!important;
    padding:0 4px!important;
    font-size:7.5px!important;
  }
  .hospitality__directoryGrid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:14px 0 0!important;
  }
  .hospitality__directoryBrand{
    min-height:190px!important;
    border:0!important;
    overflow:hidden!important;
    isolation:isolate;
    justify-content:flex-end!important;
    align-items:flex-start!important;
    padding:20px!important;
    background:#0b2b3d!important;
  }
  .hospitality__mobileVenuePhoto{
    display:block!important;
    position:absolute;
    inset:0;
    z-index:-2;
  }
  .hospitality__mobileVenuePhoto img{object-fit:cover}
  .hospitality__mobileVenuePhoto i{
    position:absolute;
    inset:0;
    display:block;
    background:linear-gradient(180deg,rgba(4,24,36,.06) 20%,rgba(4,24,36,.78) 100%);
  }
  .hospitality__directoryBrand .hospitality__venueIdentity{
    position:absolute;
    top:18px;
    left:18px;
    max-width:125px;
    max-height:82px;
    justify-content:flex-start!important;
    align-items:flex-start!important;
  }
  .hospitality__directoryBrand .hospitality__venueLogoAsset{
    max-width:120px!important;
    max-height:80px!important;
    width:auto!important;
    height:auto!important;
  }
  .hospitality__directoryBrand .hospitality__venueWordmark{
    font-size:28px!important;
    line-height:1.02!important;
    text-align:left!important;
    text-shadow:0 2px 16px rgba(0,0,0,.3);
  }
  .hospitality__directoryBrand small{
    position:relative;
    z-index:1;
    font-size:7.5px!important;
    letter-spacing:.13em!important;
    color:#fff!important;
    text-shadow:0 2px 12px rgba(0,0,0,.55);
  }
  .hospitality__directoryBrand[data-venue="kpc-kacyiru"] .hospitality__venueLogoAsset{
    width:76px!important;
    height:76px!important;
  }
  .hospitality__directoryBrand[data-venue="le-petit-chalet"] .hospitality__venueLogoAsset{
    width:70px!important;
    height:78px!important;
  }
  .hospitality__directoryBrand[data-venue="lilly-fine-dining"] .hospitality__venueLogoAsset{
    width:72px!important;
    height:72px!important;
  }
  .hospitality__directoryBrand[data-venue="sanga-african-grill"] .hospitality__venueLogoAsset{
    width:84px!important;
    height:84px!important;
  }

  .hospitality__venueIntro{
    padding:50px 20px 48px!important;
  }
  .hospitality__venueIntro h1{
    font-size:44px!important;
    line-height:1.03!important;
  }
  .hospitality__venueIntro>p:not(.hospitality__eyebrow):not(.hospitality__location){
    font-size:14px!important;
    line-height:1.75!important;
  }
  .hospitality__venueActions{
    gap:12px!important;
    flex-wrap:wrap!important;
  }
  .hospitality__venueActions>a{
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }
  .hospitality__singlePhoto>div{
    min-height:330px!important;
    aspect-ratio:4/3!important;
  }
  .hospitality__venueContact,.hospitality__venueMenu{
    padding:54px 20px!important;
  }

  .hospitality__footer{padding:42px 20px 26px!important}
  .hospitality__footerTop{padding-bottom:28px!important}
  .hospitality__footerTop nav{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:16px 20px!important;
    margin-top:28px!important;
  }
  .hospitality__footerBottom{
    display:block!important;
    line-height:1.9!important;
  }
  .hospitality__footerBottom span{display:block!important;margin-top:5px}
}

@media (prefers-reduced-motion:reduce){
  .hospitality__ribbonTrack{animation:none!important}
  .hospitality__heroFrameActive img{animation:none!important}
}


/* =========================================================
   TRANSPARENT BRAND ASSET LOCK — KPC / LILLY / SANGA
   Local PNGs are already transparent monochrome assets.
========================================================= */
.hospitality__directoryBrand[data-venue="kpc-kacyiru"] .hospitality__venueLogoAsset,
.hospitality__directoryBrand[data-venue="lilly-fine-dining"] .hospitality__venueLogoAsset,
.hospitality__directoryBrand[data-venue="sanga-african-grill"] .hospitality__venueLogoAsset{
  background:transparent!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  clip-path:none!important;
  border-radius:0!important;
  object-fit:contain!important;
}

.hospitality__ribbonLogo [data-venue="kpc-kacyiru"] .hospitality__venueLogoAsset,
.hospitality__ribbonLogo [data-venue="lilly-fine-dining"] .hospitality__venueLogoAsset,
.hospitality__ribbonLogo [data-venue="sanga-african-grill"] .hospitality__venueLogoAsset{
  background:transparent!important;
  filter:invert(1) grayscale(1) contrast(1.2)!important;
  mix-blend-mode:normal!important;
  clip-path:none!important;
  border-radius:0!important;
  object-fit:contain!important;
}

.hospitality__venueIntro[data-venue="kpc-kacyiru"] .hospitality__detailLogo,
.hospitality__venueIntro[data-venue="lilly-fine-dining"] .hospitality__detailLogo,
.hospitality__venueIntro[data-venue="sanga-african-grill"] .hospitality__detailLogo{
  background:transparent!important;
  filter:invert(1) grayscale(1) contrast(1.2)!important;
  mix-blend-mode:normal!important;
  clip-path:none!important;
  border-radius:0!important;
  object-fit:contain!important;
}

/* Keep the three marks visually equal rather than equal by pixel box. */
.hospitality__directoryBrand[data-venue="kpc-kacyiru"] .hospitality__venueLogoAsset{width:150px!important;height:112px!important}
.hospitality__directoryBrand[data-venue="lilly-fine-dining"] .hospitality__venueLogoAsset{width:144px!important;height:112px!important}
.hospitality__directoryBrand[data-venue="sanga-african-grill"] .hospitality__venueLogoAsset{width:158px!important;height:132px!important}

.hospitality__ribbonLogo [data-venue="kpc-kacyiru"] .hospitality__venueLogoAsset{width:84px!important;height:46px!important}
.hospitality__ribbonLogo [data-venue="lilly-fine-dining"] .hospitality__venueLogoAsset{width:70px!important;height:56px!important}
.hospitality__ribbonLogo [data-venue="sanga-african-grill"] .hospitality__venueLogoAsset{width:88px!important;height:66px!important}
.hospitality__ribbonLogo [data-venue="sanga-african-grill"]{transform:none!important}

@media(max-width:760px){
  .hospitality__directoryBrand[data-venue="kpc-kacyiru"] .hospitality__venueLogoAsset{width:108px!important;height:72px!important}
  .hospitality__directoryBrand[data-venue="lilly-fine-dining"] .hospitality__venueLogoAsset{width:92px!important;height:72px!important}
  .hospitality__directoryBrand[data-venue="sanga-african-grill"] .hospitality__venueLogoAsset{width:108px!important;height:88px!important}

  .hospitality__ribbonLogo [data-venue="kpc-kacyiru"] .hospitality__venueLogoAsset{width:76px!important;height:42px!important}
  .hospitality__ribbonLogo [data-venue="lilly-fine-dining"] .hospitality__venueLogoAsset{width:62px!important;height:48px!important}
  .hospitality__ribbonLogo [data-venue="sanga-african-grill"] .hospitality__venueLogoAsset{width:78px!important;height:58px!important}
}


/* =========================================================
   CLEAN SECTION PASS — remove editorial/template kickers
========================================================= */
.hospitality__homeStoryGrid h1{margin-top:0!important}
.hospitality__groupStoryCopy h2{margin-top:0!important}
.hospitality__homeSectionHead h2{margin-top:0!important}
.hospitality__homeDirectoryCta h2{margin-top:0!important}
.hospitality__interiorHead h1{margin-top:0!important}
.hospitality__venueMenu>h2{margin-top:0!important}
.hospitality__venueContact h2{margin-top:0!important}

/* Logo rail now stands on its own with no labels above it. */
.hospitality__ribbon{padding-top:24px!important;padding-bottom:26px!important}
.hospitality__ribbonViewport{margin-top:0!important}

/* Keep only a quiet architectural divider above the restaurant grid. */
.hospitality__directoryTopline{
  min-height:38px!important;
  border-bottom:1px solid rgba(255,255,255,.32)!important;
}

@media(max-width:760px){
  .hospitality__ribbon{padding-top:15px!important;padding-bottom:17px!important}
  .hospitality__directoryTopline{min-height:18px!important;padding:0!important}
  .hospitality__directoryGrid{padding-top:10px!important}
  .hospitality__homeIntroduction{padding-top:54px!important}
  .hospitality__groupStoryCopy{padding-top:46px!important}
  .hospitality__homeHappenings{padding-top:52px!important}
  .hospitality__homeDirectoryCta{padding-top:68px!important}
  .hospitality__interiorHead{padding-top:48px!important}
  .hospitality__venueMenu{padding-top:48px!important}
  .hospitality__venueContact{padding-top:46px!important}
}


.approved_home__home{--ink:#0b293d;--gold:#a68c69;--cream:#f4f0e8;--gray:#76838a;color:var(--ink);background:#fff;font-family:'KPC Work Sans','Helvetica Neue',Arial,sans-serif}
.approved_home__home h1,.approved_home__home h2,.approved_home__home p{margin:0}.approved_home__home h1,.approved_home__home h2{font-weight:300;line-height:1.13;letter-spacing:-.048em}.approved_home__home em{font-style:normal;color:var(--gold)}
.approved_home__kicker{display:block;font-size:10px;font-weight:600;letter-spacing:.21em;line-height:1.7;color:#586972}
.approved_home__hero{height:min(48vw,650px);min-height:500px;position:relative;display:flex;align-items:center;justify-content:flex-end;isolation:isolate;overflow:hidden;background:#e9d9c6}
.approved_home__heroImage{object-fit:cover;object-position:50% 53%;z-index:-2}
.approved_home__heroTint{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,transparent 30%,rgba(248,245,240,.26) 50%,rgba(251,249,245,.77) 92%),linear-gradient(180deg,rgba(255,255,255,.08),transparent 70%)}
.approved_home__heroContent{width:46%;padding:2vw 5.5vw 2vw 1vw;max-width:710px;text-shadow:0 1px 18px #ffffff26}
.approved_home__hero h1{font-size:clamp(46px,5.2vw,93px);margin:20px 0 20px}
.approved_home__hero p{font-size:clamp(16px,1.35vw,21px);line-height:1.55;color:#334c58;margin-bottom:31px}
.approved_home__outlineAction{display:inline-flex;align-items:center;justify-content:center;gap:26px;min-height:49px;border:1px solid #1c3d4b;padding:0 25px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transition:background .2s,color .2s}
.approved_home__outlineAction:hover{background:var(--ink);color:white}
.approved_home__story,.approved_home__craft,.approved_home__happenings{display:grid;grid-template-columns:1fr 1fr}
.approved_home__storyImage,.approved_home__craftImage,.approved_home__happeningsImage{position:relative;min-height:530px;overflow:hidden;background:#ede8e2}
.approved_home__storyImage img{object-fit:cover;object-position:center 28%}
.approved_home__storyCopy{background:#f2efe7}
.approved_home__craftCopy,.approved_home__happeningsCopy{background:#fff}
.approved_home__craftImage img{object-fit:cover;object-position:center}
.approved_home__happeningsImage img{object-fit:cover;object-position:center}
.approved_home__storyCopy,.approved_home__craftCopy,.approved_home__happeningsCopy{display:flex;align-items:center;justify-content:center;padding:64px clamp(34px,5vw,100px)}
.approved_home__copyInner{max-width:530px;width:100%}
.approved_home__copyInner h2{font-size:clamp(42px,4.6vw,78px);margin:22px 0 26px}
.approved_home__copyInner p{max-width:510px;color:#576d78;font-size:clamp(14px,1vw,17px);line-height:1.85;margin-bottom:22px}
.approved_home__textAction{display:inline-flex;gap:36px;align-items:center;margin-top:6px;padding-bottom:10px;border-bottom:1px solid #80939b;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;transition:gap .2s}
.approved_home__textAction:hover{gap:43px}
.approved_home__craftImage{min-height:460px}
.approved_home__happeningsImage{min-height:385px}
.approved_home__collection{background:#f4f1e9;text-align:center;padding:50px 3.8vw 42px;scroll-margin-top:95px}
.approved_home__collectionHeading{font-size:10px!important;font-weight:650!important;letter-spacing:.18em!important;line-height:1.5!important;color:#879097;margin:0 0 30px!important}
.approved_home__logoLine{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:stretch;margin:0 auto 29px;max-width:1440px}
.approved_home__venue{padding:10px 14px;border-right:1px solid #ded8cc;min-width:0}
.approved_home__venue:last-child{border-right:0}
.approved_home__venue>a,.approved_home__venue>div{min-height:105px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:11px;transition:opacity .2s}
.approved_home__venue a:hover{opacity:.65}
.approved_home__wordmark{font-family:Georgia,'Times New Roman',serif;font-size:clamp(15px,1.65vw,29px);letter-spacing:.01em;line-height:1.1;color:#102c40}
.approved_home__scriptMark{font-family:Georgia,'Times New Roman',serif;font-weight:600;font-style:italic;font-size:clamp(15px,1.5vw,25px);line-height:1.1}
.approved_home__venueLogo{object-fit:contain;height:65px;width:100%;max-width:115px}
.approved_home__city{font-size:8px;letter-spacing:.18em;font-weight:650;color:#7d8d97}
.approved_home__happenings .approved_home__copyInner h2{font-size:clamp(39px,4.1vw,67px)}
@media (max-width:1050px){.approved_home__hero{height:540px}.approved_home__heroContent{width:54%;padding-right:5vw}.approved_home__storyImage{min-height:580px}.approved_home__storyCopy,.approved_home__craftCopy,.approved_home__happeningsCopy{padding:48px 5vw}.approved_home__logoLine{grid-template-columns:repeat(4,1fr);row-gap:12px}.approved_home__venue:nth-child(4){border-right:0}}
@media (max-width:760px){.approved_home__hero{height:680px;min-height:0;align-items:flex-start;justify-content:center}.approved_home__heroImage{object-position:44% center}.approved_home__heroTint{background:linear-gradient(180deg,rgba(250,246,241,.96) 0%,rgba(250,246,241,.8) 39%,rgba(250,246,241,.08) 78%)}.approved_home__heroContent{width:100%;padding:62px 7vw;text-align:left}.approved_home__hero h1{font-size:clamp(51px,11vw,75px);margin:16px 0 16px}.approved_home__hero p{font-size:16px;margin-bottom:24px}.approved_home__story,.approved_home__craft,.approved_home__happenings{grid-template-columns:1fr}.approved_home__storyImage{min-height:430px}.approved_home__storyCopy,.approved_home__craftCopy,.approved_home__happeningsCopy{padding:57px 7vw 64px}.approved_home__copyInner h2{font-size:clamp(44px,10vw,68px)}.approved_home__copyInner p{font-size:15px}.approved_home__craftImage{min-height:350px;grid-row:1}.approved_home__happeningsImage{min-height:310px;grid-row:1}.approved_home__collection{padding:49px 4vw}.approved_home__logoLine{grid-template-columns:repeat(2,1fr);margin-bottom:24px}.approved_home__venue{border-right:1px solid #ded8cc;border-bottom:1px solid #ded8cc;padding:16px 8px}.approved_home__venue:nth-child(2n){border-right:0}.approved_home__venue:nth-last-child(-n+2){border-bottom:0}.approved_home__venue>a,.approved_home__venue>div{min-height:96px}.approved_home__venueLogo{height:58px}.approved_home__wordmark{font-size:23px}.approved_home__scriptMark{font-size:23px}.approved_home__happenings .approved_home__copyInner h2{font-size:clamp(37px,8vw,57px)}}
@media (prefers-reduced-motion:reduce){.approved_home__home *{scroll-behavior:auto;transition:none!important}}


.approved_home__introduction{padding:48px 7vw 46px;text-align:center;background:#fff}
.approved_home__introduction h2{font-size:clamp(26px,3vw,43px);margin:15px auto!important;letter-spacing:-.035em}
.approved_home__introduction p{max-width:740px;margin:0 auto 19px!important;font-size:15px;line-height:1.8;color:#576d78}
.approved_home__logoViewport{overflow:hidden;margin:0 -3.8vw 30px}
.approved_home__logoLine{display:flex;width:max-content;max-width:none;margin:0;animation:kpcLogoRoll 48s linear infinite}
.approved_home__logoGroup{display:flex;align-items:stretch}
.approved_home__venue{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;flex:0 0 180px;width:180px;min-height:124px;padding:15px 25px;border-right:1px solid #d6d0c3;color:#0b293d!important}
.approved_home__venue>svg{width:110px;height:80px}.approved_home__venue>span:first-child{font-size:23px}
.approved_home__venue:hover{opacity:.65}
.approved_home__city{font-size:8px;text-transform:uppercase;line-height:1.6;letter-spacing:.12em;color:#536975}
.approved_home__logoViewport:hover .approved_home__logoLine,.approved_home__logoViewport:focus-within .approved_home__logoLine,.approved_home__logoLine[data-paused=true]{animation-play-state:paused}
.approved_home__motionButton{display:block;margin:20px auto 0;padding:6px 10px;font-size:10px;color:#526871;border:0;background:none;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
@keyframes kpcLogoRoll{to{transform:translateX(-50%)}}
@media(max-width:760px){.approved_home__introduction{padding:38px 7vw}.approved_home__introduction p{font-size:14px}.approved_home__venue{flex-basis:165px;width:165px}.approved_home__logoViewport{margin-left:-7vw;margin-right:-7vw}.approved_home__logoLine{grid-template-columns:none;row-gap:0}.approved_home__storyImage{min-height:440px}}
@media(prefers-reduced-motion:reduce){.approved_home__logoLine{animation:none;width:max-content}.approved_home__logoGroup:last-child{display:none}.approved_home__logoViewport{overflow:auto}.approved_home__motionButton{display:none}}

.venues__venuePage{background:var(--venue-bg);color:var(--venue-ink)}
.venues__venuePage a:focus-visible{outline-color:var(--venue-accent)}
.venues__pageHead{padding:82px 6vw 65px;background:#f4f0e8;text-align:center;color:#0b293d}
.venues__pageHead>span,.venues__sectionHeading>span,.venues__eyebrow,.venues__aboutText>span,.venues__aboutClosing>span{font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.venues__pageHead h1{font-size:clamp(44px,5.8vw,90px);margin:20px auto 22px!important;line-height:1.08!important;max-width:1000px}
.venues__pageHead>p{font-size:17px;line-height:1.8;max-width:640px;margin:auto!important;color:#5b6e76}
.venues__directory{padding:24px 6vw 80px;background:#f7f5ef;color:#0b293d}
.venues__directoryToolbar{display:flex;gap:22px;align-items:center;flex-wrap:wrap;padding:22px 0 34px}
.venues__directoryToolbar label{font-size:10px;letter-spacing:.16em;font-weight:600}
.venues__directoryToolbar input{padding:14px 1px;width:min(430px,100%);border:0;border-bottom:1px solid #9babae;outline-offset:5px;background:transparent;color:#0b293d;font:inherit;font-size:15px;border-radius:0}
.venues__directoryToolbar>p{font-size:12px;margin-left:auto!important;color:#586a73}
.venues__placeGrid{display:grid;grid-template-columns:1fr 1fr;gap:36px 30px}
.venues__placeCard{display:block;min-width:0}.venues__placeCard[hidden],.venues__noResults[hidden]{display:none}
.venues__cardVisual{position:relative;aspect-ratio:1.55;background:var(--card-bg);color:var(--card-ink);overflow:hidden;border:1px solid #a4977c26}
.venues__cardVisual>img{object-fit:cover;transition:transform .7s ease}.venues__placeCard:hover .venues__cardVisual>img{transform:scale(1.035)}
.venues__cardBrand{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;padding:58px;color:var(--card-accent);background:radial-gradient(ellipse at 50% 100%,#a28c6c19,transparent 65%)}
.venues__monoLogo{display:block;width:100%;height:100%;max-width:300px;max-height:235px;overflow:visible}
.venues__identityImage{display:block;object-fit:contain;width:100%;height:100%;max-height:240px;max-width:320px}
.venues__piazzaWordmark{font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,5.2vw,80px);letter-spacing:.035em;font-weight:400}
.venues__cardNumber{position:absolute;left:22px;top:18px;font-size:10px;letter-spacing:.13em}
.venues__cardExplore{position:absolute;right:22px;bottom:20px;display:flex;align-items:center;gap:13px;font-size:9px;letter-spacing:.15em;background:var(--card-bg);color:var(--card-ink);padding:10px 15px}
.venues__cardCaption{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:20px 0;border-bottom:1px solid #d6d8d0}
.venues__cardCaption h2{font-size:27px!important;font-weight:400!important}.venues__cardCaption p{color:#637078;font-size:12px;margin-top:6px!important}
.venues__noResults{padding:50px 0;font-size:18px}
.venues__venueNavigation{display:flex;align-items:center;justify-content:center;gap:28px;padding:20px 4vw;border-bottom:1px solid color-mix(in srgb,var(--venue-ink) 14%,transparent);overflow:auto;white-space:nowrap;scrollbar-width:thin}
.venues__venueNavigation a{font-size:10px;letter-spacing:.06em;padding:6px 0;border-bottom:1px solid transparent}
.venues__venueNavigation a[aria-current=page]{border-color:var(--venue-accent);color:var(--venue-accent)}
.venues__venueHero{display:grid;grid-template-columns:1fr 1fr;min-height:620px}
.venues__venueCopy{padding:42px 6vw 65px;align-self:center}.venues__back{display:block;font-size:9px;letter-spacing:.14em;margin-bottom:55px;color:var(--venue-muted)!important}
.venues__eyebrow{display:block;color:var(--venue-accent);margin-bottom:18px}
.venues__venueCopy h1{font-size:clamp(42px,4.8vw,75px);line-height:1.07!important;margin:0 0 22px!important}
.venues__venueCopy h2{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(23px,2.3vw,36px);font-weight:400!important;letter-spacing:-.025em!important;line-height:1.3!important;color:var(--venue-accent);max-width:520px}
.venues__venueCopy>p{font-size:15px;line-height:1.9;color:var(--venue-muted);margin:25px 0 32px!important;max-width:510px}
.venues__venueVisual{position:relative;min-height:500px;overflow:hidden;background:var(--venue-surface)}.venues__venueVisual>img{object-fit:cover}
.venues__brandArtwork{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:50px 5vw 32px;background:radial-gradient(ellipse at 50% 100%,color-mix(in srgb,var(--venue-accent) 10%,transparent),transparent 70%)}
.venues__brandArch{border:1px solid color-mix(in srgb,var(--venue-accent) 40%,transparent);border-radius:240px 240px 0 0;width:100%;max-width:410px;min-height:360px;display:flex;align-items:center;justify-content:center;padding:50px 40px;color:var(--venue-accent);position:relative}
.venues__brandArch:after{content:'';position:absolute;inset:12px;border:1px solid color-mix(in srgb,var(--venue-accent) 16%,transparent);border-radius:240px 240px 0 0;pointer-events:none}
.venues__brandArch>.venues__monoLogo{height:230px}.venues__brandArtwork>span{font-size:9px;letter-spacing:.17em;margin-top:33px;color:var(--venue-muted);text-align:center;line-height:1.8}
.venues__actions{display:flex;align-items:center;gap:23px;flex-wrap:wrap}.venues__solidAction,.venues__lineAction{display:inline-flex;align-items:center;justify-content:space-between;gap:23px;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;min-height:45px;line-height:1.5}
.venues__solidAction{padding:14px 20px;background:var(--venue-ink);color:var(--venue-bg)!important;border:1px solid var(--venue-ink)}.venues__solidAction:hover{background:var(--venue-accent);border-color:var(--venue-accent)}
.venues__lineAction{border-bottom:1px solid currentColor;padding:10px 0}.venues__lineAction:hover svg{transform:translate(2px,-2px)}
.venues__experience{padding:80px 6vw 88px;border-top:1px solid color-mix(in srgb,var(--venue-ink) 14%,transparent)}
.venues__sectionHeading{margin-bottom:44px}.venues__sectionHeading>span{color:var(--venue-accent,#8d795c)}.venues__sectionHeading h2{font-size:clamp(30px,3.4vw,50px);max-width:680px;margin-top:20px!important}.venues__sectionHeading>p{max-width:600px;margin-top:20px!important;line-height:1.8;color:var(--venue-muted,#607079)}
.venues__experienceGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:44px}.venues__experienceGrid>div{border-top:1px solid color-mix(in srgb,var(--venue-ink) 20%,transparent);padding-top:18px}.venues__experienceGrid>div>span{font-size:10px;letter-spacing:.13em;color:var(--venue-accent)}.venues__experienceGrid h3{font-size:28px;margin:21px 0 15px!important}.venues__experienceGrid p{font-size:14px;color:var(--venue-muted);line-height:1.85;max-width:380px}
.venues__piazzaCollection{background:var(--venue-surface);padding:65px 0 0}.venues__piazzaCollection>.venues__sectionHeading{padding:0 6vw}.venues__piazzaCollection .venues__directory{background:transparent}
.venues__gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;padding:0 6vw 70px}.venues__gallery figure:only-child{grid-column:1/-1;max-width:950px;width:100%;margin:auto!important}.venues__gallery figure>div{position:relative;aspect-ratio:1.35}.venues__gallery img{object-fit:cover}.venues__gallery figcaption{font-size:11px;color:var(--venue-muted);margin-top:15px}
.venues__venueVisit{display:grid;grid-template-columns:1.2fr 1fr;gap:70px;padding:66px 6vw;background:var(--venue-surface)}.venues__venueVisit>div>span{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--venue-accent)}.venues__venueVisit h2{font-size:clamp(30px,4vw,55px);margin:20px 0!important}.venues__venueVisit p{font-size:14px;line-height:1.8;color:var(--venue-muted);max-width:500px}.venues__venueVisit nav{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:13px}.venues__venueVisit nav a{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid color-mix(in srgb,var(--venue-ink) 35%,transparent);padding:7px 0;font-size:12px;min-width:180px}
.venues__nextPlaces{padding:40px 6vw;text-align:center}.venues__nextPlaces>span{font-size:9px;letter-spacing:.15em;color:var(--venue-muted)}.venues__nextPlaces nav{display:flex;flex-wrap:wrap;justify-content:center;gap:20px;margin-top:25px}.venues__nextPlaces a{font-size:12px;display:inline-flex;align-items:center;gap:8px}
.venues__footerPlaces{display:flex;gap:19px;flex-wrap:wrap;font-size:11px;opacity:.78;padding:0 0 30px;border-bottom:1px solid #ffffff25;margin-bottom:24px}
.venues__aboutSection{display:grid;grid-template-columns:1fr 1fr;background:#fff;min-height:630px}.venues__aboutPhoto{position:relative;min-height:550px;background:#eae5df}.venues__aboutPhoto img{object-fit:cover;object-position:center 26%}.venues__aboutText{align-self:center;padding:65px 6vw;color:#0b293d}.venues__aboutText>span{color:#8b785d}.venues__aboutText h2{font-size:clamp(32px,3.5vw,53px);margin:20px 0 26px!important}.venues__aboutText>p{font-size:15px;line-height:1.9;color:#5c6e76;margin:0 0 20px!important}.venues__aboutClosing{padding:70px 6vw;text-align:center;background:#f4f0e8;color:#0b293d}.venues__aboutClosing h2{font-size:clamp(35px,4.5vw,65px);margin-bottom:20px!important}.venues__aboutClosing p{font-size:15px;color:#5b6f76;margin-bottom:25px!important}
.venues__visitDirectory{padding:20px 6vw 80px;background:#fff}.venues__visitRow{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;padding:42px 0;border-bottom:1px solid #d5dcda}.venues__visitRow h2{font-size:32px;margin-bottom:10px!important}.venues__visitRow p{font-size:14px;color:#5b7079;line-height:1.8}.venues__visitRow nav{display:flex;gap:13px 28px;flex-wrap:wrap;margin-top:18px}.venues__visitRow nav a{font-size:12px;border-bottom:1px solid #9aa7aa;padding:6px 0}
.venues__momentGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding:65px 6vw 80px}.venues__moment{padding:25px 0;border-top:1px solid #b8b5a8}.venues__moment>span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:#887454}.venues__moment h2{font-size:clamp(26px,2.5vw,38px);margin:25px 0 18px!important}.venues__moment>p{font-size:15px;line-height:1.8;color:#607079;margin-bottom:25px!important}.venues__moment>a{display:inline-flex;align-items:center;gap:16px;border-bottom:1px solid #9da6a6;padding:10px 0;font-size:11px}
.venues__menuDialog{inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;border:0;padding:0;color:#0b293d;background:#f5f1e8;overflow-y:auto}.venues__menuDialog::backdrop{background:#0b293d55}.venues__menuTop{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:112px;padding:0 5.5vw;border-bottom:1px solid #d8d8cc;background:#fff}.venues__menuTop>button{background:none;border:0;justify-self:start;cursor:pointer;min-height:44px}.venues__menuTop>span{justify-self:end;font-size:10px;letter-spacing:.1em}.venues__menuGrid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:55px 8vw 70px}.venues__menuPrimary,.venues__menuPlaces{display:flex;flex-direction:column;align-items:stretch;justify-content:center}.venues__menuPrimary h2,.venues__menuPlaces h2{font-size:10px;font-weight:600;letter-spacing:.16em;margin-bottom:30px}.venues__menuPrimary>a{font-size:clamp(24px,3.2vw,45px);font-weight:300;letter-spacing:-.03em;padding:8px 0;line-height:1.3}.venues__menuPrimary>a:hover{color:#8d795d}.venues__menuPrimary .venues__menuOrder{display:inline-flex;align-items:center;gap:15px;margin-top:25px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.venues__menuPlaces>a{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid #d6d2c6;font-size:23px;line-height:1.3}.venues__menuPlaces small{display:block;font-size:10px;letter-spacing:.06em;color:#687980;margin-top:5px}.venues__menuPlaces a:hover{color:#8d795d}
@media(max-width:1000px){.venues__venueNavigation{justify-content:flex-start;gap:23px}.venues__venueCopy{padding:35px 5vw 45px}.venues__venueHero{min-height:580px}.venues__brandArch{padding:35px 28px;min-height:320px}.venues__back{margin-bottom:38px}.venues__actions{gap:18px}.venues__experienceGrid{gap:25px}}
@media(max-width:760px){.venues__pageHead{padding:60px 7vw 45px}.venues__pageHead>p{font-size:15px}.venues__directory{padding:10px 7vw 55px}.venues__directoryToolbar{display:block}.venues__directoryToolbar label{display:block}.venues__directoryToolbar input{width:100%;margin:8px 0 15px}.venues__directoryToolbar>p{font-size:11px}.venues__placeGrid{grid-template-columns:1fr;gap:28px}.venues__cardBrand{padding:40px}.venues__cardVisual{aspect-ratio:1.4}.venues__cardCaption h2{font-size:26px!important}.venues__cardBrand>.venues__monoLogo{max-height:170px}.venues__venueNavigation{gap:22px;padding:15px 7vw}.venues__venueHero{grid-template-columns:1fr}.venues__venueCopy{padding:34px 7vw 43px}.venues__back{margin-bottom:35px}.venues__venueCopy h1{font-size:clamp(40px,12vw,65px)}.venues__venueCopy h2{font-size:28px}.venues__venueCopy>p{font-size:14px}.venues__venueVisual{min-height:380px}.venues__brandArtwork{padding:25px 9vw}.venues__brandArch{min-height:280px;max-width:290px;padding:30px}.venues__brandArch>.venues__monoLogo{height:180px}.venues__brandArtwork>span{font-size:8px;margin-top:22px}.venues__experience{padding:55px 7vw}.venues__experienceGrid{grid-template-columns:1fr;gap:26px}.venues__experienceGrid h3{font-size:25px;margin-top:14px!important}.venues__experienceGrid p{max-width:100%}.venues__sectionHeading{margin-bottom:32px}.venues__gallery{grid-template-columns:1fr;padding:0 7vw 50px;gap:30px}.venues__venueVisit{grid-template-columns:1fr;gap:25px;padding:50px 7vw}.venues__nextPlaces{padding:35px 7vw}.venues__nextPlaces nav{gap:20px}.venues__nextPlaces a{font-size:11px}.venues__aboutSection{grid-template-columns:1fr}.venues__aboutPhoto{min-height:450px}.venues__aboutText{padding:45px 7vw}.venues__aboutClosing{padding:50px 7vw}.venues__visitDirectory{padding:0 7vw 50px}.venues__visitRow{grid-template-columns:1fr;gap:14px;padding:30px 0}.venues__visitRow h2{font-size:28px}.venues__momentGrid{grid-template-columns:1fr;gap:15px;padding:30px 7vw 45px}.venues__moment h2{font-size:31px}.venues__menuTop{min-height:92px;padding:0 7vw}.venues__menuTop>span{display:none}.venues__menuGrid{grid-template-columns:1fr;gap:35px;padding:30px 8vw 50px}.venues__menuPrimary>a{font-size:28px}.venues__menuPrimary h2,.venues__menuPlaces h2{margin-bottom:20px}.venues__menuPrimary .venues__menuOrder{margin-top:15px}.venues__menuPlaces>a{font-size:23px}.venues__footerPlaces{line-height:1.9;gap:12px 24px}.venues__piazzaCollection{padding-top:45px}}
@media(prefers-reduced-motion:reduce){.venues__cardVisual>img{transition:none}.venues__placeCard:hover .venues__cardVisual>img{transform:none}}
