*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0}
/* ---- Forest ---- */
.site {
  --color-bg: oklch(97% 0.012 145); --color-surface: oklch(94% 0.017 145); --color-text: oklch(23% 0.02 155);
  --color-accent: oklch(52% 0.1 220); --color-accent-2: oklch(48% 0.1 150);
  --color-divider: color-mix(in srgb, oklch(23% 0.02 155) 16%, transparent);
  --color-neutral-100: oklch(97% 0.008 145); --color-neutral-800: oklch(30% 0.018 145); --color-neutral-900: oklch(20% 0.018 145);
  --color-accent-100: oklch(96% 0.02 220); --color-accent-600: oklch(46% 0.1 220); --color-accent-700: oklch(38% 0.09 220); --color-accent-800: oklch(30% 0.08 220);
  --color-accent-2-100: oklch(96% 0.02 150); --color-accent-2-800: oklch(28% 0.08 150);
  --font-heading: "Source Serif 4", system-ui, sans-serif; --font-heading-weight: 600; --font-body: "Source Serif 4", system-ui, sans-serif;
  --space-1: 5.0px; --space-2: 10.0px; --space-3: 15.0px; --space-4: 20.0px; --space-6: 30.0px; --space-8: 40.0px;
  --radius-sm: 1px; --radius-md: 2px; --radius-lg: 4px;
  --shadow-sm: 0 1px 2px color-mix(in srgb, #2d2b2b 14%, transparent);
  --shadow-md: 0 3px 10px color-mix(in srgb, #2d2b2b 16%, transparent);
}
.site { background: var(--color-bg); color: var(--color-text); font-family: var(--font-body); }
.site h1, .site h2, .site h3, .site h4 { font-family: var(--font-heading); font-weight: var(--font-heading-weight); }
.site *, .site *::before, .site *::after { box-sizing: border-box; }
.site { margin: 0; font-size: 15px; line-height: 1.55; font-weight: 400; }
.site h1, .site h2, .site h3, .site h4, .site h5, .site h6 {
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  line-height: 1.12; letter-spacing: -0.015em; margin: 0 0 var(--space-2);
}
.site h1 { font-size: 46px; }
.site h2 { font-size: 32px; }
.site h3 { font-size: 25px; }
.site h4 { font-size: 20px; }
.site h6 { font-size: 13px; letter-spacing: 0.08em; text-transform: uppercase; }
.site p { margin: 0 0 var(--space-3); }
.site a { color: var(--color-accent); text-underline-offset: 3px; }
.site em { font-style: italic; }
.site img { display: block; max-width: 100%; }
.site .text-muted { color: color-mix(in srgb, var(--color-text) 55%, transparent); }
.site :focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.site .hr { height: 1px; border: 0; margin: var(--space-4) 0; background: var(--color-divider); }
.site .btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  cursor: pointer; text-decoration: none;
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  font-size: 14px; line-height: 1.2; color: var(--color-text);
  background: transparent; border: 1px solid transparent;
  padding: var(--space-2) calc(var(--space-3) * 1.2);
  border-radius: var(--radius-md);
}
.site .btn-primary { background: var(--color-accent); color: var(--color-bg); }
.site .btn-primary:hover { background: var(--color-accent-600); }
.site .btn-secondary { border-color: var(--color-divider); }
.site .btn-secondary:hover { background: color-mix(in srgb, var(--color-text) 7%, transparent); }
.site .btn-ghost { color: var(--color-accent); padding-inline: var(--space-1); }
.site .card { display: flex; flex-direction: column; gap: var(--space-2); padding: var(--space-3); border-radius: var(--radius-md); background: var(--color-surface); }
.site .card-kicker { font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--color-accent); }
.site .card-title { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 17px; line-height: 1.2; }
.site .card-body { margin: 0; font-size: 13px; opacity: 0.8; flex: 1; }
.site .tag { display: inline-flex; align-items: center; font-size: 11px; letter-spacing: 0.02em; padding: 3px 10px; border-radius: calc(var(--radius-md) * 0.75); }
.site .tag-accent { background: var(--color-accent-100); color: var(--color-accent-800); }
.site .tag-accent-2 { background: var(--color-accent-2-100); color: var(--color-accent-2-800); }
.site .nav { display: flex; align-items: center; gap: var(--space-4); padding: var(--space-3) 0; border-bottom: none; }
.site .nav-brand { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 28px; margin-right: auto; }
.site .nav a { color: inherit; text-decoration: none; font-size: 14px; }
.site .nav a:hover { color: var(--color-accent); }

.site{min-height:100vh}
.wrap{max-width:1240px;margin:0 auto}
.site .nav{flex-wrap:wrap;row-gap:10px}
.site .nav a[aria-current="page"]{color:var(--color-accent)}
@media (max-width:820px){
  .site [style*="grid-template-columns"]{grid-template-columns:1fr !important}
  .site [style*="var(--space-8)"]{padding-left:20px !important;padding-right:20px !important}
  .site h1{font-size:34px}.site h2{font-size:26px}
  .site .nav-brand{flex-basis:100%}
  .foot,.cta{flex-direction:column;align-items:flex-start !important}
}
