/* Text readability — darker body copy, stronger contrast on all pages */

:root {
  --muted: #3f5248;
  --ink-soft: #2f4238;
  --text-body: #1a2e24;
  --text-secondary: #364a40;
}

body {
  color: var(--text-body);
}

/* Navigation & brand */
.brand em { color: #4a5f54; }
.site-nav a { opacity: 1; color: var(--ink-2); font-weight: 750; }
.site-header .site-nav a { color: rgba(255, 255, 255, 0.95); }
.site-header.is-scrolled .site-nav a,
.site-header.scrolled .site-nav a { color: var(--ink-2); }

/* Hero (dark background) */
.hero-lead { color: rgba(255, 255, 255, 0.94) !important; }
.hero-note { color: rgba(255, 255, 255, 0.82) !important; }
.cmb-label { color: #e8f4e4 !important; }
.cmb-caption { color: #dcebd4 !important; }

/* Light sections */
.about-copy,
.about-copy p { color: #2a3d32 !important; }
.section-sidecopy { color: #364a40 !important; font-weight: 500; }
.business-card h3 { color: var(--ink); font-weight: 700; }
.business-card p { color: #364a40 !important; font-weight: 500; }
.card-number { color: #6b7d72 !important; }
.card-link-hint { opacity: 0.88 !important; font-weight: 800; }
.roadmap-list p { color: #45554c !important; }
.promise-list p { color: #424f46 !important; }
.plan-cta p:not(.eyebrow) { color: #2f4238 !important; font-weight: 500; }
.signal-grid p { opacity: 1 !important; color: #2e4538 !important; font-weight: 500; }

/* Dark sections — brighter text */
.eco-copy p:not(.eyebrow) { color: rgba(255, 255, 255, 0.92) !important; }
.story-panel > p:not(.eyebrow) { color: rgba(255, 255, 255, 0.92) !important; }
.mini-facts dd { color: #e4f0e0 !important; }

/* Footer */
.footer-tagline { color: #c0d4c8 !important; }
.footer-links a { color: #dcebe2 !important; }
.footer-info { color: #b8cdc0 !important; }
.footer-small,
.footer-info .notice { color: #9eb5a8 !important; }
.footer-bottom { color: #a8bfb2 !important; }

/* 외부 신문·사이트 링크 */
a.news-link,
a[data-mushroom-news-link].news-link {
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  text-decoration-color: rgba(44, 122, 81, 0.45);
}

a.news-link:hover,
a[data-mushroom-news-link].news-link:hover {
  text-decoration-color: currentColor;
}

a[data-site-home-link] {
  color: inherit;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

/* Detail pages */
.detail-breadcrumb { opacity: 0.95; }
.detail-kicker { opacity: 0.95; }
.detail-lead { opacity: 0.96; }
.detail-panel p { color: #2a3d32 !important; }
.detail-facts li { color: #3d4f44 !important; }
.detail-step p { color: #45554c !important; }
.detail-note { color: #5a4a38 !important; }
.detail-breadcrumb a { color: inherit; }

/* Premium home sections */
.plan-band p { color: #e4f0e6 !important; }
.plan-badges span { color: #f0f6f1 !important; }
.media-copy p { color: #2a3d32 !important; }
.media-copy .subnote,
.subnote { color: #45554c !important; font-weight: 500; }
.media-copy h3 em { color: var(--moss); font-style: normal; }

/* Premium documents — business-plan, bank-brief, research-notes */
.plan-page,
.brief-main,
.research-page {
  --ink: #0a1812;
  --ink-soft: #1f3329;
  --muted: #2f4238;
  color: var(--ink);
}

.plan-page .plan-frame,
.brief-main .brief-inner,
.research-page .research-main {
  color: var(--ink);
}

.plan-lead,
.plan-subtitle,
.brief-inner > .plan-lead,
.brief-graphic .plan-lead { color: #1f3329 !important; font-weight: 500; }

.plan-heading,
.plan-title,
.brief-title { color: #062a1e !important; }

.plan-kicker,
.brief-section-label { color: var(--green) !important; font-weight: 900; }

.plan-card p,
.plan-card ul,
.plan-card li { color: #243a30 !important; }

.plan-steps p,
.flow-step span { color: #2f4238 !important; }

.fact-table td,
.fact-table th { color: #1f3329 !important; }

.agenda-grid span,
.stat-strip span,
.matrix > div:not(.matrix-head) { color: #364a40 !important; }

.tiny-note,
.finance-notice,
.plan-foot,
.brief-footer { color: #4f6256 !important; }

.plan-head { color: #3d5246 !important; }

.risk-grid p,
.checklist div { color: #2f4238 !important; }

.source-grid span,
.source-card__desc { color: #364a40 !important; }

.source-grid-intro { color: #062a1e !important; }

.cover-meta,
.cover-meta div { color: #2f4238 !important; }

.cover-brand span { color: #364a40 !important; }

.plan-quote small { color: #d4e8dc !important; }

.finance-band p { color: #e0ede4 !important; }

.fund-item span { color: #eef6f0 !important; }

/* Research notes */
.research-hero p { color: #1f3329 !important; font-weight: 500; }

.research-aside p { color: #364a40 !important; }

.research-item p { color: #243a30 !important; }

.research-item .takeaway { color: #0a3d2b !important; font-weight: 500; }

.research-item h2 { color: #062a1e !important; }

/* Bank brief — light sheets */
.brief-bullets p { color: #364a40 !important; }

.brief-bullets b { color: #062a1e !important; }

.brief-graphic .section-subhead,
.section-subhead { color: #0a3d2b !important; }

.brief-kpi small { color: #364a40 !important; }

.brief-kpi b { color: #062a1e !important; }

/* Toolbar */
.plan-toolbar .toolbar-link { color: var(--green) !important; font-weight: 800; }

.brief-nav .brief-home { color: #d0e6d8 !important; }

/* Legacy plan pages (old styles in style.css) */
.summary-prose,
.summary-prose p { color: #364a40 !important; }
.model-grid p,
.growth-rows p,
.timeline p,
.execution-principles p,
.ending-copy { color: #45554c !important; }
.company-table td { color: #364a40 !important; }
.facility-copy p { color: #3d4f44 !important; }
.plan-note { color: #5a4a38 !important; }
.ending-sign span { color: #556a5e !important; }

/* Eyebrow labels — slightly stronger */
.eyebrow { color: var(--ink-2); font-weight: 850; }
.section-dark .eyebrow,
.hero .eyebrow-light { color: var(--sun-light); }

/* Premium home — system & roadmap (dark sections) */
.system-copy > p { color: #2a3d32 !important; }
.control-list p { color: #45554c !important; }
.roadmap p { color: #d4e6d8 !important; }
.roadmap .status { color: #eef6f0 !important; }
.section-lede { color: #364a40 !important; font-weight: 500; }

@media print {
  .source-card {
    break-inside: avoid;
    box-shadow: none;
  }
  .source-card__bg { display: none; }
  .source-card__cta {
    background: transparent !important;
    color: var(--green) !important;
    position: static;
    display: block;
    margin-top: 8px;
    padding: 0;
    text-align: left;
    font-size: 7px;
  }
  .source-card::after {
    content: "↗ " attr(href);
    display: block;
    margin-top: 4px;
    font-size: 7px;
    color: var(--green);
    word-break: break-all;
    position: static;
  }
  .source-grid-intro { border-style: solid; }
}
