/* Homepage-only art direction. Shared transactional pages retain their styles. */
body.playful { --paper:#fff4dc; --orange:#ed5628; --brown:#382719; --sage:#abc68c; --font-disp:'Barlow Condensed','Oswald','Arial Narrow',sans-serif; background:var(--paper); color:var(--brown); }
.playful :focus-visible { outline:3px solid #2459aa; outline-offset:5px; }
.playful .wrap { max-width:1320px; padding-inline:5vw; }
.playful .eyebrow { color:inherit; font-family:var(--font-body); font-weight:700; font-size:11px; letter-spacing:.16em; }
.playful .section h2 { font-size:clamp(42px,6.1vw,84px); font-weight:800; letter-spacing:-.025em; line-height:.94; }
.playful .section .lead { color:inherit; font-size:16px; }
.playful .btn { min-height:48px; border:2px solid var(--brown); border-radius:0; font-family:var(--font-body); font-size:11px; font-weight:700; letter-spacing:.06em; padding:16px 23px; box-shadow:3px 3px 0 var(--brown); transition:transform .2s,box-shadow .2s; }
.playful .btn:hover { transform:translate(-2px,-2px); box-shadow:5px 5px 0 var(--brown); }
.playful .btn--primary { background:var(--orange); color:var(--brown); }
.playful .btn--ghost { color:var(--brown); background:transparent; }
.playful .btn--dark { color:var(--paper); background:var(--brown); }
.playful .nav,.playful .nav.scrolled { background:var(--paper); color:var(--brown); padding:18px 4vw; border-bottom:1px solid var(--brown); box-shadow:none; backdrop-filter:none; }
.playful .nav__brand b { color:var(--brown); font-size:26px; letter-spacing:-.04em; font-weight:900; }
.playful .nav__brand span { color:var(--brown); font-size:8px; letter-spacing:.24em; margin-top:6px; }
.playful .nav__links { gap:24px; }
.playful .nav__links a { color:var(--brown); font-family:var(--font-body); letter-spacing:0; font-weight:600; font-size:11px; }
.playful .nav__cta { padding:10px 14px; min-height:42px; }
.playful .nav__order { background:transparent; box-shadow:none; }
.playful .nav__toggle { min-width:44px; min-height:44px; }
.playful .nav__toggle span { background:var(--brown); }
.playful .drawer { background:var(--paper); color:var(--brown); z-index:140; }
.playful .drawer a,.playful .drawer__close { color:var(--brown); }
.playful .drawer__close { width:48px; height:48px; }
.skip-link { position:fixed; left:16px; top:-100px; padding:14px; background:var(--paper); color:var(--brown); z-index:200; }
.skip-link:focus { top:12px; }
.sr-only { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.playful .playful-hero { display:block; background:var(--paper); min-height:0; padding-top:85px; overflow:hidden; }
.hero-editorial { display:grid; grid-template-columns:1fr 1fr; min-height:660px; }
.hero-editorial__copy { padding:55px 3vw 50px 6vw; position:relative; z-index:1; }
.playful .hero h1 { font-size:clamp(76px,8.8vw,144px); line-height:.82; letter-spacing:-.045em; color:var(--brown); text-shadow:none; font-weight:900; margin:27px 0 20px; }
.playful .hero h1>span:not(.sr-only) { color:var(--orange); }
.hero-last { display:block; position:relative; width:max-content; max-width:100%; }
.hero-last svg { position:absolute; width:clamp(44px,6vw,82px); height:70px; right:-36px; top:-76px; transform:rotate(14deg); stroke:var(--brown); stroke-width:3; fill:none; }
.hero-editorial__note { font-family:Georgia,serif; font-size:25px; font-style:italic; transform:rotate(-3deg); margin:24px 0 30px; }
.hero-editorial__intro { max-width:365px; font-size:14px; margin-bottom:25px; line-height:1.65; }
.hero-menu-link { display:flex; align-items:center; min-height:48px; gap:20px; font-size:12px; font-weight:700; border-bottom:1px solid var(--brown); }
.hero-small-link { display:inline-flex; align-items:center; min-height:44px; font-size:11px; margin-top:12px; text-decoration:underline; text-underline-offset:4px; }
.hero-editorial__visual { background:var(--orange); position:relative; padding:65px 4vw 80px 3vw; display:flex; align-items:center; min-width:0; }
.hero-photo { position:relative; width:100%; transform:rotate(5deg); border:10px solid var(--paper); box-shadow:0 2px 0 var(--brown); }
.hero-photo img { width:100%; height:440px; object-fit:cover; object-position:50% 50%; }
.hero-photo figcaption { background:var(--paper); text-align:center; font-family:Georgia,serif; font-style:italic; padding:12px 0 4px; font-size:20px; }
.hero-stamp { position:absolute; top:27px; right:23px; width:139px; height:139px; border-radius:50%; background:var(--sage); border:2px solid var(--brown); outline:1px dashed var(--brown); outline-offset:-8px; display:flex; flex-direction:column; align-items:center; justify-content:center; transform:rotate(12deg); transition:transform .3s; z-index:2; }
.hero-stamp:hover { transform:rotate(-8deg); }
.hero-stamp span { font-size:9px; font-weight:700; letter-spacing:.07em; }
.hero-stamp b { font-family:var(--font-disp); font-size:63px; font-weight:800; line-height:1.1; }
.hero-doodle { position:absolute; bottom:0; left:-45px; width:220px; transform:rotate(-8deg); z-index:2; }
.hero-doodle img { filter:drop-shadow(2px 3px 0 var(--paper)); transition:transform .3s; }
.hero-doodle:hover img { transform:rotate(9deg) translateY(-8px); }
.hero-doodle span { display:block; text-align:center; font-family:Georgia,serif; font-style:italic; margin-top:-20px; padding-bottom:18px; }
.hero-side-note { position:absolute; right:0; top:50%; writing-mode:vertical-rl; font-size:9px; font-weight:700; letter-spacing:.14em; padding:10px; }
.hero-bottom { display:flex; justify-content:space-between; align-items:center; min-height:56px; padding:8px 4vw; font-size:10px; font-weight:600; border-top:1px solid var(--brown); gap:20px; }
.hero-bottom button { font:inherit; border:1px solid var(--brown); border-radius:100%; padding:12px 16px; min-height:44px; cursor:pointer; background:none; color:inherit; }
.bbq-ribbon { display:flex; overflow:hidden; gap:22px; white-space:nowrap; border-block:2px solid var(--brown); background:var(--orange); font-family:var(--font-disp); font-weight:800; font-size:clamp(28px,4vw,55px); line-height:1.4; letter-spacing:-.02em; padding:8px 0; }
.bbq-ribbon span { flex-shrink:0; }
.bbq-ribbon i { font-style:normal; margin:0 20px; }
.table-play { background:var(--paper); }
.table-play__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.table-play__heading>p { font-size:14px; line-height:1.8; margin-bottom:10px; }
.table-instruction { font-size:11px; text-decoration:underline; text-underline-offset:5px; }
.table-play__layout { display:grid; grid-template-columns:1.8fr 1fr; gap:3vw; align-items:center; margin-top:35px; }
.dinner-scene { position:relative; display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:repeat(2,220px); align-items:center; isolation:isolate; }
.dinner-scene::before { content:''; position:absolute; inset:26% 7% 14%; border:2px solid var(--brown); border-radius:50%; background:repeating-linear-gradient(0deg,transparent 0 25px,#38271909 25px 26px),repeating-linear-gradient(90deg,transparent 0 25px,#38271909 25px 26px),#f0e3c3; z-index:-1; transform:rotate(-6deg); }
.scene-note { position:absolute; left:26%; top:0; font-family:Georgia,serif; font-style:italic; transform:rotate(-8deg); }
.dish { border:0; background:transparent; color:var(--brown); cursor:pointer; position:relative; padding:0; display:flex; flex-direction:column; align-items:center; min-width:0; transition:transform .25s; }
.dish img { width:100%; height:185px; object-fit:contain; transition:transform .35s cubic-bezier(.2,.8,.3,1); }
.dish>span { display:inline-flex; align-items:center; justify-content:center; gap:9px; background:var(--paper); border:1px solid var(--brown); border-radius:50px; font-size:10px; font-weight:700; padding:9px 12px; min-height:38px; white-space:nowrap; }
.dish small { font-size:9px; font-weight:400; }
.dish b { font-size:16px; font-weight:400; }
.dish:hover img,.dish:focus-visible img { transform:translateY(-10px) rotate(-5deg) scale(1.07); }
.dish[aria-expanded=true]>span { background:var(--orange); }
.dish[aria-expanded=true] b { transform:rotate(45deg); }
.dish--meat { grid-area:1/1; transform:rotate(-8deg); }
.dish--ssam { grid-area:1/3; transform:rotate(8deg); }
.dish--grill { grid-area:1/2/3/3; transform:translateY(15px); z-index:1; }
.dish--grill img { height:230px; width:145%; max-width:145%; }
.dish--banchan { grid-area:2/1; transform:rotate(5deg); }
.dish--host { grid-area:2/3; transform:rotate(-5deg); }
.dish-story { border:2px solid var(--brown); background:var(--sage); padding:32px; box-shadow:7px 7px 0 var(--brown); position:relative; }
.dish-story::before { content:'✳'; position:absolute; right:20px; top:12px; font-size:24px; }
.dish-story .eyebrow { font-size:9px; padding-right:22px; }
.dish-story h3 { font-size:clamp(37px,4vw,58px); font-weight:800; letter-spacing:-.02em; line-height:.95; margin:22px 0; }
.dish-story>p:not(.eyebrow) { font-size:13px; line-height:1.8; }
.dish-story>a { display:flex; align-items:center; justify-content:space-between; min-height:48px; border-bottom:1px solid var(--brown); font-size:12px; font-weight:700; margin-top:20px; }
.dish-story[hidden] { display:none; }
.dish-stories { display:grid; gap:20px; }
.playful .strip { background:var(--brown); color:var(--paper); }
.playful .strip__inner { gap:20px; }
.playful .strip b { color:var(--paper); }
.playful .strip .btn { color:var(--paper); border-color:var(--paper); box-shadow:none; }
.playful .food-showcase { background:var(--orange); }
.playful .food-showcase__head { margin-bottom:34px; }
.playful .food-showcase .lead { max-width:400px; }
.playful .food-card { border-radius:0; background:var(--paper); border:2px solid var(--brown); box-shadow:6px 6px 0 var(--brown); overflow:hidden; }
.playful .food-card:nth-child(2) { transform:rotate(2deg); }
.playful .food-card:nth-child(3) { transform:rotate(-2deg); }
.playful .food-card img { transition:transform .4s; }
.playful .food-card:hover img { transform:scale(1.04); }
.playful .food-card figcaption { background:var(--paper); color:var(--brown); }
.playful .food-card figcaption b,.playful .food-card figcaption span { color:var(--brown); }
.playful .story-spotlight { background:var(--sage); border:0; }
.playful .story-spotlight .lead { color:var(--brown); }
.playful .story-spotlight__meta { color:var(--brown); border-color:var(--brown); }
.playful .story-preview { border:2px solid var(--brown); border-radius:0; transform:rotate(3deg); box-shadow:7px 7px 0 var(--brown); }
.playful .history-story { background:var(--paper); }
.playful .history-story__glow { display:none; }
.playful .history-story__prose { color:var(--brown); }
.playful .history-story__today { border:2px solid var(--brown); border-radius:0; transform:rotate(-2deg); }
.playful .history-story__archive-link { color:var(--brown); background:#f0e3c3; border-color:var(--brown); border-radius:0; }
.playful .history-story__archive-meta b,.playful .history-story__archive-meta i,.playful .history-story__archive-link u { color:var(--brown); }
.playful .principles { background:#f0e3c3; }
.playful .card { background:transparent; border:0; border-top:2px solid var(--brown); border-radius:0; padding:24px 0; }
.playful .card h3 { font-size:33px; }
.playful .card p,.playful .card__num { color:var(--brown); }
.playful .menu { background:var(--brown); color:var(--paper); }
.playful .menu .eyebrow { color:var(--sage); }
.playful .menu h2 { color:var(--paper); }
.playful .menu .lead { color:var(--paper); }
.playful .menu .lead a { color:var(--sage); border-color:var(--sage); }
.playful .menu .tab { min-height:48px; border-radius:0; color:var(--paper); }
.playful .menu .tab.active { background:var(--sage); color:var(--brown); border-color:var(--sage); }
.playful .menu .chip { color:var(--paper); min-height:44px; }
.playful .menu .chip.active { background:var(--paper); color:var(--brown); }
.playful .gallery { padding:0; }
.playful .gallery__grid { gap:0; }
.playful .gallery img { border-radius:0; }
.playful .wine { background:var(--paper); color:var(--brown); }
.playful .wine p { color:var(--brown); }
.playful .visit { background:#f0e3c3; color:var(--brown); }
.playful .info-row b,.playful .info-row span,.playful .hours,.playful .hours td,.playful .visit .muted { color:var(--brown); }
.playful .info-row { border-color:#38271940; }
.playful .faq { color:var(--brown); }
.playful .faq p { color:var(--brown); }
.playful .takeaway-home,.playful .gift-home { background:var(--paper); color:var(--brown); border-bottom:1px solid var(--brown); }
.playful .takeaway-home .eyebrow,.playful .gift-home .eyebrow { color:var(--brown); }
.playful .takeaway-home h2,.playful .gift-home h2 { font-size:42px; letter-spacing:-.025em; }
.playful .promo { background:var(--orange); color:var(--brown); border-block:2px solid var(--brown); }
.playful .promo__tag { background:var(--brown); color:var(--paper); }
.playful .promo__btn { background:var(--paper); color:var(--brown); }
.playful .newsletter { background:var(--sage); color:var(--brown); }
.playful .newsletter__form { color:var(--brown); border:2px solid var(--brown); border-radius:0; background:var(--paper); box-shadow:6px 6px 0 var(--brown); }
.playful .newsletter__check,.playful .newsletter__note,.playful .newsletter__form label { color:var(--brown); }
.playful .reserve { background:var(--orange); color:var(--brown); }
.playful .reserve h2 { font-size:clamp(60px,10vw,140px); }
.playful .reserve__weekday { background:var(--paper); color:var(--brown); border:2px solid var(--brown); border-radius:0; }
.playful .reserve__terms { color:var(--brown); }
.playful .footer { background:var(--brown); color:var(--paper); padding-bottom:40px; }
.playful .footer__brand b { font-family:var(--font-disp); font-size:42px; }
.playful .footer a { text-underline-offset:5px; }
.playful .footer a:hover { color:var(--sage); text-decoration:underline; }
@media(min-width:1500px) { .hero-editorial { min-height:760px; }.hero-editorial__copy { padding-top:70px; }.hero-photo img { height:510px; } }
@media(max-width:1120px) {
  .playful .nav,.playful .nav.scrolled { padding:13px 5vw; }
  .playful .playful-hero { padding-top:77px; }
  .hero-editorial { min-height:620px; }
  .hero-editorial__copy { padding:45px 3vw 35px 5vw; }
  .hero-photo img { height:400px; }
  .hero-doodle { width:165px; left:-25px; }
  .hero-stamp { width:115px; height:115px; right:12px; }
  .hero-stamp b { font-size:50px; }
  .hero-stamp span { font-size:8px; }
  .playful .sticky-actions,.playful .sticky-actions--tucked { transform:none; background:var(--paper); border-color:var(--brown); box-shadow:none; }
  .playful .sticky-actions .btn { flex:1; justify-content:center; margin:0; padding:10px 8px; min-height:46px; font-size:11px; box-shadow:none; }
  .playful .sticky-actions .btn--ghost { background:var(--paper); }
  .playful .footer { padding-bottom:110px; }
  .table-play__layout { grid-template-columns:1.5fr 1fr; gap:25px; }
  .dish>span { font-size:9px; padding:7px; gap:5px; }
  .dish-story { padding:24px; }
}
@media(max-width:760px) {
  .playful .wrap { padding-inline:6vw; }
  .playful .section { padding:62px 0; }
  .hero-editorial { display:block; }
  .hero-editorial__copy { padding:35px 6vw 30px; }
  .playful .hero h1 { font-size:clamp(74px,18vw,133px); margin-top:20px; }
  .hero-last svg { width:65px; right:-28px; top:-61px; }
  .hero-editorial__note { font-size:24px; margin:20px 0 22px; }
  .hero-editorial__intro { max-width:340px; font-size:13px; }
  .hero-editorial__visual { padding:35px 9vw 60px; min-height:410px; }
  .hero-photo img { height:300px; }
  .hero-photo { border-width:7px; }
  .hero-photo figcaption { font-size:18px; padding:8px 0 4px; }
  .hero-stamp { width:106px; height:106px; top:10px; right:8px; }
  .hero-stamp b { font-size:45px; }
  .hero-doodle { width:155px; left:0; bottom:-13px; }
  .hero-doodle span { font-size:13px; }
  .hero-side-note { font-size:8px; }
  .hero-bottom { flex-wrap:wrap; gap:8px; padding:12px 6vw; }
  .hero-bottom>a { order:3; width:100%; min-height:38px; display:flex; align-items:center; }
  .bbq-ribbon { font-size:31px; padding:8px 0; }
  .bbq-ribbon i { margin:0 8px; }
  .table-play__heading { display:block; }
  .table-play__heading>p { margin:23px 0 0; font-size:13px; }
  .table-play__layout { grid-template-columns:1fr; margin-top:25px; }
  .dinner-scene { grid-template-columns:1fr 1fr; grid-template-rows:165px 190px 165px; }
  .dinner-scene::before { inset:13% 2% 8%; }
  .scene-note { left:25%; top:1%; font-size:12px; }
  .dish img { height:128px; }
  .dish--meat { grid-area:1/1; }.dish--ssam { grid-area:1/2; }
  .dish--grill { grid-area:2/1/3/3; transform:none; }
  .dish--grill img { width:240px; height:180px; }
  .dish--banchan { grid-area:3/1; }.dish--host { grid-area:3/2; }
  .dish>span { min-height:36px; font-size:10px; padding:7px 10px; }
  .dish-story { min-height:300px; padding:25px; margin-right:7px; }
  .dish-story h3 { font-size:47px; }
  .playful .food-card:nth-child(n) { transform:none; }
  .playful .food-card { box-shadow:4px 4px 0 var(--brown); }
  .playful .story-preview { margin:10px 8px; }
  .playful .history-story__today { transform:none; }
  .playful .section h2 { font-size:49px; }
  .playful .reserve h2 { font-size:78px; }
  .playful .takeaway-home h2,.playful .gift-home h2 { font-size:36px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .playful *,.playful *::before,.playful *::after { animation:none!important; transition:none!important; }
  .playful .dish:hover img,.playful .dish:focus-visible img,.playful .food-card:hover img,.playful .hero-doodle:hover img { transform:none; }
}
html:has(.motion-paused) { scroll-behavior:auto; }
.playful.motion-paused *,.playful.motion-paused *::before,.playful.motion-paused *::after { animation:none!important; transition:none!important; }
.playful.motion-paused .dish:hover img,.playful.motion-paused .dish:focus-visible img,.playful.motion-paused .food-card:hover img,.playful.motion-paused .hero-doodle:hover img { transform:none; }
/* Adapt the shared menu/visit descendants to their new light surfaces. */
.playful .wine { --cream-soft:var(--brown); --muted:#62503f; --gold:#8b3b20; --ember-2:#8b3b20; --line:#38271940; }
.playful .wine .menu-item .dots { border-color:#38271950; }
.playful .visit { --cream:var(--brown); --cream-soft:var(--brown); --muted:#62503f; --line:#38271940; }
.playful .visit .policies span { background:var(--paper); border-color:#38271940; color:var(--brown); }
.playful .faq summary,.playful .hours li b,.playful .hours li span,.playful .info-row a { color:var(--brown); }
.playful .gallery { padding:64px 0; color:var(--paper); }
.playful .gallery__grid figure { border-radius:0; }
.playful .menu .menu-item .price { color:var(--sage); }
.playful .newsletter__status { color:var(--brown); }
.playful .newsletter__status--success { color:#275526; }
.playful .newsletter__status--error { color:#9f2215; }
.playful .reserve__weekday b,.playful .reserve__weekday span { color:var(--brown); }
@media(max-width:1120px) {
  .playful .sticky-actions__btn { border-radius:0; border:1.5px solid var(--brown); color:var(--brown); }
  .playful .sticky-actions__btn--offer { background:var(--sage); }
  .playful .sticky-actions__btn--book { background:var(--orange); }
}
.playful .history-story__prose>p,.playful .history-story__prose em { color:var(--brown); }
.playful .gift-home h2,.playful .gift-home p,.playful .gift-home__pill { color:var(--brown); }
.playful .gift-home__pill { border-color:var(--brown); }
.table-play__heading>p { max-width:280px; }
@keyframes little-sizzle { 25%,75% { transform:rotate(-3deg) translateY(-5px); } 50% { transform:rotate(3deg) translateY(-8px); } }
@keyframes unwrap { 50% { transform:scale(1.13) rotate(6deg); } }
@keyframes hello-table { 30% { transform:rotate(-8deg); } 65% { transform:rotate(8deg) translateY(-6px); } }
@media(prefers-reduced-motion:no-preference) {
  .playful:not(.motion-paused) .dish--grill[aria-expanded=true] img { animation:little-sizzle .7s 2; }
  .playful:not(.motion-paused) .dish--ssam[aria-expanded=true] img { animation:unwrap .65s; }
  .playful:not(.motion-paused) .dish--host[aria-expanded=true] img,.playful:not(.motion-paused) .dish--banchan[aria-expanded=true] img { animation:hello-table .7s; }
}
@media(max-width:760px) { .dish-story { scroll-margin-bottom:90px; scroll-margin-top:90px; } }

.playful .reserve { --ember-2:var(--brown); }

/* Family portrait: retain the complete five-person composition at every size. */
.playful .family-portrait { margin:30px 0 60px; border:2px solid var(--brown); background:var(--paper); box-shadow:7px 7px 0 var(--brown); }
.playful .family-portrait>img { display:block; width:100%; height:auto; }
.playful .family-portrait figcaption { display:flex; align-items:center; gap:32px; padding:24px 30px; border-top:2px solid var(--brown); background:var(--sage); }
.playful .family-portrait figcaption>span { font-family:var(--font-disp); font-weight:800; font-size:32px; line-height:1; flex:1; }
.playful .family-portrait figcaption>p { font-size:14px; flex:1; }
.playful .dish--host img { object-fit:contain; border-radius:14px; }
@media(max-width:760px) {
  .playful .family-portrait { margin-right:7px; }
  .playful .family-portrait figcaption { display:block; padding:20px; }
  .playful .family-portrait figcaption>p { margin-top:14px; font-size:13px; }
}
.playful .history-story__heading h2 { color:var(--brown); }

.playful .storefront-card { margin:0 7px 64px 0; border:2px solid var(--brown); background:var(--paper); box-shadow:7px 7px 0 var(--brown); scroll-margin-top:100px; }
.playful .storefront-card summary { display:block; cursor:pointer; list-style:none; }
.playful .storefront-card summary::-webkit-details-marker { display:none; }
.playful .storefront-card summary>img { width:100%; height:auto; display:block; }
.playful .storefront-card__label { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:23px 30px 10px; background:var(--sage); }
.playful .storefront-card__label small { display:block; font-size:11px; margin-bottom:8px; }
.playful .storefront-card__label strong { display:block; font-family:var(--font-disp); font-weight:800; font-size:clamp(28px,4vw,52px); line-height:1; }
.playful .storefront-card__label>b { font-size:32px; transition:transform .2s; }
.playful .storefront-card[open] .storefront-card__label>b { transform:rotate(45deg); }
.playful .storefront-card__hint { display:block; padding:0 30px 22px; background:var(--sage); font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.playful .storefront-card summary:hover .storefront-card__label,.playful .storefront-card summary:hover .storefront-card__hint { background:#bdd4a4; }
.playful .storefront-card__info { border-top:2px solid var(--brown); padding:26px 30px; }
.playful .storefront-card__info>.btn { margin:20px 0; }
.playful .storefront-card__archive { font-size:11px; }
@media(max-width:760px) { .playful .storefront-card__label { padding:20px 20px 10px; }.playful .storefront-card__hint { padding:0 20px 20px; }.playful .storefront-card__info { padding:20px; } }

/* Three points in the drawing share the existing accessible table explorer. */
.playful .dinner-sketch { display:grid; grid-template-columns:1.45fr 1fr; margin-top:40px; margin-bottom:0; color:var(--brown); }
.playful .dinner-sketch__art { position:relative; align-self:center; }
.playful .dinner-sketch__art>img { display:block; width:100%; height:auto; border-radius:0; }
.playful .dinner-sketch__caption { display:flex; flex-direction:column; justify-content:center; gap:18px; padding:30px; background:var(--sage); }
.playful .dinner-sketch h3 { color:var(--brown); font:800 clamp(32px,4vw,52px)/1 var(--font-disp); margin:0; }
.playful .dinner-sketch__hint { font-size:12px; }
.playful .dinner-sketch__panels { border-top:2px solid var(--brown); padding-top:20px; }
.playful .dinner-sketch__panels h4 { font-size:16px; margin:0 0 12px; color:var(--brown); }
.playful .dinner-sketch__panels p { font-size:14px; line-height:1.6; }
.playful .dinner-sketch__panels a { display:inline-flex; align-items:center; min-height:44px; font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.playful .dinner-sketch [data-dish-panel][hidden] { display:none; }
.playful .dinner-sketch [data-dish-panel] { scroll-margin-bottom:100px; }
.playful .dinner-sketch:not([data-enhanced]) .dinner-sketch__spots { display:none; }
.playful .sketch-spot { position:absolute; transform:translate(-50%,-50%); display:flex; align-items:center; gap:7px; min-height:44px; min-width:44px; padding:7px 12px; border:2px solid var(--brown); border-radius:30px; color:var(--brown); background:var(--paper); font-size:12px; font-weight:800; box-shadow:3px 3px 0 var(--brown); cursor:pointer; transition:background .2s,box-shadow .2s; }
.playful .sketch-spot--grill { left:49%; top:65%; }
.playful .sketch-spot--ssam { left:70%; top:36%; }
.playful .sketch-spot--banchan { left:27%; top:54%; }
.playful .sketch-spot:hover,.playful .sketch-spot[aria-expanded=true] { background:var(--orange); box-shadow:4px 4px 0 var(--brown); }
.playful .sketch-spot:focus-visible { outline:3px solid var(--paper); outline-offset:3px; }
@media(max-width:760px) {
  .playful .dinner-sketch { grid-template-columns:1fr; }
  .playful .dinner-sketch__caption { padding:24px 20px; }
  .playful .sketch-spot { padding:7px 10px; }
  .playful .sketch-spot__name { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
}

/* Keep each food photograph complete; captions belong below, not over the food. */
.playful .food-showcase__grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:auto;
  gap:24px;
  align-items:start;
}
.playful .food-card,.playful .food-card--wide {
  grid-row:auto;
  min-height:0;
}
.playful .food-card img {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.playful .food-card:hover img { transform:none; }
.playful .food-card figcaption {
  position:static;
  padding:22px 24px 26px;
  border-top:2px solid var(--brown);
}
@media(max-width:900px) {
  .playful .food-showcase__grid { grid-template-columns:1fr; gap:28px; }
  .playful .food-card:nth-child(n) { transform:none; }
}
