/* MMM / Open Page — official identity, October 1, 2026. */
@font-face { font-family: Inter; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/Inter-400.woff') format('woff'); }
@font-face { font-family: Inter; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/Inter-500.woff') format('woff'); }
@font-face { font-family: Inter; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/Inter-600.woff') format('woff'); }
@font-face { font-family: Inter; font-style: normal; font-weight: 700; font-display: swap; src: url('/fonts/Inter-700.woff') format('woff'); }
@font-face { font-family: Inter; font-style: normal; font-weight: 800; font-display: swap; src: url('/fonts/Inter-800.woff') format('woff'); }
@font-face { font-family: Inter; font-style: normal; font-weight: 900; font-display: swap; src: url('/fonts/Inter-900.woff') format('woff'); }
:root {
  --brand-forest: #142d22;
  --brand-cream: #f0eee6;
  --brand-sage: #b8c9ad;
  --brand-rust: #955b3e;
  --font-heading: Inter, Arial, sans-serif;
  --font-body: Inter, Arial, sans-serif;
  --color-charcoal: var(--brand-forest);
  --color-teal-dark: #234f3a;
  --color-teal: #3d6951;
  --color-teal-light: var(--brand-sage);
  --color-paper: var(--brand-cream);
  --color-rust: var(--brand-rust);
}
html { scroll-padding-top: 130px; }
h1, h2, h3 { font-weight: 800; }
h1 { letter-spacing: -.06em; }
h2 { letter-spacing: -.045em; }
h3 { letter-spacing: -.025em; line-height: 1.2; }
#site-header { background: rgba(20,45,34,.98); border-bottom-color: #3a5041; }
.site-header-inner { min-height: 105px; padding-top: 12px; padding-bottom: 12px; }
.site-brand { flex: 0 0 auto; line-height: 0; }
.official-logo { display: block; width: 240px; height: auto; }
.footer-logo-link { display: inline-block; margin-bottom: 24px; }
.footer-official-logo { width: 300px; max-width: 100%; height: auto; }
#site-footer { background: #0e2119; }
.editorial-hero { background: var(--brand-forest); }
.editorial-hero h1 { font-weight: 800; letter-spacing: -.058em; font-size: clamp(3.5rem,6.7vw,6rem); }
.hero-promise { color: #e1c293; font-size: clamp(1.12rem,1.8vw,1.5rem); font-weight: 500; }
.hero-aside { border-color: #60765f; }
.hero-brand-mark { width: 124px; height: auto; margin-bottom: 28px; }
.margin-quote { font-size: 1.32rem; font-weight: 500; line-height: 1.45; }
.aside-signature { font-size: .7rem; }
.section-topline .eyebrow { font-size: .68rem; }
.entry-link h3 { font-weight: 800; }
.entry-go { font-size: .8rem; }
.entry-link:hover h3, .entry-link:focus-visible h3 { text-decoration-thickness: 2px; }
.featured-mantra { background: #244131; }
.featured-mantra h2 { font-weight: 800; font-size: clamp(2.6rem,4.7vw,4.2rem); }
.example-quote { font-weight: 600; font-size: 1.4rem; }
.origin-lead { font-size: 1.35rem; line-height: 1.6; }
.origin-signature { font-style: normal; font-size: 1.12rem; font-weight: 700; }
.origin-copy h2 { font-size: clamp(2.5rem,4.2vw,3.7rem); }
.reader-layout h2 { font-size: clamp(2.4rem,4.1vw,3.65rem); }
.reader-preview h3 { font-size: 1.65rem; }
.reader-preview blockquote { font-size: 1.4rem; }
.reader-preview, .learning-card, .answer-box, .field-note, .practice, .care-note { border-radius: 0; }
.article-hero h1 { font-weight: 800; font-size: clamp(2.4rem,5vw,4.7rem); }
.article-toc { top: 130px; max-height: calc(100vh - 155px); }
.article-content h2 { font-size: clamp(1.7rem,3vw,2.45rem); font-weight: 800; }
.article-content blockquote { font-weight: 500; line-height: 1.6; }
.article-content .field-note-grid blockquote { font-size: 1.1rem; }
.button { border-radius: 0; letter-spacing: .04em; }
.button-secondary { border-width: 2px; }
.button-primary { background: var(--brand-cream); color: var(--brand-forest); }
.button-primary:hover { background: #fffdf4; color: var(--brand-forest); }
.nav-emergency-link, .always-help { border-radius: 0; }
@media (max-width: 1050px) { .official-logo { width: 218px; } }
@media (max-width: 900px) {
  .site-header-inner { min-height: 89px; }
  .official-logo { width: 190px; }
  .primary-navigation { background: var(--brand-forest); max-height: calc(100dvh - 89px); }
  .hero-aside .hero-brand-mark { width: 64px; margin: 0; flex: 0 0 auto; }
  .hero-aside .margin-quote { font-size: 1.1rem; }
  .article-toc { top: 110px; max-height: calc(100vh - 135px); }
  html { scroll-padding-top: 110px; }
}
@media (max-width: 700px) {
  .article-toc { position: static; max-height: none; }
  .footer-official-logo { width: 255px; }
}
@media (max-width: 650px) {
  .editorial-hero h1 { font-size: clamp(2.9rem,11.8vw,4.5rem); line-height: 1.05; }
  .hero-promise { font-size: 1.13rem; line-height: 1.5; }
  .entry-link h3 { font-size: 1.67rem; }
  .entry-link p { font-size: .9rem; }
  .feature-copy h2 { font-size: 2.4rem; }
  .featured-mantra h2 { font-size: 2.65rem; }
  .origin-copy h2, .reader-layout h2 { font-size: 2.5rem; }
  .learning-note h3 { font-size: 1.55rem; }
  .closing-care h2 { font-size: 1.8rem; }
}
@media (max-width: 450px) {
  .official-logo { width: 174px; }
  .site-header-inner { min-height: 82px; gap: 9px; }
  .primary-navigation { max-height: calc(100dvh - 82px); }
  .article-hero h1 { font-size: clamp(2.12rem,8.5vw,2.8rem); }
}
@media print {
  .editorial-hero, .featured-mantra { background: #fff; }
  .editorial-hero h1, .featured-mantra h2 { color: #142d22; }
}
