
:root{--ink:#18342d;--green:#0f4839;--green-2:#173f35;--gold:#c89b2b;--cream:#f7f3e8;--paper:#fffdf8;--muted:#6d746f;--line:#ded7c6;--shadow:0 18px 50px rgba(23,63,53,.12);--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}img{max-width:100%;display:block}a{color:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:16px;top:16px;z-index:99;background:white;padding:10px 14px;border-radius:10px}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px clamp(18px,4vw,64px);background:rgba(255,253,248,.93);backdrop-filter:blur(14px);border-bottom:1px solid rgba(222,215,198,.75)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:max-content}.brand img{border-radius:50%}.brand span{display:grid}.brand strong{font-family:Georgia,serif;font-size:1.05rem}.brand small{font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.header-controls{display:flex;align-items:center;gap:16px}.language-switch{display:flex;align-items:center;gap:4px;padding:3px;border:1px solid var(--line);border-radius:999px;background:white}.lang-btn{border:0;background:transparent;color:var(--ink);border-radius:999px;padding:7px 9px;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer;line-height:1}.lang-btn:hover{background:var(--cream)}.lang-btn.active{background:var(--green);color:white}.lang-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.site-nav{display:flex;align-items:center;gap:24px;font-size:.94rem}.site-nav a{text-decoration:none}.site-nav a:not(.nav-cta):hover{text-decoration:underline;text-underline-offset:5px}.nav-cta{background:var(--green);color:white;padding:10px 16px;border-radius:999px}.nav-toggle{display:none;border:1px solid var(--line);background:white;border-radius:999px;padding:9px 14px;font:inherit}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(420px,1.05fr);gap:clamp(30px,5vw,76px);align-items:center;min-height:720px;padding:clamp(56px,8vw,110px) clamp(20px,6vw,92px);overflow:hidden;background:radial-gradient(circle at 12% 15%,#fff 0,#f7f3e8 38%,#efe8d5 100%)}.hero-copy{max-width:660px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:800;color:#8a6821;margin:0 0 12px}.hero h1,.section h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.025em;line-height:1.04;margin:0}.hero h1{font-size:clamp(3rem,6vw,6.5rem);max-width:740px}.lede{font-size:clamp(1.05rem,1.5vw,1.32rem);color:#475e57;max-width:620px;margin:28px 0}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 20px;border-radius:999px;text-decoration:none;font-weight:750}.button.primary{background:var(--green);color:white}.button.ghost{border:1px solid #bcb39d;background:rgba(255,255,255,.55)}.micro{font-size:.86rem;color:var(--muted);margin:14px 0 0}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;gap:14px;height:min(580px,65vw);max-height:580px}.hero-grid img{width:100%;height:100%;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}.hero-a{grid-row:1/3}.section{padding:clamp(64px,8vw,112px) clamp(20px,6vw,92px)}.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,8vw,120px);background:var(--green);color:white}.intro .eyebrow{color:#e3bd5b}.intro h2{font-size:clamp(2.2rem,4vw,4rem)}.intro>p{margin:8px 0 0;font-size:1.12rem;color:#dce9e4;max-width:720px}.feature-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#ddd4bf}.feature-strip article{position:relative;min-height:340px;overflow:hidden;background:#222}.feature-strip img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.82;transition:transform .4s ease,opacity .4s ease}.feature-strip article:hover img{transform:scale(1.035);opacity:.95}.feature-strip article:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgba(0,0,0,.76))}.feature-strip div{position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:white}.feature-strip span{font-size:.74rem;letter-spacing:.15em}.feature-strip h3{font-family:Georgia,serif;font-size:1.3rem;line-height:1.15;margin:6px 0 0}.menu-section{background:var(--cream)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:34px}.section-heading h2{font-size:clamp(2.3rem,4vw,4.6rem)}.text-link{font-weight:800;text-underline-offset:5px}.menu-toolbar{display:flex;align-items:center;gap:18px;margin-bottom:16px}.search-box{flex:1}.search-box input{width:100%;border:1px solid #cfc6b1;border-radius:999px;background:white;padding:15px 20px;font:inherit;font-size:1rem;outline:none}.search-box input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(15,72,57,.12)}.menu-count{min-width:max-content;color:var(--muted);font-size:.9rem}.chips{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 18px;scrollbar-width:thin}.chip{border:1px solid #cfc6b1;background:transparent;border-radius:999px;padding:9px 13px;font:inherit;font-size:.84rem;white-space:nowrap;cursor:pointer}.chip.active{background:var(--green);border-color:var(--green);color:white}.menu-results{display:grid;gap:36px}.menu-category{scroll-margin-top:100px}.menu-category h3{font-family:Georgia,serif;font-size:1.8rem;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--gold)}.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 22px}.menu-item{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:15px 0;border-bottom:1px solid var(--line)}.item-no{font-size:.72rem;color:#86651b;padding-top:4px;font-weight:800;letter-spacing:.08em}.item-name{font-weight:730}.item-meta{display:block;font-size:.75rem;color:var(--muted);margin-top:2px}.item-price{font-weight:800;white-space:nowrap;color:var(--green)}.menu-note{margin:32px 0 0;color:var(--muted);font-size:.9rem}.empty{padding:36px 0;color:var(--muted)}.gallery{background:var(--paper)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;gap:14px}.gallery-grid figure{margin:0;position:relative;overflow:hidden;border-radius:var(--radius);background:#ddd}.gallery-grid figure.wide{grid-column:span 2;grid-row:span 2}.gallery-grid img{width:100%;height:100%;object-fit:cover}.gallery-grid figcaption{position:absolute;left:14px;bottom:14px;background:rgba(255,253,248,.9);backdrop-filter:blur(8px);padding:8px 11px;border-radius:999px;font-size:.78rem;font-weight:800}.visit{background:#eadfc5}.visit-card{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:clamp(28px,5vw,60px);border-radius:32px;background:var(--paper);box-shadow:var(--shadow)}.visit h2{font-size:clamp(2.3rem,4vw,4.2rem)}address{font-style:normal;margin-top:24px;color:#52625d}.opening-hours{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:#52625d}.opening-hours>span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:7px}.opening-hours p{margin:4px 0}.opening-hours strong{color:var(--ink);margin-right:8px}.contact-list{display:grid;align-content:center}.contact-list a{display:grid;text-decoration:none;padding:18px 0;border-bottom:1px solid var(--line)}.contact-list a:first-child{border-top:1px solid var(--line)}.contact-list span{font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}.contact-list strong{font-size:1.05rem;margin-top:4px;word-break:break-word}footer{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding:34px clamp(20px,6vw,92px);background:#0a3027;color:white}footer img{border-radius:50%}footer strong{font-family:Georgia,serif;font-size:1.15rem}footer p{margin:2px 0;color:#bdd0ca;font-size:.86rem}.footer-end{text-align:right}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1000px){.hero{grid-template-columns:1fr;min-height:auto}.hero-grid{height:520px}.feature-strip{grid-template-columns:repeat(2,1fr)}.intro,.visit-card{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid figure.wide{grid-column:span 2}.site-nav{gap:16px}}
@media(max-width:760px){.site-header{padding:10px 16px}.header-controls{gap:8px}.language-switch{order:1}.nav-toggle{order:2}.site-nav{order:3}.lang-btn{padding:7px 8px;font-size:.72rem}.brand strong{font-size:.96rem}.brand small{display:none}.nav-toggle{display:block}.site-nav{position:absolute;left:14px;right:14px;top:78px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.site-nav.open{display:flex}.site-nav a{padding:12px 10px}.nav-cta{text-align:center;margin-top:4px}.hero{padding:56px 18px}.hero h1{font-size:clamp(2.8rem,14vw,4.8rem)}.hero-grid{height:390px;gap:8px}.hero-grid img{border-radius:18px}.section{padding:62px 18px}.section-heading{align-items:start;flex-direction:column}.feature-strip{grid-template-columns:1fr 1fr}.feature-strip article{min-height:260px}.menu-toolbar{align-items:stretch;flex-direction:column}.menu-count{margin:0}.menu-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:260px}.gallery-grid figure.wide{grid-column:span 1;grid-row:span 1}.visit-card{padding:26px 20px;gap:26px;border-radius:24px}footer{grid-template-columns:auto 1fr}.footer-end{grid-column:1/3;text-align:left;margin-top:12px}}
@media(max-width:480px){.feature-strip{grid-template-columns:1fr}.feature-strip article{min-height:300px}.hero-grid{grid-template-columns:1fr 1fr;grid-template-rows:230px 150px}.hero-a{grid-column:1/3;grid-row:1}.hero-b,.hero-c{grid-row:2}.hero-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.feature-strip img{transition:none}}
