/* Dragon Loong — Eastern ink-wash brush aesthetic */
:root {
  --rice: #f6f1e6;
  --rice-2: #efe7d3;
  --ink: #1c1c1c;
  --ink-soft: #4a4540;
  --vermillion: #b6322a;
  --gold: #b08a3b;
}
* { box-sizing: border-box; }
html, body {
  margin: 0; padding: 0;
  background: var(--rice);
  color: var(--ink);
  font-family: 'Noto Serif SC', 'Songti SC', 'Source Han Serif', 'Cormorant Garamond', serif;
  font-size: 17px; line-height: 1.85;
  background-image: radial-gradient(ellipse at 80% 10%, rgba(28,28,28,0.04), transparent 50%),
                    radial-gradient(ellipse at 10% 80%, rgba(182,50,42,0.04), transparent 50%);
  -webkit-font-smoothing: antialiased;
}
a { color: var(--vermillion); text-decoration: none; }
a:hover { color: var(--ink); }
.wrap { max-width: 920px; margin: 0 auto; padding: 0 32px; }
.wrap-narrow { max-width: 680px; margin: 0 auto; padding: 0 32px; }

/* Masthead — vertical stroke + seal */
header.masthead { padding: 56px 0 32px; }
.brand-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.brand-stroke { display: flex; align-items: center; gap: 18px; }
.brand-seal {
  width: 56px; height: 56px; background: var(--vermillion); color: var(--rice);
  display: flex; align-items: center; justify-content: center;
  font-family: 'Noto Serif SC', serif; font-weight: 700; font-size: 26px;
  letter-spacing: -0.05em;
}
.brand-name { font-family: 'Cormorant Garamond', serif; font-weight: 500; font-size: 22px; letter-spacing: 0.06em; }
.brand-name .zh { font-family: 'Noto Serif SC', serif; font-weight: 600; margin-right: 8px; }
nav.nav-line a { margin-left: 28px; font-size: 14px; color: var(--ink-soft); letter-spacing: 0.18em; text-transform: uppercase; }
nav.nav-line a:hover { color: var(--vermillion); }

/* Hero — vertical poetry layout */
.hero { padding: 80px 0 96px; text-align: center; position: relative; }
.hero .ink-splatter {
  position: absolute; top: 0; left: 50%; transform: translateX(-50%) translateY(-30%);
  width: 320px; height: 320px; pointer-events: none; opacity: 0.08;
  background: radial-gradient(circle at 50% 50%, var(--ink) 0%, transparent 60%);
  filter: blur(8px);
}
.hero h1 {
  font-family: 'Noto Serif SC', 'Cormorant Garamond', serif;
  font-weight: 500;
  font-size: clamp(48px, 7vw, 88px);
  margin: 0 0 24px; line-height: 1.1; letter-spacing: 0.04em;
  position: relative; z-index: 1;
}
.hero h1 .lift { color: var(--vermillion); font-style: italic; }
.hero .sub { font-family: 'Cormorant Garamond', serif; font-style: italic; font-size: 22px; color: var(--ink-soft); margin: 0 0 32px; }
.hero p.lead { max-width: 540px; margin: 0 auto; font-size: 18px; color: var(--ink-soft); }

/* Section */
section { padding: 80px 0; }
section.divider { border-top: 1px solid rgba(28,28,28,0.18); }
.section-mark { text-align: center; font-family: 'Noto Serif SC', serif; color: var(--gold); font-size: 14px; letter-spacing: 0.5em; margin-bottom: 16px; }
section h2 { font-family: 'Noto Serif SC', 'Cormorant Garamond', serif; text-align: center; font-size: clamp(32px, 4.5vw, 56px); font-weight: 500; margin: 0 0 24px; line-height: 1.2; }
section p.section-sub { text-align: center; font-style: italic; font-family: 'Cormorant Garamond', serif; color: var(--ink-soft); font-size: 19px; max-width: 540px; margin: 0 auto 56px; }

/* Coming-soon placard */
.placard { background: var(--rice-2); border: 1px solid rgba(28,28,28,0.14); border-radius: 4px; padding: 64px 40px; text-align: center; }
.placard .seal-stamp {
  display: inline-block; width: 92px; height: 92px; background: var(--vermillion); color: var(--rice);
  font-family: 'Noto Serif SC'; font-weight: 600; font-size: 18px; letter-spacing: 0.1em;
  display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
  margin-bottom: 24px; line-height: 1.1;
}
.placard h3 { font-family: 'Noto Serif SC', serif; font-size: 28px; font-weight: 500; margin: 0 0 8px; }
.placard p { font-family: 'Cormorant Garamond', serif; font-style: italic; color: var(--ink-soft); font-size: 18px; margin: 0; }

/* Manifesto vertical text */
.manifesto { background: var(--ink); color: var(--rice); padding: 80px 56px; text-align: center; }
.manifesto p { font-family: 'Noto Serif SC', serif; font-size: 24px; line-height: 1.6; letter-spacing: 0.1em; margin: 0 0 1em; }
.manifesto p:last-child { margin-bottom: 0; }
.manifesto .dot { display: inline-block; width: 6px; height: 6px; background: var(--vermillion); border-radius: 50%; margin: 0 12px; vertical-align: middle; }

/* Contact */
.contact-block { text-align: center; padding: 40px 0; }
.contact-block .mail-line { font-family: 'Cormorant Garamond', serif; font-size: 24px; font-style: italic; }

footer.foot { padding: 56px 0; text-align: center; color: var(--ink-soft); font-size: 14px; border-top: 1px solid rgba(28,28,28,0.12); }
footer.foot .seal { color: var(--vermillion); margin: 0 8px; }
footer.foot a { margin: 0 8px; }

/* Legal */
.legal-page { padding: 32px 0 96px; }
.legal-page .legal-mark { text-align: center; font-family: 'Noto Serif SC', serif; color: var(--gold); font-size: 13px; letter-spacing: 0.5em; margin-bottom: 16px; text-transform: uppercase; }
.legal-page h1 { text-align: center; font-family: 'Noto Serif SC', 'Cormorant Garamond', serif; font-size: clamp(40px, 6vw, 64px); font-weight: 500; margin: 0 0 16px; letter-spacing: 0.04em; }
.legal-page .back-link { display: block; text-align: center; font-style: italic; font-family: 'Cormorant Garamond', serif; font-size: 16px; margin-bottom: 56px; }
.legal-page .legal-body { font-size: 16px; line-height: 1.85; color: var(--ink-soft); border-top: 1px solid rgba(28,28,28,0.18); padding-top: 32px; }
.legal-page .legal-body h2, .legal-page .legal-body h3, .legal-page .legal-body h4 { font-family: 'Noto Serif SC', serif; color: var(--ink); font-weight: 600; margin: 2em 0 0.6em; letter-spacing: 0.04em; }
.legal-page .legal-body h2 { font-size: 26px; }
.legal-page .legal-body h3 { font-size: 21px; }
.legal-page .legal-body h4 { font-size: 18px; }
.legal-page .legal-body p { margin: 0 0 1em; }
.legal-page .legal-body strong { color: var(--ink); }
.legal-page .legal-body a { border-bottom: 1px solid var(--vermillion); }
.legal-page .legal-body ul, .legal-page .legal-body ol { padding-left: 1.6em; margin: 0 0 1em; }
.legal-page .legal-body li { margin-bottom: 0.4em; }
.legal-page .legal-body table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: 14px; }
.legal-page .legal-body th, .legal-page .legal-body td { border: 1px solid rgba(28,28,28,0.2); padding: 10px 14px; vertical-align: top; text-align: left; }
.legal-page .legal-body th { background: var(--rice-2); font-family: 'Noto Serif SC', serif; font-weight: 600; }
