:root {
  --bg: #111410;
  --surface: #1a2117;
  --surface-2: #20291c;
  --text: #f4f3e9;
  --muted: #adb7a4;
  --line: rgba(234, 240, 219, 0.14);
  --accent: #cfef79;
  --accent-rgb: 207, 239, 121;
  --pad: clamp(22px, 5vw, 80px);
}

body[data-page="news"] {
  --accent: #cfef79;
  --accent-rgb: 207, 239, 121;
}

body {
  background: radial-gradient(ellipse at 70% 4%, rgba(109, 136, 69, 0.09), transparent 45%), var(--bg);
}

main *, .site-header *, .site-footer * { min-width: 0; }
main h1, main h2, main h3, main p { overflow-wrap: anywhere; }
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.site-header { position: sticky; top: 0; z-index: 30; min-height: 78px; background: rgba(17, 20, 16, 0.96); }
.brand { font-size: 13px; white-space: nowrap; }
.brand-mark { border-radius: 10px; background: var(--accent); color: #21321c; }
.service-nav { gap: 2px; margin-left: auto; }
.service-nav a { border-radius: 20px; font-family: var(--body); font-size: 12px; letter-spacing: 0; text-transform: none; }
.header-status { display: none; }
.service-menu-toggle { display: none; }

.blog-hero, .news-hero { min-height: 0; padding-top: clamp(56px, 7vw, 100px); padding-bottom: clamp(45px, 6vw, 84px); }
.blog-hero h1, .news-hero h1 { font-weight: 500; line-height: 1.02; letter-spacing: -0.065em; }
.blog-hero h1 { max-width: 15ch; font-size: clamp(42px, 6vw, 78px); }
.blog-hero h1 span { color: var(--accent); }
.news-hero h1 { max-width: 12ch; font-size: clamp(54px, 7vw, 94px); }
.blog-hero-copy > p:last-child, .news-hero > div > p:last-child { color: var(--muted); }
.blog-feature, .blog-feed article, .news-card, .blog-teaser-card { border-radius: 13px; }
.blog-search input { min-height: 46px; font-size: 16px; }
.blog-filters button, .blog-read, .news-source { min-height: 42px; }

@media (max-width: 1050px) {
  .site-header { justify-content: space-between; gap: 12px; padding: 12px var(--pad); }
  .service-menu-toggle { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 14px; border: 1px solid #48583b; border-radius: 10px; background: #25311e; color: var(--text); cursor: pointer; }
  .site-header .service-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; max-height: 72svh; overflow-y: auto; margin: 0; padding: 14px var(--pad) 18px; border-bottom: 1px solid var(--line); background: #171e13; box-shadow: 0 20px 30px #0005; }
  .site-header[data-menu-open] .service-nav { display: grid; grid-template-columns: minmax(0, 1fr); }
  .service-nav a { min-height: 46px; padding: 12px; font-size: 15px; white-space: normal; }
}

@media (max-width: 680px) {
  .blog-hero, .news-hero { padding-top: 48px; }
  .blog-hero h1 { font-size: clamp(40px, 11vw, 62px); }
  .news-hero h1 { font-size: clamp(50px, 12vw, 72px); }
  .blog-hero, .news-hero, .news-board, .method-section { grid-template-columns: minmax(0, 1fr); }
  .news-board-heading { grid-template-columns: minmax(0, 1fr); }
  .blog-hero-count { width: fit-content; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
