:root{--ink:#173d46;--paper:#f5f4ef;--accent:#dbe8e8;--line:#c9d2cf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65}a{color:inherit;text-underline-offset:5px}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #c36535;outline-offset:5px}header{padding:22px 5%;display:flex;align-items:center;gap:36px;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:3}.brand{font:2rem Georgia,serif;text-decoration:none;white-space:nowrap}.brand span{display:block;font:0.625rem Arial;letter-spacing:3px;margin-top:5px}nav{display:flex;gap:28px;margin-left:auto}nav a{text-decoration:none;font-size:0.875rem}.languages{display:flex;gap:12px;font-size:0.875rem}.languages a{opacity:.8;text-decoration:none}.languages a:focus-visible{opacity:1}.languages a[aria-current]{opacity:1;border-bottom:2px solid}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08}h1{font-size:clamp(64px,8.5vw,132px);letter-spacing:-4px;margin-bottom:25px}h2{font-size:clamp(2.375rem,5vw,4.0625rem);letter-spacing:-1.5px;margin-bottom:24px}h3{font-size:1.6875rem}.eyebrow{font-size:0.75rem;text-transform:uppercase;letter-spacing:2px;margin-bottom:22px}.hero{display:grid;grid-template-columns:44% 56%;min-height:650px}.hero-copy{padding:90px 10% 65px 11.5%;display:flex;flex-direction:column;justify-content:center}.hero-copy .intro{max-width:360px;font-size:1.125rem}.hero-photo{position:relative;min-width:0}.hero-photo img{width:100%;height:100%;object-fit:cover;position:absolute}.photo-note{position:absolute;bottom:24px;left:26px;background:var(--paper);padding:7px 14px;font-size:0.75rem;letter-spacing:1px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:white;padding:14px 23px;text-decoration:none;border:1px solid var(--ink);min-height:50px;font-size:0.9375rem}.actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:22px}.textlink{font-size:0.875rem}.ribbon{display:flex;justify-content:space-around;gap:20px;padding:22px 5%;border-block:1px solid var(--line);font-size:0.875rem}.section{padding:95px 7%;max-width:1600px;margin:auto}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}.section-head p{max-width:400px}.rooms{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.room{padding:30px 26px 28px 0;border-bottom:1px solid var(--line)}.room:nth-child(3n+2),.room:nth-child(3n+3){padding-left:26px;border-left:1px solid var(--line)}.number{font-size:0.75rem;letter-spacing:1px;display:block;margin-bottom:24px;color:#526b70}.room p{margin-bottom:8px;font-size:0.9375rem}.room small{font-size:0.875rem;color:#526b70}.amenities{background:var(--ink);color:white;padding:70px 7%;display:grid;grid-template-columns:1fr 1fr;gap:50px}.amenities ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.amenities li{padding:16px 0;border-bottom:1px solid #53727a}.gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}.gallery :is(button,a){border:0;padding:0;background:none;text-align:left;color:inherit}.gallery img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:filter .2s}.gallery :is(button,a):hover img{filter:brightness(.9)}.gallery span{font-size:0.875rem;display:block;margin-top:8px}.gallery :is(button,a):first-child{grid-row:span 2}.gallery :is(button,a):first-child img{aspect-ratio:3/4;height:calc(100% - 32px)}.explore{background:#e4ebeb}.activities{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.activities article{border-top:1px solid #9bacad;padding-top:24px}.activities p{max-width:360px}.activities a{font-size:0.875rem}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px}.phone{font:clamp(1.75rem,3.5vw,3rem) Georgia;text-decoration:none;display:block;margin:26px 0}.contact address{font-style:normal}.stay{border-top:1px solid var(--line);padding-top:28px}.stay dl{margin:0}.stay dl div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:13px 0}.stay dd{margin:0}.stay p{font-size:0.875rem;margin-top:22px}footer{padding:32px 7%;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:0.875rem}.menu{display:none}.skip{position:absolute;top:-100px;left:10px;z-index:9;background:white;padding:10px}.skip:focus{top:10px}dialog{border:0;background:var(--paper);max-width:90vw;max-height:94vh;padding:48px 18px 12px}dialog::backdrop{background:#071f29db}dialog img{display:block;max-width:82vw;max-height:72vh;object-fit:contain;margin:auto}dialog p{margin:10px 0 0}.close{position:absolute;top:0;right:8px;border:0;background:none;font-size:2rem;min-width:44px;min-height:44px}
@media(max-width:950px){header{gap:20px;flex-wrap:wrap}nav{gap:15px}.hero{min-height:570px}.hero-copy{padding:65px 9%}.rooms{grid-template-columns:1fr 1fr}.room:nth-child(n){padding:25px 15px;border-left:0}.room:nth-child(2n){border-left:1px solid var(--line)}.section{padding:70px 6%}.gallery{grid-template-columns:1fr 1fr}.gallery :is(button,a):first-child{grid-row:auto}.gallery :is(button,a):first-child img{aspect-ratio:4/3;height:auto}.activities{gap:22px}.contact{gap:35px}}
@media(max-width:640px){html{scroll-padding-top:20px}header{padding:20px 6%;gap:16px}.brand{font-size:1.8125rem}.languages{margin-left:auto}.menu{display:block;background:none;border:0;padding:8px;order:3;width:100%;text-align:left;border-top:1px solid var(--line)}nav{display:none;order:4;width:100%;margin:0;flex-direction:column;padding:10px 0}nav.open{display:flex}nav a{padding:8px 0}.hero{display:flex;flex-direction:column}.hero-copy{padding:45px 7% 38px}.hero-copy .intro{font-size:1.0625rem}h1{font-size:4.5rem;letter-spacing:-3px;margin-bottom:20px}.hero-photo{height:360px}.ribbon{flex-wrap:wrap;font-size:0.8125rem;gap:9px 25px;padding:18px}.section-head{display:block;margin-bottom:28px}.section{padding:58px 7%}.rooms{grid-template-columns:1fr}.room:nth-child(n){border-left:0;padding:25px 0}.number{margin-bottom:16px}.amenities{grid-template-columns:1fr;padding:55px 7%;gap:18px}.amenities ul{gap:0 20px}.gallery{gap:20px 12px}.gallery :is(button,a):first-child{grid-column:span 2}.gallery span{font-size:0.8125rem}.activities{grid-template-columns:1fr;gap:30px}.contact{grid-template-columns:1fr;gap:40px}footer{flex-direction:column}.phone{font-size:2.125rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.brand span{font-size:0.75rem} @media(max-width:640px){h1{font-size:clamp(52px,16vw,72px)}}

h1{font-size:clamp(3rem,6vw,6rem);letter-spacing:-2.5px}.hero-copy{min-width:0} @media(max-width:640px){h1{font-size:clamp(3rem,14.5vw,4.5rem);letter-spacing:-2px}}

dialog{width:min(1000px,90vw)}dialog img{max-width:100%;width:auto}

.gallery img{height:auto}.gallery :is(button,a){align-self:start}.gallery :is(button,a):first-child{align-self:stretch}

h1,h2,h3,p,a,li{overflow-wrap:anywhere}nav{flex-wrap:wrap}.stay dl div{flex-wrap:wrap}.hero-copy .intro{max-width:100%}

/* Selected A: compact room cards, scoped to the main room section. */
.compact-rooms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 26px}
.compact-room{border-top:1px solid var(--line);padding:22px 0 14px;display:flex;flex-direction:column;min-width:0}
.compact-room h3{font-size:1.5rem;line-height:1.15;margin:0 0 16px;letter-spacing:-.3px}
.compact-beds{display:flex;align-items:center;gap:9px;height:32px;margin-bottom:10px;color:#4f6c73}
.compact-beds span{display:inline-flex;height:32px}.compact-beds svg{height:32px;width:24px}.compact-beds .bed-double svg{width:32px}.compact-beds .bed-sofa svg{width:32px}
.compact-bed-text{font-size:1rem;line-height:1.5;margin:0 0 11px}
.compact-features{list-style:none;padding:0;margin:0 0 11px;display:flex;gap:8px 16px;flex-wrap:wrap;font-size:.875rem;line-height:1.5}
.compact-note{font-size:.875rem;line-height:1.5;color:#4d676e;margin:0 0 10px}
.compact-call{font-size:.875rem;min-height:44px;display:flex;align-items:center;gap:8px;width:fit-content;margin-top:auto}
.compact-common{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:12px}
.compact-common p{font-size:1rem;margin:0}.compact-common a{font-size:.875rem;min-height:44px;display:flex;align-items:start;gap:8px}
@media(max-width:950px){.compact-rooms{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}}
@media(max-width:640px){.compact-rooms{grid-template-columns:1fr}.compact-room{padding:20px 0 12px}.compact-room h3{margin-bottom:12px}.compact-common{gap:12px}.compact-common a{align-items:center}}

.property-fact{max-width:1200px;margin:0 auto;padding:28px 7% 0;font-size:1rem;line-height:1.65}
.faq-section{border-top:1px solid var(--line)}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}.faq-grid details{padding:18px 0;border-bottom:1px solid var(--line)}.faq-grid summary{cursor:pointer;font-size:1rem;font-weight:600;line-height:1.5}.faq-grid p{font-size:1rem;margin:16px 0 0}.faq-grid summary:focus-visible{outline:3px solid #c36535;outline-offset:5px}
.menu{display:none}.booking-profile{margin-top:24px}.not-found{max-width:850px;margin:10vh auto;padding:30px}.not-found h1{font-size:clamp(2.5rem,6vw,5rem)}.not-found .languages{margin:30px 0;font-size:1rem}
@media(max-width:640px){.faq-grid{grid-template-columns:1fr}nav{display:flex}.js nav:not(.open){display:none}.js .menu{display:block}.property-fact{padding:28px 7% 0}}
.gallery a{text-decoration:none}
.directions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:12px}
.directions a,.copy-address{min-height:44px;display:inline-flex;align-items:center;font-size:.875rem}
.copy-address{background:none;border:1px solid var(--line);border-radius:4px;padding:8px 12px;color:var(--ink)}
.copy-status{font-size:.875rem;margin:10px 0 0}.copy-status:empty{display:none}
.copy-field{width:100%;max-width:100%;margin-top:8px;padding:10px;font:inherit;color:var(--ink);border:1px solid var(--line);background:white}
.copy-field:focus-visible{outline:3px solid #c36535;outline-offset:3px}
.arrival-note{font-size:.875rem;max-width:36em;margin:16px 0 0}
.copy-address[hidden],.copy-field[hidden]{display:none}.mobile-call{display:none}
@media(max-width:640px){
  body:has(.mobile-call){padding-bottom:var(--call-bar-height,calc(6.5rem + env(safe-area-inset-bottom,0px)))}
  html{scroll-padding-bottom:calc(var(--call-bar-height,6.5rem) + 16px)}
  a,button,input,summary{scroll-margin-bottom:calc(var(--call-bar-height,6.5rem) + 16px)}
  .mobile-call{display:flex;justify-content:center;position:fixed;z-index:4;inset:auto 0 0;background:var(--paper);border-top:1px solid var(--line);padding:10px 7% calc(10px + env(safe-area-inset-bottom,0px))}
  .mobile-call a{display:flex;align-items:center;justify-content:center;min-height:48px;width:100%;max-width:420px;padding:10px 18px;border-radius:40px;background:var(--ink);color:white;text-decoration:none;text-align:center;font-size:1rem;line-height:1.3}
  body:has(dialog[open]) .mobile-call{visibility:hidden}
}

.address-copy{margin-top:12px}.directions a,.booking-profile .textlink{display:inline-flex;align-items:center;gap:8px}.brand-icon{width:22px;height:22px;flex:0 0 22px}
