@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
:root{--ink:#102f34;--gold:#ddc295;--paper:#f5f4ef;--line:#d9ded9}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--paper);border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:27px;letter-spacing:3px;line-height:1.2;white-space:nowrap}.brand span{display:block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:4px;margin-top:9px}nav{display:flex;align-items:center;gap:34px;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;background:var(--ink);color:white;padding:17px 24px;font-size:14px}.button:hover{filter:brightness(1.18)}.small{padding:12px 20px}.gold{background:var(--gold);color:var(--ink)}.menu{display:none}.hero{display:grid;grid-template-columns:57% 43%;min-height:710px;background:var(--ink);color:white}.hero-copy{padding:70px 9% 25px}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2.2px;margin:0 0 22px}.hero .eyebrow{color:var(--gold)}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;letter-spacing:-1.5px;line-height:1.05;margin:0 0 30px}h1{font-size:clamp(48px,5vw,78px)}em{font-weight:400;color:#b29160}h1 em{color:var(--gold)}.intro{max-width:390px;color:#c6d0cf;margin:25px 0 30px}.text-link{display:inline-block;font-size:14px;margin:20px 20px 0 0}.hero-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff28;padding-top:24px;margin-top:58px;font-size:10px;letter-spacing:1.7px}.hero-image{position:relative;min-height:640px;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover;position:absolute}.image-label{position:absolute;bottom:0;padding:40px;width:100%;background:linear-gradient(transparent,#000b)}.image-label span{font-size:10px;letter-spacing:2px}.image-label p{font:36px/1.15 Georgia,serif;margin:18px 0 0}.amenities{padding:35px 5%;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.amenities div{padding-left:24px;border-left:1px solid var(--line)}.amenities b,.amenities span{display:block}.amenities b{font-size:16px;font-weight:500}.amenities span{font-size:13px;color:#61716f}.section{padding:100px 8%}h2{font-size:clamp(43px,4.5vw,66px)}.stay{display:grid;grid-template-columns:1fr 1fr;gap:10%}.stay-right p{color:#5c6c69}.stay-right .large{font-size:23px;color:var(--ink);line-height:1.45;margin-top:0}.feature{display:flex;gap:22px;border-top:1px solid var(--line);padding:20px 0}.feature>span{font-size:13px;color:#9a7847}.feature h3{font-size:17px;margin:0}.feature p{font-size:15px;margin:7px 0}.underline{display:inline-block;border-bottom:1px solid;padding:5px 0;font-size:14px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}.section-heading>p{color:#5c6c69}.dining{background:#e9eeea}.dining-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:30px}.pallete{padding:42px;background:#472b30;color:#eee5db;display:flex;flex-direction:column;justify-content:space-between;min-height:590px}.venue-name{font:76px/1.1 'Libre Caslon Display',Georgia,serif;margin:40px 0 30px}.venue-name span{font:14px 'DM Sans',Arial,sans-serif;display:block;letter-spacing:3px;margin-top:16px}.pallete div>p:not(.venue-name){max-width:330px;color:#dccdca}.venue-number{font-size:11px;letter-spacing:2px;margin-top:30px}.skyline{background:var(--paper)}.skyline img{width:100%;height:310px;object-fit:cover;object-position:center 56%;display:block}.skyline>div{padding:30px 36px}.skyline h3{font:42px/1.1 'Libre Caslon Display',Georgia,serif;margin:0}.skyline .eyebrow{margin-bottom:12px}.skyline p:not(.eyebrow){color:#5c6c69}.events{background:var(--ink);color:#eaf0ed;display:grid;grid-template-columns:1fr 1.3fr;gap:13%;align-items:center}.events p:not(.eyebrow){color:#c0cdca;max-width:520px}.events em{color:var(--gold)}.event-mark{font:140px Georgia,serif;color:var(--gold);text-align:center;border:1px solid #ddc29566;outline:1px solid #ddc29533;outline-offset:12px;padding:50px 10px}.event-mark span{display:block;font:12px Arial,sans-serif;letter-spacing:4px;margin-top:15px}.events .button{margin-top:20px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact>div>p:not(.eyebrow){max-width:390px;color:#5c6c69}.location{font-size:14px;margin-top:35px}.contact-card{padding:42px;border:1px solid #c9cec7;align-self:center}.phone{font:clamp(24px,2.5vw,35px) Georgia,serif}.contact-card .button{display:flex;margin:30px 0 20px}footer{padding:38px 5%;background:#092328;color:#e7eee9;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p,footer>a:last-child{font-size:13px;color:#b3c1bd}a:focus-visible,button:focus-visible{outline:3px solid #b48b48;outline-offset:5px}@media(max-width:900px){header{height:85px}nav{gap:18px}nav>a:not(.button){display:none}.hero-copy{padding:50px 8% 25px}.hero{min-height:620px}.hero-image{min-height:620px}.hero-bottom{font-size:9px}.section{padding:70px 6%}.amenities{grid-template-columns:repeat(2,1fr);gap:24px}.events{gap:8%}.event-mark{font-size:100px}.contact{gap:6%}.contact-card{padding:26px}}@media(max-width:600px){header{padding:0 6%}.brand{font-size:23px}.menu{display:block;border:0;background:none;font-size:24px;color:var(--ink)}nav{display:none;position:absolute;top:85px;left:0;right:0;z-index:4;background:var(--paper);padding:25px}nav.open{display:flex;flex-direction:column;align-items:stretch}nav.open>a{display:block}.hero{grid-template-columns:1fr}.hero-copy{padding:45px 7% 25px}h1{font-size:51px}.hero-image{min-height:400px;max-height:400px}.hero-image img{object-position:center 47%}.hero-bottom{margin-top:32px}.image-label{padding:25px}.image-label p{font-size:28px}.amenities{padding:28px 6%;gap:22px}.amenities div{padding-left:12px}.amenities b{font-size:14px}.amenities span{font-size:12px}.stay,.contact,.events{grid-template-columns:1fr;gap:32px}.section{padding:58px 7%}.section-heading{display:block}.dining-grid{grid-template-columns:1fr}.pallete{min-height:500px;padding:30px}.event-mark{font-size:85px;padding:35px;max-width:270px;margin:0 auto 25px;width:100%}.contact-card{padding:25px}.phone{font-size:29px}footer{flex-wrap:wrap}footer p{width:100%;order:3;margin:0}h2{font-size:48px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero-image img{object-position:center center}.image-label{padding:24px 30px}.image-label p{font-size:28px}@media(max-width:600px){.hero-image{min-height:0;max-height:none;aspect-ratio:1086/1448}.hero-image img{object-position:center center}}

/* Property photography */
figure{margin:0;min-width:0}figcaption{font-size:14px;padding:14px 0;color:#526561}.photo-grid{display:grid;gap:26px}.photo-grid img{width:100%;display:block;object-fit:cover;aspect-ratio:3/2}.rooms,.events-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.details,.dining-views{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:30px}.room-gallery{padding-top:0}.arrival{display:grid;grid-template-columns:1fr 1.1fr;gap:7%;align-items:center;padding-bottom:20px}.arrival>img{width:100%;aspect-ratio:4/3;object-fit:cover}.pallete{padding:0;overflow:hidden;justify-content:flex-start}.pallete>.venue-photo{width:100%;height:310px;object-fit:cover}.pallete>.eyebrow{margin:30px 36px 0}.pallete>div{padding:0 36px}.venue-name{font-size:58px;margin:20px 0}.pallete>.venue-number{margin:25px 36px 30px}.skyline>img{height:310px}.dining-views img{aspect-ratio:16/10}.event-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}.events{grid-template-columns:1.1fr 1fr;gap:7%;padding-bottom:45px}.event-gallery{padding-top:0;background:var(--ink);color:white}.event-gallery figcaption{color:#c7d3cf}.grand-sign{display:flex;align-items:center;gap:25px;margin-top:36px}.grand-sign img{height:110px;width:80px;object-fit:cover}.grand-sign p{letter-spacing:3px;font-size:14px}.grand-sign span{letter-spacing:0;color:var(--gold)}.passage{grid-template-columns:repeat(4,minmax(0,1fr))}.passage img{aspect-ratio:3/4}.hotel-details{background:#e9eeea}.hero-image img{object-position:center}.hero-image .image-label{background:linear-gradient(transparent,#000b)}
@media(max-width:700px){.arrival{grid-template-columns:1fr}.rooms,.events-photos{grid-template-columns:1fr}.details,.dining-views,.passage{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.pallete>.venue-photo,.skyline>img{height:auto;aspect-ratio:3/2}.events{grid-template-columns:1fr}.event-photo img{aspect-ratio:3/2}.event-gallery{padding-top:20px}.photo-grid figcaption{font-size:13px}.arrival h2{font-size:42px}}

/* Consistent corporate typography */
:root{--font-corporate:'Inter','Segoe UI',Arial,sans-serif}
body,button,input,select,textarea,.brand,.brand span,h1,h2,h3,.image-label p,.venue-name,.venue-name span,.event-mark,.event-mark span,.phone{font-family:var(--font-corporate)}
body{font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2{font-weight:500;letter-spacing:-.035em;line-height:1.12}
h1{font-size:clamp(42px,4.5vw,68px)}h2{font-size:clamp(36px,3.8vw,54px)}
h1 em,h2 em{font-style:normal;font-weight:400}
.brand{font-weight:600;font-size:25px;letter-spacing:.16em}.brand span{font-weight:500;font-size:12px;letter-spacing:.25em}
nav,.button,.underline,.text-link{font-weight:500;font-size:14px}.eyebrow{font-weight:600;font-size:12px;letter-spacing:.15em}
.image-label p{font-weight:500;font-size:27px;line-height:1.25;letter-spacing:-.025em}
.venue-name{font-size:52px;font-weight:500;letter-spacing:-.035em}.venue-name span{font-size:14px;font-weight:500;letter-spacing:.08em}
.skyline h3{font-family:var(--font-corporate);font-size:36px;font-weight:500;letter-spacing:-.03em;line-height:1.2}
.phone{font-size:clamp(22px,2.2vw,31px);font-weight:500;letter-spacing:-.03em}
figcaption{font-weight:500}footer p,footer>a:last-child{font-size:14px}
@media(max-width:600px){h1{font-size:43px}h2,.arrival h2{font-size:37px}.brand{font-size:21px}.brand span{font-size:12px}.phone{font-size:24px}.venue-name{font-size:46px}.skyline h3{font-size:32px}}

/* Uncropped day and night exterior views */
.hero-image.building-view{display:flex;flex-direction:column;min-height:0;max-height:none;aspect-ratio:auto;background:#081e23;overflow:visible}
.building-frame{height:640px;width:100%;position:relative;flex:1;min-height:600px}
.hero-image .building-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.building-controls{position:relative;padding:18px 22px;background:#081e23;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.building-controls>span{font-size:12px;letter-spacing:.1em;color:#ddc295}.building-controls>div{display:flex;gap:8px}.building-controls button{padding:9px 13px;border:1px solid #6d8081;color:#edf1ef;background:transparent;font-family:var(--font-corporate);font-size:14px;cursor:pointer}.building-controls button[aria-pressed="true"]{background:#ddc295;color:#102f34;border-color:#ddc295}.building-controls a{font-size:14px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.building-frame{flex:auto;min-height:0;height:auto;aspect-ratio:9/16}.building-controls{padding:18px 7%}.hero-image.building-view{min-height:0;max-height:none;aspect-ratio:auto}}

.booking{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;background:#e9eeea}.booking-note{padding:20px;border-left:3px solid #b29160;font-size:15px}.booking-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-fields label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:500}.booking-fields input,.booking-fields select,.booking-fields textarea{width:100%;min-width:0;border:1px solid #9eaca7;background:#fff;padding:12px;font:16px var(--font-corporate);color:#102f34;border-radius:0}.booking-fields .wide{grid-column:1/-1}.booking form>.button{border:0;cursor:pointer}.form-help,#stay-summary,#booking-status{font-size:14px}.form-help{color:#526561}.map-section{padding:0 8% 80px;display:grid;grid-template-columns:1fr 1.5fr;gap:6%;align-items:center}.map-section iframe{width:100%;height:440px;border:1px solid #c9cec7}.map-section p{max-width:420px}@media(max-width:700px){.booking,.map-section{grid-template-columns:1fr;gap:30px}.booking-fields{gap:14px}.map-section{padding:0 7% 60px}.map-section iframe{height:360px}}@media(max-width:380px){.booking-fields{grid-template-columns:1fr}.booking-fields .wide{grid-column:auto}}

/* Supplied hotel identity */
.logo-brand{display:block;width:180px;height:92px;overflow:hidden;background:white;flex-shrink:0;position:relative}.logo-brand img{display:block;width:180px;height:auto;position:absolute;top:50%;transform:translateY(-50%)}header{min-height:110px;height:110px}footer .logo-brand{width:190px;height:132px}footer .logo-brand img{width:190px}@media(max-width:600px){header{height:100px;min-height:100px}.logo-brand{width:155px;height:90px}.logo-brand img{width:155px}nav{top:100px}}
.logo-brand img{width:100%;height:100%;object-fit:contain;position:static;transform:none}footer .logo-brand img,.logo-brand img{width:100%}
/* Blend the logo canvas into the existing cream surface. */
.logo-brand{background:var(--paper);isolation:isolate}.logo-brand img{mix-blend-mode:multiply}

/* Separate hero actions and responsive exterior slideshow. */
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px 28px;margin-top:30px}.hero-actions .button,.hero-actions .text-link{margin:0;flex-shrink:0}.hero-actions .text-link{padding:12px 0}.hero-copy{min-width:0}.building-frame{overflow:hidden}.building-track{position:absolute;inset:0;display:flex;transition:transform 900ms ease-in-out;will-change:transform}.building-slide{flex:0 0 100%;height:100%;position:relative;min-width:0}.building-controls{min-width:0}.building-controls>div{flex-wrap:wrap}@media(max-width:600px){.hero-actions{gap:14px 24px}.hero-actions .button{padding:16px 24px}}@media(prefers-reduced-motion:reduce){.building-track{transition:none}}
/* Larger, left-aligned complete logo including hotel name. */
header{height:140px;min-height:140px}.logo-brand{width:220px;height:128px;text-align:left;margin-left:0;align-self:center}.logo-brand img{object-fit:contain;object-position:left center;width:100%;height:100%}footer .logo-brand{width:230px;height:150px}footer .logo-brand img{width:100%;object-position:left center}
@media(max-width:900px){header nav{gap:16px}}@media(max-width:600px){header{height:122px;min-height:122px}.logo-brand{width:190px;height:112px}header nav{top:122px}footer .logo-brand{width:210px;height:140px}}

.map-hotel-name{font-weight:600;border-left:4px solid #b29160;padding-left:18px;color:var(--ink);font-size:clamp(32px,3.3vw,46px)}.map-location-label{font-size:13px;font-weight:600;letter-spacing:.09em;color:#745726}

/* Multipage navigation and typographic footer identity. */
.footer-wordmark{font-family:var(--font-corporate);font-size:clamp(27px,3vw,38px);font-weight:700;letter-spacing:.12em;line-height:1.2;color:#ddc295;white-space:nowrap}nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:7px}.single-venue{max-width:1000px;margin:30px auto}.single-venue .venue-photo,.single-venue .skyline>img{height:auto;max-height:600px;object-fit:cover}.venue-detail-link{margin:20px 36px 30px}.single-venue .pallete{padding-bottom:20px}@media(min-width:601px) and (max-width:1150px){header{padding:0 3%}header nav{gap:13px}.logo-brand{width:170px}}@media(min-width:601px) and (max-width:900px){nav>a:not(.button){display:block}header nav{font-size:12px;gap:9px}.logo-brand{width:130px}header .button.small{padding:10px 12px}}@media(max-width:600px){.footer-wordmark{font-size:28px;white-space:normal}}
/* Compact header: remove excess vertical space around the brand. */
header{height:100px;min-height:100px;padding-top:0;padding-bottom:0}header .logo-brand{width:180px;height:94px}header .logo-brand img{object-fit:contain;object-position:left center}@media(min-width:601px) and (max-width:900px){header .logo-brand{width:130px;height:90px}}@media(max-width:600px){header{height:88px;min-height:88px}header .logo-brand{width:155px;height:82px}header nav{top:88px}}
