:root {
    --red: #B93A32;
    --red-dark: #8F2D28;
    --amber: #D98A3A;
    --ink: #252322;
    --text: #3B3836;
    --muted: #77716D;
    --paper: #FAF8F5;
    --soft: #F2EDE7;
    --accent: #E05A3F;
    --white: #ffffff;
    --line: #dfd7cf;
    --shadow: 0 14px 34px rgba(37,35,34,.08);
    --radius-lg: 28px;
    --radius-md: 18px;
    --radius-sm: 12px;
    --shell: min(1180px, calc(100% - 40px));
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: var(--paper);
    color: var(--text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
    line-height: 1.7;
    text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
.shell { width: var(--shell); margin-inline: auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position: fixed; top: 12px; left: 12px; z-index: 200; padding: 10px 14px; background: var(--ink); color: white; transform: translateY(-150%); border-radius: 8px; }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid rgba(224,90,63,.45); outline-offset: 3px; }
.site-header { position: sticky; top: 0; z-index: 100; backdrop-filter: blur(16px); background: rgba(250,248,245,.92); border-bottom: 1px solid rgba(223,215,207,.82); }
.header-shell { width: var(--shell); margin-inline: auto; min-height: 78px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand-lockup { display:flex; align-items:center; gap:12px; min-width: 220px; }
.brand-lockup img { width: 48px; height:48px; object-fit:contain; border-radius: 12px; }
.brand-lockup span { display:grid; line-height:1.2; }
.brand-lockup strong { color:var(--ink); font-size:1.06rem; letter-spacing:.02em; }
.brand-lockup small { color:var(--muted); margin-top:4px; font-size:.76rem; }
.primary-nav { display:flex; align-items:center; gap:6px; }
.primary-nav a { padding:10px 14px; border-radius: 999px; color: #514d4a; font-size:.94rem; transition:.2s ease; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { background: var(--soft); color:var(--red-dark); }
.menu-toggle { display:none; background:none; border:0; width:44px; height:44px; padding:9px; }
.menu-toggle span:not(.sr-only) { display:block; height:2px; background:var(--ink); margin:5px 0; border-radius:2px; }
.hero { padding: 52px 0 34px; background: linear-gradient(180deg, #fbf8f4 0%, #f5eee8 100%); border-bottom:1px solid var(--line); }
.hero__content { display:grid; grid-template-columns: 1.05fr .95fr; gap:64px; align-items:center; }
.eyebrow { margin:0 0 10px; color:var(--red); text-transform:uppercase; font-weight:800; letter-spacing:.09em; font-size:.78rem; }
.hero h1, .page-hero h1, .article-header h1, .error-box h1 { margin:0; color:var(--ink); font-weight:850; letter-spacing:-.035em; line-height:1.08; }
.hero h1 { font-size:clamp(2.5rem, 6vw, 5.2rem); max-width: 8.5em; }
.hero__lede { font-size:1.08rem; max-width: 710px; color:#514d49; margin:22px 0 0; }
.hero__actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding: 0 18px; border-radius:12px; font-weight:800; transition:transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform:translateY(-2px); }
.button--primary { background:var(--red); color:white; box-shadow:0 10px 24px rgba(185,58,50,.2); }
.button--primary:hover { background:var(--red-dark); }
.button--ghost { background:transparent; border:1px solid #c9bdb4; color:var(--ink); }
.button--light { background:white; color:var(--red-dark); }
.hero__facts { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.hero__facts span { font-size:.84rem; color:var(--muted); padding:6px 9px; border-left:3px solid var(--amber); background:rgba(255,255,255,.55); }
.hero__visual { margin:0; position:relative; }
.hero__visual img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius: var(--radius-lg); box-shadow: var(--shadow); }
.hero__visual figcaption { position:absolute; left:22px; right:22px; bottom:18px; padding:12px 14px; background:rgba(37,35,34,.82); color:white; border-radius:12px; font-size:.9rem; backdrop-filter:blur(8px); }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:24px; }
.section-heading.compact { margin-bottom:18px; }
.section-heading h2, .stream h2, .service-band h2, .aside-card h2, .detail-row h2, .checklist-panel h2, .submission-map h2, .privacy-callout h2 { margin:0; color:var(--ink); line-height:1.2; letter-spacing:-.02em; }
.section-heading h2 { font-size:clamp(1.8rem,3vw,2.7rem); }
.text-link { display:inline-flex; align-items:center; gap:8px; color:var(--red-dark); font-weight:800; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform:translateX(4px); }
.latest { padding:72px 0; }
.feature-grid { display:grid; grid-template-columns:repeat(12,1fr); gap:20px; }
.story-card { background:white; border:1px solid #e8e0d8; border-radius:var(--radius-md); overflow:hidden; min-width:0; box-shadow:0 8px 20px rgba(37,35,34,.04); }
.feature-grid .story-card:nth-child(1), .feature-grid .story-card:nth-child(2) { grid-column:span 6; }
.feature-grid .story-card:nth-child(n+3) { grid-column:span 4; }
.story-card__image { display:block; overflow:hidden; background:var(--soft); }
.story-card__image img { width:100%; aspect-ratio:16/9; object-fit:cover; transition: transform .35s ease; }
.story-card:hover .story-card__image img { transform:scale(1.025); }
.story-card__body { padding:18px 18px 20px; }
.story-card__meta, .feed-row__meta { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--muted); font-size:.78rem; }
.topic-pill { display:inline-flex; align-items:center; width:max-content; border-radius:999px; padding:4px 9px; background:#f6e5dc; color:var(--red-dark); font-weight:800; }
.story-card h3 { margin:14px 0 8px; font-size:1.25rem; line-height:1.35; color:var(--ink); }
.story-card h3 a:hover, .feed-row h3 a:hover, .related-list a:hover { color:var(--red); }
.story-card p { margin:0 0 14px; color:#5c5753; }
.topic-strip { padding:64px 0; background:var(--soft); border-block:1px solid var(--line); }
.topic-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.topic-panel { display:grid; grid-template-columns:180px 1fr; min-height:160px; background:white; border-radius:var(--radius-md); overflow:hidden; border:1px solid #e4dbd3; }
.topic-panel img { width:100%; height:100%; object-fit:cover; }
.topic-panel div { padding:20px; }
.topic-panel h3 { margin:0 0 7px; color:var(--ink); font-size:1.18rem; }
.topic-panel p { margin:0 0 8px; color:var(--muted); font-size:.92rem; }
.topic-panel span { color:var(--red-dark); font-weight:800; font-size:.88rem; }
.stream { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:44px; padding:72px 0; align-items:start; }
.list-feed { border-top:1px solid var(--line); }
.feed-row { display:grid; grid-template-columns:220px 1fr; gap:22px; padding:24px 0; border-bottom:1px solid var(--line); }
.feed-row img { width:100%; aspect-ratio:5/3; object-fit:cover; border-radius:14px; }
.feed-row h3 { margin:6px 0 6px; color:var(--ink); font-size:1.18rem; line-height:1.35; }
.feed-row p { margin:0; color:var(--muted); }
.feed-row__meta { justify-content:flex-start; gap:14px; }
.feed-row__meta span { color:var(--red-dark); font-weight:800; }
.aside-card { background:white; border:1px solid #e5ddd6; border-radius:18px; padding:22px; }
.aside-card h2 { font-size:1.32rem; margin-bottom:12px; }
.aside-card p { color:var(--muted); }
.sticky-card { position:sticky; top:102px; }
.service-band { background:var(--red); color:white; padding:58px 0; }
.service-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.service-grid article { padding:28px; border:1px solid rgba(255,255,255,.25); border-radius:22px; background:rgba(255,255,255,.06); }
.service-kicker { display:inline-block; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; font-weight:800; color:#ffe0c0; }
.service-band h2 { color:white; font-size:1.75rem; margin-top:10px; }
.service-band p { color:#f8e7e4; }
.site-footer { background:var(--ink); color:#d9d3ce; padding:44px 0; }
.footer-shell { width:var(--shell); margin:auto; display:grid; grid-template-columns:1fr auto; gap:22px 40px; align-items:start; }
.footer-brand { color:white; font-weight:850; font-size:1.3rem; }
.footer-shell p { max-width:650px; margin:8px 0 0; }
.footer-links { display:flex; flex-wrap:wrap; gap:14px 18px; justify-content:flex-end; }
.footer-links a:hover { color:white; }
.footer-note { grid-column:1/-1; padding-top:22px; border-top:1px solid #47413e; font-size:.86rem; color:#a9a19b; }
.subpage { padding:32px 0 70px; }
.breadcrumbs { margin:2px 0 24px; }
.breadcrumbs ol { display:flex; flex-wrap:wrap; gap:8px; list-style:none; padding:0; margin:0; color:var(--muted); font-size:.85rem; }
.breadcrumbs li:not(:last-child)::after { content:'›'; margin-left:8px; color:#aaa19a; }
.breadcrumbs a:hover { color:var(--red-dark); }
.page-hero { margin-bottom:34px; }
.page-hero--split { display:grid; grid-template-columns:1fr 420px; gap:42px; align-items:center; padding:34px; background:white; border:1px solid #e8e0d8; border-radius:var(--radius-lg); }
.page-hero h1 { font-size:clamp(2.2rem,4vw,4rem); }
.page-hero p { max-width:720px; color:var(--muted); font-size:1.02rem; }
.page-hero img { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:18px; }
.topic-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:18px; }
.topic-tabs a { padding:9px 14px; border-radius:999px; border:1px solid var(--line); background:white; color:#5e5955; }
.topic-tabs a[aria-current="page"] { background:var(--ink); border-color:var(--ink); color:white; }
.filter-box { display:grid; grid-template-columns:auto minmax(240px, 420px); gap:16px; align-items:center; justify-content:space-between; margin:20px 0 26px; padding:16px 18px; background:var(--soft); border-radius:14px; }
.filter-box label { font-weight:800; color:var(--ink); }
.filter-box input { width:100%; min-height:44px; border:1px solid #cfc4bb; border-radius:10px; padding:0 12px; background:white; color:var(--text); }
.archive-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.archive-grid > div, .archive-grid .story-card { height:100%; }
.empty-state { text-align:center; padding:48px 20px; background:white; border:1px dashed var(--line); border-radius:16px; color:var(--muted); }
.article-page { padding:26px 0 70px; }
.article-shell { max-width:1180px; }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:50px; align-items:start; }
.article-header h1 { font-size:clamp(2.25rem,5vw,4.7rem); max-width: 12em; margin-top:14px; }
.article-deck { font-size:1.15rem; color:#5c5753; max-width:800px; margin:18px 0; }
.article-meta { display:flex; flex-wrap:wrap; gap:12px 20px; color:var(--muted); font-size:.88rem; }
.article-meta button { border:0; background:transparent; padding:0; color:var(--red-dark); font-weight:800; }
.article-cover { margin:30px 0; }
.article-cover img { width:100%; aspect-ratio:5/3; object-fit:cover; border-radius:24px; }
.article-content { max-width:780px; }
.article-content p { font-size:1.08rem; line-height:1.95; margin:0 0 1.35em; }
.article-content h2 { font-size:1.65rem; color:var(--ink); margin:2.3em 0 .75em; line-height:1.3; }
.article-endnote { margin-top:32px; padding:18px 20px; background:var(--soft); border-left:4px solid var(--amber); border-radius:0 12px 12px 0; }
.related-list { list-style:none; padding:0; margin:16px 0 20px; }
.related-list li { padding:12px 0; border-top:1px solid var(--line); }
.info-intro { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin:26px 0 42px; }
.notice-card { background:white; border:1px solid var(--line); border-radius:16px; padding:22px; }
.notice-card strong { color:var(--red-dark); }
.notice-card p { margin:8px 0 0; color:var(--muted); }
.detail-stack { border-top:1px solid var(--line); }
.detail-row { display:grid; grid-template-columns:80px 1fr; gap:20px; padding:28px 0; border-bottom:1px solid var(--line); }
.detail-row > span { color:var(--amber); font-weight:900; font-size:1.45rem; letter-spacing:.06em; }
.detail-row h2 { font-size:1.45rem; }
.detail-row p { margin:10px 0 0; max-width:900px; color:#5e5955; }
.checklist-panel { margin-top:42px; padding:30px; background:var(--ink); color:white; border-radius:24px; display:grid; grid-template-columns:.9fr 1.1fr; gap:34px; }
.checklist-panel h2 { color:white; font-size:2rem; }
.checklist-panel ul { margin:0; padding:0; list-style:none; display:grid; gap:10px; }
.checklist-panel li { padding:11px 12px 11px 38px; position:relative; background:rgba(255,255,255,.06); border-radius:10px; }
.checklist-panel li::before { content:'✓'; position:absolute; left:14px; color:#f4b56a; font-weight:900; }
.submission-map { display:grid; grid-template-columns:.8fr 1.2fr; gap:36px; padding:28px 0 42px; }
.submission-map h2 { font-size:2rem; }
.submission-map ol { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.submission-map li { background:white; border:1px solid var(--line); padding:18px; border-radius:14px; }
.submission-map strong, .submission-map span { display:block; }
.submission-map strong { color:var(--ink); margin-bottom:6px; }
.submission-map span { color:var(--muted); font-size:.92rem; }
.privacy-callout { display:grid; grid-template-columns:420px 1fr; gap:34px; align-items:center; margin-top:44px; padding:28px; background:var(--soft); border-radius:24px; }
.privacy-callout img { width:100%; aspect-ratio:14/9; object-fit:cover; border-radius:16px; }
.privacy-callout h2 { font-size:2rem; }
.error-page { min-height:60vh; display:grid; align-items:center; padding:60px 0; }
.error-box { max-width:760px; }
.error-code { color:var(--amber); font-size:1.2rem; font-weight:900; letter-spacing:.14em; }
.error-box h1 { font-size:clamp(2.4rem,6vw,5rem); }
.error-box > p:not(.error-code) { color:var(--muted); font-size:1.08rem; max-width:640px; }
@media (max-width: 980px) {
    :root { --shell: min(100% - 30px, 920px); }
    .hero__content, .page-hero--split, .article-layout, .stream, .privacy-callout { grid-template-columns:1fr; }
    .hero__copy { order:1; }
    .hero__visual { order:2; }
    .hero h1 { max-width: 10em; }
    .page-hero--split img { max-height:360px; }
    .feature-grid .story-card:nth-child(n) { grid-column:span 6; }
    .archive-grid { grid-template-columns:repeat(2,1fr); }
    .stream__aside, .article-aside { display:none; }
    .checklist-panel, .submission-map { grid-template-columns:1fr; }
    .privacy-callout img { max-height:360px; }
}
@media (max-width: 760px) {
    .header-shell { min-height:68px; }
    .brand-lockup { min-width:0; }
    .brand-lockup img { width:42px; height:42px; }
    .brand-lockup small { display:none; }
    .menu-toggle { display:block; }
    .primary-nav { position:fixed; top:68px; left:15px; right:15px; display:grid; gap:4px; padding:12px; background:var(--paper); border:1px solid var(--line); border-radius:14px; box-shadow:var(--shadow); transform:translateY(-12px); opacity:0; pointer-events:none; transition:.2s ease; }
    .primary-nav.is-open { transform:translateY(0); opacity:1; pointer-events:auto; }
    .primary-nav a { padding:12px 14px; border-radius:10px; }
    .hero { padding-top:34px; }
    .hero__content { gap:30px; }
    .hero h1 { font-size:clamp(2.4rem,12vw,4rem); }
    .hero__visual figcaption { position:static; margin-top:10px; background:transparent; color:var(--muted); padding:0; }
    .latest, .stream { padding:50px 0; }
    .section-heading { align-items:start; flex-direction:column; }
    .feature-grid { display:grid; grid-template-columns:1fr; }
    .feature-grid .story-card:nth-child(n) { grid-column:auto; }
    .topic-grid, .service-grid, .info-intro, .archive-grid { grid-template-columns:1fr; }
    .topic-panel { grid-template-columns:120px 1fr; }
    .feed-row { grid-template-columns:1fr; gap:12px; }
    .feed-row img { aspect-ratio:16/9; }
    .footer-shell { grid-template-columns:1fr; }
    .footer-links { justify-content:flex-start; }
    .footer-note { grid-column:auto; }
    .page-hero--split { padding:24px; gap:24px; }
    .filter-box { grid-template-columns:1fr; }
    .article-header h1 { font-size:clamp(2.2rem,11vw,3.8rem); }
    .article-content p { font-size:1rem; line-height:1.86; }
    .detail-row { grid-template-columns:52px 1fr; }
    .submission-map ol { grid-template-columns:1fr; }
    .checklist-panel, .privacy-callout { padding:22px; }
}
@media (max-width: 520px) {
    :root { --shell: calc(100% - 22px); }
    .hero__actions .button { width:100%; }
    .topic-panel { grid-template-columns:1fr; }
    .topic-panel img { aspect-ratio:16/8; }
    .page-hero--split { padding:18px; border-radius:18px; }
    .detail-row { grid-template-columns:1fr; gap:8px; }
    .detail-row > span { font-size:1rem; }
    .checklist-panel h2, .privacy-callout h2, .submission-map h2 { font-size:1.6rem; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
.quick-guide-section { margin-top:64px; padding-top:44px; border-top:1px solid var(--line); }
.quick-guide-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
.quick-guide-card { background:white; border:1px solid var(--line); border-radius:16px; padding:22px; }
.quick-guide-card h3 { margin:0 0 10px; color:var(--ink); font-size:1.12rem; line-height:1.4; }
.quick-guide-card p { margin:0; color:#5e5955; }
.quick-guide-card .quick-guide-extra { margin-top:10px; padding-top:10px; border-top:1px dashed var(--line); color:var(--muted); font-size:.92rem; }
@media (max-width:760px) { .quick-guide-grid { grid-template-columns:1fr; } }
