﻿:root {
  --pine: #153c34;
  --pine-dark: #0d2a25;
  --pine-soft: #e4ece8;
  --paper: #f5efe4;
  --paper-deep: #eadfce;
  --ink: #1d2724;
  --muted: #64706c;
  --cinnabar: #b8442c;
  --gold: #c99b49;
  --white: #fffdf8;
  --line: rgba(21, 60, 52, .16);
  --shadow: 0 22px 60px rgba(20, 39, 34, .12);
  --radius: 22px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: "Microsoft YaHei", "PingFang SC", system-ui, sans-serif; line-height: 1.7; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.skip-link { position: fixed; left: 12px; top: -80px; z-index: 999; background: #fff; color: #000; padding: 10px 16px; }
.skip-link:focus { top: 12px; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 253, 248, .94); border-bottom: 1px solid var(--line); backdrop-filter: blur(12px); }
.header-inner { width: min(var(--max), calc(100% - 40px)); min-height: 76px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--pine); }
.brand-mark { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid var(--gold); border-radius: 50% 50% 46% 46%; color: var(--cinnabar); font: 700 23px/1 "STKaiti", "KaiTi", serif; }
.brand strong, .brand small { display: block; }
.brand strong { font-size: 17px; letter-spacing: .06em; }
.brand small { margin-top: 2px; color: var(--muted); font-size: 11px; }
.primary-nav { display: flex; align-items: center; gap: 23px; }
.primary-nav a { position: relative; padding: 26px 0 24px; color: #33433e; font-size: 14px; text-decoration: none; white-space: nowrap; }
.primary-nav a[aria-current="page"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: 17px; height: 2px; background: var(--cinnabar); }
.primary-nav .nav-call { padding: 10px 16px; color: #fff; background: var(--pine); border-radius: 999px; }
.primary-nav .nav-call::after { display: none; }
.nav-toggle { display: none; border: 0; background: transparent; color: var(--pine); }
.nav-toggle span { display: block; width: 22px; height: 2px; margin: 4px 0; background: currentColor; }
.nav-toggle b { position: absolute; width: 1px; height: 1px; clip: rect(0 0 0 0); overflow: hidden; }

.hero { position: relative; min-height: min(780px, calc(100vh - 76px)); display: flex; align-items: end; overflow: hidden; color: #fff; }
.hero-media, .hero-shade { position: absolute; inset: 0; }
.hero-media { background: url("/media/storefront-night.webp") center 54%/cover no-repeat; transform: scale(1.03); }
.hero-shade { background: linear-gradient(90deg, rgba(8, 22, 18, .88) 0%, rgba(8, 22, 18, .55) 46%, rgba(8, 22, 18, .10) 100%), linear-gradient(0deg, rgba(8, 22, 18, .82), transparent 55%); }
.hero-content { position: relative; width: min(var(--max), calc(100% - 40px)); margin: 0 auto; padding: 110px 0 68px; }
.hero-content h1 { max-width: 780px; margin: 12px 0 18px; font: 700 clamp(40px, 6.4vw, 78px)/1.13 "STKaiti", "KaiTi", serif; letter-spacing: .02em; text-wrap: balance; }
.hero-content > p:not(.eyebrow) { max-width: 650px; margin: 0 0 30px; color: rgba(255,255,255,.82); font-size: 18px; }
.eyebrow, .section-kicker { margin: 0; color: var(--gold); font-weight: 700; font-size: 13px; letter-spacing: .22em; text-transform: uppercase; }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 11px 22px; border-radius: 999px; border: 1px solid transparent; font-weight: 700; text-decoration: none; transition: .2s ease; }
.button:hover { transform: translateY(-2px); }
.button.primary { background: var(--cinnabar); color: #fff; box-shadow: 0 10px 26px rgba(184, 68, 44, .25); }
.button.ghost { color: #fff; border-color: rgba(255,255,255,.45); background: rgba(255,255,255,.08); }
.button.light { color: var(--pine); background: var(--white); }
.button.dark { color: #fff; background: var(--pine); }
.button.outline { color: var(--pine); border-color: var(--pine); }
.hero-proof { margin-top: 42px; display: flex; flex-wrap: wrap; gap: 10px; }
.hero-proof span { padding: 7px 12px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(255,255,255,.06); font-size: 12px; }

.quick-facts { position: relative; z-index: 2; width: min(var(--max), calc(100% - 40px)); margin: -28px auto 0; display: grid; grid-template-columns: repeat(4, 1fr); background: var(--paper); border-radius: var(--radius); box-shadow: var(--shadow); overflow: hidden; }
.quick-facts article { padding: 28px 26px; border-right: 1px solid var(--line); }
.quick-facts article:last-child { border-right: 0; }
.quick-facts span, .quick-facts strong { display: block; }
.quick-facts span { color: var(--muted); font-size: 12px; }
.quick-facts strong { margin: 7px 0; color: var(--pine); font: 700 22px/1.2 "STKaiti", "KaiTi", serif; }
.quick-facts p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.5; }

.section { width: min(var(--max), calc(100% - 40px)); margin: 0 auto; padding: 96px 0; }
.section.warm { width: 100%; max-width: none; padding-left: max(20px, calc((100% - var(--max)) / 2)); padding-right: max(20px, calc((100% - var(--max)) / 2)); background: var(--paper); }
.section h2, .page-hero h1 { margin: 8px 0 20px; color: var(--pine-dark); font: 700 clamp(30px, 4vw, 52px)/1.18 "STKaiti", "KaiTi", serif; text-wrap: balance; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.section-heading h2 { margin-bottom: 0; }
.section-heading > a, .inline-links a, .news-grid article > a, .evidence-wall a { color: var(--cinnabar); font-weight: 700; }
.story-split { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 70px; }
.story-split p:not(.section-kicker) { color: var(--muted); font-size: 17px; }
.framed-photo { margin: 0; padding: 14px; background: var(--paper); border: 1px solid var(--line); transform: rotate(1.2deg); box-shadow: var(--shadow); }
.framed-photo img { aspect-ratio: 4/3; width: 100%; object-fit: cover; }
.framed-photo figcaption { padding: 10px 4px 0; color: var(--muted); font-size: 12px; }
.inline-links { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 24px; }

.dish-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.dish-card { display: flex; flex-direction: column; min-width: 0; background: var(--white); border: 1px solid var(--line); border-radius: 18px; overflow: hidden; box-shadow: 0 12px 34px rgba(24, 48, 41, .07); transition: transform .25s ease, box-shadow .25s ease; }
.dish-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.dish-image { aspect-ratio: 4/3; overflow: hidden; background: var(--paper-deep); }
.dish-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.dish-card:hover .dish-image img { transform: scale(1.045); }
.dish-body { display: flex; justify-content: space-between; align-items: start; gap: 16px; padding: 19px 20px 11px; }
.dish-body h3 { margin: 0 0 6px; color: var(--pine); font-size: 19px; }
.dish-body p { margin: 0; color: var(--muted); font-size: 13px; }
.dish-body strong { color: var(--cinnabar); font-size: 22px; white-space: nowrap; }
.dish-body small { color: var(--muted); font-size: 11px; font-weight: 400; }
.tag-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding: 5px 20px 20px; }
.tag-row span { padding: 4px 9px; color: var(--pine); background: var(--pine-soft); border-radius: 999px; font-size: 11px; }

.scene-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.scene-grid article { padding: 34px 25px; border-right: 1px solid var(--line); }
.scene-grid article:last-child { border-right: 0; }
.scene-index { color: var(--gold); font-size: 12px; font-weight: 700; }
.scene-grid h3 { margin: 20px 0 10px; color: var(--pine); }
.scene-grid p { margin: 0; color: var(--muted); font-size: 14px; }

.reviews-section { width: 100%; max-width: none; padding-left: max(20px, calc((100% - var(--max)) / 2)); padding-right: max(20px, calc((100% - var(--max)) / 2)); background: var(--pine); color: #fff; }
.reviews-section h2 { color: #fff; }
.evidence-label { padding: 6px 10px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; color: rgba(255,255,255,.7); font-size: 11px; }
.review-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.review-grid article { padding: 26px; border: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.06); border-radius: 18px; }
.review-grid article > span { color: var(--gold); font-size: 12px; font-weight: 700; }
.review-grid blockquote { margin: 18px 0; font: 700 20px/1.65 "STKaiti", "KaiTi", serif; }
.review-grid p, .review-grid small { color: rgba(255,255,255,.66); font-size: 12px; }
.review-grid small { display: block; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.12); }

.faq-preview { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; align-items: start; }
.faq-preview > div:first-child { position: sticky; top: 120px; }
.faq-preview > div:first-child > p:not(.section-kicker) { color: var(--muted); }
details { border-bottom: 1px solid var(--line); }
summary { cursor: pointer; padding: 20px 36px 20px 0; color: var(--pine); font-weight: 700; list-style: none; position: relative; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; position: absolute; right: 4px; top: 16px; font-size: 24px; font-weight: 400; }
details[open] summary::after { content: "−"; }
details p { margin: -4px 30px 20px 0; color: var(--muted); }
.visit-banner { width: min(var(--max), calc(100% - 40px)); margin: 0 auto 96px; padding: 42px 46px; display: flex; align-items: center; justify-content: space-between; gap: 30px; color: #fff; background: var(--cinnabar); border-radius: var(--radius); box-shadow: var(--shadow); }
.visit-banner h2 { margin: 5px 0 8px; font: 700 35px/1.2 "STKaiti", "KaiTi", serif; }
.visit-banner p { margin: 0; color: rgba(255,255,255,.77); }
.visit-banner .section-kicker { color: #f3d9a2; }

.page-hero { padding: 100px max(20px, calc((100% - var(--max)) / 2)) 78px; color: #fff; background: var(--pine); }
.page-hero.compact { padding-top: 72px; padding-bottom: 60px; }
.page-hero h1 { max-width: 900px; color: #fff; }
.page-hero > p:not(.eyebrow) { max-width: 760px; color: rgba(255,255,255,.72); font-size: 17px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 34px; color: rgba(255,255,255,.55); font-size: 12px; }
.breadcrumbs a { color: rgba(255,255,255,.75); }
.notice { margin-bottom: 30px; padding: 19px 22px; display: flex; align-items: center; gap: 20px; background: var(--paper); border-left: 4px solid var(--gold); }
.notice p { margin: 0; color: var(--muted); font-size: 13px; }
.notice strong { color: var(--pine); white-space: nowrap; }

.scene-detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.scene-detail-grid article { padding: 34px; background: var(--paper); border-radius: 18px; }
.scene-detail-grid article > span { color: var(--gold); font-weight: 700; }
.scene-detail-grid h2 { margin: 14px 0 10px; font-size: 30px; }
.scene-detail-grid p, .scene-detail-grid li { color: var(--muted); }
.image-band { display: grid; grid-template-columns: 1.15fr .85fr; gap: 0; padding-top: 0; }
.image-band img { width: 100%; height: 100%; max-height: 520px; object-fit: cover; }
.image-band > div { padding: 55px; color: #fff; background: var(--pine); }
.image-band h2 { color: #fff; }
.image-band p { color: rgba(255,255,255,.7); }

.timeline { max-width: 980px; }
.timeline article { display: grid; grid-template-columns: 180px 1fr; gap: 50px; padding: 32px 0; border-top: 1px solid var(--line); }
.timeline time { color: var(--cinnabar); font: 700 26px/1.2 "STKaiti", "KaiTi", serif; }
.timeline h2 { margin: 0 0 8px; font-size: 30px; }
.timeline p { margin: 0; color: var(--muted); }
.evidence-wall { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; background: var(--paper); padding-left: 50px; padding-right: 50px; border-radius: var(--radius); }
.evidence-card { padding: 32px; background: var(--white); border: 1px solid var(--line); border-radius: 16px; }
.evidence-card span, .evidence-card strong { display: block; }
.evidence-card span { margin-top: 14px; color: var(--muted); font-size: 12px; }
.evidence-card strong { color: var(--pine); }

.faq-layout { display: grid; grid-template-columns: 230px 1fr; gap: 60px; align-items: start; }
.faq-nav { position: sticky; top: 110px; display: flex; flex-direction: column; padding: 22px; background: var(--paper); border-radius: 14px; }
.faq-nav strong { margin-bottom: 10px; color: var(--pine); }
.faq-nav a { padding: 7px 0; color: var(--muted); }
.faq-groups section { scroll-margin-top: 100px; margin-bottom: 50px; }
.faq-groups h2 { padding-bottom: 12px; font-size: 30px; border-bottom: 2px solid var(--pine); }

.news-sections > section { margin-bottom: 70px; }
.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.news-grid article { display: flex; flex-direction: column; padding: 27px; background: var(--paper); border-radius: 16px; }
.news-grid article > span { color: var(--muted); font-size: 12px; }
.news-grid h3 { margin: 16px 0 10px; color: var(--pine); font-size: 22px; line-height: 1.45; }
.news-grid h3 a { text-decoration: none; }
.news-grid p { color: var(--muted); font-size: 14px; }
.news-grid article > a { margin-top: auto; }
.article-page { width: min(820px, calc(100% - 40px)); margin: 0 auto; padding: 70px 0 100px; }
.article-page .breadcrumbs { color: var(--muted); }
.article-page .breadcrumbs a { color: var(--pine); }
.article-page header { padding-bottom: 34px; border-bottom: 1px solid var(--line); }
.article-page header span { color: var(--cinnabar); font-size: 13px; font-weight: 700; }
.article-page h1 { margin: 15px 0; color: var(--pine-dark); font: 700 clamp(34px, 5vw, 58px)/1.2 "STKaiti", "KaiTi", serif; }
.article-page header p { color: var(--muted); font-size: 18px; }
.article-body { padding: 35px 0; }
.article-body p { margin: 0 0 24px; font-size: 17px; }
.article-note { padding: 22px; background: var(--paper); border-left: 4px solid var(--gold); }
.article-note p { margin: 5px 0 0; color: var(--muted); }
.back-link { display: inline-block; margin-top: 28px; color: var(--cinnabar); font-weight: 700; }

.contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.contact-grid article { padding: 30px; border: 1px solid var(--line); border-radius: 16px; }
.contact-grid article > span { color: var(--gold); font-size: 12px; font-weight: 700; }
.contact-grid h2 { margin: 10px 0; font-size: 26px; }
.contact-grid p { color: var(--muted); }
.route-tips { display: grid; grid-template-columns: .8fr 1.2fr; gap: 50px; align-items: center; padding-top: 0; }
.route-tips img { border-radius: var(--radius); box-shadow: var(--shadow); }
.route-tips li { margin-bottom: 10px; color: var(--muted); }

.empty-state { min-height: 70vh; display: grid; place-content: center; justify-items: start; padding: 40px; }
.empty-state > span { color: var(--gold); font-size: 70px; font-weight: 800; }
.empty-state h1 { margin: 0; color: var(--pine); font: 700 50px/1.2 "STKaiti", "KaiTi", serif; }

.site-footer { padding: 68px max(20px, calc((100% - var(--max)) / 2)) 95px; color: rgba(255,255,255,.72); background: var(--pine-dark); }
.footer-grid { display: grid; grid-template-columns: 1fr 1.1fr .7fr; gap: 50px; }
.footer-brand { color: #fff; font: 700 30px/1.2 "STKaiti", "KaiTi", serif; }
.site-footer h2 { margin: 0 0 10px; color: #fff; font-size: 14px; }
.site-footer p { margin: 7px 0; font-size: 13px; }
.site-footer a { color: #fff; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; margin-top: 45px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); font-size: 11px; }
.mobile-actions { display: none; }

.site-footer { display: grid; grid-template-columns: 1.2fr 1fr; gap: 28px 60px; }
.site-footer .filing, .site-footer small { padding-top: 18px; border-top: 1px solid rgba(255,255,255,.12); }
.site-footer strong { color: #fff; }
.news-grid article small, .news-grid article time { color: var(--muted); font-size: 12px; }
.review-grid article > small:first-child { color: var(--gold); border: 0; padding: 0; font-weight: 700; }
.faq-list { max-width: 900px; }

@media (max-width: 720px) {
  .site-footer { grid-template-columns: 1fr; }
  .visit-banner { align-items: flex-start; flex-direction: column; padding: 32px 24px; }
}

.reveal { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: none; }

/* Admin */
.admin-shell { min-height: 80vh; padding: 52px max(20px, calc((100% - var(--max)) / 2)) 90px; background: #eef2ef; }
.admin-shell > header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 28px; }
.admin-shell > header p { margin: 0; color: var(--cinnabar); font-size: 12px; font-weight: 700; }
.admin-shell > header h1 { margin: 4px 0 0; color: var(--pine); font-size: 32px; }
.admin-login { max-width: 480px; padding: 30px; background: #fff; border-radius: 18px; box-shadow: var(--shadow); }
.admin-login p { color: var(--muted); font-size: 13px; }
.admin-login label, .admin-form label { display: grid; gap: 6px; margin-bottom: 15px; color: var(--pine); font-size: 13px; font-weight: 700; }
.admin-login input, .admin-form input, .admin-form textarea, .admin-form select { width: 100%; padding: 11px 12px; border: 1px solid #cad3cf; border-radius: 9px; background: #fff; }
.admin-login button, .admin-toolbar button, .admin-add, .admin-remove { border: 0; border-radius: 9px; cursor: pointer; }
.admin-login button, .admin-toolbar #save-all { padding: 11px 18px; color: #fff; background: var(--pine); }
.admin-app { display: grid; grid-template-columns: 190px 1fr; gap: 20px; align-items: start; }
.admin-app > nav { position: sticky; top: 95px; display: grid; gap: 4px; padding: 10px; background: #fff; border-radius: 14px; }
.admin-app > nav button { padding: 11px 12px; border: 0; border-radius: 8px; text-align: left; background: transparent; cursor: pointer; }
.admin-app > nav button.active { color: #fff; background: var(--pine); }
.admin-toolbar { grid-column: 2; display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding: 12px 16px; background: #fff; border-radius: 12px; }
.admin-toolbar span { margin-right: auto; color: var(--muted); font-size: 12px; }
.admin-toolbar .quiet { padding: 9px 12px; background: #eef2ef; }
.admin-panel { grid-column: 2; }
.admin-card { margin-bottom: 14px; padding: 22px; background: #fff; border-radius: 14px; }
.admin-card h2, .admin-card h3 { margin-top: 0; color: var(--pine); }
.admin-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 16px; }
.admin-form .wide { grid-column: 1 / -1; }
.admin-list-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.admin-add { padding: 9px 12px; color: #fff; background: var(--cinnabar); }
.admin-remove { padding: 7px 10px; color: #963c2a; background: #f8e9e5; }
.admin-row-head { display: flex; justify-content: space-between; gap: 16px; }

@media (max-width: 940px) {
  .nav-toggle { display: block; position: relative; }
  .primary-nav { position: fixed; inset: 76px 0 auto; display: none; padding: 20px; background: var(--white); border-bottom: 1px solid var(--line); box-shadow: var(--shadow); }
  .primary-nav.open { display: grid; }
  .primary-nav a { padding: 10px 4px; }
  .primary-nav a[aria-current="page"]::after { bottom: 5px; }
  .primary-nav .nav-call { text-align: center; }
  .quick-facts { grid-template-columns: repeat(2, 1fr); }
  .quick-facts article:nth-child(2) { border-right: 0; }
  .quick-facts article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .story-split, .faq-preview, .image-band, .evidence-wall, .route-tips { grid-template-columns: 1fr; }
  .dish-grid, .review-grid, .news-grid { grid-template-columns: repeat(2, 1fr); }
  .scene-grid { grid-template-columns: repeat(2, 1fr); }
  .scene-grid article:nth-child(2) { border-right: 0; }
  .scene-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .faq-preview > div:first-child { position: static; }
  .faq-layout { grid-template-columns: 1fr; }
  .faq-nav { position: static; flex-direction: row; flex-wrap: wrap; gap: 4px 14px; }
  .faq-nav strong { width: 100%; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
  body { padding-bottom: 58px; }
  .header-inner { width: calc(100% - 28px); min-height: 68px; }
  .primary-nav { top: 68px; }
  .brand-mark { width: 38px; height: 38px; }
  .brand strong { font-size: 15px; }
  .hero { min-height: 690px; }
  .hero-media { background-position: 59% center; }
  .hero-shade { background: linear-gradient(0deg, rgba(8,22,18,.95) 8%, rgba(8,22,18,.4) 72%, rgba(8,22,18,.2)); }
  .hero-content { width: calc(100% - 32px); padding: 120px 0 44px; }
  .hero-content h1 { font-size: 42px; }
  .hero-content > p:not(.eyebrow) { font-size: 15px; }
  .hero-proof { margin-top: 28px; }
  .quick-facts { width: calc(100% - 28px); margin-top: -18px; }
  .quick-facts article { padding: 20px 17px; }
  .quick-facts strong { font-size: 18px; }
  .section { width: calc(100% - 32px); padding: 68px 0; }
  .section.warm, .reviews-section { width: 100%; padding-left: 16px; padding-right: 16px; }
  .section-heading { align-items: start; flex-direction: column; margin-bottom: 24px; }
  .section h2, .page-hero h1 { font-size: 36px; }
  .story-split { gap: 30px; }
  .dish-grid, .review-grid, .news-grid, .scene-detail-grid, .contact-grid { grid-template-columns: 1fr; }
  .dish-grid { gap: 16px; }
  .dish-body { padding: 16px 16px 9px; }
  .tag-row { padding: 4px 16px 16px; }
  .scene-grid { grid-template-columns: 1fr; }
  .scene-grid article { border-right: 0; border-bottom: 1px solid var(--line); }
  .review-grid blockquote { font-size: 18px; }
  .faq-preview { gap: 28px; }
  .visit-banner { width: calc(100% - 32px); margin-bottom: 68px; padding: 30px 24px; align-items: start; flex-direction: column; }
  .page-hero { padding: 68px 16px 54px; }
  .breadcrumbs { margin-bottom: 24px; }
  .notice { align-items: start; flex-direction: column; gap: 5px; }
  .image-band { width: 100%; }
  .image-band > div { padding: 38px 24px; }
  .timeline article { grid-template-columns: 1fr; gap: 10px; }
  .evidence-wall { width: calc(100% - 32px); padding: 34px 22px; }
  .faq-layout { gap: 30px; }
  .faq-nav { overflow-x: auto; flex-wrap: nowrap; }
  .faq-nav strong { display: none; }
  .faq-nav a { white-space: nowrap; }
  .article-page { padding-top: 45px; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom { flex-direction: column; }
  .mobile-actions { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; display: grid; grid-template-columns: 1fr 1fr; background: var(--white); border-top: 1px solid var(--line); box-shadow: 0 -8px 20px rgba(20,39,34,.1); }
  .mobile-actions a { padding: 14px; text-align: center; color: var(--pine); font-size: 14px; font-weight: 700; text-decoration: none; }
  .mobile-actions a:first-child { color: #fff; background: var(--cinnabar); }
  .admin-shell { padding: 30px 14px 70px; }
  .admin-app { grid-template-columns: 1fr; }
  .admin-app > nav { position: static; display: flex; overflow-x: auto; }
  .admin-app > nav button { white-space: nowrap; }
  .admin-toolbar, .admin-panel { grid-column: 1; }
  .admin-form-grid { grid-template-columns: 1fr; }
  .admin-form .wide { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .reveal { opacity: 1; transform: none; }
}


.news-grid h3 a,.article-list h2 a{color:inherit;text-decoration:none}.news-grid h3 a:hover,.article-list h2 a:hover{color:var(--cinnabar)}.news-read{display:inline-block;margin-top:14px;color:var(--cinnabar);font-size:14px;font-weight:800;text-decoration:none}.article-header{position:sticky;top:0;z-index:90;display:flex;align-items:center;justify-content:space-between;min-height:78px;padding:10px max(24px,calc((100% - 1180px)/2));background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.article-header nav{display:flex;align-items:center;gap:24px}.article-header nav a{color:var(--pine);font-weight:800;text-decoration:none}.article-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.article-list article{padding:30px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 16px 40px rgba(20,39,34,.06)}.article-list article>div{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:13px}.article-list small{color:var(--cinnabar);font-weight:800}.article-list h2{margin:18px 0 12px;font-size:clamp(23px,3vw,32px);line-height:1.3}.article-list p{min-height:3.6em;color:var(--muted);line-height:1.8}.article-page{padding-top:0}.article-shell{width:min(920px,calc(100% - 40px));margin:0 auto;padding:54px 0 72px}.article-title{padding:36px 0 42px;border-bottom:1px solid var(--line)}.article-title h1{max-width:860px;margin:12px 0 22px;color:var(--pine);font-family:var(--font-display);font-size:clamp(34px,5.8vw,62px);line-height:1.16}.article-title>div{display:flex;flex-wrap:wrap;gap:16px;color:var(--muted);font-size:14px}.article-lead{margin-top:30px;padding:24px 26px;color:var(--pine);font-size:clamp(18px,2.6vw,23px);font-weight:700;line-height:1.8;background:var(--warm);border-left:5px solid var(--cinnabar);border-radius:0 14px 14px 0}.article-body{width:min(760px,100%);margin:0 auto;padding:34px 0}.article-body section{margin:42px 0}.article-body h2{margin-bottom:18px;color:var(--pine);font-family:var(--font-display);font-size:clamp(25px,3.4vw,34px);line-height:1.35}.article-body p,.article-body li{color:#344740;font-size:17px;line-height:2}.article-body p+p{margin-top:16px}.article-body ul{margin:18px 0;padding:20px 24px 20px 46px;background:#f4f0e7;border-radius:14px}.article-sources{margin-top:52px;padding:26px;background:#f8f7f2;border:1px solid var(--line);border-radius:16px}.article-sources h2{font-size:22px}.article-sources p,.article-sources li{font-size:14px}.article-sources a{color:var(--pine)}.article-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:34px;color:#fff;background:var(--pine);border-radius:22px}.article-cta strong{font-size:23px}.article-cta p{max-width:620px;margin-top:8px;color:rgba(255,255,255,.78);line-height:1.7}.related-articles{border-top:1px solid var(--line)}
@media(max-width:760px){.article-header{min-height:68px;padding:8px 16px}.article-header nav{gap:12px;font-size:13px}.article-header .brand small{display:none}.article-list{grid-template-columns:1fr}.article-list article{padding:24px 20px}.article-list p{min-height:auto}.article-shell{width:calc(100% - 32px);padding-top:32px}.article-title{padding:24px 0 30px}.article-lead{padding:20px}.article-body p,.article-body li{font-size:16px;line-height:1.9}.article-cta{align-items:flex-start;flex-direction:column}}

/* 2026 competition edition */
:root{--ink-black:#101614;--jade:#113e35;--jade-2:#1b594b;--vermilion:#c84931;--amber:#d7ad62;--rice:#f6f0e5;--cloud:#e8eee9}
body{background:#fbf9f3;background-image:radial-gradient(circle at 10% 0%,rgba(215,173,98,.08),transparent 30%),radial-gradient(circle at 90% 35%,rgba(17,62,53,.06),transparent 28%)}
.brand-seal,.footer-seal{display:grid;place-items:center;width:44px;height:44px;color:#fff;background:var(--vermilion);border:1px solid rgba(255,255,255,.45);border-radius:4px 14px 4px 14px;box-shadow:inset 0 0 0 3px rgba(255,255,255,.16);font:700 24px/1 "KaiTi",serif;transform:rotate(-2deg)}
.site-header{background:rgba(250,248,241,.9)}
.contest-hero{min-height:calc(100svh - 76px);isolation:isolate;background:#0d2923}
.contest-hero .hero-media{background-image:url('/media/storefront-night.webp');background-position:center 52%;filter:saturate(.86) contrast(1.04);animation:hero-breathe 14s ease-in-out infinite alternate}
.contest-hero .hero-shade{z-index:1;background:linear-gradient(90deg,rgba(5,20,17,.96) 0%,rgba(5,20,17,.72) 42%,rgba(5,20,17,.12) 80%),linear-gradient(0deg,rgba(5,20,17,.88),transparent 52%)}
.contest-hero .hero-content{z-index:5;padding:116px 0 86px}
.contest-hero h1{max-width:900px;font-size:clamp(58px,9vw,118px);line-height:.92;letter-spacing:.025em;text-shadow:0 18px 45px rgba(0,0,0,.25)}
.contest-hero h1 span{display:block}.contest-hero h1 span:last-child{margin-left:1.05em;color:#f4e5c9}
.hero-lead{max-width:690px!important;font-size:17px!important;line-height:1.9!important}
.button.glass{color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.1);backdrop-filter:blur(12px)}
.button.text-link{color:#fff;border:0;background:transparent}
.contest-hero .hero-proof{gap:0;margin-top:52px;border-top:1px solid rgba(255,255,255,.22);border-bottom:1px solid rgba(255,255,255,.22);width:max-content;max-width:100%}
.contest-hero .hero-proof span{display:flex;align-items:baseline;gap:5px;padding:12px 18px;border:0;border-right:1px solid rgba(255,255,255,.2);border-radius:0;background:none}
.contest-hero .hero-proof span:first-child{padding-left:0}.contest-hero .hero-proof span:last-child{border:0}.contest-hero .hero-proof b{color:var(--amber);font:700 27px/1 "KaiTi",serif}
.mountain{position:absolute;z-index:0;left:-5%;right:-5%;bottom:-2px;height:48%;opacity:.4;clip-path:polygon(0 72%,7% 56%,13% 64%,23% 27%,34% 61%,41% 48%,49% 69%,61% 20%,69% 54%,78% 38%,88% 66%,100% 43%,100% 100%,0 100%)}
.mountain-back{background:#2d594d;transform:translateY(4%);filter:blur(1px)}.mountain-front{height:35%;background:#08231d;opacity:.72;clip-path:polygon(0 62%,9% 42%,20% 69%,33% 36%,43% 71%,55% 42%,65% 73%,77% 39%,88% 65%,100% 46%,100% 100%,0 100%)}
.mist{position:absolute;z-index:2;width:70vw;height:150px;border-radius:50%;background:rgba(236,244,238,.18);filter:blur(36px);pointer-events:none}.mist-one{left:30%;top:28%;animation:mist-drift 13s ease-in-out infinite alternate}.mist-two{left:-20%;bottom:14%;opacity:.5;animation:mist-drift 18s ease-in-out infinite alternate-reverse}
.scroll-cue{position:absolute;z-index:8;right:max(24px,calc((100% - var(--max))/2));bottom:42px;display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.72);font-size:12px;text-decoration:none;letter-spacing:.12em;writing-mode:vertical-rl}.scroll-cue i{width:1px;height:52px;background:linear-gradient(#fff,transparent);animation:scroll-line 1.8s ease-in-out infinite}
@keyframes hero-breathe{to{transform:scale(1.085)}}@keyframes mist-drift{to{transform:translateX(12vw) translateY(-20px)}}@keyframes scroll-line{50%{transform:scaleY(.55);transform-origin:bottom}}
.brand-manifesto{padding:110px 24px;text-align:center;background:var(--jade);color:#fff;overflow:hidden;position:relative}.brand-manifesto:before{content:"朱";position:absolute;right:4%;top:-55%;color:rgba(255,255,255,.035);font:700 400px/1 "KaiTi",serif}.brand-manifesto p{position:relative;margin:0 auto;max-width:1000px;font:700 clamp(28px,4.7vw,58px)/1.55 "KaiTi",serif}.brand-manifesto span{display:block;margin-top:28px;color:var(--amber);font-size:12px;letter-spacing:.25em}
.editorial-heading>div{max-width:740px}.editorial-heading>p{max-width:390px;color:var(--muted)}
.signature-stage{padding-top:120px}.dish-showcase{display:grid;grid-template-columns:1.35fr .85fr;grid-template-rows:auto auto;gap:24px 46px}.dish-visual{position:relative;grid-row:1/3;min-height:660px;overflow:hidden;border-radius:3px 50px 3px 3px;background:#20342e;box-shadow:0 30px 80px rgba(17,40,33,.2)}.dish-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,23,19,.78),transparent 50%)}.dish-visual>img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.dish-visual:hover>img{transform:scale(1.035)}.dish-visual>span{position:absolute;z-index:2;left:24px;top:24px;padding:7px 12px;color:#fff;border:1px solid rgba(255,255,255,.35);font-size:12px;letter-spacing:.12em}.dish-visual>div{position:absolute;z-index:2;left:30px;right:30px;bottom:28px;display:flex;align-items:end;justify-content:space-between;color:#fff}.dish-visual small{color:#f0d49f;letter-spacing:.16em}.dish-visual strong{font:700 34px/1 "KaiTi",serif}
.dish-selector{display:grid;align-content:start}.dish-selector button{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:12px;padding:16px 8px;border:0;border-bottom:1px solid var(--line);color:var(--muted);text-align:left;background:transparent;cursor:pointer;transition:.25s}.dish-selector button span{font-size:11px}.dish-selector button strong{font:700 20px/1.3 "KaiTi",serif}.dish-selector button i{font-style:normal;opacity:0;transform:translateX(-10px)}.dish-selector button.active,.dish-selector button:hover{padding-left:18px;color:#fff;background:var(--jade)}.dish-selector button.active i,.dish-selector button:hover i{opacity:1;transform:none}.dish-copy{padding:24px;border-top:3px solid var(--vermilion);background:var(--rice)}.dish-copy p{margin:0 0 18px;color:#374b45}.dish-copy a{color:var(--vermilion);font-weight:800}
.planner-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;padding:105px max(24px,calc((100% - var(--max))/2));color:#fff;background:var(--ink-black);background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:42px 42px}.planner-intro h2{margin:8px 0 18px;color:#fff;font:700 clamp(42px,6vw,74px)/1.05 "KaiTi",serif}.planner-intro>p:last-child{color:rgba(255,255,255,.62)}.planner-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.035);box-shadow:0 30px 90px rgba(0,0,0,.28)}.planner-controls,.planner-result{padding:36px}.planner-controls{border-right:1px solid rgba(255,255,255,.13)}.planner-controls fieldset{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 28px;padding:0;border:0}.planner-controls legend{grid-column:1/-1;margin-bottom:10px;color:var(--amber);font-size:12px;letter-spacing:.12em}.planner-controls button{padding:13px 10px;color:rgba(255,255,255,.66);border:1px solid rgba(255,255,255,.16);background:transparent;cursor:pointer}.planner-controls button.active{color:#fff;border-color:var(--vermilion);background:var(--vermilion)}.planner-result{display:flex;flex-direction:column;justify-content:center;background:var(--jade)}.planner-result small{color:var(--amber);letter-spacing:.16em}.planner-result h3{margin:10px 0;color:#fff;font:700 37px/1.2 "KaiTi",serif}.planner-result strong{line-height:1.8}.planner-result p{color:rgba(255,255,255,.67)}.planner-result a{margin-top:12px;color:#fff;font-weight:800}
.travel-preview{display:grid;grid-template-columns:.55fr 1.45fr;gap:70px;padding-top:120px;padding-bottom:120px}.travel-title{position:sticky;top:118px;align-self:start}.travel-title h2{font-size:clamp(38px,5vw,64px)}.travel-title>a{color:var(--vermilion);font-weight:800}.travel-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.travel-grid>a{min-height:300px;padding:30px;display:flex;flex-direction:column;color:var(--ink);border:1px solid var(--line);background:rgba(255,255,255,.68);text-decoration:none;transition:.3s}.travel-grid>a:hover{color:#fff;background:var(--jade);transform:translateY(-6px);box-shadow:var(--shadow)}.travel-grid span{color:var(--amber);font-weight:800}.travel-grid h3{margin:60px 0 10px;font:700 29px/1.2 "KaiTi",serif}.travel-grid p{color:var(--muted)}.travel-grid>a:hover p{color:rgba(255,255,255,.65)}.travel-grid i{margin-top:auto;font-style:normal;font-size:12px;font-weight:800}
.heritage-section{display:grid;grid-template-columns:1.1fr .9fr;min-height:760px;background:#e9e0d0}.heritage-photo{position:relative;min-height:640px;overflow:hidden}.heritage-photo img{width:100%;height:100%;object-fit:cover;filter:sepia(.14) saturate(.78)}.photo-caption{position:absolute;left:24px;bottom:24px;padding:8px 12px;color:#fff;background:rgba(8,28,23,.72);font-size:11px}.heritage-copy{padding:90px max(30px,calc((100vw - var(--max))/2)) 80px 70px}.heritage-copy h2{margin:10px 0 24px;color:var(--jade);font:700 clamp(42px,5.5vw,70px)/1.1 "KaiTi",serif}.heritage-copy>p:not(.section-kicker){color:#53625d}.timeline-mini{margin:35px 0;border-top:1px solid rgba(17,62,53,.22)}.timeline-mini article{display:grid;grid-template-columns:70px 1fr;gap:16px;padding:16px 0;border-bottom:1px solid rgba(17,62,53,.16)}.timeline-mini b{color:var(--vermilion)}.story-link{color:var(--jade);font-weight:800}
.ingredient-journey{padding:100px max(24px,calc((100% - var(--max))/2));color:#fff;background:var(--jade)}.ingredient-journey .section-heading>div{max-width:700px}.ingredient-journey h2{margin:6px 0;color:#fff;font:700 clamp(44px,7vw,80px)/1 "KaiTi",serif}.ingredient-journey .section-heading>p{max-width:380px;color:rgba(255,255,255,.58)}.journey-line{display:grid;grid-template-columns:repeat(7,auto);align-items:center;justify-content:space-between;gap:18px;margin-top:60px}.journey-line article{max-width:190px}.journey-line article>span{display:grid;place-items:center;width:62px;height:62px;margin-bottom:18px;border:1px solid rgba(255,255,255,.35);border-radius:50%;color:var(--amber);font:700 28px/1 "KaiTi",serif}.journey-line h3{margin:0 0 5px;font:700 22px/1.2 "KaiTi",serif}.journey-line p{margin:0;color:rgba(255,255,255,.58);font-size:13px}.journey-line>i{color:rgba(255,255,255,.26);font-style:normal;font-size:24px}
.reviews-section{padding-top:120px}.review-grid article{position:relative;min-height:330px;padding:35px;background:#fff;border:1px solid var(--line);border-radius:0}.review-grid article>span{color:var(--amber);font-size:12px}.review-grid blockquote{margin:55px 0 35px;color:var(--jade);font:700 24px/1.7 "KaiTi",serif}.review-grid article>p{margin-top:auto;color:var(--muted);font-size:12px}.review-grid article:after{content:"“";position:absolute;right:20px;top:5px;color:rgba(17,62,53,.06);font:700 130px/1 serif}
.knowledge-gateway{display:grid;grid-template-columns:1fr 1fr}.gateway{position:relative;min-height:540px;padding:70px;display:flex;flex-direction:column;justify-content:end;color:#fff;text-decoration:none;overflow:hidden}.gateway:before{content:"";position:absolute;inset:0;z-index:0;transition:transform .6s}.travel-gateway:before{background:linear-gradient(0deg,rgba(7,30,24,.92),rgba(7,30,24,.15)),url('/media/storefront-day.webp') center/cover}.food-gateway:before{background:linear-gradient(0deg,rgba(34,22,12,.94),rgba(34,22,12,.2)),url('/media/dish-table.webp') center/cover}.gateway:hover:before{transform:scale(1.04)}.gateway>*{position:relative}.gateway small{color:#ecd8ae;letter-spacing:.12em}.gateway h2{max-width:560px;margin:12px 0;font:700 clamp(38px,5vw,62px)/1.14 "KaiTi",serif}.gateway p{max-width:520px;color:rgba(255,255,255,.7)}.gateway span{margin-top:34px;font-weight:800}
.faq-stage{display:grid;grid-template-columns:.62fr 1.38fr;gap:80px;padding-top:120px}.faq-intro{position:sticky;top:118px;align-self:start}.faq-intro h2{font-size:clamp(42px,5vw,64px)}.faq-intro>p{color:var(--muted)}.faq-intro>a{color:var(--vermilion);font-weight:800}.faq-stage .faq-list{max-width:none}.faq-stage details{padding:0;border-top:1px solid var(--line);background:transparent;border-radius:0}.faq-stage details:last-child{border-bottom:1px solid var(--line)}.faq-stage summary{display:flex;align-items:center;gap:20px;padding:23px 4px;font-size:18px}.faq-stage summary span{color:var(--amber);font-size:11px}.faq-stage details p{padding:0 4px 24px 35px}
.article-stage{padding-top:120px;padding-bottom:120px}.article-stage .news-grid{grid-template-columns:1.25fr 1fr 1fr}.article-stage .news-grid article{min-height:330px;border:1px solid var(--line);border-radius:0;background:#fff}.article-stage .news-grid article.featured{grid-row:span 2;color:#fff;background:var(--jade)}.article-stage .news-grid article.featured small,.article-stage .news-grid article.featured time,.article-stage .news-grid article.featured p{color:rgba(255,255,255,.62)}.article-stage .news-grid article.featured h3{font-size:34px;color:#fff}.article-stage .news-grid article.featured .news-read{color:var(--amber)}
.visit-cinematic{position:relative;min-height:720px;display:grid;align-items:end;padding:100px max(24px,calc((100% - var(--max))/2));color:#fff;overflow:hidden}.visit-cinematic>img,.visit-overlay{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.visit-overlay{background:linear-gradient(90deg,rgba(4,22,18,.94),rgba(4,22,18,.4) 60%,transparent),linear-gradient(0deg,rgba(4,22,18,.7),transparent)}.visit-cinematic>div:last-child{position:relative;max-width:760px}.visit-cinematic h2{margin:8px 0 20px;font:700 clamp(56px,8vw,98px)/.98 "KaiTi",serif}.visit-cinematic p{color:rgba(255,255,255,.72)}
.contest-footer{grid-template-columns:1.3fr .7fr .7fr}.contest-footer>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:14px}.contest-footer>div:first-child p{grid-column:1/-1}.contest-footer .footer-seal{width:50px;height:50px}.contest-footer>small{grid-column:1/-1}

@media(max-width:980px){.dish-showcase{grid-template-columns:1fr}.dish-visual{grid-row:auto;min-height:540px}.planner-section,.travel-preview,.heritage-section,.faq-stage{grid-template-columns:1fr}.planner-section{gap:35px}.travel-title,.faq-intro{position:static}.heritage-copy{padding:70px 34px}.journey-line{grid-template-columns:1fr 1fr}.journey-line>i{display:none}.knowledge-gateway{grid-template-columns:1fr}.article-stage .news-grid{grid-template-columns:1fr 1fr}.article-stage .news-grid article.featured{grid-row:auto;grid-column:1/-1}.contest-footer{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.contest-hero{min-height:760px}.contest-hero .hero-content{padding:135px 0 75px}.contest-hero h1{font-size:57px}.contest-hero h1 span:last-child{margin-left:.45em}.hero-lead{font-size:15px!important}.contest-hero .hero-proof{width:100%;display:grid;grid-template-columns:1fr 1fr}.contest-hero .hero-proof span{padding:10px 8px;border-bottom:1px solid rgba(255,255,255,.18)}.contest-hero .hero-proof span:first-child{padding-left:8px}.scroll-cue{display:none}.brand-manifesto{padding:75px 20px}.brand-manifesto p{font-size:29px}.signature-stage{padding-top:80px}.dish-showcase{gap:18px}.dish-visual{min-height:460px;border-radius:2px 30px 2px 2px}.dish-selector{grid-template-columns:1fr 1fr}.dish-selector button{grid-template-columns:24px 1fr;padding:13px 8px}.dish-selector button i{display:none}.dish-selector button strong{font-size:16px}.planner-section{padding:72px 16px}.planner-card{grid-template-columns:1fr}.planner-controls{padding:24px;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.planner-result{padding:28px 24px}.travel-preview{gap:38px;padding-top:80px;padding-bottom:80px}.travel-grid{grid-template-columns:1fr}.travel-grid>a{min-height:240px}.travel-grid h3{margin-top:35px}.heritage-section{min-height:auto}.heritage-photo{min-height:420px}.heritage-copy{padding:60px 20px}.ingredient-journey{padding:72px 20px}.journey-line{grid-template-columns:1fr 1fr;gap:35px 18px}.knowledge-gateway{display:block}.gateway{min-height:470px;padding:42px 24px}.faq-stage{gap:35px}.article-stage .news-grid{grid-template-columns:1fr}.article-stage .news-grid article.featured{grid-column:auto}.visit-cinematic{min-height:640px;padding:75px 20px}.visit-cinematic h2{font-size:58px}.contest-footer{grid-template-columns:1fr}.contest-footer>small{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.contest-hero .hero-media,.mist,.scroll-cue i{animation:none!important}}

/* Theme centers */
.theme-page{min-height:100vh;color:var(--ink);background:#f8f5ed}.theme-hero{position:relative;min-height:650px;padding:32px max(24px,calc((100% - var(--max))/2)) 85px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;overflow:hidden;background:#153c34}.theme-hero:before,.theme-hero:after{content:"";position:absolute;inset:0}.travel-theme .theme-hero:before{background:linear-gradient(0deg,rgba(5,25,20,.9),rgba(5,25,20,.16)),url('/media/storefront-night.webp') center/cover}.huizhou-theme .theme-hero:before{background:linear-gradient(0deg,rgba(20,13,7,.92),rgba(20,13,7,.18)),url('/media/dish-table.webp') center/cover}.theme-hero:after{background:linear-gradient(90deg,rgba(9,31,26,.78),transparent 75%)}.theme-hero nav,.theme-hero>div{position:relative;z-index:2}.theme-hero nav{display:flex;justify-content:space-between;gap:20px}.theme-hero nav a{color:#fff;font-size:13px;font-weight:800;text-decoration:none}.theme-hero>div p{margin:0;color:#ecd19b;font-size:12px;letter-spacing:.22em}.theme-hero h1{max-width:930px;margin:12px 0;color:#fff;font:700 clamp(56px,8.6vw,108px)/.98 "KaiTi",serif}.theme-hero strong{font-size:18px;font-weight:400;letter-spacing:.08em}.theme-lead{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;width:min(var(--max),calc(100% - 40px));margin:auto;padding:95px 0;border-bottom:1px solid var(--line)}.theme-lead span{color:var(--vermilion);font:700 clamp(29px,4vw,48px)/1.35 "KaiTi",serif}.theme-lead p{margin:0;color:#52625d;font-size:18px;line-height:2}.guide-list{width:min(var(--max),calc(100% - 40px));margin:auto;padding:40px 0 110px}.guide-list article{display:grid;grid-template-columns:100px 1fr;gap:45px;padding:60px 0;border-bottom:1px solid var(--line);scroll-margin-top:90px}.guide-index{color:var(--amber);font:700 34px/1 "KaiTi",serif}.guide-list small,.lore-grid small{color:var(--vermilion);font-size:12px;font-weight:800;letter-spacing:.15em}.guide-list h2{max-width:800px;margin:8px 0 20px;color:var(--jade);font:700 clamp(32px,4.6vw,55px)/1.2 "KaiTi",serif}.guide-list p{max-width:850px;color:#53635e;font-size:17px}.guide-list ul{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:28px;padding:0;list-style:none}.guide-list li{padding:15px;background:#eee7da;font-size:13px}.lore-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;width:min(var(--max),calc(100% - 40px));margin:0 auto;padding:90px 0 110px;background:rgba(17,62,53,.14)}.lore-grid article{position:relative;min-height:410px;padding:42px;background:#f8f5ed;overflow:hidden}.lore-grid article>div{position:absolute;right:25px;top:15px;display:flex;align-items:start;gap:8px;color:rgba(17,62,53,.08)}.lore-grid article>div b{font:700 145px/1 "KaiTi",serif}.lore-grid article>div span{color:var(--amber);font-size:11px}.lore-grid h2{position:relative;max-width:470px;margin:75px 0 18px;color:var(--jade);font:700 34px/1.35 "KaiTi",serif}.lore-grid p{position:relative;max-width:540px;color:#53635e;line-height:1.9}.craft-band{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;padding:95px max(24px,calc((100% - var(--max))/2));color:#fff;background:var(--jade)}.craft-band p{color:var(--amber);font-size:12px;letter-spacing:.2em}.craft-band h2{margin:8px 0;font:700 clamp(40px,5vw,68px)/1.2 "KaiTi",serif}.craft-band ol{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:0;padding:1px;background:rgba(255,255,255,.15);list-style:none}.craft-band li{padding:28px;background:var(--jade);font-size:16px}.craft-band li span{display:block;margin-bottom:30px;color:var(--amber);font-size:11px}.theme-cta{padding:110px max(24px,calc((100% - var(--max))/2));text-align:center;background:#e8decd}.theme-cta p{color:var(--vermilion);font-size:12px;font-weight:800;letter-spacing:.1em}.theme-cta h2{max-width:900px;margin:12px auto 38px;color:var(--jade);font:700 clamp(42px,6.5vw,78px)/1.13 "KaiTi",serif}.theme-cta>div{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}.theme-cta a{padding:13px 22px;color:#fff;background:var(--jade);text-decoration:none;font-weight:800}.theme-cta a+ a{color:var(--jade);border:1px solid var(--jade);background:transparent}.mini-footer{display:flex;justify-content:space-between;gap:20px;padding:28px max(24px,calc((100% - var(--max))/2));color:rgba(255,255,255,.6);background:var(--ink-black);font-size:12px}.mini-footer a{color:#fff}
@media(max-width:760px){.theme-hero{min-height:560px;padding:24px 18px 55px}.theme-hero h1{font-size:58px}.theme-lead{grid-template-columns:1fr;gap:24px;padding:65px 0}.guide-list article{grid-template-columns:1fr;gap:16px;padding:45px 0}.guide-list ul{grid-template-columns:1fr}.lore-grid{grid-template-columns:1fr;padding:60px 0}.lore-grid article{min-height:380px;padding:28px 22px}.lore-grid h2{margin-top:70px}.craft-band{grid-template-columns:1fr;padding:65px 20px}.craft-band ol{grid-template-columns:1fr 1fr}.theme-cta{padding:70px 20px}.mini-footer{flex-direction:column}}

/* 2026 competition visual refinement: ink, mist and sunrise gold */
:root{
  --pine:#202a26;--pine-dark:#111815;--pine-soft:#edf0ec;
  --paper:#f2eee6;--paper-deep:#e7e0d5;--ink:#18201d;
  --muted:#6a706d;--cinnabar:#9a7138;--gold:#c5a064;
  --white:#fbfaf6;--line:rgba(17,24,21,.13);--ink-black:#0e1412;
  --jade:#1d2925;--jade-2:#33433d;--vermilion:#a5793f;
  --amber:#d2b176;--rice:#f3eee5;--cloud:#e8ebe7;
}
body{background:#f7f5ef;background-image:radial-gradient(circle at 20% 0,rgba(197,160,100,.07),transparent 32%)}
.site-header{background:rgba(247,245,239,.88);border-bottom-color:rgba(17,24,21,.09);backdrop-filter:blur(20px) saturate(.8)}
.brand{color:var(--ink-black)}
.brand-seal,.footer-seal{color:#efe2c8;background:var(--ink-black);border-color:rgba(197,160,100,.72);border-radius:50%;box-shadow:inset 0 0 0 3px rgba(197,160,100,.12)}
.primary-nav .nav-call{background:var(--ink-black);box-shadow:0 10px 28px rgba(17,24,21,.13)}

.contest-hero{min-height:calc(100svh - 76px);background:#0d1110}
.contest-hero .hero-media{
  background-image:url('/hero-cloudsea-v2.png');
  background-position:center center;filter:saturate(.78) contrast(1.05);
  transform:scale(1.025);animation:cloudsea-breathe 22s ease-in-out infinite alternate;
}
.contest-hero .hero-shade{z-index:1;background:linear-gradient(90deg,rgba(9,13,12,.92) 0%,rgba(9,13,12,.72) 34%,rgba(9,13,12,.16) 68%,rgba(9,13,12,.05)),linear-gradient(0deg,rgba(8,12,11,.74),transparent 50%),radial-gradient(circle at 77% 24%,rgba(223,177,93,.08),transparent 20%)}
.contest-hero .mountain{display:none}
.contest-hero .mist{z-index:3;width:92vw;height:240px;background:linear-gradient(90deg,transparent,rgba(239,241,237,.32) 28%,rgba(239,241,237,.2) 67%,transparent);filter:blur(28px);mix-blend-mode:screen;will-change:transform,opacity}
.contest-hero .mist-one{left:-44%;top:36%;opacity:.55;animation:mist-drift-premium 24s ease-in-out infinite alternate}
.contest-hero .mist-two{left:-15%;bottom:3%;height:300px;opacity:.33;animation:mist-drift-premium 33s ease-in-out infinite alternate-reverse}
.contest-hero .hero-content{z-index:5;padding-top:132px}
.contest-hero .eyebrow{color:#e1c38c}
.contest-hero h1{max-width:880px;font-size:clamp(62px,9.2vw,124px);letter-spacing:.035em;text-shadow:0 20px 60px rgba(0,0,0,.45)}
.contest-hero h1 span:last-child{margin-left:.62em;color:#f1e9dc}
.contest-hero .hero-lead{max-width:610px;color:rgba(255,255,255,.78);font-size:16px;line-height:2}
.contest-hero .button.primary{color:#151b18;background:#d1af73;box-shadow:0 18px 44px rgba(0,0,0,.2)}
.contest-hero .button.glass{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}
.contest-hero .hero-proof{border-color:rgba(255,255,255,.16)}
.contest-hero .hero-proof span{border-color:rgba(255,255,255,.13)}
.contest-hero .hero-proof b{color:#d7b777}
@keyframes cloudsea-breathe{0%{transform:scale(1.025) translate3d(0,0,0)}100%{transform:scale(1.085) translate3d(-1.2%,.4%,0)}}
@keyframes mist-drift-premium{0%{transform:translate3d(-4vw,8px,0) scaleX(.9);opacity:.23}50%{opacity:.58}100%{transform:translate3d(42vw,-24px,0) scaleX(1.18);opacity:.34}}

.brand-manifesto{color:var(--ink-black);background:#f1ede5;border-bottom:1px solid var(--line)}
.brand-manifesto:before{color:rgba(17,24,21,.035)}
.brand-manifesto span{color:#9a7138}
.signature-stage,.travel-preview,.reviews-section,.faq-stage,.article-stage{background:transparent}
.section-kicker,.eyebrow{color:#9a7138}
.section h2,.travel-title h2,.faq-intro h2{color:var(--ink-black)}
.dish-visual{background:#151d1a;box-shadow:0 34px 90px rgba(17,24,21,.16)}
.dish-selector button.active,.dish-selector button:hover{color:#fff;background:var(--ink-black)}
.dish-copy{border-top-color:#b48c51;background:#eee8dd}
.dish-copy a,.travel-title>a,.faq-intro>a{color:#8a642f}

.planner-section{position:relative;color:#f7f3eb;background:#121816;background-image:radial-gradient(circle at 10% 20%,rgba(197,160,100,.12),transparent 28%),linear-gradient(125deg,#111714,#202a26)}
.planner-section:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.26;background:linear-gradient(90deg,transparent 49.8%,rgba(255,255,255,.05) 50%,transparent 50.2%);background-size:72px 72px}
.planner-section>*{position:relative}
.planner-card{border-color:rgba(217,196,155,.24);background:rgba(255,255,255,.025);box-shadow:0 35px 90px rgba(0,0,0,.25)}
.planner-controls button.active{color:#171d1a;border-color:#d0ad70;background:#d0ad70}
.planner-result{background:#28332f;border-left:1px solid rgba(217,196,155,.18)}

.travel-grid>a{background:rgba(255,255,255,.54);border-color:rgba(17,24,21,.12)}
.travel-grid>a:hover{color:#fff;background:#202a26;box-shadow:0 28px 70px rgba(17,24,21,.17)}
.heritage-section{background:#e9e4da}
.heritage-copy h2,.story-link{color:var(--ink-black)}
.timeline-mini b{color:#9a7138}

.ingredient-journey{position:relative;color:var(--ink-black);background:#eeeae2;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ingredient-journey:before{content:"山";position:absolute;right:3%;top:-28%;color:rgba(17,24,21,.035);font:700 430px/1 KaiTi,serif}
.ingredient-journey>*{position:relative}
.ingredient-journey h2{color:var(--ink-black)}
.ingredient-journey .section-heading>p,.journey-line p{color:#69716d}
.journey-line article>span{color:#9a7138;border-color:rgba(17,24,21,.22);background:rgba(255,255,255,.35)}
.journey-line>i{color:rgba(17,24,21,.24)}

.reviews-section{color:var(--ink);background:#f7f5ef}
.reviews-section h2{color:var(--ink-black)}
.review-grid article{background:rgba(255,255,255,.72);border-color:var(--line);box-shadow:0 22px 60px rgba(17,24,21,.055)}
.review-grid blockquote{color:#27322e}
.knowledge-gateway{gap:1px;background:#d8d3c9}
.gateway{min-height:580px}
.travel-gateway:before{background:linear-gradient(0deg,rgba(12,17,15,.9),rgba(12,17,15,.08)),url('/hero-cloudsea-v2.png') center/cover}
.food-gateway:before{background:linear-gradient(0deg,rgba(21,17,12,.9),rgba(21,17,12,.1)),url('/media/dish-table.webp') center/cover;filter:saturate(.72)}
.gateway small{color:#dcc28f}
.article-stage .news-grid article.featured{background:#202a26}
.visit-overlay{background:linear-gradient(90deg,rgba(10,14,13,.94),rgba(10,14,13,.42) 58%,transparent),linear-gradient(0deg,rgba(10,14,13,.72),transparent)}
.contest-footer,.mini-footer{background:#101614}

@media(max-width:680px){
 .contest-hero .hero-media{background-position:64% center}
 .contest-hero .hero-content{padding-top:112px}
 .contest-hero h1{font-size:59px}.contest-hero h1 span:last-child{margin-left:.18em}
 .contest-hero .mist{width:150vw;filter:blur(22px)}
 .brand-manifesto{padding:72px 20px}.brand-manifesto p{font-size:28px}
 .planner-result{border-left:0;border-top:1px solid rgba(217,196,155,.18)}
 .ingredient-journey:before{font-size:250px;top:-7%}
 .gateway{min-height:510px}
}
@media(prefers-reduced-motion:reduce){.contest-hero .hero-media,.contest-hero .mist{animation:none!important}}
