:root{
  --red:#8e1f2d;
  --red-dark:#6f1420;
  --blue:#17253a;
  --blue-dark:#101a29;
  --ink:#1b1a18;
  --grey:#67635d;
  --line:#d7cdbf;
  --paper:#f4f0e8;
  --paper-deep:#ebe3d6;
  --brass:#b08a57;
  --white:#fffdf8;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --serif:Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px}
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
.utility-bar{height:32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 3.2vw;color:#f3eadc;background:var(--blue-dark);border-bottom:1px solid rgba(176,138,87,.55);font-size:.66rem;font-weight:750;letter-spacing:.12em}
.utility-bar span:last-child{text-align:right}
.utility-bar a{margin:0 30px}
.site-header{height:94px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 3.2vw;border-bottom:1px solid var(--line);background:var(--white)}
.logo{justify-self:start}.logo img{width:220px;height:66px;object-fit:contain}
.site-header nav{display:flex;gap:42px;font-size:.84rem;font-weight:650}
.site-header nav a,.text-action{position:relative}
.site-header nav a:after,.text-action:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--brass);transition:right .2s ease}
.site-header nav a:hover:after,.text-action:hover:after{right:0}
.header-actions{justify-self:end;display:flex;align-items:center;gap:26px;font-size:.78rem;font-weight:700}
.primary-action{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 23px;color:#fffaf2;background:var(--red);border:1px solid rgba(176,138,87,.65);font-size:.75rem;font-weight:800;letter-spacing:.045em;transition:background .2s ease,transform .2s ease}
.primary-action:hover{background:var(--red-dark);transform:translateY(-2px)}
.primary-action.large{min-height:54px;padding:0 29px}
.line-action{display:inline-flex;align-items:center;gap:24px;padding:15px 0;border-bottom:1px solid var(--brass);font-size:.78rem;font-weight:750}
.line-action span{color:var(--red);font-size:1.05rem}

.hero{min-height:calc(100vh - 126px);display:grid;grid-template-columns:38.5% 61.5%;background:var(--paper)}
.hero-copy{position:relative;align-self:center;padding:80px 5vw 70px 6.5vw}
.hero-copy:before{content:"";position:absolute;left:3.25vw;top:80px;width:1px;height:78px;background:var(--brass)}
.kicker{margin:0 0 28px;color:var(--red);font-size:.67rem;font-weight:850;letter-spacing:.19em}
.hero h1{margin:0;font:400 clamp(3.9rem,6vw,7.15rem)/.88 var(--serif);letter-spacing:-.06em}
.hero h1 span{color:var(--red)}
.hero-intro{max-width:500px;margin:32px 0;color:#5e5a54;font-size:1.06rem;line-height:1.72}
.trust-note{display:inline-flex;align-items:center;gap:9px;margin:-12px 0 27px;color:var(--blue);font-size:.72rem;font-weight:800;letter-spacing:.055em;text-transform:uppercase}
.trust-note span{display:grid;place-items:center;width:19px;height:19px;color:#fffaf2;background:var(--red);border:1px solid var(--brass);border-radius:50%;font-size:.68rem}
.hero-actions{display:flex;align-items:center;gap:25px}
.hero-detail{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:62px;padding-top:24px;border-top:1px solid var(--line)}
.hero-detail div{display:flex;flex-direction:column;gap:6px}.hero-detail small{color:#898a8e;font-size:.58rem;font-weight:800;letter-spacing:.14em}.hero-detail b{font-size:.77rem}
.hero-image{position:relative;min-height:660px;margin:0;overflow:hidden;background:#d9d1c4;border-left:1px solid rgba(176,138,87,.4)}
.hero-image:after{content:"";position:absolute;inset:0;background:rgba(92,65,33,.045);pointer-events:none}
.hero-image img{height:100%;object-fit:cover;object-position:center;filter:saturate(.84) contrast(1.025) brightness(.97)}
.hero-image figcaption{position:absolute;z-index:1;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:50px;min-width:58%;padding:19px 28px;color:#f8f0e4;background:var(--blue);border-top:1px solid var(--brass)}
.hero-image figcaption span{font-size:.59rem;font-weight:800;letter-spacing:.14em}.hero-image figcaption b{font-family:var(--serif);font-size:1.08rem;font-weight:400}

.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}
.quick-actions a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;min-height:94px;padding:0 30px;border-right:1px solid var(--line);transition:color .2s,background .2s}
.quick-actions a:last-child{border-right:0}.quick-actions a:hover{color:#f8f0e4;background:var(--blue)}
.quick-actions small{color:#9a948b;font-size:.6rem}.quick-actions span{font-size:.9rem;font-weight:750}.quick-actions b{color:var(--brass);font-size:1.1rem}

.about{display:grid;grid-template-columns:20% 1fr;gap:7vw;padding:125px 7vw 135px;background:var(--white)}
.section-index{display:flex;align-items:flex-start;gap:15px;padding-top:10px}.section-index span{color:var(--brass);font-size:.62rem}.section-index p{margin:0;color:var(--red);font-size:.65rem;font-weight:850;letter-spacing:.17em}
.about-copy h2{margin:0;max-width:1000px;font:400 clamp(3.3rem,5.35vw,6.2rem)/.94 var(--serif);letter-spacing:-.055em}
.about-columns{display:grid;grid-template-columns:1.25fr 1fr;gap:7vw;margin-top:55px;padding-top:30px;border-top:1px solid var(--line)}
.about-columns p{margin:0;color:#625e57;font-size:1rem;line-height:1.8}.about-columns p:first-child{font-size:1.12rem;color:#302d29}

.menu-feature{display:grid;grid-template-columns:50% 50%;min-height:850px;color:#f8f0e4;background:var(--blue-dark);border-top:1px solid var(--brass)}
.food-image{position:relative;margin:0;min-height:750px;overflow:hidden}.food-image img{height:100%;object-fit:cover;filter:saturate(.86) contrast(1.03) brightness(.96)}.food-image figcaption{position:absolute;left:0;bottom:0;padding:18px 23px;color:var(--ink);background:var(--paper);border-top:1px solid var(--brass);border-right:1px solid var(--brass);font-size:.61rem;font-weight:800;letter-spacing:.13em}
.menu-content{padding:95px 6vw 90px}
.menu-heading>p{margin:0;color:var(--brass);font-size:.64rem;font-weight:850;letter-spacing:.17em}
.menu-heading h2{margin:28px 0 53px;font:400 clamp(3.4rem,5vw,6rem)/.9 var(--serif);letter-spacing:-.055em}
.dish-list{border-top:1px solid rgba(176,138,87,.75)}
.dish-list article{display:grid;grid-template-columns:32px 1fr auto;gap:20px;align-items:center;min-height:105px;border-bottom:1px solid rgba(255,255,255,.22)}
.dish-list article>span{color:#8d9aab;font-size:.6rem}.dish-list h3{margin:0 0 6px;font-family:var(--serif);font-size:1.32rem;font-weight:400}.dish-list p{margin:0;color:#aeb5bf;font-size:.78rem;line-height:1.5}.dish-list small{color:var(--brass);font-size:.55rem;font-weight:800;letter-spacing:.11em;text-align:right}
.menu-link{display:flex;justify-content:space-between;align-items:center;margin-top:43px;padding:15px 0;border-bottom:1px solid rgba(176,138,87,.75);font-size:.78rem;font-weight:750}.menu-link span{color:var(--brass);font-size:1.1rem}

.visit{display:grid;grid-template-columns:1.6fr 1.1fr .8fr .8fr;gap:4vw;padding:100px 7vw;color:#fff8ed;background:var(--red);border-top:4px solid var(--brass)}
.visit p{margin:0 0 25px;font-size:.62rem;font-weight:850;letter-spacing:.17em}.visit-lead h2{margin:0;font:400 clamp(3.2rem,5vw,6rem)/.92 var(--serif);letter-spacing:-.045em}
.visit address,.visit-block{display:flex;flex-direction:column;gap:15px;padding-top:6px;font-style:normal}.visit small{font-size:.58rem;font-weight:850;letter-spacing:.15em;opacity:.75}.visit address b,.visit-block b{font-size:.9rem;line-height:1.6}.visit address span{font-size:.74rem;opacity:.75}.visit-block a{font-size:.82rem;font-weight:700}
.footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:28px 4vw;background:var(--paper);border-top:1px solid var(--line)}.footer img{width:170px;height:54px;object-fit:contain}.footer p{margin:0;color:#6e685f;font-size:.72rem}.footer span{justify-self:end;color:#8f877c;font-size:.67rem}
.mobile-actions{display:none}

@media(max-width:1050px){
  .site-header{grid-template-columns:1fr auto}.site-header nav{display:none}
  .hero{grid-template-columns:1fr}.hero-copy{padding:90px 8vw}.hero-image{min-height:600px}
  .about{grid-template-columns:1fr}.section-index{margin-bottom:20px}
  .menu-feature{grid-template-columns:1fr}.food-image{min-height:640px}.menu-content{padding:90px 8vw}
  .visit{grid-template-columns:1.5fr 1fr}.visit-lead{grid-row:span 2}
}
@media(max-width:700px){
  body{padding-bottom:66px}
  .utility-bar{grid-template-columns:1fr auto;height:36px;padding:0 16px}.utility-bar a{display:none}.utility-bar span:last-child{font-size:.56rem}
  .site-header{height:78px;padding:0 16px}.logo img{width:165px;height:55px}.header-actions{gap:10px}.text-action{display:none}.primary-action{min-height:40px;padding:0 16px}
  .hero{min-height:0}.hero-copy{padding:66px 24px 62px}.hero h1{font-size:3.3rem}.hero-intro{font-size:1rem}.hero-actions{align-items:stretch;flex-direction:column;gap:10px}.hero-actions .line-action{justify-content:space-between}.hero-detail{margin-top:44px}
  .hero-image{min-height:440px}.hero-image img{object-position:60% center}.hero-image figcaption{left:0;right:0;min-width:0;padding:16px 18px}.hero-image figcaption span{font-size:.52rem}
  .quick-actions{grid-template-columns:1fr 1fr}.quick-actions a{min-height:78px;padding:0 16px}.quick-actions a:nth-child(2){border-right:0}.quick-actions a:nth-child(-n+2){border-bottom:1px solid var(--line)}.quick-actions span{font-size:.78rem}
  .about{padding:82px 24px 90px}.about-copy h2{font-size:3rem}.about-columns{grid-template-columns:1fr;gap:24px;margin-top:40px}
  .food-image{min-height:470px}.menu-content{padding:75px 24px}.menu-heading h2{font-size:3.25rem}.dish-list article{grid-template-columns:26px 1fr}.dish-list small{grid-column:2;text-align:left;padding-bottom:15px}
  .visit{grid-template-columns:1fr;padding:75px 24px}.visit-lead{grid-row:auto;margin-bottom:20px}.visit address,.visit-block{padding-top:28px;border-top:1px solid rgba(255,255,255,.3)}
  .footer{grid-template-columns:1fr auto;padding:24px 18px}.footer p{display:none}.footer img{width:145px}.footer span{font-size:.6rem}
  .mobile-actions{position:fixed;z-index:20;left:0;right:0;bottom:0;display:grid;grid-template-columns:.72fr .9fr 1.3fr;min-height:66px;color:#f8f0e4;background:var(--blue-dark);border-top:1px solid var(--brass);box-shadow:0 -12px 30px rgba(16,26,41,.16)}
  .mobile-actions a{display:grid;place-items:center;padding:12px 10px;border-right:1px solid rgba(176,138,87,.38);font-size:.75rem;font-weight:800;letter-spacing:.025em}
  .mobile-actions a:last-child{border-right:0}.mobile-actions .mobile-order{background:var(--red)}
}
/* Readability refinements */
body{line-height:1.55;text-rendering:optimizeLegibility}
.utility-bar{height:34px;color:#f8f2e9;font-size:.72rem;letter-spacing:.095em}
.site-header nav{font-size:.9rem;font-weight:700}
.header-actions{font-size:.84rem}
.primary-action{min-height:48px;padding-inline:24px;font-size:.82rem;letter-spacing:.025em}
.line-action{font-size:.86rem}
.hero{min-height:calc(100vh - 128px);grid-template-columns:47% 53%}
.hero-copy{padding:76px 4vw 68px 5vw}
.kicker{margin-bottom:25px;font-size:.73rem;letter-spacing:.155em}
.hero h1{max-width:780px;font-size:clamp(3.6rem,4.25vw,5.5rem);line-height:.96;letter-spacing:-.045em}
.hero h1 span{white-space:nowrap}
.hero-intro{max-width:560px;margin:30px 0;color:#47433e;font-size:1.12rem;line-height:1.65}
.trust-note{margin-top:-8px;font-size:.76rem;letter-spacing:.04em}
.hero-detail small{color:#73757a;font-size:.65rem;letter-spacing:.12em}
.hero-detail b{font-size:.86rem}
.quick-actions small{color:#7d786f;font-size:.66rem}
.quick-actions span{font-size:1rem}
.section-index span{color:#8f7048;font-size:.7rem}
.section-index p{font-size:.72rem;letter-spacing:.145em}
.about-copy h2{max-width:1050px;font-size:clamp(3.1rem,4.85vw,5.7rem);line-height:1;letter-spacing:-.04em}
.about-columns p{max-width:640px;color:#4f4b45;font-size:1.06rem;line-height:1.78}
.about-columns p:first-child{color:#272521;font-size:1.16rem}
.menu-heading>p{color:#d1a86f;font-size:.72rem;letter-spacing:.145em}
.menu-heading h2{margin:26px 0 48px;font-size:clamp(3.15rem,4.55vw,5.35rem);line-height:.96;letter-spacing:-.04em}
.dish-list article>span{color:#a8b3c2;font-size:.66rem}
.dish-list h3{font-size:1.42rem}
.dish-list p{color:#d2d6dc;font-size:.9rem;line-height:1.55}
.dish-list small{color:#d1a86f;font-size:.62rem;letter-spacing:.09em}
.menu-link{padding-block:17px;font-size:.88rem}
.menu-link span{color:#d1a86f}
.visit p{font-size:.72rem;letter-spacing:.145em}
.visit-lead h2{font-size:clamp(3.1rem,4.7vw,5.5rem);line-height:.96;letter-spacing:-.035em}
.visit small{font-size:.66rem;letter-spacing:.13em;opacity:.82}
.visit address b,.visit-block b{font-size:1rem}
.visit address span{font-size:.84rem;opacity:.85}
.visit-block a{font-size:.92rem}

@media(max-width:700px){
  .hero-copy{padding:60px 24px 58px}
  .hero-copy:before{display:none}
  .hero h1{font-size:clamp(2.9rem,14vw,3.65rem);line-height:.98;letter-spacing:-.04em}
  .hero h1 span{white-space:normal}
  .hero-intro{font-size:1.05rem;line-height:1.6}
  .trust-note{font-size:.7rem;line-height:1.4}
  .about{padding:78px 24px 86px}
  .about-copy h2{font-size:2.85rem;line-height:1.02}
  .about-columns{margin-top:38px}
  .about-columns p,.about-columns p:first-child{font-size:1.02rem;line-height:1.72}
  .menu-content{padding:70px 24px}
  .menu-heading h2{font-size:3rem;line-height:1}
  .dish-list p{font-size:.87rem}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
