/* 懂你 · B方案。真实菜品、暖白纸色、木色与深绿。 */
:root {
  --dn-paper: #faf8f2;
  --dn-ink: #233b2d;
  --dn-orange: #b65734;
  --dn-muted: #687165;
  --dn-line: #e2e4d8;
  --dn-green: #233b2d;
  --dn-font: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  --dn-serif: "Songti SC", "STSong", "Noto Serif CJK SC", serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; background: var(--dn-paper); color: var(--dn-ink); font: 16px/1.75 var(--dn-font); -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; }
img { display: block; max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, video:focus-visible { outline: 3px solid var(--dn-orange); outline-offset: 5px; }
h1, h2, h3, p, figure, dl, dd { margin: 0; }
h1, h2, h3 { font-weight: 600; }
h1, h2 { line-height: 1.3; letter-spacing: -.035em; }
h1 em, h2 em { font-style: normal; color: var(--dn-orange); }
[hidden] { display: none !important; }
.dn-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.dn-shell { width: min(1200px, calc(100% - 112px)); margin-inline: auto; }
.dn-eyebrow { font-size: 12px; letter-spacing: .12em; line-height: 1.7; color: var(--dn-muted); font-weight: 500; }
.dn-skip { position: fixed; left: 16px; top: -100px; background: var(--dn-paper); padding: 12px 20px; z-index: 50; }
.dn-skip:focus { top: 10px; }

/* Brand navigation */
.dn-header { position: sticky; top: 0; z-index: 20; background: #faf8f2f5; border-bottom: 1px solid var(--dn-line); backdrop-filter: blur(16px); }
.dn-header-inner { height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.dn-logo { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.dn-logo > span:first-child { font-family: var(--dn-serif); font-size: 34px; line-height: 1; font-weight: 800; letter-spacing: -.08em; }
.dn-logo-dot { color: var(--dn-orange); margin-left: 4px; }
.dn-logo-caption { font-size: 11px; line-height: 1.6; letter-spacing: .1em; white-space: nowrap; }
.dn-nav { display: flex; gap: 27px; align-items: center; font-size: 13px; }
.dn-nav a { padding: 12px 0; position: relative; }
.dn-nav a::after { content: ""; position: absolute; bottom: 6px; left: 0; width: 100%; height: 1px; background: var(--dn-orange); transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.dn-nav a:hover::after, .dn-nav a[aria-current="location"]::after { transform: scaleX(1); }
.dn-nav a[aria-current="location"] { color: var(--dn-orange); }
.dn-back { font-size: 12px; border-left: 1px solid var(--dn-line); padding-left: 25px; white-space: nowrap; }
.dn-back span { padding-left: 6px; }
.dn-menu { display: none; }

.dn-actions { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; }
.dn-hero .dn-actions { margin-top: 30px; }
.dn-button { display: inline-flex; align-items: center; justify-content: center; gap: 25px; min-height: 48px; background: var(--dn-orange); color: #fffaf5; padding: 12px 22px; border: 1px solid var(--dn-orange); border-radius: 6px; font-size: 14px; transition: background .2s, transform .2s; }
.dn-button:hover { background: #914124; transform: translateY(-2px); }
.dn-text-link { display: inline-flex; align-items: center; gap: 9px; font-size: 13px; border-bottom: 1px solid var(--dn-line); min-height: 44px; padding-block: 9px; }
.dn-text-link:hover { color: var(--dn-orange); }
.dn-text-link small { font-size: 11px; color: var(--dn-muted); margin-left: 3px; }
.dn-play-small { color: var(--dn-orange); font-size: 11px; }
.dn-food-crop { position: relative; overflow: hidden; aspect-ratio: 1; background: #e0d6c6; }
.dn-food-crop img { position: absolute; max-width: none; width: 300%; height: auto; transform: scale(1.025); transition: transform .8s; }
.dn-crop-fish img { left: 0; top: 0; transform-origin: 16.66% 12.5%; }
.dn-crop-shrimp img { left: -100%; top: 0; transform-origin: 50% 12.5%; }
.dn-crop-veg img { left: -200%; top: -300%; transform-origin: 83.33% 87.5%; }
.dn-crop-starch img { left: -100%; top: -200%; transform-origin: 50% 62.5%; }
/* 211搭配为主线；保留B方案暖白、木色、深绿。 */
.dn-hero { display:grid; grid-template-columns:1fr 1.05fr; gap:64px; align-items:center; padding-block:60px 58px; }
.dn-hero-copy { min-width:0; }
.dn-hero h1 { font-size:clamp(40px,3.7vw,54px); margin-top:20px; line-height:1.35; white-space:nowrap; }
.dn-intro { font-size:15px; line-height:1.95; color:var(--dn-muted); margin-top:25px; }
.dn-intro strong { font-size:16px; color:var(--dn-ink); font-weight:500; }
.dn-hero .dn-actions { margin-top:28px; gap:22px; }
.dn-hero-location { display:inline-flex; flex-wrap:wrap; align-items:center; gap:13px; min-height:44px; font-size:13px; color:var(--dn-muted); margin-top:23px; }
.dn-hero-location span { padding-left:13px; border-left:1px solid var(--dn-line); }
.dn-hero-location:hover { color:var(--dn-orange); }
.dn-hero-visual { min-width:0; }
.dn-meal-board { background:#fffdf8; padding:25px; border:1px solid var(--dn-line); border-radius:12px; box-shadow:0 14px 38px #233b2d07; }
.dn-meal-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; padding-bottom:20px; font-size:15px; }
.dn-meal-heading strong { color:var(--dn-orange); font-size:22px; font-weight:500; letter-spacing:.06em; }
.dn-meal-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.dn-meal-grid .dn-food-crop { border-radius:8px; }
.dn-meal-grid figcaption { display:flex; align-items:baseline; gap:6px; margin-top:13px; font-size:14px; white-space:nowrap; }
.dn-meal-grid b { font-size:29px; font-weight:500; color:var(--dn-orange); line-height:1.2; }
.dn-meal-caption { margin-top:22px; padding-top:15px; border-top:1px solid var(--dn-line); font-size:12px; color:var(--dn-muted); }
.dn-feature-band > .dn-shell { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--dn-line); padding-block:22px; gap:28px; }
.dn-feature-band > .dn-shell > div { padding-left:27px; border-left:1px solid var(--dn-line); }
.dn-feature-band > .dn-shell > div:first-child { padding-left:0; border-left:0; }
.dn-feature-band strong { display:block; font-size:15px; font-weight:500; }
.dn-feature-band span { display:block; font-size:13px; color:var(--dn-muted); margin-top:5px; }
.dn-section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:32px; }
.dn-section-heading h2 { font-size:35px; margin-top:12px; }
.dn-section-heading > p { font-size:14px; line-height:1.9; color:var(--dn-muted); padding-bottom:3px; }
.dn-body-copy { font-size:15px; line-height:1.9; color:var(--dn-muted); }

.dn-plate-section { padding-block:72px; }
.dn-plate-layout { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:90px; }
.dn-plate-visual { width:min(380px,100%); justify-self:center; }
.dn-plate { position:relative; aspect-ratio:1; border:6px solid #fffdf8; border-radius:50%; overflow:hidden; background:var(--dn-green); box-shadow:0 15px 34px #233b2d12; }
.dn-portion { position:absolute; overflow:hidden; }
.dn-portion-veg { left:0; top:0; width:50%; height:100%; border-right:4px solid var(--dn-paper); }
.dn-portion-veg > .dn-food-crop { width:calc(200% + 8px); height:auto; aspect-ratio:1; left:calc(-50% - 2px); }
.dn-portion-protein { right:0; top:0; width:50%; height:50%; border-bottom:4px solid var(--dn-paper); }
.dn-portion-starch { right:0; bottom:0; width:50%; height:50%; }
.dn-portion-label { position:absolute; bottom:24%; left:50%; transform:translateX(-50%); z-index:1; white-space:nowrap; background:#233b2deb; color:#fffdf8; padding:5px 9px; border-radius:4px; font-size:12px; }
.dn-portion-veg .dn-portion-label { bottom:45%; }
.dn-image-caption { font-size:12px; color:var(--dn-muted); margin-top:18px; text-align:center; }
.dn-plate-legend > div { padding-block:17px; border-bottom:1px solid var(--dn-line); }
.dn-plate-legend > div:first-child { padding-top:0; }
.dn-plate-legend dt { font-size:17px; }
.dn-plate-legend b { font-size:29px; font-weight:500; color:var(--dn-orange); margin-right:8px; }
.dn-plate-legend dd { font-size:14px; color:var(--dn-muted); margin-top:2px; }
.dn-plate-note { font-size:13px; line-height:1.8; color:var(--dn-muted); margin-top:20px; }

.dn-food-section { background:#f0f1e8; padding-block:66px; }
.dn-dishes { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.dn-dishes .dn-food-crop { border-radius:10px; }
.dn-dishes figure:hover img { transform:scale(1.055); }
.dn-dishes figcaption { padding-top:15px; }
.dn-dishes h3 { font-size:17px; margin-bottom:5px; }
.dn-dishes figcaption span { font-size:13px; color:var(--dn-muted); }
.dn-space-section { padding-block:72px; }
.dn-space-grid { display:grid; grid-template-columns:1.65fr 1fr 1fr; grid-template-rows:390px; gap:18px; }
.dn-space-grid figure { overflow:hidden; border-radius:10px; border:1px solid var(--dn-line); background:#fffdf8; }
.dn-space-grid .dn-space-main { grid-row:auto; }
.dn-space-grid img { width:100%; height:calc(100% - 44px); object-fit:cover; transition:transform .8s; }
.dn-space-main img { object-position:52% center; }
.dn-space-grid figure:nth-child(2) img { object-position:38% center; }
.dn-space-grid figure:nth-child(3) img { object-position:50% center; }
.dn-space-grid figure:hover img { transform:scale(1.015); }
.dn-space-grid figcaption { padding:10px 14px; line-height:24px; font-size:12px; color:var(--dn-muted); }

.dn-store-section { padding-block:0 72px; }
.dn-store-heading { margin-bottom:26px; }
.dn-store-heading h2 { font-size:35px; margin-top:12px; }
.dn-store-card { border:1px solid var(--dn-line); border-radius:12px; background:#fffdf8; padding:30px 36px; }
.dn-store-info { display:grid; grid-template-columns:.85fr 1.2fr auto; column-gap:32px; align-items:center; }
.dn-store-label { grid-column:1; font-size:12px; color:var(--dn-muted); letter-spacing:.08em; }
.dn-store-info h3 { grid-column:1; font-size:26px; line-height:1.4; margin-top:8px; align-self:start; }
.dn-store-info address { grid-column:2; grid-row:1/3; font-style:normal; font-size:14px; line-height:1.85; color:var(--dn-muted); padding-left:30px; border-left:1px solid var(--dn-line); }
.dn-store-info address strong { display:inline-block; font-size:21px; font-weight:500; color:var(--dn-ink); margin-top:4px; }
.dn-store-actions { grid-column:3; grid-row:1/3; align-self:center; }
.dn-store-info .dn-actions { gap:25px; }
.dn-copy { font-size:13px; border:1px solid var(--dn-line); border-radius:6px; min-height:48px; padding:10px 15px; background:transparent; }
.dn-copy:hover { border-color:var(--dn-muted); background:var(--dn-paper); }
.dn-copy-status { grid-column:2/4; grid-row:3; font-size:12px; color:var(--dn-orange); min-height:22px; padding-top:5px; }

.dn-film-section { padding-block:64px 48px; background:var(--dn-green); color:var(--dn-paper); }
.dn-film-grid { display:grid; grid-template-columns:1.15fr 1fr; grid-template-rows:auto auto; column-gap:65px; align-items:start; }
.dn-film-heading { grid-column:1; grid-row:1; align-self:end; padding-left:40px; padding-top:28px; }
.dn-film-heading .dn-eyebrow { color:#c6d2be; }
.dn-film-heading h2 { font-size:39px; margin-top:16px; }
.dn-film-copy { grid-column:1; grid-row:2; padding:20px 0 45px 40px; }
.dn-film-copy .dn-body-copy { color:#d4ddcf; }
.dn-film-caption { font-size:13px; color:#c6d2be; margin-top:12px; margin-bottom:21px; }
.dn-film-copy .dn-text-link { border-color:#faf8f255; }
.dn-film-copy .dn-text-link:hover { color:#f0c58e; }
.dn-film-player { grid-column:2; grid-row:1/3; width:278px; justify-self:center; }
.dn-film-frame { aspect-ratio:9/16; position:relative; overflow:hidden; border-radius:12px; border:1px solid #faf8f280; background:#16251c; box-shadow:0 20px 50px #101b0d33; }
.dn-film-cover { position:absolute; inset:0; padding:0; border:0; width:100%; background:var(--dn-paper); color:var(--dn-ink); }
.dn-film-cover:focus-visible { outline:3px solid #f0c58e; outline-offset:-5px; }
.dn-film-cover > img { width:100%; height:100%; object-fit:cover; object-position:50% center; }
.dn-film-cover::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,#15281b26 0%,#15281b00 35%,#15281be6 100%); }
.dn-film-cover-copy { position:absolute; bottom:55px; left:18px; right:18px; z-index:1; text-align:center; color:#fffdf8; }
.dn-film-cover-copy > span { font-size:12px; letter-spacing:.04em; }
.dn-film-cover-copy strong { font-family:var(--dn-serif); font-size:29px; line-height:1.45; display:block; margin-top:10px; }
.dn-play { position:absolute; z-index:1; top:39%; left:50%; transform:translate(-50%,-50%); height:60px; width:60px; display:grid; place-items:center; padding-left:4px; border-radius:50%; background:var(--dn-orange); color:#fffaf5; font-size:18px; }
.dn-film-duration { position:absolute; bottom:22px; left:18px; right:18px; z-index:1; color:#fffaf5; font-size:12px; text-align:center; }
.dn-film-frame video { width:100%; height:100%; object-fit:contain; }
.dn-film-toolbar { min-height:50px; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:12px; color:#d4ddcf; padding-top:9px; }
.dn-film-toolbar button { background:none; border:0; border-bottom:1px solid #faf8f255; min-height:44px; padding:4px 0; font-size:12px; white-space:nowrap; }
.dn-footer { border-top: 1px solid var(--dn-line); padding-block: 34px 26px; }
.dn-footer-top { display: flex; gap: 30px; align-items: center; padding-bottom: 26px; }
.dn-footer-top > .dn-logo { margin-right: auto; }
.dn-footer-top > a:not(.dn-logo) { font-size: 13px; }
.dn-footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--dn-line); padding-top: 22px; font-size: 11px; color: var(--dn-muted); }
.dn-footer-bottom > div { display: flex; flex-wrap: wrap; gap: 16px; }
.privacy-btn { background: none; border: 0; padding: 0; font-size: 11px; color: var(--dn-muted); }
.privacy { max-width: min(670px, calc(100% - 32px)); padding: 35px; border: 1px solid var(--dn-line); border-radius: 10px; background: var(--dn-paper); color: var(--dn-ink); font-family: var(--dn-font); }
.privacy::backdrop { background: #15211099; }
.privacy h2 { font-size: 26px; margin-bottom: 20px; }
.privacy p { font-size: 14px; line-height: 1.85; margin-block: 15px; }
.privacy .close, .privacy button { float: right; background: none; border: 0; font-size: 22px; min-height: 44px; min-width: 44px; }
.privacy a { color: var(--dn-orange); text-decoration: underline; }
.dn-mobile-bar { display: none; }
.dn-motion-ready .dn-reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s, transform .6s; }
.dn-motion-ready .dn-reveal.is-visible { opacity: 1; transform: none; }


@media(min-width:1800px){
 .dn-shell { width:min(1280px,calc(100% - 160px)); }
 .dn-hero { gap:70px; padding-block:70px; }
 .dn-hero h1 { font-size:58px; }
}
@media(max-width:1100px){
 .dn-shell { width:calc(100% - 64px); }
 .dn-header-inner { gap:20px; }
 .dn-nav { gap:20px; }
 .dn-back { padding-left:17px; }
 .dn-hero { gap:30px; padding-block:44px; }
 .dn-hero h1 { font-size:clamp(33px,4vw,44px); }
 .dn-meal-board { padding:20px; }
 .dn-meal-grid { gap:9px; }
 .dn-meal-grid figcaption { gap:4px; font-size:12px; }
 .dn-meal-grid b { font-size:25px; }
 .dn-meal-heading { font-size:14px; }
 .dn-intro { font-size:14px; }
 .dn-intro strong { font-size:15px; }
 .dn-section-heading h2,.dn-store-heading h2 { font-size:32px; }
 .dn-plate-layout { gap:50px; }
 .dn-dishes { gap:18px; }
 .dn-dishes h3 { font-size:15px; }
 .dn-dishes figcaption span { font-size:12px; }
 .dn-space-grid { grid-template-rows:340px; }
 .dn-film-heading,.dn-film-copy { padding-left:0; }
 .dn-film-heading h2 { font-size:34px; }
 .dn-store-card { padding:30px; }
}
@media(max-width:820px){
 html { scroll-padding-top:90px; }
 .dn-header-inner { height:72px; }
 .dn-logo-caption { font-size:12px; letter-spacing:.03em; }
 .dn-menu { display:flex; flex-direction:column; justify-content:center; gap:6px; width:44px; height:44px; border:1px solid var(--dn-line); border-radius:6px; background:transparent; margin-left:auto; padding:12px; }
 .dn-menu span { display:block; width:18px; height:1px; background:var(--dn-ink); transition:transform .2s; }
 .dn-menu[aria-expanded="true"] span:first-child { transform:translateY(3.5px) rotate(45deg); }
 .dn-menu[aria-expanded="true"] span:last-child { transform:translateY(-3.5px) rotate(-45deg); }
 .dn-nav { position:absolute; top:71px; left:0; right:0; background:var(--dn-paper); padding:17px 32px 25px; border-bottom:1px solid var(--dn-line); display:none; grid-template-columns:1fr 1fr; gap:5px 25px; font-size:14px; }
 .dn-nav.is-open { display:grid; }
 .dn-nav a { padding:12px; }
 .dn-back { border:0; padding-left:0; }
 .dn-hero { grid-template-columns:1fr; gap:30px; }
 .dn-hero h1 { font-size:48px; }
 .dn-hero-visual { width:min(560px,100%); justify-self:center; }
 .dn-meal-grid figcaption { font-size:14px; }
 .dn-meal-grid b { font-size:29px; }
 .dn-feature-band > .dn-shell { gap:18px; }
 .dn-feature-band > .dn-shell > div { padding-left:17px; }
 .dn-feature-band span { font-size:12px; }
 .dn-plate-layout { gap:35px; }
 .dn-plate-legend dt { font-size:16px; }
 .dn-plate-legend dd { font-size:13px; }
 .dn-dishes { grid-template-columns:1fr 1fr; gap:26px 20px; }
 .dn-dishes h3 { font-size:17px; }
 .dn-dishes figcaption span { font-size:13px; }
 .dn-space-grid { grid-template-columns:1fr 1fr; grid-template-rows:310px 230px; }
 .dn-space-grid .dn-space-main { grid-column:1/-1; grid-row:auto; }
 .dn-film-grid { column-gap:30px; }
 .dn-film-heading h2 { font-size:31px; }
 .dn-film-player { width:250px; }
 .dn-store-info { grid-template-columns:1fr 1fr; column-gap:25px; }
 .dn-store-info address { grid-column:1; grid-row:3; padding:0; border:0; margin-top:14px; }
 .dn-store-actions { grid-column:2; grid-row:1/4; justify-self:end; }
 .dn-copy-status { grid-column:1/-1; grid-row:4; }
 .dn-store-info .dn-actions { flex-direction:column; align-items:start; gap:10px; }
 .dn-footer-bottom { flex-direction:column; gap:12px; }
}
@media(max-width:560px){
 body { padding-bottom:calc(70px + env(safe-area-inset-bottom)); }
 .dn-shell { width:calc(100% - 40px); }
 .dn-header-inner { gap:12px; height:68px; }
 .dn-logo { gap:8px; }
 .dn-logo > span:first-child { font-size:30px; }
 .dn-logo-caption { font-size:11px; letter-spacing:0; }
 .dn-back { font-size:11px; }
 .dn-nav { top:67px; padding:12px 20px 20px; }
 .dn-hero { padding-block:28px 30px; gap:27px; }
 .dn-eyebrow { font-size:12px; letter-spacing:.05em; }
 .dn-hero h1 { font-size:clamp(32px,9.3vw,44px); margin-top:16px; }
 .dn-intro { font-size:14px; margin-top:20px; line-height:1.85; }
 .dn-intro strong { font-size:14px; }
 .dn-hero .dn-actions { gap:16px; margin-top:22px; }
 .dn-button { font-size:13px; padding:11px 16px; gap:17px; }
 .dn-text-link { font-size:12px; gap:6px; }
 .dn-text-link small { font-size:11px; margin-left:0; }
 .dn-hero-location { font-size:12px; gap:10px; margin-top:12px; }
 .dn-hero-location span { padding-left:10px; }
 .dn-meal-board { padding:17px 14px; border-radius:10px; }
 .dn-meal-heading { font-size:14px; padding-bottom:15px; }
 .dn-meal-heading strong { font-size:20px; }
 .dn-meal-grid { gap:8px; }
 .dn-meal-grid .dn-food-crop { border-radius:6px; }
 .dn-meal-grid figcaption { display:block; font-size:12px; text-align:center; margin-top:9px; }
 .dn-meal-grid b { font-size:22px; margin-right:2px; }
 .dn-meal-caption { font-size:12px; margin-top:15px; padding-top:12px; }
 .dn-feature-band > .dn-shell { gap:0; padding-block:17px; }
 .dn-feature-band > .dn-shell > div { text-align:center; padding-left:0; }
 .dn-feature-band strong { font-size:14px; }
 .dn-feature-band span { display:none; }
 .dn-section-heading { display:block; margin-bottom:24px; }
 .dn-section-heading h2,.dn-store-heading h2 { font-size:28px; margin-top:9px; }
 .dn-section-heading > p { font-size:14px; padding-top:13px; }
 .dn-plate-section { padding-block:44px; }
 .dn-plate-section .dn-section-heading > p { display:none; }
 .dn-plate-layout { grid-template-columns:1fr; gap:22px; }
 .dn-plate-visual { width:min(300px,100%); }
 .dn-image-caption { font-size:12px; margin-top:14px; }
 .dn-plate-legend { display:block; }
 .dn-plate-legend > div { display:grid; grid-template-columns:112px 1fr; align-items:center; gap:12px; padding:12px 0; border-bottom:1px solid var(--dn-line); }
 .dn-plate-legend > div:first-child { padding-top:0; }
 .dn-plate-legend dt { font-size:15px; }
 .dn-plate-legend b { font-size:24px; margin-right:3px; }
 .dn-plate-legend dd { font-size:13px; line-height:1.8; margin-top:0; }
 .dn-plate-note { display:none; }
 .dn-food-section { padding-block:43px; }
 .dn-dishes { gap:24px 14px; }
 .dn-dishes .dn-food-crop { border-radius:8px; }
 .dn-dishes h3 { font-size:15px; }
 .dn-dishes figcaption span { font-size:12px; line-height:1.7; display:block; }
 .dn-dishes figcaption { padding-top:12px; }
 .dn-space-section { padding-block:44px; }
 .dn-space-grid { grid-template-rows:240px 245px; gap:12px; }
 .dn-space-grid figure { border-radius:8px; }
 .dn-space-grid figcaption { font-size:12px; padding:10px 7px; text-align:center; }
 .dn-space-grid figure:nth-child(2) img { object-position:38% center; }
 .dn-store-section { padding-block:0 44px; }
 .dn-store-heading { margin-bottom:23px; }
 .dn-store-card { padding:25px 23px 18px; border-radius:10px; }
 .dn-store-info { display:block; }
 .dn-store-info h3 { font-size:25px; }
 .dn-store-info address { font-size:14px; margin-top:18px; padding-top:16px; border-top:1px solid var(--dn-line); }
 .dn-store-info address strong { font-size:20px; }
 .dn-store-label { font-size:12px; }
 .dn-store-actions { margin-top:22px; width:100%; justify-self:stretch; }
 .dn-store-info .dn-actions { display:grid; grid-template-columns:1fr auto; align-items:center; gap:12px; }
 .dn-copy { font-size:13px; min-height:46px; padding-inline:14px; }
 .dn-copy-status { padding-top:8px; }
 .dn-film-section { padding-block:43px 30px; }
 .dn-film-grid { display:flex; flex-direction:column; gap:23px; }
 .dn-film-heading { padding:0; align-self:auto; }
 .dn-film-heading h2 { font-size:28px; margin-top:10px; }
 .dn-film-player { width:min(244px,100%); align-self:center; }
 .dn-film-cover-copy strong { font-size:27px; }
 .dn-film-copy { padding:0; }
 .dn-film-copy .dn-body-copy { font-size:14px; }
 .dn-film-caption { font-size:12px; margin-top:9px; margin-bottom:8px; }
 .dn-film-toolbar { font-size:12px; }
 .dn-footer { padding-block:28px 23px; }
 .dn-footer-top { gap:22px; padding-bottom:24px; flex-wrap:wrap; }
 .dn-footer-top > .dn-logo { width:100%; margin-right:0; }
 .dn-footer-top > a:not(.dn-logo) { font-size:12px; }
 .dn-footer-bottom { font-size:11px; padding-top:20px; }
 .dn-footer-bottom > div { gap:9px 14px; }
 .privacy-btn { font-size:12px; }
 .privacy { padding:24px; }
 .dn-mobile-bar { position:fixed; bottom:0; left:0; right:0; z-index:15; display:grid; grid-template-columns:1fr 1.1fr; background:#faf8f2f5; backdrop-filter:blur(12px); border-top:1px solid var(--dn-line); padding:9px 12px calc(9px + env(safe-area-inset-bottom)); gap:9px; }
 .dn-mobile-bar a { min-height:44px; display:grid; place-items:center; padding:8px 10px; text-align:center; font-size:13px; border:1px solid var(--dn-line); border-radius:6px; }
 .dn-mobile-bar a:last-child { background:var(--dn-orange); border-color:var(--dn-orange); color:#fffaf5; }
}
@media(max-width:350px){
 .dn-shell { width:calc(100% - 32px); }
 .dn-header-inner { gap:7px; }
 .dn-logo-caption { font-size:11px; }
 .dn-logo { gap:6px; }
 .dn-logo > span:first-child { font-size:28px; }
 .dn-back { font-size:10px; }
 .dn-hero h1 { font-size:29px; }
 .dn-hero .dn-actions { gap:12px; }
 .dn-hero .dn-button { padding-inline:12px; gap:10px; }
 .dn-meal-board { padding-inline:11px; }
 .dn-meal-grid figcaption { font-size:12px; }
 .dn-meal-grid b { font-size:19px; }
 .dn-plate-legend > div { grid-template-columns:102px 1fr; gap:9px; }
 .dn-plate-legend dt { font-size:13px; }
 .dn-plate-legend b { font-size:22px; }
 .dn-section-heading h2,.dn-store-heading h2 { font-size:26px; }
 .dn-dishes h3 { font-size:14px; }
 .dn-store-card { padding-inline:20px; }
}
@media(prefers-reduced-motion:reduce){
 html { scroll-behavior:auto; }
 *,*::before,*::after { transition:none!important; animation:none!important; }
 .dn-motion-ready .dn-reveal { opacity:1; transform:none; }
}
