:root {
  --red:#6b1f26; --red-deep:#52171d; --cream:#f5ebd7; --cream-2:#fbf6eb; --ink:#2a2a2a; --walnut:#4a3326; --olive:#6b7249; --brass:#c5a05a; --line:rgba(74,51,38,.22); --shadow:0 18px 45px rgba(42,30,20,.14); --serif:"Fraunces", Georgia, serif; --sans:"DM Sans", Arial, sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--cream-2);color:var(--ink);font-family:var(--sans);line-height:1.5} img{display:block;max-width:100%} a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit} button{cursor:pointer}.section-shell{width:min(1200px,calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:auto}.skip-link:focus{left:16px;top:16px;z-index:99;background:var(--red);color:#fff;padding:10px 14px;border-radius:4px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(251,246,235,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.header-inner{width:min(1280px,calc(100% - 48px));min-height:84px;margin:auto;display:flex;align-items:center;gap:34px}.brand img{width:116px;height:58px;object-fit:cover;object-position:center}.site-nav{display:flex;align-items:center;gap:26px;margin-left:auto}.site-nav a,.header-actions{font-size:.72rem;text-transform:uppercase;letter-spacing:.17em}.site-nav a{position:relative;padding:8px 0}.site-nav a:hover,.site-nav a:focus-visible{color:var(--red)}.site-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:var(--red);transition:width .2s}.site-nav a:hover::after,.site-nav a:focus-visible::after{width:100%}.header-actions{display:flex;align-items:center;gap:18px}.language-switch{display:flex;gap:8px;align-items:center}.lang-btn{border:0;background:none;padding:6px 1px;color:var(--walnut);font-size:.72rem;letter-spacing:.16em}.lang-btn.is-active{color:var(--red);font-weight:700}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--red);color:#fff;border:1px solid var(--red);padding:15px 23px;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;min-height:48px;transition:transform .2s,background .2s}.button:hover,.button:focus-visible{background:var(--red-deep);transform:translateY(-2px)}.button-small{padding:12px 16px;min-height:40px;font-size:.62rem}.button-light{background:var(--cream-2);border-color:var(--cream-2);color:var(--red)}.button-light:hover,.button-light:focus-visible{background:#fff}.outline-link{display:inline-flex;align-items:center;border-bottom:1px solid currentColor;padding-bottom:4px;color:var(--red);font-size:.74rem;letter-spacing:.12em}.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--red);text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:600}.text-link:hover{gap:18px}.menu-toggle{display:none;border:0;background:none;color:var(--red);font-size:.74rem;text-transform:uppercase;letter-spacing:.15em}
.hero{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);min-height:650px;align-items:stretch;border-bottom:1px solid var(--line)}.hero-copy{padding:70px 60px 64px 24px;display:flex;flex-direction:column;justify-content:center;background:var(--cream-2)}.hero-logo{width:150px;height:92px;object-fit:cover;object-position:center;margin-bottom:26px}.eyebrow{font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--walnut);margin:0 0 18px;font-weight:600}.hero h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.02;color:var(--red);margin:0}.hero h1{font-size:clamp(3.5rem,6.2vw,6.5rem);letter-spacing:-.04em}.hero h1 em,h2 em,h3 em{font-style:italic;font-weight:500}.hero h1::after,h2::after{content:"";display:block;width:44px;height:3px;background:var(--brass);margin:28px 0}.hero-text{font-family:var(--serif);font-size:1.1rem;max-width:470px;margin:0 0 28px;color:#4a3f36}.hero-ctas{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.quick-actions{display:flex;gap:10px;margin-top:34px}.quick-action{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--line);color:var(--red);font-size:.68rem;text-transform:uppercase;letter-spacing:.16em}.quick-action:hover{border-color:var(--red);background:#fff}.quick-icon{font-size:1.2rem;line-height:1}.hero-media{position:relative;min-height:600px;overflow:hidden}.hero-media img{height:100%;width:100%;object-fit:cover;object-position:center}.hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(36,20,13,.2),transparent 30%,rgba(36,20,13,.1));pointer-events:none}.hero-stamp{position:absolute;left:34px;bottom:34px;color:#fff;font-family:var(--serif);font-size:3.3rem;font-style:italic;line-height:.9;z-index:1;text-shadow:0 2px 14px rgba(0,0,0,.22)}
.value-strip{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.value-strip>div{display:flex;align-items:center;justify-content:center;gap:16px;min-height:112px;text-transform:uppercase;letter-spacing:.18em;font-size:.65rem;color:var(--walnut);text-align:left;border-right:1px solid var(--line)}.value-strip>div:last-child{border-right:0}.value-icon{font-size:1.8rem;color:var(--red);line-height:1}
.section-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;padding-top:120px;padding-bottom:120px}.section-intro h2,.section-heading h2,.visit h2,.reservation h2{font-size:clamp(2.6rem,4.4vw,4.6rem);letter-spacing:-.045em}.section-intro p:not(.eyebrow){max-width:420px;font-family:var(--serif);font-size:1.08rem;color:#51453a;margin:0 0 26px}.story-media{position:relative;min-height:480px}.story-media img{position:absolute;object-fit:cover;box-shadow:var(--shadow)}.story-media img:first-child{inset:0 13% 12% 0;width:77%;height:76%}.story-media img:last-child{right:0;bottom:0;width:53%;height:53%;border:11px solid var(--cream-2)}
.menu-section{padding-bottom:120px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:48px;margin-bottom:42px}.section-heading>p{max-width:390px;font-family:var(--serif);font-size:1.08rem;margin:0;color:#51453a}.menu-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:54px}.menu-feature{background:var(--walnut);color:#fff;min-height:520px;position:relative;overflow:hidden}.menu-feature img{height:330px;width:100%;object-fit:cover}.menu-feature>div{padding:28px 30px}.menu-feature .eyebrow{color:#dfcda9}.menu-feature h3{color:#fff;font-size:2.7rem}.menu-list{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;border-top:1px solid var(--line)}.menu-item{padding:18px 0;border-bottom:1px solid var(--line)}.menu-item h3{font-family:var(--serif);font-size:1.1rem;color:var(--ink);line-height:1.2;margin:0 0 7px}.menu-item p{font-size:.75rem;color:#796858;margin:0}.menu-item .price{color:var(--red);font-size:.82rem;letter-spacing:.08em;font-weight:700;white-space:nowrap;float:right;margin-left:10px}
.gallery-section{padding-bottom:126px}.section-heading.compact{margin-bottom:34px}.gallery-grid{display:grid;grid-template-columns:1.15fr 1fr 1fr;grid-auto-rows:190px;gap:14px}.gallery-card{margin:0;overflow:hidden;background:#ddd}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-card:hover img{transform:scale(1.04)}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:span 2}
.visit{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:82px;padding-bottom:82px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.hours-list{margin-top:34px;max-width:420px}.hours-row{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid var(--line);font-size:.83rem}.hours-row strong{font-weight:600;color:var(--red)}.hours-row span{color:#5b4d40}.visit-card{background:var(--red);color:#fff;padding:48px;display:flex;flex-direction:column;justify-content:center;min-height:300px}.visit-card .eyebrow{color:#e9d9b4}.visit-card address{font-family:var(--serif);font-size:1.55rem;font-style:normal;line-height:1.35}.muted{color:#ead8ba;font-size:.8rem}.contact-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:24px}.visit-card .outline-link{color:#fff}
.reservation{display:grid;grid-template-columns:.8fr 1.2fr;gap:62px;padding-top:110px;padding-bottom:110px}.reservation-copy p:not(.eyebrow){font-family:var(--serif);font-size:1.12rem;max-width:390px}.reservation-form{background:var(--red);padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:16px;color:#fff}.reservation-form label{display:flex;flex-direction:column;gap:7px;font-size:.67rem;text-transform:uppercase;letter-spacing:.16em}.reservation-form input,.reservation-form select,.reservation-form textarea{background:transparent;border:1px solid rgba(255,255,255,.7);color:#fff;padding:12px 13px;border-radius:0;min-height:46px;outline:none}.reservation-form textarea{resize:vertical;min-height:88px}.reservation-form input:focus,.reservation-form select:focus,.reservation-form textarea:focus{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.2)}.reservation-form option{color:var(--ink)}.full{grid-column:1 / -1}.form-status{grid-column:1 / -1;margin:0;min-height:22px;font-size:.84rem;color:#ffe7b5}
.site-footer{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:30px;padding-top:38px;padding-bottom:38px;border-top:1px solid var(--line);font-size:.76rem;color:#5c4d40}.footer-logo{width:95px;height:48px;object-fit:cover;margin-bottom:12px}.site-footer p{margin:0}.footer-links{display:flex;gap:20px;flex-wrap:wrap;justify-content:center;text-transform:uppercase;letter-spacing:.15em;font-size:.63rem}.footer-links a:hover{color:var(--red)}.footer-note{text-align:right}
@media (max-width:960px){.header-inner{gap:18px}.site-nav{gap:16px}.site-nav a{font-size:.62rem}.header-actions .button{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:62px 30px 34px}.hero-media{min-height:470px}.value-strip>div{font-size:.56rem;letter-spacing:.12em}.section-grid{gap:42px}.menu-layout{gap:28px}.reservation{gap:32px}}
@media (max-width:700px){.section-shell{width:min(100% - 34px,560px)}.site-header{position:sticky}.header-inner{width:calc(100% - 34px);min-height:72px;justify-content:space-between}.brand img{width:94px;height:49px}.menu-toggle{display:block;order:3}.site-nav{position:absolute;top:72px;left:0;right:0;background:var(--cream-2);border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:flex-start;gap:0;padding:8px 17px}.site-nav.is-open{display:flex}.site-nav a{width:100%;padding:14px 0;border-bottom:1px solid var(--line);font-size:.7rem}.header-actions{margin-left:auto}.language-switch{font-size:.68rem}.hero{width:100%;display:flex;flex-direction:column}.hero-copy{padding:18px 17px 16px;order:2}.hero-logo{width:88px;height:48px;margin-bottom:10px}.hero-media{order:1;min-height:200px;height:200px}.hero-stamp{font-size:2.5rem;left:20px;bottom:18px}.hero h1{font-size:3rem}.hero-text{font-size:.93rem;margin-bottom:18px}.hero-ctas{gap:16px}.hero-ctas .button{width:100%}.quick-actions{margin-top:12px}.quick-action{flex:1;justify-content:center;font-size:.6rem;padding:11px 8px}.value-strip{width:100%;grid-template-columns:1fr 1fr}.value-strip>div{min-height:88px;padding:12px 7px;gap:8px;font-size:.5rem;line-height:1.35}.value-strip>div:nth-child(2){border-right:0}.value-icon{font-size:1.4rem}.section-grid{display:flex;flex-direction:column;padding-top:78px;padding-bottom:78px;gap:36px}.section-intro h2,.section-heading h2,.visit h2,.reservation h2{font-size:3rem}.story-media{min-height:390px}.story-media img:first-child{height:76%;width:80%}.story-media img:last-child{height:52%;width:57%}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:18px;font-size:1rem}.menu-section{padding-bottom:78px}.menu-layout{display:flex;flex-direction:column;gap:28px}.menu-feature{min-height:auto}.menu-feature img{height:260px}.menu-feature h3{font-size:2.2rem}.menu-list{grid-template-columns:1fr;gap:0}.menu-item{padding:15px 0}.gallery-section{padding-bottom:78px}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:150px;gap:9px}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:1 / -1}.visit{display:flex;flex-direction:column;gap:30px;padding-top:64px;padding-bottom:64px}.visit-card{padding:30px;min-height:280px}.reservation{display:flex;flex-direction:column;gap:28px;padding-top:78px;padding-bottom:78px}.reservation-form{padding:22px 17px;grid-template-columns:1fr;gap:14px}.full{grid-column:auto}.site-footer{display:flex;flex-direction:column;align-items:flex-start;gap:22px;padding-top:30px;padding-bottom:30px}.footer-links{justify-content:flex-start;gap:14px}.footer-note{text-align:left}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}



