.abendgold { --gold: #d8a95c; --wine: #8d4134; --night: #1b211c; --linen: #f1eadc; --sage: #82927d; background: var(--linen); color: #292c27; font-family: Georgia, "Times New Roman", serif; line-height: 1.7; }
.abendgold .demo-bar { background: #d8c6a3; font-family: ui-sans-serif, system-ui, sans-serif; }
.restaurant-header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 1.2rem var(--side); background: var(--night); color: var(--linen); }
.restaurant-logo { display: flex; flex-direction: column; align-items: center; text-decoration: none; line-height: 1.05; }
.restaurant-logo span, .restaurant-logo small { font: 600 .6rem/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .22em; text-transform: uppercase; }
.restaurant-logo strong { color: var(--gold); font-size: 1.65rem; font-weight: 500; letter-spacing: .04em; }
.restaurant-nav { display: flex; gap: clamp(1rem, 3vw, 2.5rem); }
.restaurant-nav-right { justify-content: flex-end; }
.restaurant-nav a { min-height: 44px; display: inline-flex; align-items: center; color: var(--linen); font: 650 .72rem/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.restaurant-hero { position: relative; display: grid; min-height: 760px; place-items: center; overflow: hidden; padding: 5rem var(--side); background: var(--night); color: var(--linen); text-align: center; }
.restaurant-hero::before { position: absolute; inset: 0; background: radial-gradient(circle at 50% 40%, rgba(216,169,92,.14), transparent 34%); content: ""; }
.restaurant-frame { position: absolute; inset: 3rem max(var(--side), calc((100vw - 1350px) / 2)); }
.restaurant-frame::before, .restaurant-frame::after { position: absolute; inset: 0; border: 1px solid rgba(216,169,92,.35); content: ""; }
/* Keep the original .72 protection behind the text; reveal only the outer image. */
.restaurant-frame::before { z-index: 1; background: linear-gradient(90deg, rgba(8,16,10,.48), rgba(8,16,10,.72) 15%, rgba(8,16,10,.72) 85%, rgba(8,16,10,.48)); }
@media (max-width: 1100px) {
  .restaurant-frame::before { background: linear-gradient(180deg, rgba(8,16,10,.52), rgba(8,16,10,.72) 15%, rgba(8,16,10,.72) 85%, rgba(8,16,10,.52)); }
}
@media (max-width: 600px) {
  .restaurant-frame::before { background: linear-gradient(180deg, rgba(8,16,10,.56), rgba(8,16,10,.72) 10%, rgba(8,16,10,.72) 90%, rgba(8,16,10,.56)); }
}
.restaurant-frame::after { z-index: 1; inset: 1.2rem; border-color: rgba(241,234,220,.2); }
.restaurant-frame img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 60% 58%; }
.restaurant-hero .restaurant-button { background: var(--night); }
/* At least 5.4:1 over the overlay, even over a white source-image pixel. */
.restaurant-hero .restaurant-hero-copy > p { color: #f0d3a2; }
.restaurant-hero-copy { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; }
.restaurant-hero-copy > p, .restaurant-eyebrow { margin: 0; color: var(--gold); font: 750 .7rem/1.4 ui-sans-serif, system-ui, sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.restaurant-hero h1 { max-width: 12ch; margin: 1.5rem auto; font-size: clamp(3.5rem, 8vw, 8rem); font-weight: 400; line-height: .9; letter-spacing: -.045em; }
.restaurant-hero-copy > span { max-width: 570px; font-size: 1.12rem; }
.restaurant-button { display: inline-flex; align-items: center; min-height: 52px; margin-top: 2rem; padding: .75rem 1.2rem; border: 1px solid var(--gold); color: var(--linen); font: 800 .75rem/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.restaurant-scroll { position: absolute; z-index: 2; bottom: 1.5rem; left: var(--side); margin: 0; font: 600 .65rem/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; writing-mode: vertical-rl; }
.restaurant-philosophy { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem, 8vw, 8rem); width: min(100% - 2rem, 1200px); margin: 0 auto; padding-block: clamp(6rem, 12vw, 11rem); }
.restaurant-philosophy h2, .restaurant-menu h2, .restaurant-celebration h2, .restaurant-contact h2 { margin: 1rem 0 0; font-size: clamp(2.6rem, 5vw, 5rem); font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.restaurant-philosophy > div:last-child { padding-top: 2rem; font-size: 1.15rem; }
.restaurant-philosophy > div:last-child p:first-child::first-letter { float: left; margin: .1rem .5rem 0 0; color: var(--wine); font-size: 4rem; line-height: .75; }
.restaurant-features { padding: clamp(5rem, 9vw, 8rem) max(var(--side), calc((100vw - 1300px) / 2)); background: #d9d0bf; }
.restaurant-features > p { margin: 0 0 3rem; color: var(--wine); font: 750 .7rem/1.4 ui-sans-serif, system-ui, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.restaurant-features > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: rgba(41,44,39,.2); }
.restaurant-features article { padding: 2.4rem; background: #d9d0bf; }
.restaurant-features article > span { color: var(--wine); font: 750 .65rem/1.2 ui-sans-serif, system-ui, sans-serif; }
.restaurant-features h3 { margin: 2.5rem 0 1rem; font-size: 1.7rem; font-weight: 400; }
.restaurant-menu { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 8rem); width: min(100% - 2rem, 1200px); margin: 0 auto; padding-block: clamp(6rem, 12vw, 11rem); }
.restaurant-menu-intro > p:last-child { max-width: 420px; margin-top: 1.5rem; color: #62665f; }
.restaurant-menu-list { border-top: 1px solid rgba(41,44,39,.25); }
.restaurant-menu-list article { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; padding: 1.7rem 0; border-bottom: 1px solid rgba(41,44,39,.25); }
.restaurant-menu-list article p { margin: 0 0 .2rem; color: var(--wine); font: 700 .66rem/1.3 ui-sans-serif, system-ui, sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.restaurant-menu-list h3 { margin: 0; font-size: 1.55rem; font-weight: 400; }
.restaurant-menu-list article span { color: #656960; font-size: .92rem; }
.restaurant-menu-list article > strong { color: var(--wine); font: 800 .65rem/1.2 ui-sans-serif, system-ui, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.restaurant-celebration { display: grid; grid-template-columns: 1fr 1fr; align-items: center; min-height: 600px; background: var(--night); color: var(--linen); }
.restaurant-celebration-art { position: relative; align-self: stretch; overflow: hidden; background: radial-gradient(circle at 50% 55%, rgba(216,169,92,.33), transparent 28%), linear-gradient(145deg, #394238, #121713); }
.restaurant-celebration-art span { position: absolute; top: 18%; left: 22%; width: 55%; aspect-ratio: 1; border: 1px solid rgba(216,169,92,.5); border-radius: 50%; box-shadow: inset 0 0 0 20px rgba(241,234,220,.04), 0 40px 80px rgba(0,0,0,.3); }
.restaurant-celebration-art i { position: absolute; right: 15%; bottom: 14%; width: 35%; height: 45%; border: solid var(--sage); border-width: 0 0 2px 2px; border-radius: 0 0 0 100%; transform: rotate(-30deg); }
.restaurant-celebration > div:last-child { max-width: 650px; padding: clamp(3rem, 8vw, 7rem); }
.restaurant-celebration > div:last-child > a { display: inline-flex; align-items: center; min-height: 48px; gap: 1rem; margin-top: 1.5rem; color: var(--gold); font-family: ui-sans-serif, system-ui, sans-serif; font-weight: 800; }
.restaurant-contact { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; width: min(100% - 2rem, 1200px); margin: 0 auto; padding-block: clamp(6rem, 11vw, 10rem); }
.restaurant-hours { display: grid; gap: .5rem; padding: 1.5rem 0 0; list-style: none; }
.restaurant-contact > div:last-child { align-self: end; padding: 2rem; border: 1px solid rgba(41,44,39,.25); }
.restaurant-contact > div:last-child > p { margin: 0; color: var(--wine); font: 700 .66rem/1.3 ui-sans-serif, system-ui, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.restaurant-contact > div:last-child > a { display: inline-block; margin: 1rem 0; color: var(--wine); font-size: clamp(1.5rem, 3vw, 2.5rem); text-decoration: none; }
.restaurant-contact small { display: block; margin-top: 1rem; color: #656960; }
.abendgold .demo-footer { background: #111511; font-family: ui-sans-serif, system-ui, sans-serif; }

@media (max-width: 850px) {
  .restaurant-header { grid-template-columns: 1fr auto; }
  .restaurant-nav-left { display: none; }
  .restaurant-header .nav-toggle { display: inline-flex; grid-column: 2; grid-row: 1; color: var(--linen); }
  .restaurant-nav-right { position: absolute; z-index: 10; top: 8.6rem; right: 1rem; left: 1rem; flex-direction: column; padding: 1.2rem; background: #111511; }
  .restaurant-header [data-nav-menu] { display: none; }
  .restaurant-header [data-nav-menu][data-open="true"] { display: flex; }
  .restaurant-logo { align-items: flex-start; }
  .restaurant-philosophy, .restaurant-menu, .restaurant-celebration, .restaurant-contact { grid-template-columns: 1fr; }
  .restaurant-features > div { grid-template-columns: 1fr; }
  .restaurant-celebration-art { min-height: 420px; }
}

@media (max-width: 500px) {
  .restaurant-hero { min-height: 680px; padding-inline: 1rem; }
  .restaurant-hero h1 { font-size: clamp(3.5rem, 18vw, 5.5rem); }
  .restaurant-frame { inset-inline: 1rem; }
  .restaurant-menu-list article { grid-template-columns: 1fr; }
}
