@font-face{font-family:Juana;src:url('assets/Juana-ExtraLight.woff2') format('woff2');font-weight:200;font-display:swap}
@font-face{font-family:Juana;src:url('assets/Juana-ExtraLightItalic.woff2') format('woff2');font-weight:200;font-style:italic;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/Manrope.woff2') format('woff2');font-weight:200 800;font-display:swap}
:root{--paper:#eae5e1;--ink:#2e2d2c;--line:#a7a49d;--serif:Juana,Georgia,serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;font-weight:300}body:has(dialog[open]){overflow:hidden}button,input,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{background:none;border:0}button:disabled{cursor:default;opacity:.4}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,.gallery:focus-visible{outline:2px solid currentColor;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:200}em{font-weight:200}img{display:block;max-width:100%}.skip{position:fixed;top:8px;left:16px;padding:12px;background:var(--paper);z-index:200;transform:translateY(-160%)}.skip:focus{transform:none}
.header{position:fixed;inset:0 0 auto;z-index:40;height:64px;display:flex;justify-content:space-between;align-items:center;padding:10px 36px;color:#fff;transition:background .35s,color .35s}.header.scrolled,.header.menu-open{background:var(--paper);color:var(--ink)}.wordmark{font-family:var(--serif);font-size:37px;font-style:italic;letter-spacing:-2.4px;line-height:.85;display:inline-flex;flex-direction:column;align-items:center}.wordmark span{font-family:var(--sans);font-size:7px;letter-spacing:3px;font-style:normal;line-height:2;margin-left:4px}.header-actions{display:flex;align-items:center;gap:34px}.pill{border:1px solid currentColor;border-radius:50%;border-radius:100px;min-width:103px;padding:5px 18px;line-height:1.3;transition:background .2s,color .2s}.pill:hover{background:var(--ink);color:var(--paper)}.hero .pill:hover{background:var(--paper);color:var(--ink)}.pill.large{display:block;padding:12px 30px;min-width:165px;margin:32px auto 0;font-size:16px}.burger{width:25px;height:30px;padding:4px 0;display:flex;flex-direction:column;justify-content:space-around}.burger span{width:25px;height:1px;background:currentColor;transition:transform .3s,opacity .3s}.menu-open .burger span:nth-child(1){transform:translateY(7.5px) rotate(40deg)}.menu-open .burger span:nth-child(2){opacity:0}.menu-open .burger span:nth-child(3){transform:translateY(-7.5px) rotate(-40deg)}
.hero{height:100svh;min-height:570px;position:relative;display:grid;place-items:center;color:white}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:rgba(0,0,0,.48)}.hero-content{position:relative;text-align:center;margin-top:-5px;animation:arrive 1.1s both}.eyebrow{text-transform:uppercase;letter-spacing:.045em;font-size:13px;font-weight:400;margin-bottom:10px}.hero h1{font-size:clamp(40px,3.2vw,64px);letter-spacing:-.035em;line-height:1.12}.hero-links{display:flex;justify-content:center;gap:35px;margin-top:38px}.line-link{text-transform:uppercase;font-size:16px;letter-spacing:.03em;position:relative;padding:0 0 5px}.line-link:after{content:'';height:1px;background:currentColor;position:absolute;bottom:0;left:10px;right:10px;transition:left .2s,right .2s}.line-link:hover:after{left:0;right:0}.hero-down{position:absolute;bottom:36px;left:16px;right:16px;display:flex;align-items:center;flex-direction:column;font-family:var(--serif);font-size:18px;gap:12px}.chevron{height:10px;width:10px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg)}
.page-content{position:relative;padding-top:110px;background:var(--paper)}.page-content:before{content:'';position:absolute;top:-70px;height:71px;left:0;right:0;background:linear-gradient(transparent,var(--paper));pointer-events:none}.section{width:calc(100% - 160px);max-width:1220px;margin:auto;text-align:center}.section-title{margin-bottom:38px}h2{font-size:clamp(38px,4.3vw,64px);line-height:1.08;letter-spacing:-.035em}.section .eyebrow{font-size:12px;margin-bottom:17px}.body-copy{font-family:var(--serif);font-size:clamp(21px,2.1vw,29px);line-height:1.45;max-width:800px;margin:36px auto 0}.gallery{position:relative;outline:none;touch-action:pan-y}.gallery-frame{position:relative;overflow:hidden;border-radius:48% 2% 3% 2% / 3% 3% 4% 2%;background:#bbb7af;aspect-ratio:16/9}.gallery-image{width:100%;height:100%;object-fit:cover;transition:opacity .25s}.gallery-arrow{position:absolute;top:calc(50% - 30px);height:48px;width:48px;border:1px solid #ffffffa6;border-radius:50%;color:white;background:#2e2d2c33;font-size:24px;display:grid;place-items:center;transition:background .2s}.gallery-arrow:hover{background:#2e2d2c99}.gallery-arrow.prev{left:22px}.gallery-arrow.next{right:22px}.gallery-dots{display:flex;gap:10px;justify-content:center;align-items:center;height:32px;margin-top:8px}.gallery-dots button{height:6px;width:6px;padding:0;border:1px solid var(--ink);border-radius:50%}.gallery-dots button[aria-current=true]{background:var(--ink)}.gallery-status{position:absolute;bottom:12px;right:0;font-size:10px;letter-spacing:.15em}.wide-image{width:100%;aspect-ratio:16/9;object-fit:cover}.organic{border-radius:2% 3% 2% 3% / 4% 2% 3% 2%}hr{height:1px;width:80px;border:0;background:var(--line);margin:90px auto}.zone-label{font-size:26px;margin:40px 0 28px}.practical{text-align:left;display:grid;grid-template-columns:1.2fr 1fr 1.3fr;gap:50px;max-width:1100px}.practical h2{font-size:42px}.practical h3{font-size:24px;margin-bottom:22px}.practical address{font-style:normal;font-size:14px;line-height:1.9}.practical a{text-decoration:underline;text-underline-offset:5px}.hours{display:grid;grid-template-columns:65px 1fr;gap:18px;font-size:13px;line-height:1.9}.experience h2{margin-top:12px}.restaurant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px 36px}.restaurant-card{display:block;text-align:center;padding:0;width:100%}.restaurant-card img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:45% 45% 2% 3% / 3% 4% 2% 3%;transition:filter .3s,transform .5s}.restaurant-card:hover img{filter:brightness(1.08);transform:translateY(-5px)}.restaurant-card h3{font-size:29px;margin:18px 0 7px}.restaurant-card p{font-size:12px;line-height:1.8}.faq{max-width:780px;margin-top:110px}.faq h2{margin-bottom:35px}.faq details{text-align:left;border-top:1px solid var(--line);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.faq summary{display:flex;justify-content:space-between;font-size:15px}.faq summary:after{content:'+';font-size:22px;line-height:1}.faq details[open] summary:after{content:'−'}.faq details p{margin-top:18px;line-height:1.8;font-size:14px}.closing{text-align:center;padding:140px 20px 90px}.closing h2{font-size:clamp(40px,6vw,80px)}.closing p{font-family:var(--serif);margin-top:14px;font-size:22px}.botanical{display:block;font-size:75px;font-family:Georgia;margin-top:45px;color:#73796a}
footer{border-top:1px solid #b1aea7;margin:0 36px;padding:55px 0 25px;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:40px;align-items:start}footer>.wordmark{justify-self:start;font-size:60px}footer>.wordmark span{font-size:10px}footer h3{font-family:var(--sans);font-size:12px;font-weight:500;text-transform:uppercase;margin-bottom:22px}footer div>a,footer div>button{display:block;padding:0;margin:12px 0;font-size:13px;text-align:left}footer a:hover,footer button:hover{text-decoration:underline;text-underline-offset:4px}.footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #b1aea7;padding-top:25px;margin-top:35px;font-size:10px}.back-top{position:fixed;bottom:22px;right:26px;z-index:15;border:1px solid #88847d;background:var(--paper);height:36px;width:36px;display:grid;place-items:center;border-radius:50%;opacity:0;pointer-events:none;transition:opacity .2s}.back-top.visible{opacity:1;pointer-events:auto}
dialog{color:var(--ink);background:var(--paper);border:0}dialog::backdrop{background:#0009;backdrop-filter:blur(2px)}.navigation{inset:0;margin:0;max-width:none;max-height:none;width:100%;height:100dvh;padding:110px 36px 36px;z-index:35}.navigation::backdrop{background:transparent;backdrop-filter:none}.navigation nav{min-height:100%;display:flex;justify-content:space-between;align-items:flex-end}.nav-secondary{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.nav-secondary a,.nav-secondary button{font-family:var(--serif);font-size:24px;padding:0}.nav-restaurants{text-align:right}.nav-restaurants p{font-size:12px;text-transform:uppercase;margin:26px 0 6px}.nav-restaurants p:first-child{margin-top:0}.nav-restaurants a{display:block;font-family:var(--serif);font-size:40px;line-height:1.38;letter-spacing:-.03em}.navigation a:hover,.navigation button:hover{opacity:.6}.navigation a[aria-current]{font-style:italic}
.content-dialog{width:min(780px,calc(100% - 32px));max-height:90dvh;padding:55px;border-radius:5px}.dialog-close{position:absolute;right:22px;top:14px;font-size:30px;font-weight:200;line-height:1}.content-dialog h2{font-size:43px;margin-bottom:18px}.content-dialog p{line-height:1.8}.content-dialog .eyebrow{font-size:11px}.dialog-note{font-size:12px;color:#66615a;border-top:1px solid var(--line);padding-top:18px;margin-top:26px}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin:25px 0}.tabs button{padding:12px 0;font-size:14px}.tabs button[aria-selected=true]{border-bottom:1px solid var(--ink)}.dish{padding:18px 0;border-bottom:1px solid #b5b2ab;display:grid;grid-template-columns:1fr auto;gap:8px 20px}.dish h3{font-size:25px}.dish p{grid-column:1/-1;font-size:13px}.dish-price{font-size:14px;padding-top:5px}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.booking-form label{font-size:12px;display:flex;flex-direction:column;gap:10px}.booking-form input,.booking-form select{background:transparent;border:1px solid #99958d;border-radius:0;width:100%;padding:12px;min-height:46px}.booking-form button{grid-column:1/-1;margin-top:5px;padding:14px}.booking-result{margin-top:24px;background:#e2e0d7;padding:22px}.booking-result h3{font-size:28px;margin-bottom:12px}.hidden{display:none!important}.cookie-dialog{width:min(800px,calc(100% - 32px));padding:38px 55px 34px;border-radius:30px}.cookie-dialog h2{font-size:26px;letter-spacing:-.02em;margin-bottom:12px}.cookie-dialog p{font-size:14px;line-height:1.8}.cookie-dialog details{font-size:13px;margin-top:22px}.cookie-dialog summary{text-decoration:underline;text-underline-offset:4px}.cookie-dialog details p{margin-top:12px}.cookie-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:24px}.cookie-actions .pill{padding:12px 26px;min-width:160px}.filled{background:#f7f6f2}.cookie-dialog::backdrop{background:#0008;backdrop-filter:none}.place-image{width:100%;height:260px;object-fit:cover;margin-bottom:25px;border-radius:3px}.place-links{display:flex;gap:15px;margin-top:25px;flex-wrap:wrap}.place-links .pill{padding:12px 22px}.success-icon{font-family:var(--serif);font-size:45px}
.header.scrolled,.header.menu-open,.navigation{background:#d0cdc6}.cookie-dialog{background:#ded9d3}h2{font-size:clamp(34px,3vw,48px)}.nav-brand{position:absolute;top:15px;left:36px}.nav-close{position:absolute;right:29px;top:8px;font-size:37px;font-weight:200;line-height:1;width:40px;height:44px}.nav-book{position:absolute;top:16px;right:95px}.nav-close:hover{opacity:.6}
@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(min-width:1600px){.hero h1{font-size:58px}}
@media(max-width:900px){.section{width:calc(100% - 64px)}.practical{grid-template-columns:1fr 1fr;gap:35px}.practical h2{grid-column:1/-1;text-align:center;margin-bottom:10px}.restaurant-grid{gap:35px 22px}.restaurant-card h3{font-size:25px}footer{grid-template-columns:1fr 1fr;gap:40px}.nav-restaurants a{font-size:33px}.nav-secondary a,.nav-secondary button{font-size:22px}}
@media(max-width:600px){.header{height:62px;padding:10px 20px}.header-actions{gap:22px}.wordmark{font-size:32px}.wordmark span{font-size:6px}.header .pill{font-size:13px;min-width:86px}.hero{min-height:540px}.hero-image{object-position:53% center}.hero h1{font-size:43px}.hero .eyebrow{font-size:11px}.hero-links{margin-top:30px;gap:30px}.line-link{font-size:14px}.hero-down{bottom:35px;font-size:15px}.page-content{padding-top:70px}.section{width:calc(100% - 32px)}.section-title{margin-bottom:28px}h2{font-size:39px}.section .eyebrow{font-size:10px;margin-bottom:13px}.gallery-frame,.wide-image{aspect-ratio:4/3}.gallery-arrow{height:36px;width:36px;font-size:20px}.gallery-arrow.prev{left:12px}.gallery-arrow.next{right:12px}.body-copy{font-size:23px;margin-top:25px;padding:0 6px}.gallery-status{font-size:9px}.zone-label{font-size:23px;margin:35px 0 22px}hr{margin:62px auto;width:55px}.practical{display:block;padding:0 20px}.practical h2{text-align:center;font-size:39px;margin-bottom:40px}.practical>div{margin-top:32px}.practical h3{font-size:25px;margin-bottom:18px}.practical address{font-size:14px}.hours{font-size:14px;grid-template-columns:70px 1fr}.restaurant-grid{grid-template-columns:1fr 1fr;gap:30px 16px}.restaurant-card h3{font-size:23px;line-height:1.12;margin-top:14px}.restaurant-card p{font-size:10px;margin-top:8px}.faq{margin-top:75px;padding:0 8px}.faq summary{font-size:13px}.closing{padding:85px 16px 60px}.closing h2{font-size:40px}.closing p{font-size:20px}.botanical{font-size:56px;margin-top:25px}footer{margin:0 20px;padding-top:35px;gap:32px 16px}footer>.wordmark{font-size:48px}footer h3{font-size:10px}footer div>a,footer div>button{font-size:12px;line-height:1.6}.footer-bottom{font-size:9px;flex-direction:column;margin-top:10px;gap:8px}.navigation{padding:95px 20px 28px}.navigation nav{display:flex;flex-direction:column-reverse;align-items:stretch;gap:35px}.nav-restaurants a{font-size:30px;line-height:1.3}.nav-restaurants p{font-size:10px;margin-top:16px}.nav-secondary{gap:7px}.nav-secondary a,.nav-secondary button{font-size:21px}.content-dialog{padding:45px 24px 30px}.content-dialog h2{font-size:35px}.booking-form{gap:18px 12px}.cookie-dialog{padding:28px 24px;border-radius:18px}.cookie-dialog h2{font-size:25px}.cookie-dialog p{font-size:13px}.cookie-actions{flex-direction:column;gap:10px}.cookie-actions .pill{min-width:0;width:100%}.back-top{right:16px;bottom:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.brand-logo img{display:block;width:135px;height:auto;max-height:48px;object-fit:contain}.header .brand-logo img{filter:brightness(0) invert(1)}.header.scrolled .brand-logo img,.header.menu-open .brand-logo img{filter:none}.nav-brand.brand-logo{top:9px}
.gallery-image,.wide-image{filter:brightness(.75)}
#gastronomy .wide-image{width:min(100%,560px);height:auto;aspect-ratio:auto;object-fit:contain;margin-inline:auto}
@media(max-width:600px){.brand-logo img{width:120px;max-height:42px}.nav-brand.brand-logo{left:20px;top:10px}}


.practical h3.contact-title{margin-top:24px;margin-bottom:8px}

@media(min-width:901px){footer.site-footer{grid-template-columns:1.2fr repeat(4,minmax(0,1fr));column-gap:28px}}
.language-toggle{font-family:var(--sans);font-size:13px;font-weight:400;letter-spacing:.045em;line-height:1;padding:10px 0;min-width:28px;flex:none}.header-actions:has(.language-toggle){gap:22px}@media(max-width:600px){.language-toggle{font-size:11px;min-width:25px}.header-actions:has(.language-toggle){gap:14px}}
@media(max-width:700px){
  .hero h1{font-size:37px;line-height:1.15}
  .hero-down{font-size:14px}
  .section h2,.practical h2{font-size:33px;line-height:1.12}
  .body-copy{font-size:20px;line-height:1.5}
  .zone-label{font-size:21px}
  .practical h3{font-size:22px}
  .closing h2{font-size:34px;line-height:1.15}
  .nav-secondary a,.nav-secondary button{font-size:19px}
  .content-dialog h2{font-size:29px;line-height:1.15}
  .content-dialog p{font-size:14px;line-height:1.7}
  .content-dialog .eyebrow{font-size:10px}
  .content-dialog .pill{font-size:14px}
}

.header-instagram{display:inline-flex;align-items:center;justify-content:center;width:26px;height:34px;flex:none;color:inherit;transition:opacity .2s}.header-instagram:hover{opacity:.65}.header-instagram svg{display:block;width:22px;height:22px}.header{gap:12px}.header-actions{flex:none}
@media(max-width:380px){.header{padding-inline:16px}.header .brand-logo img{width:96px}.header-actions:has(.language-toggle){gap:8px}.header .pill{min-width:76px;padding-inline:12px}}
.hero-links{flex-wrap:wrap;padding-inline:20px;row-gap:16px}
@media(max-width:600px){.hero-links{max-width:360px;margin-inline:auto;column-gap:24px}}

.booking-dialog{width:min(760px,calc(100% - 24px));padding:46px 24px 24px}.booking-dialog h2{font-size:32px;margin-bottom:20px}.booking-dialog iframe{display:block;width:100%;height:600px;border:0}.booking-dialog .booking-help,.booking-fallback{font-size:12px;line-height:1.5}.booking-fallback{text-decoration:underline;text-underline-offset:3px}@media(max-width:600px){.booking-dialog{padding:44px 12px 20px}.booking-dialog h2{font-size:26px}.booking-dialog iframe{height:560px}}

.booking-dialog{width:min(640px,calc(100% - 24px));padding:48px 32px 26px;background:var(--paper)}.booking-dialog h2{font-size:42px;margin-bottom:20px}.booking-dialog iframe{height:480px;background:var(--paper)}.booking-dialog .booking-help{border-top:1px solid var(--line);padding-top:16px;margin-top:12px;margin-bottom:6px;color:var(--ink)}.booking-fallback{color:var(--ink);opacity:.75}@media(max-width:600px){.booking-dialog{padding:44px 16px 22px}.booking-dialog h2{font-size:32px}.booking-dialog iframe{height:460px}}


.language-picker{position:relative;flex:none}.language-options{position:absolute;top:calc(100% + 5px);right:-12px;min-width:56px;padding:5px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:4px;box-shadow:0 5px 16px rgba(0,0,0,.1);z-index:45}.language-options[hidden],.language-options button[hidden]{display:none}.language-options button{display:block;width:100%;padding:9px 6px;font-family:var(--sans);font-size:12px;letter-spacing:.045em;line-height:1;text-align:center;border-radius:2px}.language-options button:hover,.language-options button:focus-visible{background:#ded8d1;outline:1px solid var(--line);outline-offset:-1px}.language-toggle:focus-visible{outline:1px solid currentColor;outline-offset:4px}@media(max-width:600px){.language-options button{font-size:11px}}
