@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;500;600&display=swap');
:root{--bg:#171a18;--surface:#202521;--line:#3b423b;--text:#f1eddf;--muted:#c1c2b6;--gold:#d4b78c;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 var(--sans)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}img{display:block;max-width:100%}p,h1,h2,h3{margin:0}p{color:var(--muted)}h1,h2,h3{font-weight:400}h1,h2{font-family:var(--serif);line-height:1.03;letter-spacing:-.025em}h2{font-size:clamp(44px,5.5vw,78px)}h3{font:400 32px/1.2 var(--serif)}em{color:var(--gold);font-weight:400}button{border-radius:0}.skip{position:absolute;left:20px;top:-100px;padding:12px;background:var(--text);color:var(--bg);z-index:100}.skip:focus{top:10px}.header{padding:22px 4.5%;display:flex;gap:28px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--bg);position:relative;z-index:10}.brand{display:flex;flex-direction:column;line-height:1.2;white-space:nowrap}.brand span{font:500 25px var(--serif);letter-spacing:.045em}.brand small{font-size:12px;letter-spacing:.2em;color:var(--gold);margin-top:4px}.nav{display:flex;gap:24px;font-size:14px}.nav a:hover,.footer a:hover{color:var(--gold)}.header-right{display:flex;gap:20px;align-items:center}.languages{display:flex;gap:2px}.languages button{background:none;border:0;padding:10px 6px;font-size:14px;color:var(--muted)}.languages button[aria-pressed=true]{color:var(--gold);box-shadow:0 1px var(--gold)}.top-book{padding:10px 18px;border:1px solid var(--gold);font-size:14px;white-space:nowrap}.section{max-width:1500px;margin:auto;padding:100px 6.5%}.eyebrow{font-size:12px;letter-spacing:.19em;text-transform:uppercase;color:var(--gold);margin-bottom:22px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 24px;background:var(--gold);color:var(--bg);border:1px solid var(--gold);font-size:14px}.button:hover{background:#ead1ad}.text-link{display:inline-block;border-bottom:1px solid var(--gold);padding:8px 0;font-size:14px}.text-link:hover{color:var(--gold)}.hero{max-width:1600px;margin:auto;padding:64px 4.5% 38px}.hero-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:55px;margin-bottom:42px}.hero h1{font-size:clamp(72px,9vw,134px)}.hero-description{max-width:380px;padding-bottom:8px}.hero-description p{font-size:17px;margin-bottom:25px}.hero-visual{position:relative}.hero-visual img{width:100%;height:auto}.hero-caption{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:17px 0;font-size:12px;letter-spacing:.12em;color:var(--muted)}.hero-caption a{font-size:14px;letter-spacing:0;color:var(--gold)}.arrival-band{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line);max-width:1500px;margin:auto;padding:30px 6.5%}.arrival-band>div{padding:10px 30px;border-right:1px solid var(--line)}.arrival-band>div:first-child{padding-left:0}.arrival-band>div:last-child{border:0}.arrival-band h3{font-size:27px;margin-bottom:7px}.arrival-band p{font-size:14px}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:start}.intro p{font-size:18px;line-height:1.85}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:46px}.section-heading>p{max-width:360px}.rooms-section{border-top:1px solid var(--line)}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.room-card{min-width:0}.room-photo{display:block;padding:0;background:var(--surface);border:0;width:100%;cursor:zoom-in;position:relative}.room-photo img{width:100%;height:auto}.zoom-mark{position:absolute;right:12px;bottom:12px;width:30px;height:30px;background:var(--bg);color:var(--gold);font:22px/29px var(--sans);text-align:center;border:1px solid var(--line)}.room-number{display:block;color:var(--gold);font:italic 24px var(--serif);margin:23px 0 12px}.room-card h3{font-size:35px}.room-meta{font-size:14px;margin:12px 0 20px;min-height:48px}.room-card details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px}.room-card summary{font-size:14px;cursor:pointer;min-height:48px;padding:14px 0;color:var(--gold)}.room-detail{padding:12px 0 22px}.room-detail>p{font-size:15px;margin-bottom:22px}.room-detail h4{font:400 25px var(--serif);margin:22px 0 12px}.room-detail ul{padding-left:19px;margin:0;font-size:14px;color:var(--muted)}.room-thumbnails{display:flex;gap:8px;overflow:auto;padding:5px 0 10px}.room-thumbnails button{flex:0 0 92px;width:92px;padding:0;background:none;border:0;cursor:zoom-in}.room-thumbnails img{width:92px;height:65px;object-fit:contain;background:var(--surface)}.room-card .text-link{margin-top:3px}.breakfast-section{background:var(--surface);display:grid;grid-template-columns:1fr 1.1fr;gap:10%;align-items:center}.breakfast-image img{width:100%;height:auto}.breakfast-copy>p{margin:26px 0;font-size:16px}.times{border-top:1px solid var(--line);margin:25px 0 0;font-size:14px}.times>div{padding:13px 0;border-bottom:1px solid var(--line)}.times dt{color:var(--text)}.times dd{margin:3px 0 0;color:var(--gold)}.restaurant-section{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.restaurant-images{position:relative;padding-bottom:70px}.restaurant-images>img{width:100%;height:auto}.restaurant-images .restaurant-inset{width:52%;position:absolute;bottom:0;right:-20px;border:10px solid var(--bg)}.restaurant-copy p{margin:28px 0;font-size:16px;line-height:1.85}.events-section{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.events-section p{font-size:17px;line-height:1.85;margin-bottom:22px}.gallery-section{background:var(--surface)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}.gallery-grid button{width:100%;padding:0;border:0;background:var(--bg);position:relative;cursor:zoom-in}.gallery-grid img{width:100%;height:auto}.gallery-action{text-align:center;margin-top:32px}.gallery-action button{background:transparent;color:var(--text);border-color:var(--gold)}[hidden]{display:none!important}.stay-section{border-bottom:1px solid var(--line)}.stay-top{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;margin-bottom:45px}.check-times{display:flex;gap:42px;margin-top:30px}.check-times small{font-size:14px;color:var(--muted);display:block}.check-times strong{font:400 47px var(--serif);color:var(--gold)}.reception-panel{padding:30px;border:1px solid var(--line)}.reception-panel h3{margin-bottom:14px}.reception-panel p{font-size:14px;margin-top:20px}.reception-panel .times{margin-top:12px}.reception-panel a{color:var(--gold);display:inline-block;margin-top:8px}.info-accordion{display:grid;grid-template-columns:1fr 1fr;column-gap:50px;align-items:start}.info-accordion details{border-top:1px solid var(--line)}.info-accordion summary{padding:23px 0;cursor:pointer;font:400 27px var(--serif);color:var(--text);min-height:48px}.info-accordion details p{padding:0 0 24px;font-size:15px;line-height:1.85}.group-rates{font-size:15px;border-top:1px solid var(--line);padding-top:28px;margin-top:35px}.rules-row{margin-top:25px}.contact-section{display:grid;grid-template-columns:1fr 1.1fr;gap:10%;align-items:start}.contact-intro p{font-size:17px;margin:27px 0}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:32px}.contact-details h3{font-size:27px;margin-bottom:16px}.contact-details address{font-style:normal;color:var(--muted)}.contact-details a{overflow-wrap:anywhere}.contact-details .wide{grid-column:1/-1}.contact-details small{font-size:14px;color:var(--muted)}.contact-details .email{font-size:17px}.newsletter{border-top:1px solid var(--line);padding-top:42px;padding-bottom:42px;display:flex;justify-content:space-between;align-items:center;gap:30px}.newsletter h3{font-size:30px}.newsletter p{font-size:14px;margin-top:8px}.footer{background:#111512;border-top:1px solid var(--line);padding:50px 6.5% 25px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:30px}.footer-main{display:flex;gap:50px;align-items:start}.footer-main>div{display:flex;gap:22px;flex-wrap:wrap;font-size:14px}.footer-bottom{width:100%;border-top:1px solid var(--line);padding-top:22px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.footer-legal{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}.photo-dialog{padding:20px;border:1px solid var(--line);background:var(--bg);color:var(--text);max-width:min(1100px,94vw);width:fit-content;max-height:94dvh;overflow:auto}.photo-dialog::backdrop{background:#000d}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:14px}.dialog-head h2{font:400 27px var(--serif)}.dialog-head button,.dialog-nav button{border:1px solid var(--gold);background:none;padding:10px 16px;min-height:44px;font-size:14px}.photo-dialog>img{max-height:70dvh;max-width:100%;width:auto;margin:auto;object-fit:contain}.dialog-nav{display:flex;justify-content:space-between;gap:20px;margin-top:16px}.dialog-nav span{color:var(--muted);align-self:center;font-size:14px}.legal-main{max-width:980px;margin:auto;padding:65px 6.5% 90px}.legal-main h1{font-size:clamp(44px,6vw,75px);margin:30px 0}.legal-main .legal-language{font-size:14px;margin-bottom:40px}.legal-copy{font-size:16px;line-height:1.8;overflow-wrap:anywhere}.legal-copy p{margin:0 0 20px}.legal-copy h3{margin:35px 0 20px}.loading{padding:60px 6.5%;font-size:16px}.error-box{padding:50px 6.5%;border:1px solid var(--line)}
@media(min-width:1500px){.section{padding-left:100px;padding-right:100px}}
@media(max-width:1150px){.nav{gap:16px}.top-book{display:none}.header{gap:20px}.header-right{gap:10px}.section{padding-top:75px;padding-bottom:75px}.intro{gap:7%}.hero-heading{gap:30px}.hero-description{max-width:320px}.room-grid{gap:20px}.room-card h3{font-size:30px}.info-accordion{column-gap:30px}.contact-section{gap:7%}}
@media(max-width:800px){.header{flex-wrap:wrap;padding:20px 5%;gap:16px}.brand span{font-size:23px}.nav{order:3;width:100%;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;gap:12px;flex-wrap:wrap}.hero{padding:40px 5% 20px}.hero-heading{display:block;margin-bottom:30px}.hero h1{font-size:clamp(67px,12vw,94px)}.hero-description{max-width:500px;margin-top:26px}.hero-description p{font-size:16px;margin-bottom:20px}.hero-caption{font-size:11px;letter-spacing:.07em;flex-wrap:wrap}.section{padding:60px 6%}.arrival-band{padding:20px 6%;gap:20px}.arrival-band>div{padding:10px 0;border:0}.arrival-band h3{font-size:23px}.arrival-band p{font-size:13px}.intro,.breakfast-section,.restaurant-section,.events-section,.stay-top,.contact-section{grid-template-columns:1fr;gap:30px}.intro p{font-size:16px}.section-heading{align-items:start;flex-direction:column;gap:20px;margin-bottom:30px}.room-grid{grid-template-columns:1fr;gap:45px}.room-card h3{font-size:36px}.room-meta{min-height:0}.room-detail ul{columns:2;column-gap:24px}.room-photo img{width:100%;height:auto}.breakfast-section{gap:35px}.breakfast-image{order:2}.breakfast-copy>p{margin:24px 0}.restaurant-images{padding-bottom:55px;max-width:600px}.restaurant-images .restaurant-inset{right:0;border-width:8px}.restaurant-copy p{margin:24px 0}.events-section p{font-size:16px}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.stay-top{margin-bottom:30px}.reception-panel{padding:25px}.info-accordion{grid-template-columns:1fr}.contact-details{gap:30px}.newsletter{align-items:flex-start;flex-direction:column;gap:16px}.footer-main{flex-direction:column;gap:26px}.footer-bottom{flex-direction:column;gap:16px}.footer-legal{gap:15px}.photo-dialog{padding:14px}.dialog-head h2{font-size:23px}.dialog-nav{gap:10px}.dialog-nav button{padding:10px}.legal-main{padding:40px 6% 60px}}
@media(max-width:430px){.arrival-band{grid-template-columns:1fr;gap:0}.arrival-band>div{border-bottom:1px solid var(--line);padding:15px 0}.arrival-band>div:last-child{border:0}.arrival-band h3{display:inline;font-size:25px}.arrival-band p{margin-top:4px}.room-detail ul{columns:1}.contact-details{grid-template-columns:1fr}.contact-details .wide{grid-column:auto}.dialog-head h2{font-size:20px}.header .brand span{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.room-thumbnails .zoom-mark{display:none}

.long-stay{margin-top:55px;border:1px solid var(--line);padding:32px;display:grid;grid-template-columns:1fr 1.25fr;gap:40px}.long-stay .eyebrow{margin-bottom:12px}.long-stay h3{font-size:35px}.long-stay p:not(.eyebrow){font-size:16px}.long-stay .text-link{margin-top:12px}@media(max-width:800px){.long-stay{grid-template-columns:1fr;gap:22px;padding:25px}}

.long-stay h3{line-height:1.2}.long-stay h4{font:500 16px var(--sans);margin:0 0 14px}.long-stay-included{margin:25px 0;padding:22px;border:1px solid var(--line);background:var(--surface)}.long-stay-included ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 25px;margin:0;padding-left:19px;color:var(--muted)}.long-stay-laundry{margin-bottom:24px}.long-stay .long-stay-availability{border-top:1px solid var(--line);padding-top:22px}@media(max-width:430px){.long-stay-included ul{grid-template-columns:1fr}.long-stay h3{font-size:32px}}
