@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#213c3d;--cream:#f6f3ec;--rust:#a7452f;--line:#d5d6cc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font:15px/1.65 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c46b39;outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:500;line-height:1.12;letter-spacing:-.045em}h2{font-size:clamp(34px,4vw,58px);margin-bottom:24px}h3{font-size:26px}button{color:inherit}section[id]{scroll-margin-top:20px}.skip{position:absolute;top:-100px;z-index:10;background:white;padding:15px}.skip:focus{top:0}.announcement{background:var(--ink);color:white;text-align:center;font-size:12px;padding:10px 24px}.announcement a{text-decoration:underline;margin-left:12px}.announcement>span{font-size:9px;letter-spacing:.13em;margin-left:40px;opacity:.7}header{height:106px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:24px}.wordmark{font-size:38px;letter-spacing:-2px;font-weight:700;line-height:1}.wordmark span{display:block;font-size:9px;letter-spacing:.23em;text-align:center;margin-top:10px;font-weight:500}nav{display:flex;gap:30px;font-size:13px}nav a:hover{text-decoration:underline}.button{background:var(--ink);color:white;padding:16px 24px;display:inline-flex;justify-content:center;align-items:center;border:1px solid var(--ink);font-size:13px;white-space:nowrap}.button:hover{background:#365757}.menu-toggle{display:none}.hero{position:relative;height:570px;background:#32494b;color:white;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 55%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071719ab,#07171914)}.hero-content{position:absolute;left:7%;top:17%;z-index:1}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.19em;margin-bottom:25px}h1{font-size:clamp(45px,5.8vw,82px);max-width:900px;margin-bottom:24px}.hero-content>p:not(.eyebrow){font-size:16px}.text-link{display:inline-flex;border:0;border-bottom:1px solid currentColor;padding:10px 0;background:transparent;font-size:13px;gap:30px;justify-content:space-between}.hero-caption{position:absolute;z-index:1;right:35px;bottom:36px;font-size:9px;letter-spacing:.16em}.booking{margin:-1px 5% 0;position:relative;padding:27px 22px;display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr auto;gap:24px;border-bottom:1px solid var(--line);align-items:center}.booking-intro{font:26px Manrope,sans-serif;letter-spacing:-1px}.booking-intro small{display:block;font:8px 'DM Sans',sans-serif;letter-spacing:.13em;margin-top:10px}.booking label{font-size:9px;letter-spacing:.14em;border-left:1px solid var(--line);padding-left:22px}.booking input,.booking select{display:block;width:100%;border:0;background:transparent;color:var(--ink);margin-top:7px;font-size:14px;min-height:30px}.error{color:#ac2a22;grid-column:1/-1;margin:0}.error:empty{display:none}.section{padding:90px 7%}.intro{position:relative;text-align:center;max-width:1100px;margin:auto;padding-bottom:100px}.intro>p:not(.eyebrow){max-width:580px;margin:0 auto;color:#596766}.seal{display:block;margin:30px auto 0;border:1px solid #9aa5a0;border-radius:50%;width:75px;height:75px;line-height:75px;font-size:12px;transform:rotate(-15deg)}.rooms{background:#eceee7}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading>p{color:#596766;max-width:350px;font-size:14px}.availability{font-size:12px;margin:18px 0 28px}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.room-image{height:285px;position:relative;overflow:hidden}.room-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.room-card:hover img{transform:scale(1.035)}.room-image>span{position:absolute;bottom:14px;left:14px;background:var(--cream);font-size:8px;letter-spacing:.1em;padding:7px 10px}.room-title{margin-top:24px;display:flex;align-items:center;justify-content:space-between;gap:10px}.room-title h3{font-size:23px;margin:0}.room-title>span{font-size:10px;white-space:nowrap}.room-card p{font-size:12px;margin:13px 0;color:#596766}.room-card .text-link{width:100%}.amenities{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #c8cec6;margin-top:45px;padding-top:25px;font-size:11px}.amenities span:before{content:'✧';margin-right:10px}.split{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--cream)}.split>img{width:100%;height:590px;object-fit:cover}.split>div{padding:90px 14%;align-self:center}.split p{font-size:14px}.split .eyebrow,.split .detail{font-size:9px}.split .detail{margin:30px 0;letter-spacing:.08em}.neighborhood{display:grid;grid-template-columns:1fr 1fr;gap:12%}.neighborhood>div>p:not(.eyebrow){max-width:450px;font-size:14px;color:#596766}.places{align-self:center}.places article{display:flex;gap:25px;padding:30px 0;border-bottom:1px solid var(--line);align-items:center}.places article>span{font-size:11px;color:var(--rust)}.places article>div{flex:1}.places h3{font-size:22px;margin-bottom:10px}.places p{font-size:12px;margin:0;color:#596766}.offers{background:#e7dfd1;text-align:center}.offer-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin-top:50px;text-align:left}.offer-grid article{border-top:1px solid #b5b4a6;padding-top:24px}.offer-grid article>span{font-size:10px;letter-spacing:.13em}.offer-grid h3{font-size:32px;margin:20px 0}.offer-grid p{font-size:14px}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.faq h2{font-size:40px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:14px}details p{font-size:13px;color:#596766;margin:15px 0 0}footer{background:var(--ink);color:var(--cream);padding:65px 7% 25px;display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}footer>p{font-family:Manrope,sans-serif;font-size:24px;margin:0}footer>a:not(.wordmark){font-size:13px;border-bottom:1px solid}.footer-bottom{width:100%;display:flex;justify-content:space-between;border-top:1px solid #ffffff30;padding-top:23px;margin-top:30px;font-size:10px;color:#c3ceca}dialog{border:0;background:var(--cream);color:var(--ink);width:min(540px,92vw);padding:40px;max-height:90vh;overflow:auto}dialog::backdrop{background:#102628b8}dialog h2{font-size:35px}.close{position:absolute;right:15px;top:8px;font-size:30px;border:0;background:none}.summary-line{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:10px 0;font-size:14px}.summary-total{font-size:19px;font-weight:700}.demo-note{font-size:12px;background:#e6e8df;padding:14px;margin:22px 0}.package-label{display:block;margin:20px 0;font-size:13px}.package-label select{display:block;padding:10px;margin-top:5px;width:100%;background:white;border:1px solid var(--line)}#confirm-booking{width:100%}.success-mark{font-size:40px;color:#41715d}.confirmation{overflow-wrap:anywhere}[hidden]{display:none!important}@media(max-width:1000px){nav{gap:18px}.booking{grid-template-columns:1fr 1fr 1fr auto}.booking-intro{display:none}.room-title{display:block}.room-title h3{margin-bottom:9px}.room-image{height:230px}.split>div{padding:50px 12%}.section{padding:65px 6%}}@media(max-width:700px){.announcement{font-size:10px}.announcement>span{display:none}header{height:88px;padding:0 5%;gap:15px}.wordmark{font-size:29px}.wordmark span{font-size:7px}header>.button{padding:12px;font-size:11px}.menu-toggle{display:block;border:0;background:none;font-size:12px;margin-left:auto}nav{display:none;position:absolute;top:125px;left:0;right:0;padding:25px;background:var(--cream);z-index:5;box-shadow:0 10px 20px #0002}nav.open{display:flex;flex-wrap:wrap;justify-content:center}.hero{height:510px}.hero-content{left:7%;right:7%;top:17%}.hero-content>p:not(.eyebrow){max-width:260px;font-size:14px}.hero-caption{left:7%;bottom:28px;font-size:8px}.booking{grid-template-columns:1fr 1fr;margin:0;padding:22px 5%;gap:18px}.booking label{padding-left:0;border-left:0}.booking>.button{min-height:51px}.section-heading{display:block}.room-grid{grid-template-columns:1fr;gap:40px}.room-image{height:320px}.room-title{display:flex}.room-title h3{margin:0}.amenities{display:grid;grid-template-columns:1fr 1fr}.split,.neighborhood,.faq{grid-template-columns:1fr}.split>img{height:330px}.split>div{padding:50px 7%}.neighborhood{gap:30px}.offer-grid{grid-template-columns:1fr;gap:40px}.faq{gap:10px}footer{align-items:start}footer>p{display:none}.footer-bottom{flex-direction:column;gap:12px}dialog{padding:32px 24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Dedicated deals page */
nav a[aria-current="page"]{text-decoration:underline;text-underline-offset:6px}
.selected-offer{margin:0;padding:14px 7%;background:#e7dfd1;font-size:13px}
.deals-intro{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:7%;padding-top:45px;padding-bottom:65px}
.deals-intro h1{font-size:clamp(42px,5.2vw,72px)}
.deals-intro p:not(.eyebrow){max-width:430px;color:#596766}
.deals-intro img{width:100%;height:440px;object-fit:cover}
.deal-list{background:#eceee7;padding-top:30px;padding-bottom:45px}
.deal-card{display:grid;grid-template-columns:1fr 1.8fr;gap:8%;padding:60px 0;border-bottom:1px solid var(--line)}
.deal-number{background:var(--ink);color:var(--cream);padding:35px;display:flex;flex-direction:column;justify-content:space-between;min-height:320px;align-self:start}
.deal-number>span{font-size:10px;letter-spacing:.14em}
.deal-number strong{font:500 85px/1.1 Manrope,sans-serif;letter-spacing:-.05em}
.deal-number small{display:block;font:9px/1.6 'DM Sans',sans-serif;letter-spacing:.15em;margin-top:18px}
.breakfast-number{background:#d9c7af;color:var(--ink)}
.deal-copy h2{font-size:38px}.deal-copy>p,.deal-copy li{font-size:14px}.deal-copy ul{padding-left:18px;margin:24px 0}.deal-copy li{margin:7px 0}.deal-copy details{margin-top:15px}
.deals-disclaimer{max-width:700px;font-size:12px;margin:30px auto 0;text-align:center;color:#596766}
.deal-help{display:flex;justify-content:space-between;align-items:center;gap:35px}.deal-help h2{font-size:38px}.deal-help p:last-child{margin:0;font-size:14px}
@media(max-width:700px){.deals-intro{grid-template-columns:1fr;gap:35px}.deals-intro img{height:250px}.deal-card{grid-template-columns:1fr;gap:30px;padding:35px 0}.deal-number{min-height:230px}.deal-number strong{font-size:70px}.deal-copy h2{font-size:32px}.deal-help{display:block}.deal-help .button{margin-top:25px}}

/* Published deals reuse the hotel photography, with pricing beside the terms. */
.deal-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;align-self:start}
.deal-copy .deal-price{font:500 28px/1.3 Manrope,sans-serif;margin:0 0 22px;color:var(--ink)}
