:root {
  --bg: #f4f1e8;
  --paper: #fbfaf5;
  --ink: #1d251f;
  --muted: #667067;
  --line: #d8d8cc;
  --accent: #2d5a45;
  --accent-soft: #dce7df;
  --warm: #d97950;
  --max: 1160px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; }
a { color: inherit; }
.page-shell { width: min(calc(100% - 36px), var(--max)); margin: 0 auto; }
.site-header { min-height: 90px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; font-weight: 750; letter-spacing: -0.02em; }
.brand-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--ink); color: var(--paper); font-size: 11px; letter-spacing: 0.06em; }
.site-nav { display: flex; align-items: center; gap: 24px; }
.site-nav a, .footer-links a, .text-link { text-decoration: none; border-bottom: 1px solid transparent; }
.site-nav a:hover, .footer-links a:hover, .text-link:hover { border-color: currentColor; }
.hero { padding: 110px 0 96px; max-width: 940px; }
.eyebrow { margin: 0 0 20px; color: var(--accent); font-size: 12px; font-weight: 800; letter-spacing: 0.16em; }
.hero h1, .policy-header h1 { margin: 0; max-width: 920px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(58px, 9vw, 118px); line-height: 0.92; letter-spacing: -0.055em; font-weight: 500; }
.hero h1 em { color: var(--warm); font-weight: 500; }
.hero-copy { max-width: 760px; margin: 38px 0 0; font-size: clamp(20px, 2.2vw, 28px); line-height: 1.45; letter-spacing: -0.025em; }
.hero-actions { margin-top: 40px; display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.status-pill { display: inline-flex; align-items: center; padding: 10px 15px; border: 1px solid var(--accent); border-radius: 999px; background: var(--accent-soft); color: var(--accent); font-size: 14px; font-weight: 700; }
.text-link { font-weight: 700; }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.principles article { padding: 48px 38px 54px 0; }
.principles article + article { padding-left: 38px; border-left: 1px solid var(--line); }
.number { display: inline-block; margin-bottom: 42px; color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: 0.14em; }
.principles h2, .how h2, .policy h2 { margin: 0 0 12px; letter-spacing: -0.035em; }
.principles h2 { font-size: 24px; }
.principles p { margin: 0; color: var(--muted); }
.how { padding: 110px 0; display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 90px; }
.section-heading h2 { max-width: 460px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(42px, 5vw, 68px); line-height: 1; font-weight: 500; letter-spacing: -0.045em; }
.flow { border-top: 1px solid var(--line); }
.flow-step { display: grid; grid-template-columns: 42px 1fr; gap: 24px; padding: 28px 0; border-bottom: 1px solid var(--line); }
.flow-step > span { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--line); border-radius: 50%; font-size: 13px; font-weight: 750; }
.flow-step h3 { margin: 1px 0 8px; font-size: 19px; }
.flow-step p { margin: 0; color: var(--muted); }
.manifesto { margin: 10px 0 100px; padding: 70px; border-radius: 24px; background: var(--ink); color: var(--paper); }
.manifesto p { margin: 0; max-width: 880px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(32px, 4.5vw, 60px); line-height: 1.08; letter-spacing: -0.04em; }
.manifesto strong { color: #f0a27d; font-weight: 500; }
.site-footer { min-height: 170px; padding: 38px 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; border-top: 1px solid var(--line); color: var(--muted); }
.site-footer strong { color: var(--ink); }
.site-footer p { margin: 5px 0 0; }
.footer-links { display: flex; gap: 22px; flex-wrap: wrap; }
.policy { max-width: 900px; margin: 0 auto; padding: 90px 0 100px; }
.policy-header { margin-bottom: 45px; }
.policy-header h1 { font-size: clamp(52px, 7vw, 88px); }
.muted, .policy-note { color: var(--muted); }
.policy-card { padding: 38px 48px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); }
.policy-card section { padding: 26px 0; }
.policy-card section + section { border-top: 1px solid var(--line); }
.policy-card h2 { font-size: 22px; }
.policy-card p { margin: 10px 0; }
.policy-card ul { padding-left: 22px; }
.policy-card li + li { margin-top: 8px; }
.policy-card a { color: var(--accent); font-weight: 650; }
.policy-note { margin: 25px 5px 0; font-size: 13px; }
@media (max-width: 780px) {
  .site-header { min-height: 74px; }
  .site-nav { gap: 14px; font-size: 14px; }
  .site-nav a:first-child { display: none; }
  .hero { padding: 76px 0 70px; }
  .hero h1 { font-size: clamp(56px, 17vw, 82px); }
  .principles { grid-template-columns: 1fr; }
  .principles article { padding: 34px 0; }
  .principles article + article { padding-left: 0; border-left: 0; border-top: 1px solid var(--line); }
  .number { margin-bottom: 22px; }
  .how { grid-template-columns: 1fr; gap: 48px; padding: 78px 0; }
  .manifesto { padding: 42px 28px; margin-bottom: 70px; }
  .site-footer { flex-direction: column; }
  .policy { padding: 65px 0 80px; }
  .policy-card { padding: 20px 24px; }
}
