:root {
  --ink: #16382f;
  --ink2: #244c40;
  --green: #3b806a;
  --mint: #dfeee7;
  --paper: #f8f7f2;
  --gold: #d2a648;
  --line: #d9e2dd;
  --muted: #60716b;
  --blue: #eaf2f7;
  --shadow: 0 20px 55px rgba(23, 55, 46, .10);
}

body { background: linear-gradient(180deg, #fbfaf7 0, var(--paper) 360px); font-size: 16px; line-height: 1.75; }
.header-inner,.reading-layout { max-width: 1480px; }
.site-header { height: 82px; border-bottom-color: rgba(22, 56, 47, .10); }
.brand b { font-size: 18px; }
.brand small { font-size: 9px; }
.main-nav { gap: 27px; font-size: 14px; }
.search-toggle { padding: 10px 16px; }
.search-toggle span { font-size: 13px; }
.hero { max-width: 1280px; grid-template-columns: 1fr 1fr; gap: 76px; padding-top: 82px; padding-bottom: 92px; }
.hero h1 { max-width: 690px; }
.hero-lead { font-size: 18px; line-height: 1.8; }
.button { padding: 14px 24px; font-size: 14px; }
.trust-row { gap: 23px; font-size: 13px; }
.metrics { padding-top: 27px; padding-bottom: 27px; }
.metrics strong { font-size: 27px; }
.metrics span { font-size: 12px; }
.section { max-width: 1280px; padding-top: 104px; padding-bottom: 104px; }
.section-head { margin-bottom: 42px; }
.section-head h2 { font-size: 39px; }
.section-head > p { max-width: 450px; font-size: 14px; line-height: 1.85; }
.eyebrow { font-size: 11px; }
.post-grid { gap: 22px; }
.post-card { min-height: 440px; border-radius: 20px; }
.post-card.featured { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; min-height: 370px; }
.post-card.featured .post-art { min-height: 370px; }
.post-card.featured .post-copy { padding: 48px; }
.post-card.featured h3 { max-width: 650px; font-size: 31px; }
.post-copy { padding: 28px; }
.post-copy h3 { font-size: 21px; }
.post-copy > p:not(.meta) { font-size: 14px; line-height: 1.8; }
.meta { font-size: 10px; }
.read-link { font-size: 13px; }
.topic-grid { gap: 20px; }
.topic-card { min-height: 315px; padding: 28px; border-radius: 19px; }
.topic-card h3 { font-size: 22px; }
.topic-card p { font-size: 13px; line-height: 1.8; }
.topic-card b { font-size: 12px; }
.faq-grid { gap: 16px; }
.faq details { padding: 22px 24px; }
.faq summary { font-size: 15px; }
.faq details p { font-size: 13px; line-height: 1.8; }
.faq details { box-shadow: 0 8px 24px rgba(25,54,46,.04); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease; }
.faq details:hover { transform: translateY(-2px); border-color: #a9c8bb; box-shadow: 0 14px 32px rgba(25,54,46,.08); }
.faq summary { color: #173e33; }
.faq details p { color: #4e655e; }
.post-copy>p:not(.meta), .section-head>p { color: #526961; }
.floating-note small, .metrics span { color: #49665c; }
.faq summary span { width: 24px; height: 24px; flex: 0 0 24px; border: 1px solid #b9cec5; border-radius: 50%; position: relative; color: var(--green); }
.faq summary span::before, .faq summary span::after { content: ""; position: absolute; left: 6px; right: 6px; top: 11px; height: 2px; background: currentColor; border-radius: 2px; }
.faq summary span::after { transform: rotate(90deg); transition: transform .2s ease; }
.faq details[open] summary span::after { transform: rotate(0deg); }
.faq details[open] summary span { background: #e8f3ed; }
.author-social { color: var(--green); font-weight: 700; margin-left: 8px; white-space: nowrap; }
.newsletter { max-width: 1224px; padding: 56px 62px; }
.newsletter h2 { font-size: 36px; }
.newsletter p { font-size: 14px; }
.breadcrumb { max-width: 1480px; padding-top: 28px; font-size: 12px; }
.reading-layout { grid-template-columns: 255px minmax(0, 850px) 255px; justify-content: center; gap: 32px; }
.topic-sidebar,.reading-aside { top: 112px; }
.topic-sidebar { padding: 15px; border-radius: 17px; }
.side-title { font-size: 14px; }
.side-group > a { padding: 11px 10px; font-size: 13px; }
.side-group > div > a { padding: 9px 9px 9px 14px; font-size: 12px; }
.article-shell { padding: 58px 66px; border-radius: 20px; box-shadow: 0 14px 40px rgba(24, 55, 46, .055); }
.article-label { padding: 7px 11px; font-size: 12px; }
.article-header h1 { font-size: clamp(39px, 3.2vw, 50px); }
.article-header > p { font-size: 17px; line-height: 1.85; }
.article-header > div { font-size: 11px; }
.quick-box { padding: 25px 27px; }
.quick-box b { font-size: 14px; }
.quick-box p { font-size: 14px; line-height: 1.8; }
.article-content { color: #344d45; font-size: 17px; line-height: 2; }
.article-content p { margin: 1.05em 0; }
.article-content h2 { font-size: 30px; margin-top: 54px; }
.article-content h3 { font-size: 21px; }
.article-content blockquote { padding: 22px 25px; }
.article-content table { font-size: 14px; }
.article-content th,.article-content td { padding: 14px; }
.risk-note { padding: 21px 24px; }
.risk-note b { font-size: 13px; }
.risk-note p { font-size: 12px; }
.related-bottom h2 { font-size: 29px; }
.related-bottom > div { gap: 15px; }
.related-bottom a { min-height: 225px; padding: 21px; }
.related-bottom a span { font-size: 10px; }
.related-bottom h3 { font-size: 15px; }
.related-bottom a p { font-size: 12px; line-height: 1.7; }
.related-bottom a b { font-size: 11px; }
.aside-topic,.aside-list,.aside-tip { padding: 21px; border-radius: 16px; }
.aside-topic > p,.aside-topic > span,.aside-topic > a { font-size: 11px; }
.aside-topic h3 { font-size: 20px; }
.aside-list h3 { font-size: 14px; }
.aside-list b { font-size: 12px; }
.aside-list span { font-size: 10px; }
.aside-tip b { font-size: 12px; }
.aside-tip p { font-size: 11px; line-height: 1.7; }
.archive-hero { padding-top: 82px; padding-bottom: 82px; }
.archive-hero > div { max-width: 1224px; }
.archive-hero h1 { font-size: 50px; }
.archive-hero p { font-size: 15px; }
.archive-grid { max-width: 1040px; gap: 19px; }
.archive-card { grid-template-columns: 225px 1fr; min-height: 230px; }
.archive-card > div { padding: 30px; }
.archive-card h2 { font-size: 24px; }
.archive-card > div > p:not(.meta) { font-size: 13px; line-height: 1.8; }
.site-footer { max-width: 1280px; }
.footer-brand b { font-size: 16px; }
.footer-brand p,.site-footer nav { font-size: 12px; }
.copyright { font-size: 11px; }

@media (max-width: 1180px) {
  .reading-layout { grid-template-columns: 235px minmax(0, 850px); }
  .article-shell { padding: 50px; }
  .main-nav { gap: 16px; font-size: 12px; }
}
@media (max-width: 900px) {
  .hero { gap: 45px; }
  .post-card.featured { grid-template-columns: 1fr 1fr; }
  .reading-layout { grid-template-columns: 1fr; }
  .article-content { font-size: 16px; }
}
@media (max-width: 600px) {
  body { font-size: 15px; }
  .site-header { height: 70px; }
  .hero h1 { font-size: 43px; }
  .hero-lead { font-size: 16px; }
  .section { padding-top: 74px; padding-bottom: 74px; }
  .section-head h2 { font-size: 32px; }
  .post-card.featured { display: flex; }
  .post-card.featured .post-art { min-height: 230px; }
  .post-card.featured .post-copy { padding: 28px; }
  .post-card.featured h3 { font-size: 24px; }
  .article-shell { padding: 32px 22px; }
  .article-header h1 { font-size: 33px; }
  .article-header > p { font-size: 15px; }
  .article-content { font-size: 16px; line-height: 1.95; }
  .article-content h2 { font-size: 25px; }
  .newsletter { padding: 40px 27px; }
  .newsletter h2 { font-size: 29px; }
}
