.fwo-page { padding-top: 8rem; padding-bottom: 4rem; }
.fwo-heading { max-width: 45rem; margin-bottom: 2rem; }
.fwo-heading h1 { font-size: clamp(2.8rem,6vw,4.5rem); }
.fwo-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; }
.fwo-card { border: 1px solid #ddd8cc; border-radius: 1rem; overflow: hidden; background: #faf7f0; scroll-margin-top: 8rem; }
.fwo-card img { width: 100%; height: 16rem; object-fit: cover; object-position: center 35%; }
.fwo-card-copy { padding: 1.5rem; }
.fwo-card h2 { font-size: 2rem; }
.fwo-date { font-weight: 700; color: #234c3b; }
.fwo-popup { position: fixed; padding: 0; border: 0; border-radius: 1rem; width: min(46rem,calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); overflow: auto; color: #183b2e; background: #faf7f0; box-shadow: 0 15px 70px #0005; }
.fwo-popup[open] { display: grid; grid-template-columns: .85fr 1fr; }
.fwo-popup::backdrop { background: #132a22a6; }
.fwo-popup-photo { width: 100%; height: 100%; min-height: 25rem; object-fit: cover; }
.fwo-popup-copy { padding: 3.5rem 2rem 2rem; align-self: center; }
.fwo-popup h2 { font-size: 2.3rem; line-height: 1.08; margin-bottom: 1rem; }
.fwo-popup .section-kicker { font-size: .7rem; }
.fwo-close { position: absolute; top: .65rem; right: .65rem; width: 44px; height: 44px; border-radius: 50%; border: 1px solid #234c3b; color: #183b2e; background: #faf7f0; font: 1.8rem Arial,sans-serif; }
.fwo-popup a:focus-visible,.fwo-close:focus-visible { outline: 3px solid #916d33; outline-offset: 3px; }
.fwo-menu { max-width: 54rem; margin: auto; }
.fwo-menu .course { padding: 1.7rem 0; border-top: 1px solid #ddd8cc; }
.fwo-menu .dish { margin: 1rem 0; }
.fwo-menu .dish-line { display: flex; justify-content: space-between; gap: 1rem; }
.fwo-menu h3 { font-family: inherit; font-weight: 600; font-size: 1.15rem; line-height: 1.5; }
.fwo-menu .price { white-space: nowrap; font-weight: 600; }
.fwo-menu .menu-heading { margin-bottom: 2rem; }
.fwo-menu .eyebrow { color: #234c3b; }
.fwo-menu .menu-sub { font-size: 1.3rem; }
@media(max-width:767px) { .fwo-grid { grid-template-columns:1fr; } .fwo-page { padding-top:7rem; } }
@media(max-width:575px) { .fwo-popup[open] { display:block; } .fwo-popup-photo { height: 11rem; min-height:0; object-position:center 32%; } .fwo-popup-copy { padding:1.4rem; } .fwo-popup h2 { font-size:1.9rem; } .fwo-popup-copy p { margin-bottom:.8rem; } }
