:root{--ink:#292321;--burgundy:#5b2630;--gold:#e1bc7a;--paper:#f8f4ee;--muted:#706961;--line:#ded4c7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ad792c;outline-offset:6px}img{max-width:100%;display:block}.skip{position:absolute;left:12px;top:-100px;z-index:20;padding:10px;background:white}.skip:focus{top:10px}header{height:98px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;gap:22px;background:var(--paper);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font:31px/1.1 Georgia,serif}.brand small{display:block;font:10px/1.8 Arial,sans-serif;letter-spacing:1.5px;margin-top:6px}.crest{display:block;width:38px;height:51px;overflow:hidden;position:relative}.crest img{position:absolute;max-width:none;width:100px;left:-30px;top:-73px}nav{display:flex;gap:27px;font-size:14px}nav a:hover,.text-link:hover{color:#a57131}.header-call{padding:11px 21px;background:var(--burgundy);color:white;font-size:14px}.mobile-menu{display:none}.hero{min-height:740px;height:calc(100svh - 98px);max-height:950px;position:relative;color:white;display:flex;align-items:center;isolation:isolate}.hero-picture{position:absolute;inset:0;z-index:-2;background:url('assets/sala.jpeg') center 42%/cover no-repeat}.hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(23,17,16,.92),rgba(23,17,16,.67) 47%,rgba(23,17,16,.18)),linear-gradient(0deg,rgba(23,17,16,.7),transparent 40%)}.hero-content{padding:50px 7% 100px;max-width:920px}.eyebrow{font-size:12px;letter-spacing:2.1px;font-weight:600;color:#987444;line-height:1.8;margin:0 0 23px}.hero .eyebrow{color:var(--gold)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.12;margin:0}h1{font-size:clamp(50px,5.9vw,85px);letter-spacing:-2px}em{font-weight:400;color:#947044}h1 em{color:var(--gold)}.hero-intro{max-width:490px;color:#e0d8cf;font-size:19px;margin:30px 0 35px}.actions{display:flex;gap:15px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 23px;font-size:14px;line-height:1.5;font-weight:600;transition:background .2s,transform .2s;text-align:center}.button:hover{transform:translateY(-2px)}.gold{background:var(--gold);color:#2e211c}.gold:hover{background:#f0ce93}.ghost{border:1px solid #b6a796;color:white;background:#ffffff0b}.outline{border:1px solid #b89970;color:var(--ink)}.burgundy{background:var(--burgundy);color:white}.burgundy:hover{background:#79333e}.hero-bottom{position:absolute;bottom:30px;left:7%;right:7%;display:flex;justify-content:space-between;gap:20px;font-size:12px;letter-spacing:.7px;border-top:1px solid #ffffff40;padding-top:25px}.hero-bottom a{border-bottom:1px solid var(--gold)}.fact-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:31px 7%;border-bottom:1px solid var(--line);gap:25px}.fact-strip p{margin:0;padding-left:24px;border-left:1px solid var(--line)}.fact-strip p:first-child{padding-left:0;border-left:0}.fact-strip strong{display:block;font:27px/1.5 Georgia,serif}.fact-strip span{font-size:12px;color:var(--muted)}.section{padding:110px 7%;scroll-margin-top:0}.intro{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8%}h2{font-size:clamp(36px,4vw,57px);letter-spacing:-1.4px}.intro p:not(.eyebrow),.event-title>p:not(.eyebrow),.robots p:not(.eyebrow),.contact>div>p:not(.eyebrow){color:var(--muted);max-width:540px}.text-link{display:inline-block;border-bottom:1px solid #987444;padding:6px 0;font-size:14px;margin-top:12px}.intro-photo{margin:0;position:relative}.intro-photo:before{content:'';position:absolute;inset:-15px 15px 15px -15px;border:1px solid #bfa47b;z-index:-1}.intro-photo img{width:100%;height:auto}.intro-photo figcaption{font-size:12px;color:var(--muted);padding-top:15px}.kitchen{background:#eee6d9}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end}.section-heading>p{max-width:380px;color:var(--muted);margin:0}.dishes{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:60px}.dishes article{position:relative;border-top:1px solid #ae9270;padding:35px 0 10px}.dish-number{position:absolute;right:5px;top:20px;font:58px Georgia,serif;color:#d8c9b3}.dishes .eyebrow{font-size:11px;margin-bottom:18px}.dishes h3{font-size:36px;margin-bottom:22px;position:relative}.dishes article>p:last-child{color:var(--muted);max-width:300px;font-size:16px}.kitchen-footer{display:flex;gap:16px;align-items:center;margin-top:38px;border-top:1px solid #d0bfaa;padding-top:30px}.kitchen-footer p{font-size:14px;color:var(--muted);margin:0 auto 0 0;max-width:390px}.events{display:grid;grid-template-columns:1fr 1fr;gap:9%}.event-title .button{margin-top:15px}.event-list details{border-bottom:1px solid var(--line)}.event-list details:first-child{border-top:1px solid var(--line)}summary{list-style:none;cursor:pointer;font:25px/1.5 Georgia,serif;display:flex;align-items:center;padding:24px 0;gap:20px}summary::-webkit-details-marker{display:none}summary span{font:12px Arial,sans-serif;color:#987444}summary:after{content:'+';margin-left:auto;color:#987444;font:24px Arial,sans-serif}details[open] summary:after{content:'−'}details p{margin:0 0 23px 35px;font-size:15px;color:var(--muted)}.terrace{display:grid;grid-template-columns:1fr 1fr;background:#272724;color:white}.terrace>img{width:100%;height:560px;object-fit:cover;object-position:center 60%}.terrace>div{padding:80px 14%;align-self:center}.terrace p:not(.eyebrow){color:#c8c5bd;font-size:16px;margin:25px 0 30px}.terrace em,.hotel em{color:var(--gold)}.terrace .eyebrow,.hotel .eyebrow{color:var(--gold)}.robots{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:12%}.robots img{width:100%;max-height:490px;object-fit:cover;object-position:center 60%;border-radius:160px 160px 0 0}.hotel{background:var(--burgundy);color:#fff}.hotel .section-heading>p{color:#dfcdd0}.hotel-options{margin-top:55px;display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.hotel-options article{border-top:1px solid #b0898f;padding-top:23px}.hotel-options span{font-size:12px;color:var(--gold)}.hotel-options h3{font-size:29px;margin-top:22px}.hotel-options p{color:#dfcdd0;font-size:16px;max-width:290px}.hotel-footer{border-top:1px solid #8c5a64;margin-top:25px;padding-top:20px;display:flex;flex-wrap:wrap;align-items:center;gap:20px}.hotel-footer p{width:100%;font-size:14px;color:#dfcdd0;margin:0 0 5px}.light{color:white;border-color:var(--gold);margin:0}.contact{display:grid;grid-template-columns:1.2fr .8fr;gap:10%;align-items:center}.big-phone{display:block;font:42px Georgia,serif;color:var(--burgundy);margin:26px 0 5px}.email{font-size:17px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.contact-card{border:1px solid #cabbab;padding:45px;background:#f0e9df}.contact-card h3{font-size:31px}.contact-card>p:not(.eyebrow){font-size:15px;color:var(--muted);margin:25px 0}.social-links{display:flex;gap:25px;margin-top:35px;font-size:13px}.social-links a{border-bottom:1px solid #b79b74}footer{background:#211e1c;color:#bdb5ac;padding:55px 7% 25px;display:grid;grid-template-columns:1fr 1fr auto;align-items:start;gap:20px}footer p,footer>a:not(.footer-brand){font-size:13px;margin:0}.footer-brand{font:32px Georgia,serif;color:white}.footer-brand span{display:block;font:13px Arial,sans-serif;color:#bdb5ac;margin-top:12px}footer small{grid-column:1/-1;border-top:1px solid #ffffff25;padding-top:24px;margin-top:24px;font-size:12px}@media(min-width:1600px){.section{padding-left:max(7%,calc((100vw - 1380px)/2));padding-right:max(7%,calc((100vw - 1380px)/2))}}@media(max-width:1100px){header{padding:0 4%;gap:15px}nav{gap:16px;font-size:13px}.brand{font-size:27px}.brand small{font-size:9px}.header-call{padding:10px 13px;font-size:12px}.hero{min-height:690px}.section{padding:85px 6%}.section-heading{gap:35px}.section-heading>p{max-width:300px}.kitchen-footer{flex-wrap:wrap}.kitchen-footer p{max-width:none;width:100%}.terrace>div{padding:60px 10%}.fact-strip{padding:28px 6%;gap:15px}.fact-strip strong{font-size:23px}.contact-card{padding:30px}}@media(max-width:780px){html{scroll-padding-top:80px}header{height:80px;padding:0 5%}.brand{font-size:26px}.brand small{font-size:8px;letter-spacing:1px}.crest{transform:scale(.86);margin-right:-4px}.header-call{display:none}.mobile-menu{display:block;border:1px solid #cabbab;background:transparent;padding:7px 15px;font-size:14px}nav{display:none;position:absolute;left:0;right:0;top:80px;background:var(--paper);padding:22px 6%;box-shadow:0 12px 20px #0002}nav.open{display:flex;flex-direction:column;gap:17px;font-size:17px}.hero{height:auto;min-height:720px;max-height:none}.hero-content{padding:70px 7% 140px}.hero-picture{background-position:60% 40%}.hero:before{background:linear-gradient(90deg,#171110ed,#17111099),linear-gradient(0deg,#171110d9,transparent)}h1{font-size:57px;letter-spacing:-1.5px}.hero-intro{font-size:17px}.eyebrow{font-size:11px;letter-spacing:1.4px}.hero-bottom{font-size:11px;gap:15px;bottom:23px}.hero-bottom span:last-child{display:none}.fact-strip{grid-template-columns:1fr 1fr;gap:25px;padding:30px 7%}.fact-strip p:nth-child(3){padding-left:0;border-left:0}.fact-strip strong{font-size:24px}.section{padding:70px 7%}.intro,.events,.robots,.contact{grid-template-columns:1fr;gap:45px}h2{font-size:42px;letter-spacing:-1px}.intro-photo{margin:0 0 0 15px}.section-heading{display:block}.section-heading>p{max-width:100%;margin-top:25px}.dishes{grid-template-columns:1fr;gap:16px;margin-top:35px}.dishes article>p:last-child{max-width:100%}.dishes h3 br{display:none}.dishes h3{font-size:33px}.kitchen-footer .button{flex:1}.terrace{grid-template-columns:1fr}.terrace>img{height:360px;object-position:center 62%}.terrace>div{padding:55px 7%}.robots{gap:35px}.robots img{max-height:490px;max-width:390px;margin:auto}.hotel-options{grid-template-columns:1fr;gap:20px;margin-top:35px}.hotel-options h3{margin-top:12px}.hotel-options p{max-width:100%}.hotel-footer .button{width:100%}.hotel-footer .text-link{font-size:14px}.contact-card{padding:30px}.big-phone{font-size:37px}footer{grid-template-columns:1fr;gap:28px;padding:45px 7% 25px}footer small{margin-top:0}.hero .actions{flex-direction:column;align-items:flex-start}.actions .button{min-width:210px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Restaurant menu */
.menu-intro{padding-top:65px;padding-bottom:45px;border-bottom:1px solid var(--line)}.menu-intro h1{color:var(--ink)}.menu-intro>p:not(.eyebrow){color:var(--muted);margin:24px 0 5px}.menu-layout{max-width:1500px;margin:auto;padding:55px 7% 90px;display:grid;grid-template-columns:200px minmax(0,1fr);gap:65px}.menu-categories{display:flex;flex-direction:column;gap:0;align-self:start;position:sticky;top:125px;font-size:15px}.menu-categories a{padding:9px 0;border-bottom:1px solid var(--line)}.menu-category{padding:0 0 55px;margin-bottom:45px;border-bottom:1px solid var(--line);scroll-margin-top:125px}.menu-category .eyebrow{margin-bottom:10px}.menu-category h2{font-size:36px;margin-bottom:28px;line-height:1.2}.menu-item{display:flex;justify-content:space-between;gap:22px;padding:19px 0;border-bottom:1px solid #e8dfd4}.menu-item:last-child{border-bottom:0}.menu-item p{margin:0;font-size:17px;line-height:1.6}.menu-item strong{font-size:18px;white-space:nowrap;flex-shrink:0;color:var(--burgundy)}.menu-item .menu-description{font-size:15px;color:var(--muted);margin-top:7px}.menu-note{color:var(--muted);font-size:14px}.allergen-list{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px}.allergen-list div{display:flex;gap:14px}.allergen-list dt{color:var(--burgundy);font-weight:bold;min-width:20px}.allergen-list dd{margin:0;font-size:16px}@media(max-width:780px){.menu-intro{padding-top:45px}.menu-layout{display:block;padding-top:25px}.menu-categories{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-bottom:45px;padding:0;background:transparent;box-shadow:none}.menu-categories a{border:1px solid var(--line);padding:6px 12px;font-size:14px}.menu-category{scroll-margin-top:100px;margin-bottom:32px;padding-bottom:32px}.menu-category h2{font-size:30px}.menu-item{gap:15px}.menu-item p{font-size:16px}.allergen-list{grid-template-columns:1fr}.menu-item .menu-description{font-size:14px}}

/* Room categories and upcoming direct reservations */
.accommodation-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:50px;align-items:start}.accommodation-card{background:var(--paper);color:var(--ink);min-width:0;overflow:hidden}.accommodation-heading{padding:30px 30px 22px;min-height:200px}.accommodation-heading .eyebrow{color:#876235;margin-bottom:12px}.accommodation-heading h3{font-size:37px}.accommodation-heading>p:last-child{font-size:16px;color:var(--muted);margin:18px 0 0}.room-feature{margin:0}.room-feature>img{width:100%;aspect-ratio:3/2;object-fit:cover}.room-feature figcaption{font-size:14px;padding:16px 25px 5px;color:var(--muted);min-height:63px}.room-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:15px 22px 22px}.room-thumb{border:2px solid transparent;padding:2px;background:transparent;cursor:pointer;min-width:0}.room-thumb[aria-pressed="true"]{border-color:var(--burgundy)}.room-thumb img{width:100%;height:63px;object-fit:cover}.bungalow-placeholder{background:#ebe2d6;border:1px solid #d5c3a9;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;color:#75604b}.bungalow-main{aspect-ratio:3/2;margin:0 22px}.bungalow-main>span{font:34px Georgia,serif}.bungalow-placeholder small{font-size:14px;margin-top:10px;color:#786b5d}.bungalow-previews{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px 22px 22px}.bungalow-previews>div{min-height:125px}.booking-tile{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:40px;padding:32px;border:1px solid #ae7c85;background:#4a1c26}.booking-tile .eyebrow{margin-bottom:13px}.booking-tile h3{font-size:32px}.booking-tile p:last-child{max-width:620px;color:#eadadd;margin:16px 0 0;font-size:16px}.booking-tile-action{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:9px}.booking-tile-action .button:disabled{cursor:not-allowed;transform:none;opacity:.85}.booking-tile-action span{font-size:14px;color:#eadadd}@media(max-width:1000px){.accommodation-heading{min-height:230px;padding:25px}.room-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}.bungalow-previews{grid-template-columns:1fr}.bungalow-previews>div{min-height:115px}}@media(max-width:780px){.accommodation-grid{grid-template-columns:1fr;margin-top:35px;gap:25px}.accommodation-heading{min-height:0;padding:25px}.accommodation-heading h3{font-size:32px}.room-thumbnails{grid-template-columns:repeat(5,minmax(0,1fr));padding:12px}.room-thumb img{height:52px}.bungalow-previews{grid-template-columns:1fr 1fr}.booking-tile{flex-direction:column;align-items:stretch;gap:25px;padding:25px}.booking-tile-action{align-items:stretch;text-align:center}.booking-tile h3{font-size:30px}}

/* Accommodation price list */
.price-tile{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:40px;padding:32px;background:var(--paper);color:var(--ink);border:1px solid var(--gold)}.price-tile .eyebrow{color:#876235;margin-bottom:12px}.price-tile h3{font-size:32px}.price-tile p:last-child{font-size:16px;color:var(--muted);margin:14px 0 0}.price-tile>.button{flex-shrink:0}.price-tile:hover{background:#eee6d9}.lodging-prices{max-width:1250px;margin:auto}.lodging-prices h1{font-size:clamp(43px,5vw,70px);color:var(--ink)}.price-intro{font-size:18px;color:var(--muted);max-width:730px;margin:28px 0 50px}.price-section{margin-top:45px}.price-section h2{font-size:36px;margin-bottom:22px}.price-section>p{color:var(--muted)}.price-table-wrap{overflow-x:auto}.price-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:18px}.price-table caption{text-align:left;font-size:14px;color:var(--muted);padding:0 0 12px}.price-table th,.price-table td{padding:22px 24px;border:1px solid #ded4c7}.price-table thead th{background:var(--burgundy);color:white;font-size:16px;font-weight:normal}.price-table th:first-child{text-align:left;width:44%}.price-table tbody th{font-weight:normal}.price-table td{text-align:center;color:var(--burgundy);font-weight:bold;white-space:nowrap}.price-table tbody tr:nth-child(even){background:#eee6d9}.price-contact{margin-top:45px;padding-top:22px;border-top:1px solid var(--line)}.price-contact>p{color:var(--muted);margin-bottom:22px}@media(max-width:780px){.price-tile{flex-direction:column;align-items:stretch;padding:25px}.price-tile h3{font-size:30px}.price-table{font-size:16px}.price-table th,.price-table td{padding:17px 9px}.price-table thead th{font-size:14px}.price-table th:first-child{width:40%}.price-section h2{font-size:31px}.price-intro{font-size:16px}.lodging-prices{padding-top:45px}.price-contact .actions{align-items:stretch}.price-contact .button{width:100%}}

.bungalow-feature{background:#252321}.bungalow-feature>img{object-fit:contain}

/* Gallery navigation */
[data-photo-gallery]{position:relative}.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid #ffffffad;border-radius:50%;background:#211e1cce;color:#fff;cursor:pointer;box-shadow:0 2px 12px #0004}.gallery-arrow-prev{left:13px}.gallery-arrow-next{right:13px}.gallery-arrow:hover{background:var(--burgundy)}.gallery-arrow:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.gallery-arrow svg{pointer-events:none}@media(max-width:780px){.gallery-arrow{width:44px;height:44px}.gallery-arrow-prev{left:9px}.gallery-arrow-next{right:9px}}

[data-photo-gallery]{overflow:hidden;isolation:isolate}[data-photo-gallery]>.gallery-outgoing{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}[data-photo-gallery]>.gallery-arrow{z-index:2}

@media(min-width:781px){.menu-categories{max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain;padding-right:12px;scrollbar-width:thin}} 

.big-phone.secondary-phone{font-size:30px;margin:12px 0 22px}footer p a{display:inline-block}footer p a:hover{text-decoration:underline}

.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.header-actions .header-call{white-space:nowrap}.header-actions .header-menu{background:transparent;border:1px solid var(--burgundy);color:var(--burgundy)}.header-actions .header-room{border:1px solid var(--burgundy)}.contact-booking{display:flex;align-items:center;gap:28px;flex-wrap:wrap;scroll-margin-top:150px}.contact-online{display:flex;flex-direction:column;align-items:center;gap:7px}.contact-online span{font-size:14px;color:var(--muted)}.contact-online button:disabled{cursor:not-allowed;opacity:.7;transform:none}.contact-booking .big-phone{white-space:nowrap}@media(max-width:1100px){.header-actions{gap:7px}.header-actions .header-call{padding:10px 12px;font-size:12px}header nav{gap:14px}}@media(max-width:780px){header{height:auto;min-height:80px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px;row-gap:12px}.header-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;order:3}.header-actions .header-call{display:flex;align-items:center;justify-content:center;padding:10px;font-size:14px}.header-actions .header-menu{background:transparent}header nav{top:100%}html{scroll-padding-top:170px}.contact-booking{scroll-margin-top:180px;gap:10px;margin-bottom:24px}.contact-online{align-items:flex-start}.contact-online span{align-self:center}}

/* Navigation corrections for the external publication */
:root{--header-offset:170px}
html{scroll-padding-top:var(--header-offset)}
.contact-booking{scroll-margin-top:0}
.mobile-menu{color:var(--ink);-webkit-text-fill-color:var(--ink);appearance:none;-webkit-appearance:none;cursor:pointer}
.crest img{mix-blend-mode:multiply}
.back-home{margin-bottom:30px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Stable image layout and cream backing for the original logo. */
.crest{background:var(--paper);isolation:isolate}
.crest img{height:auto;mix-blend-mode:multiply}
.room-thumb img{height:63px}
@media(max-width:780px){.room-thumb img{height:52px}}

/* Gallery dimensions belong to the frame, never to the source photo. */
.room-feature{width:100%;min-width:0;aspect-ratio:3/2}
.room-feature>img,.room-feature>.gallery-outgoing{position:absolute;inset:0;width:100%;height:100%;max-width:100%;aspect-ratio:auto;object-fit:cover}
.bungalow-feature>img,.bungalow-feature>.gallery-outgoing{object-fit:contain}
