/* 연대의 초록 — reference palette, shared by production and future builds. */
:root {
  --blue: #2b5845;
  --line: #ddd5c4;
  --muted: #59695e;
  --theme-paper: #f5f0e5;
  --theme-sand: #ebe3ce;
  --theme-ink: #19382d;
  --theme-green: #2b5845;
  --theme-ochre: #9e5914;
  color: var(--theme-ink);
  background: var(--theme-paper);
}
body, header, .header-inner nav.open { background: var(--theme-paper); }
header { border-bottom-color: var(--line); }
h1, h2, h3, .brand strong { color: var(--theme-ink); }
.brand .brand-tagline, .contact-link, .text-link, .read-link { color: var(--theme-green); }
.eyebrow { color: var(--theme-ochre); }
.hero { background: var(--theme-paper); }
.hero .hero-message { color: var(--theme-ink); }
.hero .hero-message strong { color: var(--theme-ochre); }
.hero .hero-description { color: #465b4f; }
.hero .hero-inner {
  background: linear-gradient(90deg, #f5f0e5fa 0%, #f5f0e5e8 43%, #f5f0e5bb 53%, transparent 76%);
}
.primary, .agenda-tile-action { background: var(--theme-green); color: #fff; }
.primary:hover, .agenda-tile:hover .agenda-tile-action { background: #19382d; }
.secondary { background: #fbf8f0; color: var(--theme-green); border-color: #a9b6a7; }
.secondary:hover { background: #e7edde; }
.intro-band { background: var(--theme-green); border-color: var(--theme-green); }
.intro-band::before, .intro-band::after { display: none; }
.intro-band p { color: #fffaf0; }
.intro-band .wrap > div { color: #e4ecdf; border-color: #6e8c76; }
.intro-band .text-link { background: transparent; color: #fffaf0; border-color: #b69b5e; }
.intro-band .text-link:hover { background: #ffffff12; border-color: #e1ca8c; }
.agenda-tile-media { background: var(--theme-sand); border-radius: 8px; }
.agenda-tile-content { background: #ebe3ceeb; }
.agenda-tile-content h2, .agenda-tile-content h3 { color: var(--theme-ink); }
.agenda-tile > p { color: #536256; }
.issue-card { background: var(--theme-sand); border-color: var(--line); }
.news-band, .news-feed-section { background: #eae9dc; }
.content-card, .content-card[data-category] {
  --card-accent: #2b5845;
  --card-fill: #f9f5eb;
  --card-border: #cbd2bc;
  background: var(--card-fill);
  border-color: var(--card-border);
  border-top-color: var(--card-accent);
  border-radius: 7px;
}
.content-card[data-category="policy"], .content-card[data-category="newsletter"] { --card-accent: #9e5914; --card-fill: #f2ead8; }
.content-card .meta, .content-card .card-copy > p { color: #536256; }
.activity-card-meta { color: #2b5845; }
.news-feed-grid { background: #fbf8f0; border-color: #cdcdb8; }
.news-feed-feature { background: #19382d; }
.news-feed-fallback { background: linear-gradient(135deg, #19382d, #2b5845 55%, #52745a); color: #c6d4ba; }
.news-feed-overlay { background: linear-gradient(90deg, #163529f2, #204632c7 48%, #234b345e); }
.news-feed-meta { color: #e7d49b; }
.news-feed-meta time, .news-feed-feature p { color: #e5eddf; }
.news-feed-focus { background: #e1e4d3; color: var(--theme-ink); }
.news-feed-focus button { color: var(--theme-ink); }
.news-feed-focus button span { color: var(--theme-green); }
.news-feed-focus button:hover, .news-feed-focus button.is-current { background: #faf7ee; border-left-color: var(--theme-ochre); color: var(--theme-ink); }
.news-feed-controls > button { color: #f5f0e5; border-color: #bfcea9; background: #19382daa; }
.news-feed-controls > button:hover { background: #52745a; }
.news-feed-dots button[aria-selected="true"] { background: #dfbe77; }
.filter-tabs button[aria-pressed="true"] { background: var(--theme-green); border-color: var(--theme-green); color: #fff; }
.activity-prev, .activity-next { background: #e7eadb; color: var(--theme-green); border-color: #b9c7b1; }
.activity-years button[aria-pressed="true"] { color: var(--theme-green); border-color: var(--theme-green); background: #e7eadb; }
.about-band, .alliance-section { background: #e7eadb; border-color: #c4cbb5; }
.alliance-heading h2, .alliance-grid h3 { color: var(--theme-ink); }
.alliance-grid li a { background: #fbf8f0; border-color: #c4cbb5; }
.alliance-mark { background: #dbe4cf; color: var(--theme-green); }
.issue-policy-section dt { color: var(--theme-green); }
.notice-weekdays, .pdf-toolbar { background: #e7eadb; }
.notice-day { background: #fbf8f0; }
.notice-day.outside { background: #ece9df; }
.notice-day.selected { background: #e1ead6; box-shadow: inset 0 0 0 2px #52745a; }
.notice-date.today { background: var(--theme-green); }
.notice-event, .notice-detail-schedule { background: #e1ead6; border-color: #52745a; color: #264e3d; }
footer { background: var(--theme-ink); color: #fffaf0; }
.footer-top p, .footer-bottom { color: #ced9c8; }
.footer-bottom { border-color: #56705b; }
.admin-sidebar { background: #ece9dc; }
.admin-sidebar nav a[aria-current] { color: var(--theme-green); background: #dfe8d6; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline-color: #9e5914; }
@media (max-width: 760px) {
  .hero .hero-inner { background: linear-gradient(180deg, #f5f0e5 0%, #f5f0e5f0 calc(100% - 300px), #f5f0e5c7 calc(100% - 260px), transparent calc(100% - 180px)); }
}

/* Separate illustrations blend into a quiet central reading area. */
.hero { isolation: isolate; }
.hero-solidarity-image {
  position: absolute;
  inset: 0 auto 0 0;
  width: 31%;
  height: 100%;
  object-fit: cover;
  object-position: 48% 40%;
  opacity: .86;
  mask-image: linear-gradient(90deg, #000 60%, transparent 100%);
}
.hero .hero-image {
  inset: 0 0 0 auto;
  width: 43%;
  height: 100%;
  object-fit: cover;
  object-position: right center;
  mask-image: linear-gradient(90deg, transparent, #000 28%);
}
.hero .hero-inner {
  width: 43%;
  max-width: 720px;
  margin-left: 27%;
  margin-right: 0;
  padding: 58px 32px 64px;
  background: linear-gradient(90deg, #f5f0e5f5 0%, #f5f0e5f5 75%, #f5f0e500 100%);
}
.hero .hero-message { font-size: clamp(28px, 2.2vw, 42px); }
.hero .hero-description { font-size: clamp(17px, 1.1vw, 21px); }
.hero h1 { font-size: clamp(28px, 2vw, 39px); }
.hero .image-caption { z-index: 1; }
@media (max-width: 1100px) and (min-width: 761px) {
  .hero-solidarity-image { width: 27%; opacity: .75; }
  .hero .hero-inner { width: 53%; margin-left: 22%; padding-inline: 24px; }
  .hero .hero-image { width: 40%; }
}
@media (max-width: 760px) {
  .hero .hero-inner {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 36px 24px 310px;
    background: linear-gradient(180deg, #f5f0e5 0%, #f5f0e5 calc(100% - 300px), transparent calc(100% - 245px));
  }
  .hero-solidarity-image {
    inset: auto auto 0 0;
    width: 46%;
    height: 280px;
    object-position: 44% 43%;
    opacity: 1;
    mask-image: linear-gradient(90deg, #000 72%, transparent 100%);
  }
  .hero .hero-image {
    inset: auto 0 0 auto;
    width: 62%;
    height: 280px;
    object-position: right center;
    mask-image: linear-gradient(90deg, transparent, #000 24%);
  }
  .hero .hero-message { font-size: 28px; }
  .hero .hero-description { font-size: 18px; }
  .hero h1 { font-size: 31px; }
  .hero .image-caption { right: 12px; bottom: 8px; font-size: 11px; }
}
