@font-face {
  font-family:'Bambu Sans';
  src:url('dm-sans.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap
}
@font-face {
  font-family:'Bambu Serif';
  src:url('playfair-display.ttf') format('truetype');
  font-weight:600;
  font-style:normal;
  font-display:swap
}
:root {
  --red:#a52523;
  --red-dark:#7e211e;
  --cream:#faf7f0;
  --paper:#fffdf9;
  --ink:#342b26;
  --muted:#746a60;
  --gold:#a58245;
  --line:#dfd5c5;
  --heading:'Bambu Serif',Georgia,serif;
  --body:'Bambu Sans',Arial,sans-serif;
  --header-height:68px;
  --sticky-header-offset:calc(var(--header-height) + 1px);
  --menu-nav-height:58px
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:var(--sticky-header-offset)
}
body {
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:var(--body);
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration-thickness:1px;
  text-underline-offset:5px
}
a:hover {
  color:var(--red)
}
button {
  font:inherit
}
img {
  max-width:100%;
  height:auto
}
h1,h2,h3,h4 {
  font-family:var(--heading);
  font-weight:600;
  line-height:1.12;
  letter-spacing:-.035em;
  margin:0 0 24px
}
h1 {
  font-size:clamp(42px,5.4vw,76px)
}
h2 {
  font-size:clamp(32px,3.5vw,48px)
}
h3 {
  font-size:26px
}
p {
  margin:0 0 20px
}
p:last-child {
  margin-bottom:0
}
::selection {
  background:#ead2ba;
  color:var(--red-dark)
}
:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:5px
}
.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  background:var(--paper);
  padding:12px;
  z-index:1000
}
.skip-link:focus {
  top:8px
}
.site-header {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(250,247,240,.97);
  border-bottom:1px solid var(--line)
}
.admin-bar .site-header {
  top:32px
}
.admin-bar {
  --sticky-header-offset:calc(var(--header-height) + 1px + 32px)
}
.header-inner {
  max-width:1320px;
  margin:auto;
  min-height:var(--header-height);
  padding:8px 48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px
}
.brand {
  display:flex;
  flex-direction:column;
  text-decoration:none;
  line-height:1
}
.brand-logo {
  width:198px;
  height:auto
}
.brand-name {
  font-family:Arial,sans-serif;
  font-size:38px;
  letter-spacing:-1px;
  color:var(--red);
  font-weight:900
}
.brand-caption {
  margin-top:8px;
  font-size:9px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--red)
}
.main-navigation {
  display:flex;
  align-items:center;
  gap:42px
}
.nav-list {
  display:flex;
  gap:32px;
  list-style:none;
  margin:0;
  padding:0
}
.nav-list a {
  font-size:14px;
  text-decoration:none;
  padding:10px 0;
  position:relative
}
.nav-list .current-menu-item>a:after,.nav-list a:hover:after {
  content:'';
  height:2px;
  position:absolute;
  bottom:2px;
  left:0;
  right:0;
  background:var(--red)
}
.language-switch {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12px;
  letter-spacing:.06em
}
.language-switch a {
  text-decoration:none;
  color:var(--muted)
}
.language-switch a[aria-current] {
  color:var(--red);
  font-weight:700
}
.language-switch span {
  color:var(--line)
}
.nav-toggle {
  display:none
}
.page-content>.wp-block-group,.page-content>.wp-block-cover {
  margin-top:0;
  margin-bottom:0
}
.section {
  padding:90px 48px
}
.section-inner {
  max-width:1200px;
  margin-inline:auto
}
.section-narrow {
  max-width:900px;
  margin-inline:auto
}
.eyebrow {
  font-family:var(--body);
  text-transform:uppercase;
  letter-spacing:.19em;
  font-size:11px;
  font-weight:700;
  color:var(--red);
  margin-bottom:18px
}
.section-lead {
  font-size:18px;
  color:var(--muted);
  max-width:630px
}
.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:28px;
  margin-bottom:36px
}
.section-heading h2 {
  margin-bottom:0
}
.section-heading .eyebrow {
  margin-bottom:12px
}
.text-link {
  font-size:14px;
  color:var(--red);
  font-weight:700;
  text-decoration:none;
  white-space:nowrap
}
.text-link:after {
  content:' ↗';
  margin-left:14px
}
.wp-block-buttons {
  gap:14px
}
.wp-block-button__link,.button {
  background:var(--red);
  border:1px solid var(--red);
  border-radius:2px;
  color:#fff!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:30px;
  padding:14px 25px;
  font-size:14px;
  font-weight:700;
  line-height:1.5;
  text-decoration:none;
  transition:background .2s,transform .2s
}
.wp-block-button__link:hover,.button:hover {
  background:var(--red-dark);
  transform:translateY(-1px)
}
.wp-block-button.is-style-outline>.wp-block-button__link {
  color:var(--red)!important;
  background:transparent;
  border:1px solid var(--red);
  padding:14px 25px
}
.wp-block-button.is-style-outline>.wp-block-button__link:hover {
  background:#f1e7dc
}
.wp-block-button__link:after {
  content:'→';
  font-size:20px;
  line-height:1
}
.wp-block-button.is-style-outline>.wp-block-button__link:after {
  content:'↗'
}
.hero {
  min-height:620px!important;
  position:relative;
  padding:72px 48px!important;
  overflow:hidden;
  background:#202a1d
}
.hero .wp-block-cover__image-background {
  object-position:66% center!important
}
.hero>.wp-block-cover__background {
  background:linear-gradient(90deg,rgba(14,27,17,.91) 0%,rgba(14,27,17,.73) 32%,rgba(14,27,17,.08) 78%)!important;
  opacity:1!important
}
.hero .wp-block-cover__inner-container {
  max-width:1200px;
  margin-inline:auto;
  width:100%
}
.hero-copy {
  max-width:590px
}
.hero .eyebrow {
  color:#e9c18e
}
.hero h1 {
  color:#fffdf8;
  max-width:600px;
  margin-bottom:26px
}
.hero h1 em {
  font-style:normal;
  color:#efc38a
}
.hero .hero-description {
  color:#f4eade;
  max-width:370px;
  font-size:17px;
  line-height:1.8;
  margin-bottom:32px
}
.hero .wp-block-button__link {
  background:#b3352d;
  border-color:#b3352d
}
.hero .wp-block-button.is-style-outline>.wp-block-button__link {
  border-color:#e5d4bb;
  color:#fff!important;
  background:transparent
}
.hero .wp-block-button.is-style-outline>.wp-block-button__link:hover {
  background:rgba(255,255,255,.12)
}
.hero-locations {
  margin:22px 0 0!important;
  color:#f0c987;
  font-size:14px;
  font-weight:700;
  letter-spacing:.06em
}
.hero-note {
  margin-top:6px!important;
  display:flex;
  gap:10px;
  align-items:center;
  color:#f4eade;
  font-size:14px;
  font-weight:600;
  letter-spacing:.03em
}
.hero-note:before {
  content:'';
  display:inline-block;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#d8ae71
}
.intro-strip {
  padding:24px 48px;
  border-bottom:1px solid var(--line);
  background:#f0e9dc
}
.intro-strip>.wp-block-group {
  max-width:1200px;
  margin:auto;
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center
}
.intro-strip p {
  margin:0;
  font-size:13px
}
.intro-strip strong {
  color:var(--red);
  margin-right:12px
}
.intro-strip .text-link {
  font-size:12px
}
.favourites {
  background:var(--cream)
}
.dish-grid {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px
}
.dish-card {
  background:var(--paper);
  border:1px solid var(--line);
  overflow:hidden
}
.dish-card figure {
  margin:0
}
.dish-card figure img {
  width:100%;
  aspect-ratio:1.5;
  object-fit:cover;
  display:block;
  transition:transform .5s
}
.dish-card:hover figure img {
  transform:scale(1.025)
}
.dish-card .dish-copy {
  padding:26px
}
.dish-card .eyebrow {
  font-size:10px;
  margin-bottom:10px
}
.dish-card h3 {
  font-size:27px;
  margin-bottom:12px
}
.dish-card .dish-copy>p:not(.eyebrow) {
  font-size:14px;
  color:var(--muted)
}
.lunch-feature {
  background:#eee7da;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.lunch-layout {
  display:grid!important;
  grid-template-columns:1.05fr 1fr;
  gap:90px;
  align-items:center
}
.lunch-feature h2 {
  max-width:480px
}
.lunch-feature .section-lead {
  max-width:440px;
  margin-bottom:30px
}
.lunch-preview {
  background:var(--paper);
  padding:36px 40px;
  border:1px solid #d2c3ab;
  position:relative
}
.lunch-preview:before {
  content:'';
  position:absolute;
  inset:7px;
  border:1px solid #e5dccb;
  pointer-events:none
}
.lunch-preview .eyebrow {
  font-size:10px
}
.lunch-preview h3 {
  font-size:31px;
  color:var(--red)
}
.lunch-preview p {
  font-size:15px;
  color:var(--muted)
}
.lunch-preview .text-link {
  display:block;
  margin-top:24px;
  border-top:1px solid var(--line);
  padding-top:20px
}
.story-layout {
  display:grid!important;
  grid-template-columns:.8fr 1fr;
  gap:90px;
  align-items:start
}
.story-mark {
  font-family:var(--heading);
  color:var(--gold);
  font-size:clamp(100px,14vw,190px);
  line-height:1.1;
  letter-spacing:-.05em
}
.story-mark span {
  display:block;
  font-family:var(--body);
  font-size:11px;
  letter-spacing:.2em;
  text-transform:uppercase;
  margin-top:20px;
  color:var(--muted)
}
.story-copy h2 {
  max-width:550px
}
.story-copy .section-lead {
  font-size:17px
}
.story-divider {
  height:1px;
  background:var(--line);
  margin:28px 0
}
.restaurant-grid {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px
}
.restaurant-card {
  padding:38px;
  border:1px solid var(--line);
  background:var(--paper);
  position:relative
}
.restaurant-card h3 {
  font-size:34px;
  color:var(--red);
  margin:0 0 20px
}
.restaurant-card .eyebrow {
  font-size:10px;
  color:var(--gold)
}
.restaurant-card p {
  font-size:15px;
  color:var(--muted)
}
.restaurant-card .text-link {
  display:inline-block;
  margin-top:15px
}
.restaurant-card:after {
  position:absolute;
  right:32px;
  top:35px;
  content:'↗';
  font-size:30px;
  color:var(--gold)
}
.restaurant-detail {
  padding:45px;
  border-top:3px solid var(--red)
}
.restaurant-detail .wp-block-heading {
  margin-top:0
}
.restaurant-detail .wp-block-buttons {
  margin-top:25px
}
.page-hero {
  padding:72px 48px 54px;
  border-bottom:1px solid var(--line);
  background:radial-gradient(ellipse at 100% 0%,#ebe2cf 0,transparent 55%),var(--cream)
}
.page-hero>.wp-block-group {
  max-width:1200px;
  margin:auto
}
.page-hero h1 {
  margin-bottom:20px;
  font-size:clamp(45px,5vw,67px);
  color:var(--red-dark)
}
.page-hero .section-lead {
  margin:0
}
.menu-nav {
  display:flex!important;
  flex-wrap:wrap;
  gap:10px!important;
  padding:25px 48px;
  border-bottom:1px solid var(--line);
  background:var(--paper);
  justify-content:center
}
.menu-nav p {
  margin:0
}
.menu-nav a {
  display:block;
  padding:7px 18px;
  border:1px solid var(--line);
  font-size:13px;
  text-decoration:none
}
.menu-nav a:hover {
  border-color:var(--red);
  background:#f7ede6
}
.menu-section {
  padding:60px 48px 8px
}
.menu-section>.wp-block-group {
  max-width:1000px;
  margin:auto
}
.menu-section h2 {
  color:var(--red);
  font-size:38px;
  margin-bottom:12px
}
.menu-section-intro {
  font-size:14px;
  color:var(--muted);
  margin-bottom:28px
}
.menu-entry {
  border-bottom:1px solid var(--line);
  padding:25px 0
}
.menu-entry .menu-entry-top {
  display:flex!important;
  justify-content:space-between;
  align-items:baseline;
  gap:24px
}
.menu-entry h3 {
  font-size:23px;
  letter-spacing:-.02em;
  margin-bottom:10px
}
.menu-entry .menu-entry-top>p {
  flex-shrink:0;
  margin:0;
  color:var(--red);
  font-weight:700;
  font-size:16px
}
.menu-entry>p {
  color:var(--muted);
  font-size:15px;
  max-width:760px;
  margin-bottom:8px
}
.menu-entry .menu-price {
  font-size:12px;
  color:var(--red-dark);
  margin-top:12px
}
.menu-entry .menu-notes {
  font-size:12px;
  color:var(--muted)
}
.content-notice {
  padding:18px 22px;
  border-left:2px solid var(--gold);
  background:#f0e9da;
  font-size:13px;
  color:#61503a;
  margin:28px 0
}
.allergen-note {
  padding:32px;
  border:1px solid var(--line);
  font-size:14px
}
.allergen-note p {
  color:var(--muted)
}
.page-end {
  padding:50px 48px 80px
}
.page-end>.wp-block-group {
  max-width:1000px;
  margin:auto
}
.lunch-days {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px
}
.lunch-day {
  border:1px solid var(--line);
  padding:30px;
  background:var(--paper)
}
.lunch-day h2 {
  font-size:28px;
  color:var(--red);
  margin-bottom:20px
}
.lunch-day p {
  font-size:15px;
  color:var(--muted)
}
.lunch-day:last-child {
  grid-column:1/-1
}
.not-found {
  padding:120px 32px;
  max-width:900px;
  margin:auto
}
.site-footer {
  padding:60px 48px 20px;
  background:var(--red-dark);
  color:#f6e9db;
  margin-top:0
}
.footer-top {
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:1.7fr 1fr 1fr;
  gap:60px;
  padding-bottom:45px
}
.footer-brand {
  font-family:Arial,sans-serif;
  font-weight:900;
  font-size:37px;
  letter-spacing:-.05em;
  text-decoration:none;
  line-height:1
}
.footer-brand span {
  display:block;
  font-family:var(--body);
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:400;
  margin-top:9px
}
.footer-top p {
  font-size:12px;
  margin-top:24px;
  color:#dfbdb0
}
.footer-top h2 {
  font-family:var(--body);
  font-size:12px;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin:0 0 18px;
  color:#ecc594
}
.footer-top>div>a:not(.footer-brand) {
  display:block;
  text-decoration:none;
  font-size:14px;
  margin:8px 0
}
.site-footer a:hover {
  color:#fff
}
.footer-bottom {
  max-width:1200px;
  margin:auto;
  border-top:1px solid #a25446;
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  color:#d7b6a8;
  font-size:11px
}
.hero.wp-block-group {
  display:flex;
  align-items:center;
  color:#fff
}
.hero-image {
  position:absolute;
  inset:0;
  margin:0!important
}
.hero-image img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:66% center
}
.hero.wp-block-group:after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(14,27,17,.91),rgba(14,27,17,.65) 35%,rgba(14,27,17,.04) 80%);
  pointer-events:none
}
.hero.wp-block-group>.section-inner {
  position:relative;
  z-index:1;
  width:100%
}
.hero.wp-block-group>.section-inner>.hero-copy {
  max-width:590px
}
.hero.wp-block-group h1 {
  font-family:var(--heading)
}
@media(min-width:1500px) {
  .hero {
    min-height:690px!important
  }
  .hero .wp-block-cover__image-background {
    object-position:center center!important
  }
}
@media(max-width:1000px) {
  .header-inner {
    padding-inline:28px
  }
  .main-navigation {
    gap:24px
  }
  .nav-list {
    gap:20px
  }
  .section {
    padding:65px 28px
  }
  .lunch-layout,.story-layout {
    gap:45px
  }
  .hero {
    padding-inline:28px!important
  }
  .dish-grid {
    gap:18px
  }
  .dish-card .dish-copy {
    padding:20px
  }
  .intro-strip {
    padding-inline:28px
  }
  .restaurant-card {
    padding:28px
  }
  .page-hero,.menu-section,.page-end {
    padding-inline:28px
  }
  .hero h1 {
    max-width:510px
  }
}
@media(max-width:760px) {
  html {
    scroll-padding-top:var(--sticky-header-offset)
  }
  .admin-bar .site-header {
    top:46px
  }
  .admin-bar {
    --sticky-header-offset:calc(var(--header-height) + 1px + 46px)
  }
  .header-inner {
    min-height:60px;
    padding:6px 22px
  }
  .brand-logo {
    width:132px
  }
  .brand-name {
    font-size:30px
  }
  .brand-caption {
    font-size:8px
  }
  .nav-toggle {
    display:flex;
    gap:12px;
    align-items:center;
    background:transparent;
    border:1px solid var(--line);
    padding:9px 12px;
    font-size:12px;
    color:var(--red)
  }
  .nav-toggle-icon {
    width:16px;
    height:10px;
    border-top:1px solid currentColor;
    border-bottom:1px solid currentColor
  }
  .main-navigation {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:var(--cream);
    padding:18px 24px 26px;
    border-bottom:1px solid var(--line);
    box-shadow:0 10px 18px #342b2610
  }
  .main-navigation.is-open {
    display:block
  }
  .nav-list {
    display:block
  }
  .nav-list a {
    display:block;
    padding:12px 0
  }
  .nav-list .current-menu-item>a:after {
    right:auto;
    width:35px
  }
  .language-switch {
    margin-top:22px
  }
  .section {
    padding:52px 22px
  }
  .hero {
    min-height:670px!important;
    padding:65px 22px 45px!important;
    align-items:flex-end!important
  }
  .hero>.wp-block-cover__background {
    background:linear-gradient(0deg,rgba(13,26,17,.96) 0%,rgba(13,26,17,.82) 48%,rgba(13,26,17,.05) 100%)!important
  }
  .hero .wp-block-cover__image-background {
    object-position:73% center!important
  }
  .hero h1 {
    font-size:49px;
    max-width:400px
  }
  .hero .hero-description {
    font-size:15px;
    max-width:330px
  }
  .hero .eyebrow {
    font-size:10px
  }
  .hero-note {
    margin-top:6px!important;
    font-size:13px
  }
  .hero .wp-block-buttons {
    gap:10px
  }
  .hero .wp-block-button__link {
    padding:12px 18px;
    font-size:13px;
    gap:20px
  }
  .hero .wp-block-button.is-style-outline>.wp-block-button__link {
    padding:12px 18px
  }
  .intro-strip {
    padding:20px 22px
  }
  .intro-strip>.wp-block-group {
    align-items:flex-start;
    gap:12px;
    flex-direction:column
  }
  .intro-strip p {
    font-size:12px
  }
  .section-heading {
    align-items:flex-start;
    gap:16px;
    flex-direction:column;
    margin-bottom:25px
  }
  .section-heading h2 {
    font-size:34px
  }
  .section-lead {
    font-size:16px
  }
  .dish-grid {
    grid-template-columns:1fr!important;
    gap:22px
  }
  .dish-card {
    display:grid!important;
    grid-template-columns:38% 1fr;
    align-items:stretch
  }
  .dish-card figure {
    height:100%
  }
  .dish-card figure img {
    height:100%;
    aspect-ratio:auto;
    object-position:67% center
  }
  .dish-card .dish-copy {
    padding:21px 18px
  }
  .dish-card h3 {
    font-size:24px;
    margin-bottom:9px
  }
  .dish-card .dish-copy>p:not(.eyebrow) {
    font-size:12px;
    line-height:1.65
  }
  .dish-card .eyebrow {
    font-size:9px;
    margin-bottom:7px
  }
  .lunch-layout,.story-layout {
    grid-template-columns:1fr!important;
    gap:32px
  }
  .lunch-preview {
    padding:30px
  }
  .story-mark {
    font-size:94px
  }
  .story-mark span {
    margin-top:8px
  }
  .restaurant-grid {
    grid-template-columns:1fr!important;
    gap:18px
  }
  .restaurant-card {
    padding:28px
  }
  .restaurant-card h3 {
    font-size:31px
  }
  .restaurant-detail {
    padding:28px
  }
  .page-hero {
    padding:48px 22px 38px
  }
  .page-hero h1 {
    font-size:46px
  }
  .page-hero .section-lead {
    font-size:16px
  }
  .menu-nav {
    padding:18px 22px;
    gap:8px!important;
    justify-content:flex-start
  }
  .menu-nav a {
    font-size:12px;
    padding:6px 11px
  }
  .menu-section {
    padding:42px 22px 0
  }
  .menu-section h2 {
    font-size:32px
  }
  .menu-entry {
    padding:22px 0
  }
  .menu-entry h3 {
    font-size:21px
  }
  .menu-entry .menu-entry-top {
    gap:12px;
    align-items:flex-start
  }
  .menu-entry .menu-entry-top>p {
    font-size:14px
  }
  .menu-entry>p {
    font-size:14px
  }
  .menu-entry .menu-price {
    font-size:11px;
    line-height:1.9
  }
  .page-end {
    padding:38px 22px 55px
  }
  .allergen-note {
    padding:24px
  }
  .lunch-days {
    grid-template-columns:1fr!important
  }
  .lunch-day:last-child {
    grid-column:auto
  }
  .lunch-day {
    padding:25px
  }
  .site-footer {
    padding:45px 22px 22px
  }
  .footer-top {
    grid-template-columns:1fr 1fr;
    gap:32px;
    padding-bottom:32px
  }
  .footer-top>div:first-child {
    grid-column:1/-1
  }
  .footer-bottom {
    gap:18px;
    font-size:10px
  }
  .not-found {
    padding:75px 22px
  }
}
@media(max-width:380px) {
  .hero h1 {
    font-size:43px
  }
  .hero .wp-block-button__link {
    gap:10px
  }
  .dish-card {
    grid-template-columns:33% 1fr
  }
  .brand-logo {
    width:146px
  }
}

@media(max-width:760px) {
  .hero.wp-block-group:after {
    background:linear-gradient(0deg,rgba(13,26,17,.97),rgba(13,26,17,.78) 50%,rgba(13,26,17,.06))
  }
  .hero-image img {
    object-position:73% center
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
}
.section>.wp-block-group:not(.section-inner) {
  max-width:1200px;
  margin-inline:auto
}
.dish-grid>.wp-block-group,.restaurant-grid>.wp-block-group,.lunch-days>.wp-block-group,.lunch-layout>.wp-block-group,.story-layout>.wp-block-group {
  margin-block:0!important
}
.dish-card figure {
  position:relative;
  aspect-ratio:1.5;
  height:auto
}
.dish-card figure img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%
}
@media(max-width:760px) {
  .dish-card figure {
    aspect-ratio:auto;
    height:auto;
    min-height:175px
  }
}
.menu-page-hero {
  padding-block:48px
}
.menu-intro-layout {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  align-items:center;
  gap:64px
}
.menu-intro-copy {
  margin:0!important
}
.menu-intro-image {
  margin:0!important;
  position:relative;
  aspect-ratio:1.65;
  overflow:hidden;
  border-radius:2px
}
.menu-intro-image img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:75% center
}
.menu-category-heading {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,340px);
  align-items:center;
  gap:36px;
  padding-bottom:28px;
  border-bottom:1px solid var(--line);
  margin-bottom:4px
}
.menu-category-copy {
  margin:0!important
}
.menu-category-copy h2 {
  margin:0
}
.menu-category-image {
  position:relative;
  aspect-ratio:1.85;
  overflow:hidden;
  margin:0!important;
  border-radius:2px
}
.menu-category-image img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover
}
.menu-intro-layout>.wp-block-group,.menu-category-heading>.wp-block-group {
  margin-block:0!important
}
@media(max-width:1000px) {
  .menu-intro-layout {
    gap:32px
  }
  .menu-category-heading {
    grid-template-columns:minmax(0,1fr) minmax(0,290px)
  }
}
@media(max-width:760px) {
  .menu-page-hero {
    padding-block:36px
  }
  .menu-intro-layout {
    grid-template-columns:1fr;
    gap:28px
  }
  .menu-intro-image {
    aspect-ratio:1.9
  }
  .menu-category-heading {
    grid-template-columns:1fr;
    gap:20px;
    padding-bottom:22px
  }
  .menu-category-image {
    aspect-ratio:2.15
  }
  .menu-category-copy h2 {
    margin:0
  }
}
/* Stage A refinement: bold brand navigation, editorial food sections and calmer menu rhythm. */
.site-header {
  background:linear-gradient(105deg,#bd302c 0%,#a92323 58%,#8e211f 100%);
  border-bottom:1px solid #d36a55;
  box-shadow:0 3px 14px #35110e18
}
.header-inner {
  min-height:var(--header-height)
}
.brand-logo {
  filter:brightness(0) invert(1)
}
.nav-list a {
  color:#fff8f0;
  font-size:15px
}
.nav-list .current-menu-item>a:after,.nav-list a:hover:after {
  background:#f1c58f
}
.language-switch a {
  color:#f7e8db
}
.language-switch a[aria-current] {
  color:#ffd49b
}
.language-switch span {
  color:#e9bba7
}
.nav-toggle {
  color:#fff8f0;
  border-color:#ffffff70
}
.main-navigation.is-open {
  background:#a52523
}
.main-navigation.is-open .nav-list a,.main-navigation.is-open .language-switch a {
  color:#fff8f0
}
.main-navigation.is-open .language-switch a[aria-current] {
  color:#ffd49b
}
.hero {
  min-height:600px!important
}
.section {
  padding-block:76px
}
.favourites {
  background-color:#fbf7ef;
  background-image:linear-gradient(45deg,transparent 46%,#a5824509 47%,#a5824509 49%,transparent 50%),linear-gradient(-45deg,transparent 46%,#a5824509 47%,#a5824509 49%,transparent 50%);
  background-size:54px 54px
}
.favourites .section-inner {
  max-width:1240px
}
.section-heading {
  margin-bottom:32px
}
.dish-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px
}
.dish-card {
  border:1px solid #e8dece;
  border-radius:3px;
  box-shadow:0 8px 24px #4d32100b;
  transition:transform .24s,box-shadow .24s
}
.dish-card:hover {
  transform:translateY(-4px);
  box-shadow:0 15px 32px #4d321018
}
.dish-card figure {
  aspect-ratio:1.28
}
.dish-card figure img {
  object-fit:cover
}
.dish-card .dish-copy {
  padding:19px 20px 22px
}
.dish-card .eyebrow {
  display:inline-block;
  border-radius:99px;
  background:#a52523;
  color:white;
  padding:4px 10px;
  font-size:9px;
  letter-spacing:.14em;
  margin-bottom:10px
}
.dish-card h3 {
  font-size:clamp(20px,1.75vw,25px);
  line-height:1.12;
  margin-bottom:9px
}
.dish-card .dish-copy>p:not(.eyebrow) {
  font-size:14px;
  line-height:1.55
}
.dish-card:nth-child(4) figure img {
  object-position:center 54%
}
.lunch-feature {
  background:#f0e8db;
  border-top:1px solid #e5d9c5;
  border-bottom:1px solid #e5d9c5;
  overflow:hidden
}
.lunch-feature .lunch-layout {
  grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr);
  gap:clamp(34px,5vw,78px);
  align-items:center
}
.lunch-photo {
  position:relative;
  margin:0!important;
  aspect-ratio:1.22;
  overflow:hidden;
  border-radius:3px;
  box-shadow:0 18px 44px #35241520
}
.lunch-photo:after {
  content:'KUVITUSKUVA';
  position:absolute;
  left:16px;
  bottom:16px;
  padding:5px 9px;
  background:#fffdf0dd;
  color:#66533d;
  border-radius:2px;
  font:700 9px var(--body);
  letter-spacing:.13em
}
html[lang^="en"] .lunch-photo:after {
  content:'ILLUSTRATIVE PHOTO'
}
.lunch-photo img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:66% center
}
.lunch-copy-wrap {
  max-width:475px
}
.lunch-copy {
  margin-bottom:28px!important
}
.lunch-copy h2 {
  font-size:clamp(38px,4vw,54px);
  margin-bottom:18px
}
.lunch-preview {
  padding:23px 27px;
  background:#fffdf9;
  border:0;
  border-left:3px solid var(--red);
  box-shadow:0 10px 28px #5137160e
}
.lunch-preview:before {
  display:none
}
.lunch-preview .eyebrow {
  font-size:9px;
  letter-spacing:.16em;
  margin-bottom:8px
}
.lunch-preview h3 {
  font-size:27px;
  margin:0 0 4px
}
.lunch-preview p {
  margin:5px 0;
  font-size:14px
}
.lunch-preview p:nth-of-type(2) {
  font-family:var(--heading);
  color:var(--red);
  font-size:30px;
  font-weight:600;
  line-height:1.2
}
.lunch-preview p:nth-of-type(3) {
  font-weight:700;
  color:var(--ink)
}
.lunch-preview .text-link {
  font-size:13px
}
.story {
  background-color:#18372e;
  background-image:radial-gradient(ellipse at 9% 50%,#41634750 0,transparent 36%),linear-gradient(135deg,#142f29,#1b4033 70%,#274a3d);
  color:#f5ede0;
  position:relative;
  overflow:hidden
}
.story:after {
  content:'✳';
  position:absolute;
  right:4%;
  top:50%;
  transform:translateY(-50%) rotate(18deg);
  font-family:Georgia,serif;
  font-size:260px;
  line-height:1;
  color:#f7e3bf0b;
  pointer-events:none
}
.story .story-layout {
  position:relative;
  z-index:1;
  align-items:center;
  grid-template-columns:.84fr 1fr;
  gap:clamp(40px,8vw,110px)
}
.story-mark {
  color:#e5bd7d;
  font-size:clamp(100px,13vw,174px)
}
.story-mark span {
  color:#d2c5a9
}
.story-copy h2 {
  color:#fffaf2;
  font-size:clamp(36px,4vw,52px)
}
.story-copy .section-lead,.story-copy>p:not(.eyebrow):not(.section-lead) {
  color:#e4ded2
}
.story-copy .text-link {
  color:#f1c58f
}
.story-divider {
  background:#f3eadf40
}
.restaurants {
  background-color:#fbf7ef;
  background-image:radial-gradient(ellipse at 100% 100%,#d9c29b24,transparent 35%)
}
.restaurant-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px
}
.restaurant-card {
  border:1px solid #e4d9c8;
  border-radius:3px;
  background:#fffdf9;
  padding:30px 32px 26px 36px;
  box-shadow:0 9px 28px #5137160b;
  transition:border-color .2s,transform .2s
}
.restaurant-card:hover {
  border-color:#c9a77b;
  transform:translateY(-2px)
}
.restaurant-card:after {
  content:'';
  top:38px;
  right:38px;
  width:19px;
  height:19px;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  background:var(--red);
  box-shadow:inset 0 0 0 5px #f6e8d9
}
.restaurant-card .eyebrow {
  font-size:9px;
  letter-spacing:.15em;
  margin-bottom:8px
}
.restaurant-card h3 {
  font-size:34px;
  color:var(--ink);
  margin-bottom:14px
}
.restaurant-card .location-address {
  font-family:var(--heading);
  font-size:20px;
  line-height:1.35;
  color:#49372d;
  margin-bottom:7px
}
.restaurant-card .location-icon {
  display:none
}
.restaurant-card .location-phone {
  font-size:15px;
  font-weight:700;
  margin-bottom:17px
}
.restaurant-card .location-phone a {
  text-decoration:none
}
.restaurant-card .location-hours {
  padding-top:14px;
  border-top:1px solid var(--line);
  font-size:13px;
  line-height:1.65;
  color:var(--muted);
  margin-bottom:17px
}
.restaurant-card .location-hours-label {
  color:var(--red);
  font-size:10px;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase
}
.restaurant-card .location-links {
  display:flex;
  align-items:center;
  gap:20px;
  margin:0
}
.restaurant-card .location-map {
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:10px 15px;
  background:var(--red);
  color:white;
  border-radius:2px;
  text-decoration:none;
  font-size:12px;
  font-weight:700
}
.restaurant-card .location-map:hover {
  background:var(--red-dark);
  color:white
}
.restaurant-card .location-map span {
  font-size:17px
}
.restaurant-card .location-facebook {
  font-size:12px;
  color:var(--red);
  font-weight:700;
  text-decoration:none
}
.site-footer {
  background:linear-gradient(110deg,#b82d29,#96221f);
  position:relative;
  overflow:hidden
}
.footer-top,.footer-bottom {
  position:relative;
  z-index:1
}
.footer-brand {
  color:#fff8ef
}
.footer-brand .footer-logo {
  display:block;
  width:198px;
  height:auto;
  filter:brightness(0) invert(1)
}
.footer-brand span {
  color:#f0d4bf
}
.footer-top h2 {
  color:#f2c88f
}
.footer-top>div>a:not(.footer-brand) {
  color:#f7e8dc
}
.footer-bottom {
  border-color:#ffffff38;
  color:#f0d1bf
}
.menu-page-hero {
  padding-block:55px 50px;
  background-image:radial-gradient(ellipse at 100% 0%,#eadfc9 0,transparent 50%),linear-gradient(135deg,#fcf9f3,#f6f0e5)
}
.menu-intro-layout {
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(36px,6vw,82px)
}
.menu-intro-image {
  aspect-ratio:1.55;
  border-radius:4px;
  box-shadow:0 16px 42px #3d28141c
}
.menu-nav {
  position:sticky;
  top:var(--sticky-header-offset);
  z-index:40;
  flex-wrap:nowrap;
  justify-content:flex-start;
  justify-content:safe center;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  scrollbar-color:#d6b77f #18372e;
  padding-block:8px;
  border-color:#274a3d;
  background:radial-gradient(ellipse at 9% 50%,#41634750 0,transparent 36%),linear-gradient(135deg,#142f29,#1b4033 70%,#274a3d);
  box-shadow:0 7px 18px #18372e26
}
.menu-nav p {
  flex:0 0 auto
}
.menu-nav a {
  padding:9px 17px;
  border-radius:2px;
  border-color:#c5ad7d80;
  color:#fffaf1;
  background:#ffffff0a;
  white-space:nowrap;
  font-size:13px;
  transition:background .18s,color .18s,border-color .18s
}
.menu-nav a:hover,.menu-nav a:focus-visible,.menu-nav a[aria-current="location"] {
  background:#e5bf83;
  border-color:#e5bf83;
  color:#142f29
}
.menu-section {
  padding:54px 48px 20px
}
.menu-section#rice,.menu-section#wok,.menu-section#soups,.menu-section#children {
  background:#f5efe5
}
.menu-section>.wp-block-group {
  max-width:1080px
}
.menu-section[id] {
  scroll-margin-top:calc(var(--menu-nav-height) + 12px)
}
.menu-section h2 {
  font-size:clamp(34px,3.3vw,44px);
  margin-bottom:8px;
  letter-spacing:-.04em
}
.menu-category-heading {
  grid-template-columns:minmax(0,1fr) minmax(0,380px);
  gap:48px;
  padding-bottom:30px;
  margin-bottom:8px;
  border-color:#d9c9b4
}
.menu-category-copy h2 {
  margin:0
}
.menu-category-image {
  aspect-ratio:1.82;
  border-radius:3px;
  box-shadow:0 12px 30px #4d321014
}
.menu-entry {
  padding:22px 18px;
  border-bottom:1px solid #e6ddcf;
  transition:background .16s
}
.menu-entry:hover {
  background:#fffaf3
}
.menu-entry-top h3 {
  font-size:24px;
  line-height:1.25;
  color:#342b26;
  margin-bottom:5px
}
.menu-entry .menu-entry-top>p {
  padding:4px 10px;
  border-radius:2px;
  background:#f7eee5;
  font-size:15px;
  white-space:nowrap
}
.menu-entry>p {
  font-size:15px;
  line-height:1.55;
  margin:3px 0 5px
}
.menu-entry .menu-price {
  font-size:13px;
  line-height:1.7;
  color:#7a5239
}
.menu-entry .menu-notes {
  display:inline-block;
  font-size:11px;
  color:#6c5c4b;
  background:#f3ede3;
  padding:3px 8px;
  margin-top:7px;
  border-radius:2px
}
.page-end {
  padding-top:54px
}
.allergen-note {
  background:#fffdf9;
  border-radius:3px;
  box-shadow:0 7px 23px #5137160a
}
.allergen-note h3 {
  color:var(--red)
}
@media(max-width:1000px) {
  .dish-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:20px
  }
  .dish-card figure {
    aspect-ratio:1.45
  }
  .lunch-feature .lunch-layout {
    grid-template-columns:minmax(0,1fr) minmax(300px,.9fr);
    gap:36px
  }
  .lunch-copy-wrap {
    max-width:none
  }
  .menu-nav {
    top:var(--sticky-header-offset)
  }
  .menu-section {
    padding-inline:28px
  }
  .menu-category-heading {
    grid-template-columns:minmax(0,1fr) minmax(0,300px);
    gap:30px
  }
}
@media(max-width:760px) {
  .header-inner {
    min-height:60px
  }
  .site-header .main-navigation {
    top:100%;
    background:#9c2421
  }
  .section {
    padding-block:56px
  }
  .favourites .section-heading {
    margin-bottom:23px
  }
  .dish-grid {
    grid-template-columns:1fr!important;
    gap:15px
  }
  .dish-card {
    grid-template-columns:40% 1fr;
    min-height:170px
  }
  .dish-card figure {
    min-height:170px;
    aspect-ratio:auto
  }
  .dish-card .dish-copy {
    padding:17px 16px
  }
  .dish-card h3 {
    font-size:22px
  }
  .dish-card .dish-copy>p:not(.eyebrow) {
    font-size:13px
  }
  .lunch-feature .lunch-layout {
    grid-template-columns:1fr!important;
    gap:27px
  }
  .lunch-photo {
    aspect-ratio:1.38;
    order:0
  }
  .lunch-copy-wrap {
    order:1
  }
  .lunch-copy {
    margin-bottom:20px!important
  }
  .lunch-copy h2 {
    font-size:40px
  }
  .lunch-preview {
    padding:21px 22px
  }
  .story .story-layout {
    grid-template-columns:1fr!important;
    gap:18px
  }
  .story-mark {
    font-size:92px
  }
  .story-mark span {
    margin-top:4px
  }
  .story-copy h2 {
    font-size:37px
  }
  .story:after {
    font-size:150px;
    right:-6%;
    top:24%
  }
  .restaurant-grid {
    grid-template-columns:1fr!important;
    gap:15px
  }
  .restaurant-card {
    padding:25px 23px 22px
  }
  .restaurant-card h3 {
    font-size:31px
  }
  .restaurant-card .location-address {
    font-size:18px
  }
  .menu-page-hero {
    padding-block:38px 35px
  }
  .menu-intro-layout {
    grid-template-columns:1fr;
    gap:24px
  }
  .menu-intro-image {
    aspect-ratio:1.65
  }
  .menu-nav {
    top:var(--sticky-header-offset);
    padding:6px 18px;
    gap:8px!important
  }
  .menu-nav a {
    padding:8px 12px;
    font-size:12px
  }
  .menu-section {
    padding:38px 20px 14px
  }
  .menu-section[id] {
    scroll-margin-top:calc(var(--menu-nav-height) + 12px)
  }
  .menu-category-heading {
    grid-template-columns:1fr;
    gap:18px;
    padding-bottom:21px
  }
  .menu-category-image {
    aspect-ratio:1.85
  }
  .menu-entry {
    padding:19px 11px
  }
  .menu-entry h3 {
    font-size:21px
  }
  .menu-entry .menu-entry-top>p {
    font-size:13px;
    padding:3px 8px
  }
  .menu-entry>p {
    font-size:14px
  }
  .site-footer {
    padding-top:42px
  }
  .footer-brand .footer-logo {
    width:170px
  }
}
/* Hollola lunch page: reuse the existing hero, image, split-section and info-card components. */
.lunch-page-hero {
  padding-block:clamp(38px,5vw,66px) clamp(34px,4vw,54px);
  background:radial-gradient(ellipse at 100% 0%,#eadfc9 0,transparent 47%),linear-gradient(130deg,#fcf9f3,#f4eddf)
}
.lunch-page-hero .lunch-hero-layout {
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  gap:clamp(34px,5vw,68px);
  align-items:center
}
.lunch-page-hero .lunch-photo {
  aspect-ratio:1.42;
  min-height:300px;
  box-shadow:0 18px 44px #35241524
}
.lunch-page-hero .lunch-photo img {
  object-position:center;
}
.lunch-page-hero .lunch-copy {
  max-width:520px;
  margin:0!important
}
.lunch-page-hero .lunch-copy h1 {
  color:var(--red-dark);
  font-size:clamp(42px,4.5vw,62px);
  margin-bottom:16px
}
.lunch-page-hero .lunch-copy .section-lead {
  font-size:clamp(16px,1.5vw,19px);
  line-height:1.65;
  color:var(--muted);
  margin-bottom:24px
}
.lunch-page-hero .wp-block-buttons {
  gap:12px
}
.lunch-details {
  padding-block:clamp(48px,6vw,78px);
  background:#f0e8db
}
.lunch-details .lunch-layout {
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(36px,5.2vw,76px)
}
.lunch-details .lunch-photo {
  aspect-ratio:1.2;
  min-height:310px
}
.lunch-details .lunch-photo img {
  object-position:center
}
.lunch-details .lunch-copy h2 {
  font-size:clamp(32px,3.5vw,44px);
  margin-bottom:12px
}
.lunch-details .lunch-copy .section-lead {
  margin-bottom:22px;
  color:var(--muted)
}
.lunch-details .lunch-copy-wrap {
  max-width:520px
}
.lunch-details .lunch-preview {
  padding:22px 26px
}
.lunch-details .lunch-preview p:nth-of-type(2),.lunch-details .lunch-preview p:nth-of-type(3) {
  font-family:var(--body);
  color:var(--muted);
  font-size:14px;
  font-weight:400;
  line-height:1.65
}
.lunch-details .lunch-preview .lunch-hours {
  font-weight:700;
  color:var(--ink)
}
.lunch-details .lunch-preview .lunch-address {
  margin-top:11px
}
.lunch-details .lunch-preview .lunch-phone {
  font-weight:700;
  color:var(--ink)
}
.lunch-takeaway {
  padding-block:clamp(32px,4vw,52px);
  background:#fffdf9
}
.lunch-takeaway-inner {
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr auto;
  grid-template-rows:auto auto;
  column-gap:36px;
  align-items:center
}
.lunch-takeaway-inner .eyebrow {
  grid-column:1;
  color:var(--red);
  font-size:10px;
  font-weight:700;
  letter-spacing:.16em;
  margin:0 0 6px
}
.lunch-takeaway-inner h2 {
  grid-column:1;
  font-size:clamp(27px,3vw,36px);
  margin:0
}
.lunch-takeaway-inner>p:not(.eyebrow) {
  grid-column:1;
  color:var(--muted);
  font-size:14px;
  margin:7px 0 0
}
.lunch-takeaway-inner .wp-block-buttons {
  grid-column:2;
  grid-row:1/4;
  gap:10px
}
@media(max-width:760px) {
  .lunch-page-hero {
    padding:30px 20px 34px
  }
  .lunch-page-hero .lunch-hero-layout {
    grid-template-columns:1fr;
    gap:24px
  }
  .lunch-page-hero .lunch-photo {
    aspect-ratio:1.42;
    min-height:0
  }
  .lunch-page-hero .lunch-copy h1 {
    font-size:42px;
    margin-bottom:12px
  }
  .lunch-page-hero .lunch-copy .section-lead {
    font-size:16px;
    margin-bottom:18px
  }
  .lunch-page-hero .wp-block-buttons {
    flex-wrap:wrap
  }
  .lunch-details {
    padding:38px 20px 42px
  }
  .lunch-details .lunch-layout {
    grid-template-columns:1fr!important;
    gap:26px
  }
  .lunch-details .lunch-photo {
    aspect-ratio:1.42;
    min-height:0
  }
  .lunch-details .lunch-copy {
    margin-bottom:18px!important
  }
  .lunch-details .lunch-preview {
    padding:21px 22px
  }
  .lunch-details .lunch-preview .text-link {
    margin-top:16px;
    padding-top:14px
  }
  .lunch-takeaway {
    padding:32px 20px 36px
  }
  .lunch-takeaway-inner {
    display:block
  }
  .lunch-takeaway-inner h2 {
    font-size:30px;
    margin-bottom:8px
  }
  .lunch-takeaway-inner>p:not(.eyebrow) {
    margin-bottom:18px
  }
  .lunch-takeaway-inner .wp-block-buttons {
    gap:9px
  }
}
@media(max-width:400px) {
  .dish-card {
    grid-template-columns:36% 1fr
  }
  .dish-card .dish-copy {
    padding:15px 13px
  }
  .dish-card h3 {
    font-size:20px
  }
  .restaurant-card .location-links {
    gap:13px
  }
  .menu-entry .menu-entry-top {
    align-items:flex-start
  }
}
/* Stage A menu art direction: one image for each category, with varied editorial compositions. */
.menu-section {
  position:relative;
  isolation:isolate;
  overflow:hidden
}
.menu-section:before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 auto 0 0;
  width:7px;
  background:linear-gradient(180deg,#a72a25,#d6a95f 48%,#a72a25);
  opacity:.72
}
.menu-section:nth-of-type(2n):after {
  content:"";
  position:absolute;
  z-index:-1;
  right:-85px;
  top:80px;
  width:210px;
  height:210px;
  border:1px solid #b78b5830;
  transform:rotate(45deg);
  box-shadow:0 0 0 14px #b78b5809,0 0 0 28px #b78b5806;
  pointer-events:none
}
.menu-category-heading {
  position:relative;
  min-height:230px;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:clamp(28px,5vw,66px);
  align-items:stretch;
  padding:0 0 28px;
  margin:0 0 12px;
  border:0
}
.menu-category-copy {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:30px 26px 30px 0;
  min-height:220px
}
.menu-category-copy:before {
  content:"◇";
  display:block;
  color:#bb965f;
  font-family:serif;
  font-size:22px;
  line-height:1;
  margin-bottom:18px
}
.menu-category-kicker {
  margin:0 0 9px!important;
  color:var(--red);
  font-size:10px;
  font-weight:700;
  letter-spacing:.19em;
  text-transform:uppercase
}
.menu-category-copy h2 {
  font-size:clamp(36px,4vw,54px);
  line-height:1.04;
  max-width:440px
}
.menu-category-image {
  position:relative;
  width:100%;
  height:100%;
  min-height:230px;
  aspect-ratio:auto;
  overflow:hidden;
  border-radius:3px;
  box-shadow:0 17px 38px #38231220
}
.menu-category-image img {
  transition:transform .6s cubic-bezier(.2,.7,.2,1)
}
.menu-category-heading:hover .menu-category-image img {
  transform:scale(1.035)
}
.menu-layout-starters {
  grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);
  min-height:292px;
  padding:26px 30px 30px;
  background:#812a25;
  color:#fff8ef
}
.menu-layout-starters .menu-category-copy {
  padding:26px 4vw 26px 24px
}
.menu-layout-starters .menu-category-copy:before {
  color:#e5bd78
}
.menu-layout-starters .menu-category-kicker {
  color:#f0c78f
}
.menu-layout-starters .menu-category-copy h2 {
  color:#fff8ef
}
.menu-layout-starters .menu-category-image {
  min-height:240px;
  box-shadow:0 12px 32px #210b0a55
}
.menu-layout-rice {
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  background:linear-gradient(100deg,#f2e8d7 0 57%,#fbf8f1 57%)
}
.menu-layout-rice .menu-category-image {
  grid-column:1;
  grid-row:1;
  min-height:255px;
  clip-path:inset(0 0 0 0 round 2px 56px 2px 2px)
}
.menu-layout-rice .menu-category-copy {
  grid-column:2;
  grid-row:1;
  padding:28px 20px 28px 6px
}
.menu-layout-noodles {
  grid-template-columns:minmax(0,.76fr) minmax(0,1.24fr);
  gap:54px
}
.menu-layout-noodles .menu-category-image {
  grid-column:2;
  grid-row:1;
  min-height:275px;
  clip-path:inset(0 0 0 0 round 60px 2px 2px 2px)
}
.menu-layout-noodles .menu-category-copy {
  grid-column:1;
  grid-row:1;
  border-top:1px solid #b88a4c;
  border-bottom:1px solid #b88a4c
}
.menu-layout-wok {
  display:block;
  min-height:315px;
  padding:0;
  overflow:hidden;
  background:#23382e
}
.menu-layout-wok .menu-category-image {
  position:absolute;
  inset:0;
  min-height:0;
  box-shadow:none;
  border-radius:0;
  z-index:0
}
.menu-layout-wok .menu-category-image:before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#17261fef 0%,#17261fc9 38%,#17261f00 82%);
  z-index:1
}
.menu-layout-wok .menu-category-copy {
  position:relative;
  z-index:2;
  min-height:315px;
  width:48%;
  padding:36px 40px;
  color:#fff8ef
}
.menu-layout-wok .menu-category-copy:before {
  color:#e5bd78
}
.menu-layout-wok .menu-category-kicker {
  color:#f0c78f
}
.menu-layout-wok .menu-category-copy h2 {
  color:#fff8ef
}
.menu-layout-curry {
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:0;
  background:#f1e8da
}
.menu-layout-curry .menu-category-copy {
  padding:30px 5vw
}
.menu-layout-curry .menu-category-image {
  min-height:268px;
  clip-path:inset(0 0 0 0 round 3px 3px 62px 3px)
}
.menu-layout-soups {
  grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);
  gap:34px;
  align-items:center;
  padding-bottom:30px;
  border-bottom:1px solid #cfb58d
}
.menu-layout-soups .menu-category-image {
  grid-column:1;
  grid-row:1;
  min-height:245px;
  clip-path:inset(0 0 0 0 round 2px 2px 82px 2px)
}
.menu-layout-soups .menu-category-copy {
  grid-column:2;
  grid-row:1;
  padding-left:24px
}
.menu-layout-specials {
  grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr);
  gap:0;
  background:#f6eddf;
  border:1px solid #dfcba9;
  padding:20px
}
.menu-layout-specials .menu-category-image {
  grid-column:1;
  grid-row:1;
  min-height:265px;
  clip-path:inset(0 0 0 0 round 2px 72px 2px 2px)
}
.menu-layout-specials .menu-category-copy {
  grid-column:2;
  grid-row:1;
  padding:26px 28px
}
.menu-layout-children {
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  gap:48px;
  align-items:center
}
.menu-layout-children .menu-category-image {
  grid-column:2;
  grid-row:1;
  min-height:235px;
  clip-path:inset(0 0 0 0 round 70px 2px 70px 2px)
}
.menu-layout-children .menu-category-copy {
  grid-column:1;
  grid-row:1;
  padding:20px 12px 20px 26px;
  border-left:3px solid #c39b5a
}
.menu-entry-featured {
  position:relative;
  margin:14px 0;
  padding:25px 24px 25px 28px;
  background:linear-gradient(100deg,#f3eadb,#fffaf2);
  border:1px solid #ddc398;
  border-left:4px solid #a52a25;
  box-shadow:0 10px 24px #57391a0d
}
.menu-entry-featured .menu-entry-top h3 {
  color:#852520;
  font-family:var(--display);
  font-size:clamp(25px,2.5vw,32px)
}
.menu-entry-featured .menu-entry-top>p {
  background:#a52a25;
  color:#fffaf2;
  padding:7px 12px;
  font-size:16px
}
.menu-entry-featured>p {
  max-width:680px
}
.menu-entry-featured .menu-notes {
  background:#fffdf9
}
.favourites {
  background-image:radial-gradient(circle at 96% 8%,#c89e5a12 0 90px,transparent 91px),radial-gradient(circle at 4% 95%,#a52a2508 0 130px,transparent 131px)
}
@media(max-width:760px) {
  .menu-section:before {
    width:4px
  }
  .menu-section:nth-of-type(2n):after {
    width:120px;
    height:120px;
    right:-75px;
    top:48px
  }
  .menu-category-heading {
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    min-height:0;
    padding:0 0 22px
  }
  .menu-category-copy {
    min-height:0;
    padding:20px 16px
  }
  .menu-category-copy:before {
    font-size:18px;
    margin-bottom:12px
  }
  .menu-category-copy h2 {
    font-size:38px
  }
  .menu-category-image {
    height:auto;
    min-height:0;
    aspect-ratio:1.72
  }
  .menu-layout-starters {
    padding:16px 16px 20px
  }
  .menu-layout-starters .menu-category-copy {
    padding:17px 10px 8px
  }
  .menu-layout-starters .menu-category-image {
    min-height:0
  }
  .menu-layout-rice {
    background:linear-gradient(180deg,#f2e8d7 0 48%,#fbf8f1 48%)
  }
  .menu-layout-rice .menu-category-image,.menu-layout-rice .menu-category-copy,.menu-layout-noodles .menu-category-image,.menu-layout-noodles .menu-category-copy,.menu-layout-soups .menu-category-image,.menu-layout-soups .menu-category-copy,.menu-layout-specials .menu-category-image,.menu-layout-specials .menu-category-copy,.menu-layout-children .menu-category-image,.menu-layout-children .menu-category-copy {
    grid-column:1;
    grid-row:auto
  }
  .menu-layout-rice .menu-category-copy,.menu-layout-curry .menu-category-copy,.menu-layout-specials .menu-category-copy {
    padding:17px 16px 21px
  }
  .menu-layout-noodles {
    gap:14px
  }
  .menu-layout-noodles .menu-category-copy {
    grid-row:1;
    border:0;
    border-left:2px solid #b88a4c;
    padding:14px 16px
  }
  .menu-layout-noodles .menu-category-image {
    grid-row:2
  }
  .menu-layout-wok {
    padding:0;
    min-height:0
  }
  .menu-layout-wok .menu-category-image {
    position:relative;
    inset:auto;
    z-index:0;
    aspect-ratio:1.72
  }
  .menu-layout-wok .menu-category-image:before {
    background:linear-gradient(0deg,#17261fbf,transparent 75%)
  }
  .menu-layout-wok .menu-category-copy {
    position:absolute;
    inset:auto 0 0;
    width:100%;
    min-height:0;
    padding:28px 22px 20px
  }
  .menu-layout-curry {
    gap:0
  }
  .menu-layout-curry .menu-category-image {
    min-height:0;
    aspect-ratio:1.72
  }
  .menu-layout-soups {
    gap:0;
    padding-bottom:21px
  }
  .menu-layout-soups .menu-category-copy {
    padding:15px 16px
  }
  .menu-layout-specials {
    gap:0;
    padding:10px
  }
  .menu-layout-specials .menu-category-image {
    min-height:0
  }
  .menu-layout-children {
    gap:12px
  }
  .menu-layout-children .menu-category-copy {
    padding:14px 16px;
    border-left-width:2px
  }
  .menu-entry-featured {
    margin:12px 0;
    padding:20px 15px 19px 18px
  }
  .menu-entry-featured .menu-entry-top h3 {
    font-size:26px
  }
  .favourites {
    background-image:radial-gradient(circle at 100% 0%,#c89e5a12 0 75px,transparent 76px)
  }
}
/* Homepage content refinements: scalable locations and concise footer. */
.dish-card figure:after,.lunch-photo:after {
  display:none;
  content:none
}
.restaurant-grid {
  grid-template-columns:repeat(3,minmax(0,1fr))
}
.restaurant-card .location-facebook {
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#315a9b;
  font-weight:700;
  text-decoration:none
}
.restaurant-card .location-facebook span {
  display:inline-grid;
  place-items:center;
  width:19px;
  height:19px;
  border-radius:50%;
  background:#315a9b;
  color:#fff;
  font-family:Arial,sans-serif;
  font-size:14px;
  font-weight:700
}
.restaurant-card-coming {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:100%;
  background:linear-gradient(145deg,#f6efe4,#fffdf9);
  border-style:dashed
}
.restaurant-card-coming:after {
  content:'+';
  display:grid;
  place-items:center;
  border-radius:50%;
  transform:none;
  background:#f0e3d3;
  color:var(--red);
  box-shadow:none;
  font-size:17px
}
.restaurant-card-coming .location-status {
  display:inline-block;
  width:max-content;
  padding:6px 11px;
  border-radius:99px;
  background:#f4e6d7;
  color:var(--red);
  font-size:12px;
  font-weight:700
}
.restaurant-card-coming .location-teaser {
  max-width:320px;
  margin-bottom:0;
  font-size:14px;
  line-height:1.6
}
.footer-top {
  grid-template-columns:1.1fr .75fr 2fr;
  gap:48px
}
.footer-top>div:first-child {
  padding-top:3px
}
.footer-top .footer-locations p {
  margin:0 0 13px;
  font-size:12px;
  line-height:1.65;
  color:#f0d1bf
}
.footer-top .footer-locations p:last-child {
  margin-bottom:0
}
.footer-top .footer-locations strong {
  color:#fff8ef
}
.footer-top .footer-locations a {
  color:#fff8ef;
  text-decoration:none;
  font-weight:700
}
.footer-top .footer-locations span {
  font-size:11px
}
.footer-bottom {
  align-items:center
}
@media(max-width:1000px) {
  .restaurant-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .footer-top {
    grid-template-columns:1fr 1fr;
    gap:30px
  }
  .footer-top .footer-locations {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    column-gap:28px
  }
  .footer-top .footer-locations h2 {
    grid-column:1/-1
  }
}
@media(max-width:760px) {
  .restaurant-grid {
    grid-template-columns:1fr!important
  }
  .footer-top .footer-locations {
    grid-template-columns:1fr
  }
  .footer-top .footer-locations h2 {
    grid-column:auto
  }
  .restaurant-card-coming {
    min-height:220px
  }
}

/* Location-specific lunch links use the existing restaurant card layout. */
.lunch-location-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
#hollola,#turenki,#forssa,#lounas,#ravintolat {
  scroll-margin-top:100px
}
.menu-intro-copy .text-link {
  white-space:normal
}

/* Compact header and two clear lunch choices. */
.brand-logo {
  width:150px
}
.hero .eyebrow {
  font-size:14.3px
}
.home-lunch-grid {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
  margin-top:30px
}
.home-lunch-grid>.home-lunch-card {
  margin:0!important
}
.home-lunch-card p:nth-of-type(2),.home-lunch-card p:nth-of-type(3) {
  font:inherit;
  color:var(--muted)
}
@media(max-width:760px) {
  .brand-logo {
    width:122px
  }
  .hero .eyebrow {
    font-size:13px
  }
  .home-lunch-grid {
    grid-template-columns:1fr
  }
}
@media(max-width:380px) {
  .brand-logo {
    width:112px
  }
}

/* Homepage lunch section uses the warm green brand palette. */
.home-lunch {
  background:radial-gradient(ellipse at 9% 50%,#41634750 0,transparent 36%),linear-gradient(135deg,#142f29,#1b4033 70%,#274a3d);
  color:#f5ede0;
  border-color:#274a3d
}
.home-lunch>.section-inner>.eyebrow {
  color:#e5bf83
}
.home-lunch h2 {
  color:#fffaf1
}
.home-lunch-card {
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:0 0 28px;
  border:0;
  background:#fffdf9
}
.home-lunch-card .home-lunch-image {
  margin:0 0 25px!important;
  aspect-ratio:1.85;
  overflow:hidden
}
.home-lunch-card .home-lunch-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover
}
.home-lunch-card>p:last-child {
  margin-top:auto
}
.home-lunch-card>p,.home-lunch-card>h3 {
  margin-left:30px;
  margin-right:30px
}
@media(max-width:760px) {
  .home-lunch-card .home-lunch-image {
    aspect-ratio:1.65
  }
  .home-lunch-card>p,.home-lunch-card>h3 {
    margin-left:23px;
    margin-right:23px
  }
}

/* Landscape phones reclaim vertical space while preserving the menu bar. */
@media(max-width:760px) {
  :root {
    --header-height:60px;
    --menu-nav-height:51px
  }
}
@media(max-width:900px) and (orientation:landscape) and (max-height:600px) {
  :root {
    --header-height:50px;
    --menu-nav-height:44px
  }
  .header-inner {
    min-height:var(--header-height);
    padding:4px 18px
  }
  .brand-logo {
    width:112px
  }
  .site-header .nav-toggle {
    padding:6px 10px
  }
  .menu-nav {
    padding:3px 12px;
    gap:6px!important
  }
  .menu-nav a {
    min-height:38px;
    display:flex;
    align-items:center;
    padding:5px 10px
  }
}
.site-header {
  transition:transform .18s ease
}
.site-header.is-scroll-hidden {
  transform:translateY(-110%)
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  .site-header {
    transition:none
  }
  .site-header.is-scroll-hidden {
    transform:none
  }
}
