@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400;1,500&family=Manrope:wght@400;500;600&display=swap');
:root{--bg:#f3efe6;--ink:#33382c;--muted:#6b6c60;--line:#d7d4c7;--panel:#e9e5da;--accent:#494f3b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:Manrope,Arial,sans-serif;font-size:14px;line-height:1.8}body.dark{--bg:#20241e;--ink:#eee9dc;--muted:#c0c1b4;--line:#4a4e42;--panel:#2b3027;--accent:#c0c7a5}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:2px solid #a47d48;outline-offset:6px}h1,h2,h3,blockquote{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;line-height:1.03;margin:0}h1{font-size:clamp(64px,7vw,118px);letter-spacing:-.045em}h2{font-size:clamp(42px,5vw,76px);letter-spacing:-.035em}h3{font-size:34px}em{font-weight:400}p{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:.23em;font-weight:600;margin:0 0 26px;color:inherit}.skip{position:fixed;left:15px;top:-100px;z-index:100;background:var(--bg);padding:12px}.skip:focus{top:12px}header{height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 4.5%;background:var(--bg);position:relative;z-index:25;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-family:Georgia,serif;font-size:19px;letter-spacing:.075em;white-space:nowrap}.brand small{display:block;font:8px Manrope,Arial,sans-serif;letter-spacing:.3em;margin-top:5px;text-align:center}.crest{font-size:33px;border:1px solid var(--line);border-radius:30px 30px 8px 8px;width:40px;text-align:center;line-height:48px}header nav{display:flex;gap:30px;font-size:11px}header nav a{position:relative}header nav a:after{content:'';position:absolute;bottom:-6px;left:0;height:1px;width:0;background:currentColor;transition:.3s}header nav a:hover:after,header nav a[aria-current]:after{width:100%}.controls{display:flex;align-items:center;gap:22px}.controls button{border:0;background:none;color:inherit;width:32px;height:44px;font-size:24px;padding:0}.booktop{border:1px solid var(--line);padding:11px 20px;border-radius:30px;font-size:11px}.booktop span{margin-left:20px}#menubtn{position:relative;z-index:52;width:27px}#menubtn span{height:1px;width:25px;background:currentColor;display:block;margin:6px 0;transition:transform .4s}#menubtn[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}#menubtn[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.hero{height:min(760px,calc(100svh - 104px));min-height:590px;position:relative;color:#fff;margin:0 16px;border-radius:0 0 16px 16px;overflow:hidden}.hero>img{width:100%;height:100%;object-fit:cover;object-position:center 55%;animation:arrive 1.8s ease-out}.heroshade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,20,13,.64),rgba(12,20,13,.06)),linear-gradient(0deg,rgba(12,20,13,.55),transparent 45%)}.herocopy{position:absolute;left:7.5%;top:50%;transform:translateY(-48%)}.herocopy h1{font-size:clamp(70px,8.7vw,140px);line-height:.93}.herocopy p:not(.eyebrow){color:#eeeee7;margin:28px 0 32px;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:35px;min-height:52px;padding:14px 27px;border-radius:30px;background:var(--ink);color:var(--bg);border:1px solid var(--ink);font-size:11px;transition:transform .3s,background .3s}.button:hover{transform:translateY(-3px)}.glass{background:#ffffff12;color:white;border:1px solid #ffffff80;backdrop-filter:blur(12px)}.herobottom{position:absolute;bottom:28px;left:4%;right:4%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.18em}.welcome{text-align:center;max-width:800px;margin:auto;padding:110px 24px 70px}.welcome p:last-child{max-width:525px;margin:28px auto 0}.facts{display:flex;justify-content:center;gap:70px;border-block:1px solid var(--line);padding:32px;margin:0 8% 85px}.facts span{display:flex;align-items:center;gap:14px;font-size:10px;color:var(--muted)}.facts b{font:38px 'Cormorant Garamond',Georgia;color:var(--ink)}.split{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;align-items:center;margin:90px 8%}.split>img{width:100%;height:540px;object-fit:cover;border-radius:12px}.split>div>p:not(.eyebrow){max-width:390px;margin:28px 0}.split:nth-of-type(even)>img{order:2}.split:nth-of-type(even){grid-template-columns:1fr 1.15fr}.textlink{display:inline-flex;gap:50px;border-bottom:1px solid var(--ink);padding:10px 0;font-size:11px}.quote{padding:100px 24px;text-align:center;background:var(--panel);margin:100px 16px;border-radius:14px}.quote blockquote{font-size:clamp(35px,4.4vw,64px);font-style:italic}.quote>span{font-size:9px;letter-spacing:.2em;display:block;margin-top:35px}.endcta{text-align:center;padding:30px 24px 110px}.endcta .button{margin-top:32px}footer{background:#333a2d;color:#efeee4;padding:60px 8% 25px}footer>.brand{font-size:27px}footer p{color:#bbbdae;font-size:12px}footer>div:not(.footbottom){display:flex;gap:28px;margin:35px 0;font-size:12px}.footbottom{border-top:1px solid #646959;padding-top:24px;display:flex;justify-content:space-between;font-size:9px;color:#c6c9bb}.pageintro{padding:90px 8% 60px}.pageintro>p:last-child{max-width:530px;margin-top:28px}.inner .facts{justify-content:flex-start;margin-top:10px}.roomlist{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin:75px 8%}.roomlist>div{border-top:1px solid var(--line);padding-top:25px}.roomlist span{font-size:10px;letter-spacing:.15em;color:var(--muted)}.roomlist h3{margin:22px 0 15px}.roomlist p{font-size:12px}.amenities{margin:80px 8%;background:var(--panel);padding:45px;border-radius:14px}.amenities>div{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.small{font-size:11px}.amenities .small{margin-top:30px}.gallery{padding:0 8% 80px;display:grid;grid-template-columns:1fr 1fr;gap:45px 28px}.photo{padding:0;border:0;background:none;text-align:left;color:inherit}.photo:first-child{grid-column:span 2}.photo img{width:100%;height:380px;object-fit:cover;border-radius:12px;transition:filter .3s}.photo:first-child img{height:580px}.photo:hover img{filter:brightness(.9)}.photo>span{display:flex;justify-content:space-between;padding-top:14px;font:24px Georgia}.booking{margin:10px 8% 80px;padding:55px;background:var(--panel);border-radius:16px;display:grid;grid-template-columns:1fr 1fr;gap:70px}.booking h2{font-size:52px}.booking form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.booking label{display:block;font-size:11px}.booking input,.booking select{width:100%;min-width:0;background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:15px;border-radius:8px;margin-top:8px;color-scheme:light}.dark .booking input{color-scheme:dark}.booking form .button,.booking form .small{grid-column:span 2;margin:0}.faq{max-width:800px;margin:0 auto 100px;padding:0 25px}details{border-bottom:1px solid var(--line);padding:20px 0}summary{cursor:pointer;font-size:14px}details p{font-size:13px;max-width:650px}.actions{margin-top:30px}dialog{border:0}#menu{inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:105px 12% 30px;background:var(--bg);color:var(--ink)}#menu[open]{animation:menuin .4s ease-out}body.menuopen header{z-index:51}body.menuopen{overflow:hidden}#menu .menulayout>a{display:flex;align-items:center;gap:30px;font:clamp(35px,5vw,70px) 'Cormorant Garamond',Georgia;border-bottom:1px solid var(--line);padding:12px 0}#menu a small{font:10px Arial;opacity:.5}#menu a span{margin-left:auto;font-size:30px}#lightbox{padding:45px 18px 18px;background:#171b16;color:white;border-radius:12px;width:min(1100px,95vw)}#lightbox::backdrop{background:#111d;backdrop-filter:blur(8px)}#lightbox img{display:block;width:100%;max-height:78vh;object-fit:contain}#lightbox button{position:absolute;right:16px;top:0;font-size:33px;border:0;background:none;color:white;width:44px;height:44px}.reveal{opacity:1}.motion .reveal{opacity:0;transform:translateY(26px);transition:opacity .85s,transform .85s}.motion .reveal.visible{opacity:1;transform:none}@keyframes arrive{from{transform:scale(1.045)}to{transform:scale(1)}}@keyframes menuin{from{opacity:0;transform:translateY(-25px)}to{opacity:1;transform:none}}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1000px){header nav{display:none}.facts{gap:30px}.split{gap:6%;margin-inline:6%}.booking{gap:30px;padding:30px}.hero{min-height:560px}.split>img{height:450px}}@media(max-width:650px){header{height:84px;padding:0 20px;gap:10px}.brand{font-size:13px;gap:8px}.brand small{font-size:6px}.crest{font-size:25px;width:30px;line-height:37px}.controls{gap:10px}.booktop{display:none}.hero{margin:0 8px;height:calc(88svh - 84px);min-height:530px;border-radius:0 0 12px 12px}.hero>img{object-position:61% center}.heroshade{background:linear-gradient(0deg,#111b11a8,#111b1138)}.herocopy{left:20px;right:20px;text-align:center;top:47%}.herocopy h1{font-size:76px}.herocopy .eyebrow{font-size:9px}.herocopy p:not(.eyebrow){font-size:11px;margin:25px 0}.herobottom{justify-content:center;font-size:8px;bottom:23px}.herobottom>span{display:none}.welcome{padding:75px 25px 45px}.welcome p:last-child{font-size:12px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding:25px 0;margin:0 6% 45px}.facts span{font-size:9px;gap:10px}.facts b{font-size:32px}.split,.split:nth-of-type(even){grid-template-columns:1fr;gap:35px;margin:55px 6%}.split:nth-of-type(even)>img{order:0}.split>img{height:380px}.split>div{text-align:center}.split>div>p:not(.eyebrow){margin:22px auto;font-size:12px}.eyebrow{font-size:9px;margin-bottom:20px}h2{font-size:49px}.quote{margin:60px 8px;padding:65px 18px}.quote blockquote{font-size:39px}.quote p{font-size:11px}.endcta{padding-bottom:65px}.endcta h2{font-size:45px}footer{padding:45px 7% 25px;text-align:center}footer .brand{justify-content:center}footer>div:not(.footbottom){flex-wrap:wrap;justify-content:center;gap:15px 25px}.footbottom{flex-direction:column;gap:15px}.pageintro{padding:60px 7% 40px;text-align:center}.pageintro h1{font-size:64px}.pageintro>p:last-child{font-size:12px}.roomlist{grid-template-columns:1fr;gap:25px;margin:45px 7%}.amenities{padding:26px;margin:50px 6%}.amenities>div{grid-template-columns:1fr 1fr;gap:20px;font-size:11px}.gallery{padding:0 6% 55px;gap:25px;grid-template-columns:1fr}.photo:first-child{grid-column:auto}.photo img,.photo:first-child img{height:320px}.photo>span{font-size:22px}.booking{grid-template-columns:1fr;margin:10px 6% 60px;padding:27px 20px}.booking>div{text-align:center}.booking h2{font-size:45px}.booking p{font-size:11px}.booking form{gap:14px}.booking input,.booking select{padding:12px 8px;font-size:12px}.faq .actions{text-align:center}#menu{padding:110px 8% 30px}#menu .menulayout>a{font-size:43px;padding:15px 0}.menulayout>p:last-child{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion .reveal{opacity:1;transform:none}}
.icon{width:22px;height:22px;vertical-align:middle;display:inline-block;flex-shrink:0}.crest .icon{width:24px;height:30px}.amenities>div>span{display:flex;align-items:center;gap:8px}

.arrow-icon{display:inline-block;flex-shrink:0;vertical-align:middle;overflow:visible}#menu .menulayout>a>span:last-child{display:flex;align-items:center;justify-content:center}#menu .arrow-icon{width:28px;height:28px}.photo>span>.arrow-icon{margin-left:auto}.lightnav button{display:grid;place-items:center}

/* Native white vector lockup; no raster inversion or crop needed. */
body.dark .official-logo{background:transparent!important;isolation:auto!important;mix-blend-mode:normal!important}
body.dark .official-logo .logo-dark{position:static;display:block;width:100%;height:100%;max-width:100%;object-fit:contain;filter:none!important;mix-blend-mode:normal!important}
body.dark .secondary-logo .logo-dark,body.dark .transition-brand .transition-dark{filter:none!important;mix-blend-mode:normal!important;object-fit:contain}

/* Desktop readability: retain the editorial typefaces and mobile scale. */
@media (min-width: 1001px) {
  body { font-size: 16px; line-height: 1.8; }
  body header nav { font-size: 14px; gap: 22px; }
  body .booktop, body .button, body .textlink,
  body .galleryfilters button { font-size: 15px; }
  body .eyebrow { font-size: 12px; letter-spacing: .18em; }
  body .herocopy p:not(.eyebrow) { font-size: 17px; }
  body .herobottom { font-size: 12px; letter-spacing: .13em; }
  body .facts span { font-size: 14px; }
  body .quote > span, body .arrival-caption { font-size: 12px; letter-spacing: .18em; }
  body footer p, body footer > div:not(.footbottom) { font-size: 15px; }
  body .footbottom { font-size: 13px; }
  body .roomlist span { font-size: 13px; }
  body .roomlist p, body .roomphotos p, body .detailgrid p,
  body .storycolumns p, body .practical p, body details p { font-size: 16px; }
  body summary { font-size: 17px; }
  body .small, body .gallery-status, body .lightcaption { font-size: 14px; }
  body .booking label, body #booking .request-field { font-size: 14px; }
  body .booking input, body .booking select, body #booking .request-field input,
  body #booking textarea, body .local-booking input, body .local-booking select { font-size: 16px; }
  body #booking .request-summary, body #booking .reservation-status { font-size: 14px; }
  body .language select { font-size: 14px; width: 66px; }
  body #menu a small { font-size: 14px; }
  body .localgallery span { font-size: 16px; }
}
