/* Shared footer, legal pages and consent. Existing brand tokens remain canonical. */
.cm-footer{background:#342922;color:#f6eee5;padding:64px clamp(24px,6vw,110px) 24px;position:relative;isolation:isolate}
.cm-footer-main{display:grid;grid-template-columns:1.25fr 1fr .7fr;gap:clamp(30px,5vw,95px);padding-bottom:46px}
.cm-footer a,.cm-footer button{color:inherit}.cm-footer-brand{display:flex;align-items:center;gap:17px;width:fit-content}.cm-footer-brand img{object-fit:contain;width:70px;height:70px}.cm-footer-brand>span{font:400 27px/1.1 var(--display)}.cm-footer-brand small{display:block;font:500 9px/1.5 var(--sans);text-transform:uppercase;letter-spacing:.13em;margin-top:9px;color:#d1bda9}
.cm-footer-intro>p{font:400 clamp(36px,4vw,57px)/1.08 var(--display);margin:30px 0 24px;letter-spacing:-.025em}.cm-footer-intro>p em{color:#cfb58b;font-weight:400}.cm-footer-book{font:500 12px/1.5 var(--sans);display:flex;align-items:center;gap:20px;width:fit-content;border-bottom:1px solid #8c7765;padding-bottom:10px}.cm-footer-book svg{transition:transform .25s}.cm-footer-book:hover svg{transform:translateX(5px)}
.cm-footer h2{font:600 10px/1.6 var(--sans);text-transform:uppercase;letter-spacing:.17em;color:#d1bda9;margin:9px 0 26px}.cm-footer-contact address{font-style:normal;margin-bottom:24px}.cm-footer-contact address>span{display:block;color:#cfb58b;font:400 30px/1.2 var(--display);margin-bottom:8px}.cm-footer-contact address a{font:400 14px/1.8 var(--sans)}.cm-footer-phone{display:block;font:400 clamp(21px,2.1vw,29px)/1.3 var(--display);margin-bottom:12px}.cm-footer-email{font:400 12px/1.7 var(--sans);overflow-wrap:anywhere}.cm-footer-contact>p{font:400 11px/1.7 var(--sans);color:#d1bda9;margin-top:18px}.cm-footer-nav>a{display:flex;align-items:center;gap:10px;margin-top:14px;font:400 12px/1.6 var(--sans);width:fit-content}.cm-footer-nav>a:last-child{color:#e4c89e}.cm-footer-nav svg{width:15px}.cm-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.cm-footer-bottom{border-top:1px solid #6b5848;padding-top:24px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 30px;font:400 10px/1.8 var(--sans);color:#d1bda9}.cm-footer-bottom nav{display:flex;flex-wrap:wrap;gap:12px 22px;flex:1}.cm-footer button{background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.cm-footer-top{white-space:nowrap}
body:not(.subpage) .booking-cta{padding:0;min-height:0;display:grid;grid-template-columns:1.15fr .85fr;align-items:stretch;gap:0;overflow:hidden;background:#e9ddcb}.booking-cta .booking-cta-copy{padding:64px clamp(24px,6vw,100px);position:relative;z-index:1}.booking-cta .booking-cta-copy>p:not(.eyebrow){max-width:430px}.booking-cta .booking-cta-word{display:none}.cm-cta-photo{margin:0;position:relative;min-height:420px;overflow:hidden}.cm-cta-photo img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 38%;transition:transform 1.2s cubic-bezier(.2,.6,.2,1)}.cm-cta-photo:hover img{transform:scale(1.035)}.cm-cta-photo:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(38,28,22,.6))}.cm-cta-photo figcaption{position:absolute;bottom:26px;left:28px;right:28px;z-index:1;font:400 12px/1.6 var(--sans);color:white}
.cm-cookie-banner[hidden]{display:none}.cm-cookie-banner{position:fixed;z-index:180;left:24px;right:24px;bottom:24px;background:#faf6f0;color:#493b33;box-shadow:0 12px 70px #241a2433;border:1px solid #cdbba5;padding:26px 30px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;max-width:1300px;margin:auto;border-radius:4px}.cm-cookie-kicker{font:600 9px/1.5 var(--sans);letter-spacing:.17em;text-transform:uppercase;color:#816540;margin:0 0 8px}.cm-cookie-banner h2{font:400 30px/1.1 var(--display);margin:0 0 10px;letter-spacing:-.02em}.cm-cookie-banner p:not(.cm-cookie-kicker){font:400 12px/1.7 var(--sans);max-width:650px;margin:0}.cm-cookie-banner a,.cm-cookie-dialog>a{text-decoration:underline;text-underline-offset:3px}.cm-cookie-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:350px}.cm-cookie-actions button,.cm-cookie-dialog-actions button,.cm-legal-button{font:500 11px/1.5 var(--sans);padding:14px 18px;border:1px solid #80694f;background:transparent;color:#493b33;border-radius:2px;cursor:pointer;min-height:46px;transition:background .2s,color .2s}.cm-cookie-actions button:hover,.cm-cookie-dialog-actions button:hover,.cm-legal-button:hover{background:#493b33;color:#faf6f0}.cm-cookie-actions .cm-cookie-settings{grid-column:1/-1;border:0;min-height:30px;padding:4px;text-decoration:underline;text-underline-offset:4px}.cm-cookie-actions .cm-cookie-settings:hover{background:transparent;color:#493b33}
.cm-cookie-dialog{background:#faf6f0;color:#493b33;border:1px solid #cdbba5;max-width:620px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:30px;margin:auto;border-radius:5px;overflow:auto;overscroll-behavior:contain}.cm-cookie-dialog::backdrop{background:#261c18a6;backdrop-filter:blur(5px)}.cm-cookie-dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.cm-cookie-dialog-head button{display:grid;place-items:center;cursor:pointer;background:none;border:1px solid #cdbba5;border-radius:50%;width:42px;height:42px}.cm-cookie-dialog-head img{width:20px;height:20px}.cm-cookie-dialog h2{font:400 clamp(35px,4vw,48px)/1.04 var(--display);margin:0 0 20px}.cm-cookie-dialog h2 em{color:#977c5d;font-weight:400}.cm-cookie-dialog>p,.cm-cookie-dialog>a{font:400 12px/1.8 var(--sans)}.cm-cookie-option{display:flex;align-items:center;justify-content:space-between;gap:22px;border-top:1px solid #d7cbbb;padding:21px 0}.cm-cookie-option h3,.cm-cookie-option strong{font:600 13px/1.5 var(--sans);margin:0}.cm-cookie-option p,.cm-cookie-option>span>span{display:block;font:400 11px/1.7 var(--sans);margin:8px 0 0}.cm-cookie-option>span:last-child:not(:first-child){font:600 9px/1.4 var(--sans);text-transform:uppercase;color:#80694f;white-space:nowrap}.cm-cookie-option input{accent-color:#80694f;width:23px;height:23px;flex:0 0 23px;cursor:pointer}.cm-cookie-option:has(input){cursor:pointer}.cm-cookie-dialog .cm-cookie-reload{font-size:10px;color:#6d5a48}.cm-cookie-dialog-actions{display:flex;gap:10px;margin:22px 0}.cm-cookie-dialog-actions button{flex:1}.cm-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.cm-legal{padding:145px clamp(24px,7vw,120px) 80px}.cm-legal-head{max-width:900px;padding-bottom:42px}.cm-legal-head>a{font:400 11px/1.5 var(--sans);text-decoration:underline;text-underline-offset:4px}.cm-legal-head .eyebrow{margin:35px 0 18px}.cm-legal-head h1{font:400 clamp(44px,5.8vw,84px)/1.02 var(--display);letter-spacing:-.035em;overflow-wrap:anywhere;margin:0 0 25px}.cm-legal-head>p:not(.eyebrow){font:400 16px/1.8 var(--sans);max-width:690px}.cm-legal-head small{font:400 10px/1.5 var(--sans);color:#79634f;display:block;margin-top:18px}.cm-legal-layout{display:grid;grid-template-columns:200px 1fr;gap:70px;border-top:1px solid #d7cbbb;padding-top:42px}.cm-legal-layout aside nav{position:sticky;top:115px;display:flex;flex-direction:column;gap:18px;font:400 12px/1.5 var(--sans)}.cm-legal-layout aside button{font:inherit;background:none;border:0;text-align:left;padding:0;text-decoration:underline;text-underline-offset:4px;cursor:pointer;color:inherit}.cm-legal article{max-width:780px;min-width:0;font:400 14px/1.85 var(--sans)}.cm-legal article>section{padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid #d7cbbb;scroll-margin-top:110px}.cm-legal h2{font:400 33px/1.1 var(--display);margin:0 0 22px}.cm-legal article p{margin:16px 0}.cm-legal article a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.cm-legal article li{margin-bottom:15px}.cm-legal article ul{padding-left:20px}.cm-legal dl{margin:22px 0}.cm-legal dl>div{display:grid;grid-template-columns:150px 1fr;gap:20px;padding:15px 0;border-top:1px solid #ded3c5}.cm-legal dt{font-weight:600;font-size:12px}.cm-legal dd{margin:0;overflow-wrap:anywhere}.cm-legal-note{border-left:2px solid #a1845d;background:#f0e7db;padding:20px 24px;margin-bottom:36px;font-size:12px}.cm-legal-note p{margin-bottom:0!important}.cm-cookie-table{overflow:auto}.cm-cookie-table table{width:100%;border-collapse:collapse;font-size:12px;min-width:440px}.cm-cookie-table th,.cm-cookie-table td{text-align:left;vertical-align:top;padding:14px 12px;border-bottom:1px solid #d7cbbb}.cm-cookie-table caption{text-align:left;font-size:10px;padding-bottom:15px}.cm-form-privacy{font:400 10px/1.6 var(--sans);color:#79634f;margin:12px 0}.cm-form-privacy a{text-decoration:underline}
.cm-footer :focus-visible,.cm-cookie-banner :focus-visible,.cm-cookie-dialog :focus-visible,.cm-legal :focus-visible{outline:2px solid #ae8b51;outline-offset:5px}.cookie-banner-visible .floating-booking{visibility:hidden}
@media(max-width:1000px){.cm-cookie-banner{grid-template-columns:1fr;gap:16px}.cm-cookie-actions{min-width:0;grid-template-columns:1fr 1fr auto}.cm-cookie-actions .cm-cookie-settings{grid-column:auto}.cm-footer-main{grid-template-columns:1.1fr 1fr;gap:40px}.cm-footer-nav{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:15px 28px;align-items:center}.cm-footer-nav h2{margin:0}.cm-footer-nav>a{margin:0}.cm-legal-layout{gap:35px;grid-template-columns:150px 1fr}}
@media(max-width:600px){.cm-footer{padding:40px 24px 24px}.cm-footer-main{grid-template-columns:1fr;gap:34px;padding-bottom:30px}.cm-footer-brand>span{font-size:27px}.cm-footer-brand img{width:60px;height:60px}.cm-footer-intro>p{font-size:42px;margin:25px 0}.cm-footer-contact{border-top:1px solid #6b5848;padding-top:24px}.cm-footer h2{margin-bottom:20px}.cm-footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:15px 20px}.cm-footer-nav h2{grid-column:1/-1;margin:0}.cm-footer-bottom{gap:20px}.cm-footer-bottom>span{width:100%}.cm-footer-bottom nav{flex-basis:100%;gap:14px 20px}.cm-footer-bottom button{min-height:24px}.cm-footer-email{font-size:13px}.cm-footer-contact address a{font-size:15px}body:not(.subpage) .booking-cta{grid-template-columns:1fr}.booking-cta .booking-cta-copy{padding:42px 24px}.cm-cta-photo{min-height:330px}.cm-cta-photo img{object-position:50% 43%}.cm-cookie-banner{left:12px;right:12px;bottom:12px;padding:20px;max-height:calc(100dvh - 24px);overflow:auto;gap:15px}.cm-cookie-banner h2{font-size:27px}.cm-cookie-banner p:not(.cm-cookie-kicker){font-size:11px;line-height:1.65}.cm-cookie-kicker{font-size:8px}.cm-cookie-actions{grid-template-columns:1fr 1fr;gap:8px}.cm-cookie-actions button{font-size:10px;padding:12px 8px}.cm-cookie-actions .cm-cookie-settings{grid-column:1/-1}.cm-cookie-dialog{padding:22px}.cm-cookie-dialog-actions{flex-direction:column}.cm-cookie-option{gap:15px}.cm-cookie-option>span:last-child:not(:first-child){font-size:8px}.cm-legal{padding:110px 24px 40px}.cm-legal-head{padding-bottom:30px}.cm-legal-head>p:not(.eyebrow){font-size:14px}.cm-legal-layout{grid-template-columns:1fr;gap:30px;padding-top:26px}.cm-legal-layout aside nav{position:static;flex-direction:row;flex-wrap:wrap;gap:15px 22px}.cm-legal article{font-size:13px}.cm-legal dl>div{grid-template-columns:1fr;gap:5px}.cm-legal h2{font-size:29px}.cm-legal-note{padding:18px}}
@media(prefers-reduced-motion:reduce){.cm-cta-photo img,.cm-footer-book svg{transition:none}.cm-cta-photo:hover img{transform:none}}
@media print{.cm-cookie-banner,.cm-cookie-dialog,.site-header,.cm-footer,.cm-legal-layout aside{display:none!important}.cm-legal{padding:0}.cm-legal-layout{display:block}.cm-legal article{max-width:none}}
@keyframes cm-cookie-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes cm-cookie-exit{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(14px)}}
.cm-cookie-banner{animation:cm-cookie-enter .55s cubic-bezier(.16,1,.3,1) both}.cm-cookie-banner.is-closing{animation:cm-cookie-exit .22s ease-in both;pointer-events:none}
.cm-cookie-dialog[open]{animation:cm-cookie-enter .3s cubic-bezier(.16,1,.3,1) both}
@media(prefers-reduced-motion:reduce){.cm-cookie-banner,.cm-cookie-banner.is-closing,.cm-cookie-dialog[open]{animation:none}}
/* The photographic CTA uses an ivory panel, so text follows the dark ink token. */
body:not(.subpage) .booking-cta{color:#59463e;scroll-margin-top:90px}
.booking-cta .booking-cta-copy h2,.booking-cta .booking-cta-copy>p:not(.eyebrow){color:#59463e}
.booking-cta .booking-cta-copy .eyebrow{color:#80613d}
.booking-cta .booking-cta-copy h2 em{color:#81694f}
@media(max-width:600px){body:not(.subpage) .booking-cta{scroll-margin-top:70px}}
