:root{--wine:#5a3129;--wine-dark:#30201c;--cream:#f5eee4;--paper:#fbf7f0;--ink:#2b211d;--muted:#74655f;--gold:#c89b5a;--line:rgba(90,49,41,.2);--radius:1.1rem;--shadow:0 24px 70px rgba(48,32,28,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}body.no-scroll{overflow:hidden}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:.5rem;left:.5rem;z-index:100;background:white;padding:.7rem 1rem;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.site-header{height:88px;padding:0 clamp(1.2rem,4vw,4.5rem);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;position:absolute;z-index:20;width:100%;color:white;border-bottom:1px solid rgba(255,255,255,.28)}.brand{display:flex;flex-direction:column;width:max-content;line-height:1}.brand span,.footer-brand span{font-family:Georgia,serif;font-size:2rem;font-style:italic}.brand small,.footer-brand small{text-transform:uppercase;letter-spacing:.23em;font-size:.55rem;margin-top:.25rem}.site-header nav{display:flex;gap:2rem}.site-header nav a{font-size:.84rem;text-transform:uppercase;letter-spacing:.09em;position:relative}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-.35rem;width:0;height:1px;background:white;transition:.25s}.site-header nav a:hover:after,.site-header nav a:focus-visible:after{width:100%}.header-actions{display:flex;align-items:center;gap:1rem;justify-self:end}.lang-switch{display:flex;align-items:center;gap:.3rem;font-size:.78rem}.lang-switch button{border:0;background:transparent;color:rgba(255,255,255,.6);padding:.2rem;cursor:pointer}.lang-switch button.active{color:white;font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.78rem 1.25rem;border:1px solid var(--wine);background:var(--wine);color:white;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:700;transition:.25s}.button:hover,.button:focus-visible{background:var(--wine-dark);border-color:var(--wine-dark);transform:translateY(-2px)}.button-small{min-height:40px;background:white;color:var(--wine);border-color:white}.button-small:hover{color:white}.button-ghost{background:transparent;color:var(--wine)}.button-ghost-light{background:transparent;border-color:rgba(255,255,255,.7);color:white}.menu-toggle{display:none;background:none;border:0;padding:.5rem}.menu-toggle span:not(.sr-only){display:block;width:23px;height:1px;background:white;margin:5px}
.hero{min-height:820px;background:var(--wine);color:white;display:grid;grid-template-columns:.85fr 1.15fr;padding:150px clamp(1.2rem,6vw,7rem) 70px;gap:clamp(2rem,5vw,7rem);align-items:center;overflow:hidden}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.74rem;font-weight:700;margin:0 0 1.2rem}.hero h1{font-family:Georgia,serif;font-size:clamp(3.6rem,6.8vw,7.6rem);line-height:.92;letter-spacing:-.05em;margin:0;max-width:10ch}.hero h1 span,.hero h1 em{display:block}.hero h1 em{color:#efc47c;font-weight:400}.hero-lede{font-family:Georgia,serif;font-size:clamp(1.05rem,1.35vw,1.3rem);max-width:33rem;color:rgba(255,255,255,.78);margin:2rem 0}.hero-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.hero .button{background:white;color:var(--wine);border-color:white}.hero .button:hover{background:var(--gold);border-color:var(--gold)}.hero .button-ghost{background:transparent;color:white}.open-note{display:flex;gap:.6rem;align-items:center;margin-top:2rem;font-size:.8rem;color:rgba(255,255,255,.75)}.open-note>span:first-child{width:8px;height:8px;border-radius:50%;background:#9fca75;box-shadow:0 0 0 4px rgba(159,202,117,.15)}.open-note strong{color:white}.hero-visual{height:590px;position:relative}.hero-main{position:absolute;inset:0 8% 10% 5%;margin:0;border-radius:50% 50% 1rem 1rem;overflow:hidden;box-shadow:0 35px 80px rgba(0,0,0,.28)}.hero-main img{object-position:center}.hero-secondary{position:absolute;width:31%;height:39%;right:-2%;bottom:0;margin:0;border:8px solid var(--wine);overflow:hidden;border-radius:1rem}.hero-seal{position:absolute;left:-1rem;bottom:2%;width:125px;height:125px;border-radius:50%;background:var(--gold);color:var(--wine-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;text-transform:uppercase;font-size:.62rem;font-weight:700;letter-spacing:.14em;transform:rotate(-8deg);border:1px solid rgba(62,8,17,.25)}.hero-seal b{line-height:1}.marquee{background:var(--gold);color:var(--wine-dark);overflow:hidden;border-bottom:1px solid rgba(62,8,17,.2)}.marquee div{display:flex;width:max-content;gap:2rem;align-items:center;padding:.78rem 0;font-family:Georgia,serif;font-style:italic;font-size:1.05rem;animation:drift 26s linear infinite}@keyframes drift{to{transform:translateX(-35%)}}
.section{padding:clamp(5.5rem,9vw,9rem) clamp(1.2rem,6vw,7rem);scroll-margin-top:2rem}.section-number{font-family:Georgia,serif;color:var(--wine);font-size:1rem;border-top:1px solid var(--wine);padding-top:.6rem}.about{display:grid;grid-template-columns:.18fr .72fr 1fr;gap:clamp(1.5rem,5vw,6rem);align-items:center}.about-copy h2,.section-heading h2,.menu-intro h2,.visit h2{font-family:Georgia,serif;font-size:clamp(2.8rem,5vw,5.8rem);font-weight:400;line-height:1;letter-spacing:-.045em;margin:0 0 2rem;color:var(--wine);max-width:11ch}.about-copy>p:not(.eyebrow){color:var(--muted);max-width:42rem}.about-images{height:620px;position:relative}.about-images .tall{position:absolute;inset:0 6% 8% 16%;margin:0;overflow:hidden;border-radius:10rem 10rem .7rem .7rem}.about-images .small{position:absolute;width:38%;height:35%;left:0;bottom:0;margin:0;border:7px solid var(--cream);border-radius:.8rem;overflow:hidden}.favorites{background:var(--paper);border-block:1px solid var(--line)}.section-heading,.menu-intro{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:3rem}.section-heading h2,.menu-intro h2{margin:0;max-width:none}.section-heading>p,.menu-intro>p{max-width:26rem;color:var(--muted);margin:0 0 .5rem}.feature-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;gap:1.2rem}.feature-card{background:var(--cream);border:1px solid var(--line);overflow:hidden}.feature-card img{height:360px}.feature-large img{height:470px}.feature-card div{padding:1.3rem 1.5rem 1.6rem}.feature-card span{font-size:.66rem;text-transform:uppercase;letter-spacing:.2em;color:var(--wine);font-weight:700}.feature-card h3{font-family:Georgia,serif;font-size:1.75rem;font-weight:400;margin:.2rem 0}.feature-card p{color:var(--muted);font-size:.9rem;margin:0}.feature-card:nth-child(2),.feature-card:nth-child(3){margin-top:4rem}
.menu-section{background:var(--wine);color:white}.menu-intro h2{color:white}.menu-intro>p{color:rgba(255,255,255,.7)}.menu-shell{border-top:1px solid rgba(255,255,255,.2)}.menu-tabs{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid rgba(255,255,255,.2);scrollbar-width:none}.menu-tabs::-webkit-scrollbar{display:none}.menu-tabs button{border:0;border-right:1px solid rgba(255,255,255,.14);background:transparent;color:rgba(255,255,255,.58);padding:1rem 1.25rem;cursor:pointer;text-transform:uppercase;letter-spacing:.09em;font-size:.74rem;white-space:nowrap}.menu-tabs button.active{background:white;color:var(--wine)}.menu-list{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(2rem,7vw,8rem);padding:2rem 0}.menu-item{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;padding:1.1rem 0;border-bottom:1px solid rgba(255,255,255,.15)}.menu-item h3{font-family:Georgia,serif;font-size:1.25rem;font-weight:400;margin:0}.menu-item strong{font-weight:600}.menu-item p{grid-column:1/3;color:rgba(255,255,255,.65);font-size:.84rem;margin:0;max-width:42rem}.menu-footer{display:flex;justify-content:space-between;gap:2rem;align-items:center;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.2);font-size:.82rem;color:rgba(255,255,255,.65)}.menu-footer p{max-width:43rem}.text-link{text-decoration:underline;text-underline-offset:.3rem;text-decoration-thickness:1px}.menu-footer .text-link{color:white;white-space:nowrap}.gallery{background:var(--cream)}.gallery-heading{align-items:end}.gallery-grid{display:grid;grid-template-columns:1.15fr .7fr 1fr;grid-template-rows:260px 300px;gap:1rem}.gallery-grid figure{margin:0;overflow:hidden}.g1{grid-row:1/3}.g2{grid-column:2}.g3{grid-column:2/4}.g4{grid-column:3;grid-row:1}.gallery-grid img{transition:transform .65s}.gallery-grid figure:hover img{transform:scale(1.035)}
.visit{background:var(--wine-dark);color:white;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,7vw,8rem);align-items:center}.visit-art{max-width:520px;justify-self:center;box-shadow:var(--shadow)}.visit-art img{aspect-ratio:1447/2048}.visit h2{color:white;max-width:10ch}.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:2.5rem 0}.visit-details span{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;color:#e7ba72;font-weight:700;margin-bottom:.8rem}.visit-details p{font-family:Georgia,serif;font-size:1.25rem}.reservation-box{border-top:1px solid rgba(255,255,255,.25);padding-top:2rem}.reservation-box h3{font-family:Georgia,serif;font-size:2rem;font-weight:400;margin:0}.reservation-box p{color:rgba(255,255,255,.68)}.reservation-box>div{display:flex;gap:.8rem;flex-wrap:wrap}.reservation-box .button{background:var(--gold);color:var(--wine-dark);border-color:var(--gold)}.reservation-box .button-ghost-light{background:transparent;color:white;border-color:rgba(255,255,255,.55)}
footer{background:#211512;color:white;padding:3rem clamp(1.2rem,6vw,7rem) 5rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem;border-top:1px solid rgba(255,255,255,.12)}.footer-brand{display:flex;flex-direction:column;width:max-content;line-height:1}.footer-contact,.footer-legal{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem;font-size:.8rem;color:rgba(255,255,255,.7)}.footer-legal{justify-self:end}.footer-legal button{color:inherit;border:0;background:transparent;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:.2rem}.mobile-actions{display:none}dialog{width:min(720px,calc(100% - 2rem));max-height:88vh;border:0;padding:0;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.4)}dialog::backdrop{background:rgba(33,21,18,.76);backdrop-filter:blur(5px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:1}.dialog-head h2{font-family:Georgia,serif;color:var(--wine);font-weight:400;margin:0}.dialog-close{font-size:2rem;line-height:1;border:0;background:transparent;color:var(--wine);cursor:pointer}.dialog-content,#dialog-content{padding:1rem 1.5rem 2.5rem}.dialog-content h3,#dialog-content h3{color:var(--wine);margin-top:1.8rem}.dialog-content p,#dialog-content p{color:var(--muted)}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none;position:absolute;top:88px;left:0;right:0;background:var(--wine-dark);padding:1.5rem;flex-direction:column;gap:1.1rem;border-top:1px solid rgba(255,255,255,.2)}.site-header nav.open{display:flex}.header-actions .button{display:none}.menu-toggle{display:block;grid-column:2;grid-row:1}.header-actions{position:absolute;right:4.2rem}.hero{grid-template-columns:1fr;min-height:auto;padding-top:150px}.hero-copy{max-width:650px}.hero-visual{height:520px}.about{grid-template-columns:.15fr 1fr}.about-images{grid-column:2}.feature-grid{grid-template-columns:1fr 1fr}.feature-large{grid-column:1/3}.feature-card:nth-child(2),.feature-card:nth-child(3){margin-top:0}.visit{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:280px 280px}.g1{grid-row:1/3}.g2{grid-column:2}.g3{grid-column:2}.g4{display:none}}
@media(max-width:680px){body{padding-bottom:56px}.site-header{height:72px;padding:0 1rem}.site-header nav{top:72px}.brand span{font-size:1.65rem}.header-actions{right:3.5rem}.hero{padding:115px 1.1rem 3rem;gap:2.5rem}.hero h1{font-size:3.45rem}.hero-lede{font-size:1rem}.hero-buttons .button{flex:1}.hero-visual{height:430px}.hero-main{inset:0 4% 10%}.hero-secondary{width:37%;height:34%;right:-1rem}.hero-seal{width:94px;height:94px;left:-.3rem;font-size:.5rem}.section{padding:5rem 1.1rem}.about{grid-template-columns:1fr}.section-number{display:none}.about-images{grid-column:auto;height:420px}.about-images .tall{inset:0 0 8% 8%}.about-copy h2,.section-heading h2,.menu-intro h2,.visit h2{font-size:3rem}.section-heading,.menu-intro{display:block}.section-heading>p,.menu-intro>p{margin-top:1.2rem}.feature-grid{display:block}.feature-card{margin-bottom:1rem!important}.feature-card img,.feature-large img{height:320px}.menu-list{grid-template-columns:1fr}.menu-footer{align-items:flex-start;flex-direction:column}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:310px 180px}.g1{grid-column:1/3;grid-row:1}.g2{grid-column:1;grid-row:2}.g3{grid-column:2;grid-row:2}.visit{grid-template-columns:1fr}.visit-art{width:min(78%,360px)}.visit-details{grid-template-columns:1fr}.reservation-box>div .button{width:100%}footer{grid-template-columns:1fr;padding-bottom:3rem}.footer-legal{justify-self:start}.mobile-actions{display:grid;position:fixed;z-index:30;bottom:0;left:0;right:0;grid-template-columns:1fr 1fr;background:var(--wine);border-top:1px solid rgba(255,255,255,.25)}.mobile-actions a{min-height:56px;display:flex;align-items:center;justify-content:center;color:white;text-transform:uppercase;letter-spacing:.1em;font-size:.76rem;font-weight:700}.mobile-actions a+ a{border-left:1px solid rgba(255,255,255,.25)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.button,.gallery-grid img{transition:none}}

/* Keep the café photography at its original aspect ratio. */
.hero-secondary{height:auto;aspect-ratio:1086/1171}
.hero-secondary img{object-fit:contain}
.about-images{height:auto}
.about-images .tall{position:relative;inset:auto;margin:0 6% 8% 16%}
.about-images .tall img{height:auto;object-fit:contain}
.about-images .small{height:auto;aspect-ratio:1365/2048}
.about-images .small img{height:auto;object-fit:contain}
.gallery-grid{grid-template-columns:36fr 18fr 22fr 22fr;grid-template-rows:none;align-items:start}
.gallery-grid figure,.gallery-grid .g1,.gallery-grid .g2,.gallery-grid .g3,.gallery-grid .g4{grid-column:auto;grid-row:auto;display:block}
.gallery-grid img{height:auto;object-fit:contain}
.gallery-grid figure:hover img{transform:none}

@media(max-width:980px){
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:none}
}

@media(max-width:680px){
  .about-images{height:auto}
  .about-images .tall{inset:auto;margin:0 0 8% 8%}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:none}
  .gallery-grid .g1,.gallery-grid .g2,.gallery-grid .g3,.gallery-grid .g4{grid-column:auto;grid-row:auto}
}
