:root {
  --ink: #191914;
  --ink-soft: #57564d;
  --paper: #f3ecdc;
  --paper-strong: #fbf6e9;
  --warm: #e7d7bc;
  --line: #c9bea8;
  --accent: #bd321f;
  --accent-strong: #a82a19;
  --earth: #7f5700;
  --signal: #a92d1b;
  --signal-dark: #9d2515;
  --poster-yellow: #f4d84b;
  --night: #191914;
  --night-soft: #2b2a23;
  --white: #fff;
  --primary-text: #fff;
  --danger: #9b2f37;
  --shadow: 10px 10px 0 rgb(25 25 20 / 10%);
  --radius: .2rem;
  --shell: min(1180px, calc(100% - 2rem));
  font-family: system-ui, "Segoe UI", Arial, sans-serif;
  color-scheme: light;
}

html[data-theme="dark"] {
  --ink: #f4eddd;
  --ink-soft: #c8bea9;
  --paper: #181713;
  --paper-strong: #22211b;
  --warm: #352e23;
  --line: #534b3d;
  --accent: #ff674f;
  --accent-strong: #ff826d;
  --earth: #f4c443;
  --signal: #ff674f;
  --signal-dark: #d83a22;
  --poster-yellow: #f4d84b;
  --night: #071a1f;
  --night-soft: #102e34;
  --shadow: 0 18px 60px rgb(0 0 0 / 28%);
  --primary-text: #102a2f;
  color-scheme: dark;
}

@media (prefers-color-scheme: dark) {
  html[data-theme="auto"] {
    --ink: #f4eddd;
    --ink-soft: #c8bea9;
    --paper: #181713;
    --paper-strong: #22211b;
    --warm: #352e23;
    --line: #534b3d;
    --accent: #ff674f;
    --accent-strong: #ff826d;
    --earth: #f4c443;
    --signal: #ff674f;
    --signal-dark: #d83a22;
    --poster-yellow: #f4d84b;
    --night: #071a1f;
    --night-soft: #102e34;
    --shadow: 0 18px 60px rgb(0 0 0 / 28%);
    --primary-text: #102a2f;
    color-scheme: dark;
  }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); line-height: 1.65; }
body::before { content: ""; position: fixed; inset: 0; z-index: 1000; pointer-events: none; opacity: .045; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='paper'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)' opacity='.55'/%3E%3C/svg%3E"); background-size: 190px 190px; mix-blend-mode: multiply; }
html[data-theme="dark"] body::before { opacity: .06; mix-blend-mode: soft-light; }
img { max-width: 100%; height: auto; }
a { color: var(--accent-strong); text-underline-offset: .2em; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--earth); outline-offset: 3px; }
.shell { width: var(--shell); margin-inline: auto; }
.reading { width: min(740px, calc(100% - 2rem)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 1000; padding: .7rem 1rem; background: var(--paper-strong); color: var(--ink); }
.skip-link:focus { top: 1rem; }

.site-header { position: sticky; top: 0; z-index: 100; border-bottom: 1px solid color-mix(in srgb, var(--line) 75%, transparent); background: color-mix(in srgb, var(--paper) 92%, transparent); backdrop-filter: blur(18px); }
.header-inner { min-height: 74px; display: flex; align-items: center; gap: 1.4rem; }
.brand { display: inline-flex; margin-right: auto; }
.brand img { display: block; }
html[data-theme="light"] .brand img { filter: invert(1); }
@media (prefers-color-scheme: light) {
  html[data-theme="auto"] .brand img { filter: invert(1); }
}
.main-nav { display: flex; align-items: center; gap: clamp(.7rem, 1.8vw, 1.5rem); }
.main-nav a { color: var(--ink); text-decoration: none; font-size: .91rem; font-weight: 620; }
.main-nav a:hover { color: var(--signal); }
.header-tools { display: flex; align-items: center; gap: .55rem; }
.theme-toggle, .search-link, .language-menu summary, .nav-toggle { border: 1px solid var(--line); background: var(--paper-strong); color: var(--ink); min-width: 2.4rem; height: 2.4rem; border-radius: .18rem; display: grid; place-items: center; cursor: pointer; text-decoration: none; }
.language-menu { position: relative; }
.language-menu summary { list-style: none; padding-inline: .8rem; font-size: .72rem; font-weight: 750; white-space: nowrap; }
.language-menu summary::-webkit-details-marker { display: none; }
.language-menu div { position: absolute; right: 0; top: calc(100% + .5rem); min-width: 150px; background: var(--paper-strong); border: 1px solid var(--line); border-radius: .8rem; padding: .4rem; box-shadow: var(--shadow); }
.language-menu div a { display: block; padding: .5rem .65rem; color: var(--ink); text-decoration: none; border-radius: .5rem; }
.language-menu div a:hover { background: var(--warm); }
.nav-toggle { display: none; padding: .4rem .8rem; width: auto; white-space: nowrap; }

.hero { min-height: calc(100vh - 74px); min-height: 720px; display: grid; align-items: center; overflow: hidden; position: relative; isolation: isolate; background: linear-gradient(112deg, transparent 0 72%, color-mix(in srgb, var(--signal) 11%, transparent) 72% 100%), var(--paper-strong); }
.hero::before { content: ""; position: absolute; z-index: -1; width: 46rem; height: 4.4rem; right: -11rem; top: 4.5rem; transform: rotate(-12deg); background: var(--signal); }
.hero::after { content: "MATERRA"; position: absolute; z-index: -1; right: -1.2rem; bottom: -4.2rem; color: color-mix(in srgb, var(--ink) 5%, transparent); font-size: clamp(8rem, 18vw, 17rem); font-weight: 950; line-height: 1; letter-spacing: -.09em; white-space: nowrap; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr); align-items: center; gap: clamp(2rem, 5vw, 5rem); padding-block: 4.5rem; }
.hero-copy { position: relative; z-index: 1; }
.eyebrow { margin: 0 0 .9rem; color: var(--signal); font-size: .77rem; font-weight: 900; text-transform: uppercase; letter-spacing: .17em; }
.headerlink { opacity: 0; margin-inline-start: .25em; font-size: .7em; }
h2:hover .headerlink, h3:hover .headerlink, .headerlink:focus { opacity: 1; }
.share-panel { margin-top: 4rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.share-panel h2 { font-size: 1.4rem; }
.share-status { min-height: 1.5em; color: var(--ink-soft); }
h1, h2, h3 { line-height: 1.12; letter-spacing: -.035em; text-wrap: balance; }
h1 { font-size: clamp(2.3rem, 5vw, 4.4rem); margin: 0 0 1.4rem; font-weight: 720; }
.hero h1 { max-width: 14ch; font-size: clamp(3rem, 4.65vw, 4.7rem); font-weight: 950; line-height: .92; letter-spacing: -.065em; text-transform: uppercase; }
.hero h1 .slogan-line { display: block; white-space: nowrap; }
.hero h1 .signal-line { color: var(--signal); }
h2 { font-size: clamp(1.75rem, 3vw, 3rem); margin: 0 0 1rem; font-weight: 620; }
h3 { font-size: clamp(1.25rem, 2vw, 1.7rem); }
.hero-lead, .page-lead { font-size: clamp(1.1rem, 1.8vw, 1.38rem); color: var(--ink-soft); max-width: 700px; }
.hero-lead { max-width: 62ch; padding-left: 1.1rem; border-left: .38rem solid var(--signal); }
.actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 2rem; }
.button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: .75rem 1.15rem; border-radius: .25rem; border: 2px solid transparent; font-weight: 800; text-decoration: none; cursor: pointer; }
.button.primary { background: var(--signal); color: var(--primary-text); }
.button.secondary { color: var(--ink); background: var(--paper-strong); border-color: var(--line); }
.button.ghost { color: var(--ink); border-color: transparent; }
.button.light { background: var(--white); color: #102a2f; }
.button.danger { color: var(--white); background: var(--danger); }
.button:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgb(9 53 55 / 15%); }

.hero-poster { width: min(430px, 88vw); margin: 0 auto; position: relative; border: 4px solid #191914; background: #ead9b8; box-shadow: 16px 16px 0 var(--signal); transform: rotate(1.2deg); }
.hero-poster img { width: 100%; display: block; aspect-ratio: 4 / 5; object-fit: cover; object-position: center 42%; filter: saturate(.96) contrast(1.03); }
.hero-poster-copy { position: absolute; left: -1rem; right: 1.2rem; bottom: 1.1rem; padding: .8rem 1rem .9rem; color: #fff; background: rgb(25 25 20 / 94%); border-left: .65rem solid var(--signal); transform: rotate(-2deg); }
.poster-kicker { display: block; margin-bottom: .35rem; color: var(--poster-yellow); font-size: .62rem; font-weight: 900; letter-spacing: .19em; }
.hero-poster-copy strong { display: flex; flex-wrap: wrap; gap: 0 .25em; font-size: clamp(1.9rem, 3.5vw, 3.15rem); font-weight: 950; line-height: .88; letter-spacing: -.065em; text-transform: uppercase; }
.hero-poster-copy strong span:nth-child(2) { color: var(--signal); }
.hero-poster-copy small { display: block; margin-top: .55rem; color: #f5ead6; font-size: .68rem; font-weight: 800; line-height: 1.2; text-transform: uppercase; letter-spacing: .06em; }

.section { padding-block: clamp(4.5rem, 9vw, 8.5rem); }
.section.contrast { background: var(--night); color: #ecf5f1; }
.section.contrast .eyebrow, .section.dark .eyebrow { color: var(--poster-yellow); }
.section.contrast p:not(.eyebrow), .section.dark p:not(.eyebrow) { color: #d9d0bc; }
.section.warm { background: var(--warm); }
.section.dark { background: var(--night); color: #ecf5f1; }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 8vw, 8rem); align-items: start; }
.split > div > p:first-child:not(.eyebrow) { margin-top: .2rem; }
.text-link { font-weight: 750; }
.contrast .text-link, .dark a:not(.button) { color: var(--poster-yellow); }
.card-grid { display: grid; gap: 1rem; }
.card-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.card-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.feature-card, .document-card, .article-card { position: relative; padding: clamp(1.4rem, 3vw, 2.2rem); border: 2px solid var(--ink); border-radius: var(--radius); background: var(--paper-strong); box-shadow: .45rem .45rem 0 color-mix(in srgb, var(--ink) 11%, transparent); }
.feature-card { padding: 0; overflow: hidden; }
.poster-card img { width: 100%; display: block; aspect-ratio: 3 / 2; object-fit: cover; border-bottom: 3px solid var(--ink); filter: saturate(.93) contrast(1.03); }
.poster-card-copy { padding: 1.25rem 1.35rem 1.55rem; }
.feature-card > span, .version, .status { display: inline-flex; color: var(--accent); font-size: .72rem; letter-spacing: .11em; text-transform: uppercase; font-weight: 800; }
.poster-card-copy > span { min-width: 2rem; padding: .2rem .35rem; display: inline-flex; justify-content: center; color: var(--primary-text); background: var(--signal); font-size: .72rem; font-weight: 900; letter-spacing: .11em; }
.feature-card h3, .article-card h2 { margin: 1.1rem 0 .8rem; }
.poster-card h3 { min-height: 3.35em; }
.poster-card p { margin-bottom: 0; }
.document-card { display: flex; flex-direction: column; align-items: flex-start; border-top: .55rem solid var(--signal); }
.document-card h2, .document-card h3 { margin: 1.35rem 0 .85rem; }
.document-card .plain-label { margin: 0 0 .3rem; color: var(--earth); font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.document-card .plain-summary { flex: 1; margin: 0 0 1.5rem; color: var(--ink); font-size: 1.06rem; line-height: 1.55; }
.document-card dl { width: 100%; display: grid; grid-template-columns: auto 1fr; gap: .3rem .8rem; margin: 0 0 1.5rem; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .85rem; color: var(--ink-soft); }
.document-card dd { margin: 0; }
.stretched::after { content: ""; position: absolute; inset: 0; }
.section-heading { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 2rem; }
.section-heading h2 { margin-bottom: 0; }
.newsletter-band { padding-block: 3.5rem; border-block: 1px solid var(--line); background: var(--paper-strong); }
.newsletter-band h2 { font-size: clamp(1.7rem, 3vw, 2.7rem); }
.metric strong { display: block; font-size: clamp(2.4rem, 5vw, 4.5rem); }
.metric span { color: var(--ink-soft); }

.page-hero, .document-hero { padding-block: clamp(3.5rem, 7vw, 6.5rem); border-bottom: 3px solid var(--ink); background: linear-gradient(105deg, transparent 0 78%, color-mix(in srgb, var(--signal) 22%, transparent) 78% 100%), var(--paper-strong); }
.page-hero h1, .document-hero h1 { font-size: clamp(2.3rem, 4vw, 3.75rem); hyphens: auto; overflow-wrap: break-word; }
.document-meta { display: flex; flex-wrap: wrap; gap: .65rem 1.3rem; color: var(--ink-soft); font-size: .9rem; }
.document-meta code { overflow-wrap: anywhere; }
.prose { font-size: 1.08rem; }
.prose h2 { margin-top: 2.8em; padding-left: .8rem; border-left: .35rem solid var(--signal); font-size: clamp(1.55rem, 2.4vw, 2.15rem); }
.prose h3 { margin-top: 2.2em; }
.prose p, .prose li { max-width: 70ch; }
.prose blockquote { margin: 2rem 0; padding: 1rem 0 1rem 1.5rem; border-left: 4px solid var(--accent); font-size: 1.18rem; color: var(--ink-soft); }
.prose table, table { width: 100%; border-collapse: collapse; }
.prose th, .prose td, th, td { padding: .8rem; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.principles-list { display: grid; gap: 1rem; }
.principle { display: grid; grid-template-columns: 75px 1fr; gap: 1.5rem; padding: 2rem 1rem; border-top: 2px solid var(--ink); }
.principle:nth-child(3n + 1) { background: color-mix(in srgb, var(--signal) 7%, transparent); }
.principle-number { width: 3.2rem; height: 3.2rem; display: grid; place-items: center; color: var(--primary-text); background: var(--signal); font-size: 1.1rem; font-weight: 900; font-variant-numeric: tabular-nums; transform: rotate(-3deg); }
.principle h2 { font-size: clamp(1.45rem, 2.4vw, 2.05rem); }
.thesis { font-size: 1.2rem; }
details { border-top: 1px solid var(--line); padding-block: .8rem; }
details summary { cursor: pointer; font-weight: 720; }
.faq-list details { padding-block: 1.2rem; }
.faq-list summary { font-size: 1.15rem; }

.form-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(320px, 1.2fr); gap: clamp(2rem, 7vw, 7rem); }
.panel-form { padding: clamp(1.3rem, 3vw, 2.4rem); background: var(--paper-strong); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.field { margin-bottom: 1.1rem; }
.field > label { display: block; font-weight: 700; margin-bottom: .35rem; }
.field input:not([type="checkbox"]), .field select, .field textarea, .search-form input { width: 100%; padding: .7rem .8rem; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: .6rem; }
.field textarea { min-height: 130px; resize: vertical; }
.field ul { list-style: none; padding: 0; }
.field li label { display: flex; gap: .6rem; align-items: start; font-weight: 500; }
.field.invalid input, .field.invalid textarea { border-color: var(--danger); }
.errorlist { color: var(--danger); }
.notices { padding-top: .8rem; }
.notice { padding: .9rem 1rem; border: 1px solid color-mix(in srgb, var(--accent) 50%, var(--line)); border-radius: .7rem; background: color-mix(in srgb, var(--accent) 8%, var(--paper-strong)); }
.plain-list { list-style: "✓  "; line-height: 2; }
.result-page { min-height: 58vh; padding-block: 9rem; }
.amounts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; margin-block: 1.5rem; }
.amount { padding: 1.2rem; border: 1px solid var(--line); border-radius: .8rem; background: var(--paper-strong); text-decoration: none; font-size: 1.4rem; font-weight: 750; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; margin-bottom: 1rem; }
.metric-grid > div { background: var(--paper-strong); padding: 1.5rem; }
.metric-grid span { display: block; font-size: .8rem; color: var(--ink-soft); }
.metric-grid strong { display: block; margin-top: .4rem; font-size: 1.4rem; }
.table-wrap { overflow-x: auto; }
.empty-state { padding: 3rem; border: 1px dashed var(--line); border-radius: var(--radius); text-align: center; }
.search-form label { display: block; margin-bottom: .7rem; font-weight: 700; }
.search-form > div { display: flex; gap: .7rem; }
.search-results article { padding-block: 1.6rem; border-bottom: 1px solid var(--line); }
.search-results h2 { margin: .4rem 0; font-size: 1.5rem; }

.discussion-hero { overflow: hidden; }
.discussion-promise { align-self: center; padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); background: color-mix(in srgb, var(--accent) 7%, var(--paper)); }
.discussion-promise strong { display: block; margin-bottom: .4rem; color: var(--accent-strong); font-size: 1.08rem; }
.discussion-promise p { margin: 0; color: var(--ink-soft); }
.discussion-layout { display: grid; grid-template-columns: minmax(230px, .34fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.room-sidebar { position: sticky; top: 100px; }
.room-list { display: grid; gap: .65rem; }
.room-list a { display: block; padding: 1rem; border: 1px solid var(--line); border-radius: .9rem; color: var(--ink); background: var(--paper-strong); text-decoration: none; }
.room-list a:hover { border-color: var(--accent); transform: translateX(2px); }
.room-list a.active { border-color: var(--accent-strong); background: color-mix(in srgb, var(--accent) 10%, var(--paper-strong)); box-shadow: inset 4px 0 0 var(--accent); }
.room-list strong { display: block; margin-bottom: .25rem; }
.room-list span { display: block; color: var(--ink-soft); font-size: .86rem; line-height: 1.45; }
.discussion-main { min-width: 0; }
.room-header { padding-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.room-header h2 { font-size: clamp(1.8rem, 3vw, 2.65rem); }
.room-header > p:last-child { max-width: 68ch; color: var(--ink-soft); font-size: 1.08rem; }
.community-note { margin-block: 1.5rem 2.5rem; padding: 1.1rem 1.25rem; border-left: 4px solid var(--earth); border-radius: 0 .8rem .8rem 0; background: color-mix(in srgb, var(--earth) 10%, var(--paper-strong)); }
.community-note strong { display: block; margin-bottom: .25rem; }
.community-note p { margin: 0; color: var(--ink-soft); }
.comment-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1rem; }
.comment-heading h3 { margin: 0; font-size: 1.5rem; }
.comment-heading span { display: grid; min-width: 2rem; height: 2rem; place-items: center; border-radius: 99px; color: var(--primary-text); background: var(--accent-strong); font-size: .82rem; font-weight: 800; }
.comment-stream { display: grid; gap: .85rem; }
.comment { padding: 1.15rem 1.25rem; border: 1px solid var(--line); border-radius: 1rem; background: var(--paper-strong); }
.comment header { display: flex; gap: .8rem; align-items: center; }
.comment header > div { min-width: 0; }
.comment header strong { overflow-wrap: anywhere; }
.comment-avatar { display: grid; width: 2.35rem; height: 2.35rem; flex: 0 0 auto; place-items: center; border-radius: 50%; color: var(--primary-text); background: var(--accent-strong); font-weight: 850; }
.comment header strong, .comment header time { display: block; }
.comment header time { color: var(--ink-soft); font-size: .78rem; }
.comment > p { margin: .8rem 0 0 3.15rem; overflow-wrap: anywhere; }
.comment-compose { display: grid; grid-template-columns: minmax(180px, .45fr) minmax(0, 1fr); gap: 1.5rem; align-items: start; margin-top: 3rem; padding-top: 3rem; border-top: 1px solid var(--line); }
.comment-compose h3 { margin: 0 0 .5rem; }
.comment-compose > div > p:last-child { color: var(--ink-soft); }

.site-footer { padding: 4rem 0 1.5rem; background: var(--night); color: #b9cbc7; }
.site-footer a { color: #dce9e5; text-decoration: none; }
.footer-grid { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 3rem; }
.footer-grid nav { display: flex; flex-direction: column; gap: .55rem; }
.footer-grid strong { color: #fff; margin-bottom: .4rem; }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; border-top: 1px solid #29464d; margin-top: 3rem; padding-top: 1.3rem; font-size: .78rem; }

@media (max-width: 920px) {
  .main-nav { display: none; position: absolute; top: 74px; left: 0; right: 0; padding: 1rem max(1rem, calc((100vw - 1180px) / 2)); flex-direction: column; align-items: start; background: var(--paper-strong); border-bottom: 1px solid var(--line); }
  .main-nav.open { display: flex; }
  .nav-toggle { display: grid; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-poster { width: min(420px, 82vw); }
  .card-grid.three { grid-template-columns: 1fr; }
  .poster-card h3 { min-height: 0; }
  .metric-grid { grid-template-columns: repeat(2, 1fr); }
  .discussion-layout { grid-template-columns: 1fr; }
  .room-sidebar { position: static; }
  .room-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  :root { --shell: min(100% - 1.25rem, 1180px); }
  .site-header .brand img { width: 135px; }
  .header-inner { gap: .5rem; }
  .search-link { display: none; }
  .hero { min-height: auto; }
  .hero::before { width: 18rem; height: 1.6rem; right: -4rem; top: 1.1rem; transform: rotate(-9deg); }
  .hero-grid { padding-block: 4rem; }
  .hero h1 { font-size: clamp(2.15rem, 9.8vw, 3rem); }
  .hero h1 .slogan-line { white-space: normal; }
  .hero-poster { width: min(330px, 82vw); box-shadow: 10px 10px 0 var(--signal); transform: rotate(.6deg); }
  .hero-poster-copy { left: -.65rem; right: .65rem; bottom: .7rem; }
  .hero-poster-copy strong { font-size: clamp(1.75rem, 8.6vw, 2.4rem); }
  html[lang="zh-hans"] .hero h1 { font-size: clamp(1.85rem, 8.5vw, 2.6rem); }
  .split, .form-layout, .card-grid.two, .footer-grid { grid-template-columns: 1fr; }
  .section-heading, .footer-bottom { align-items: start; flex-direction: column; }
  .principle { grid-template-columns: 1fr; gap: .2rem; }
  .metric-grid, .amounts { grid-template-columns: 1fr; }
  .room-list, .comment-compose { grid-template-columns: 1fr; }
  .comment > p { margin-left: 0; }
  .page-hero, .document-hero { padding-block: 3.2rem; }
  .page-hero h1, .document-hero h1 { font-size: clamp(2rem, 9.5vw, 2.65rem); }
}

html[lang="zh-hans"] body { font-family: "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", system-ui, sans-serif; line-height: 1.78; }
html[lang="zh-hans"] h1, html[lang="zh-hans"] h2, html[lang="zh-hans"] h3 { letter-spacing: -.015em; line-height: 1.22; }
html[lang="zh-hans"] .hero h1 { text-wrap: wrap; word-break: keep-all; overflow-wrap: normal; }
html[lang="zh-hans"] .hero-poster-copy strong { gap: 0 .4em; letter-spacing: .02em; line-height: 1.05; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

@media print {
  .site-header, .site-footer, .actions, .newsletter-band, body::before { display: none !important; }
  body { background: #fff; color: #000; }
  .document-hero { padding-block: 2rem; }
  .section { padding-block: 1rem; }
  .reading { width: 100%; }
  a { color: #000; }
}
