@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Sora:wght@600;700;800&display=swap');

:root {
  color-scheme: light;
  --alpha-accent: #039006;
  --alpha-accent-strong: #027204;
  --alpha-accent-soft: #e9f5e9;
  --alpha-bg: #f7f8f5;
  --alpha-surface: #ffffff;
  --alpha-surface-muted: #eff3ed;
  --alpha-text: #111713;
  --alpha-muted: #606b63;
  --alpha-border: #dce3dc;
  --alpha-shadow: 0 18px 50px rgb(15 37 23 / 9%);
  --alpha-shadow-soft: 0 10px 34px rgb(15 37 23 / 7%);
  --alpha-highlight: #65c466;
  --alpha-cream: #fbfcf9;
  --alpha-radius-sm: 10px;
  --alpha-radius: 16px;
  --alpha-radius-lg: 24px;
  --alpha-shell: 1440px;
  --alpha-ease: cubic-bezier(.16, 1, .3, 1);
}

:root[data-theme='dark'] {
  color-scheme: dark;
  --alpha-bg: #111b16;
  --alpha-surface: #19251f;
  --alpha-surface-muted: #213029;
  --alpha-text: #f1f5f1;
  --alpha-muted: #a8b6ac;
  --alpha-border: #33453b;
  --alpha-accent-soft: #1f3925;
  --alpha-shadow: 0 18px 60px rgb(0 0 0 / 24%);
  --alpha-shadow-soft: 0 12px 36px rgb(0 0 0 / 18%);
  --alpha-cream: #131f19;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scrollbar-gutter: stable; }
body {
  margin: 0;
  background: var(--alpha-bg);
  color: var(--alpha-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
img { display: block; max-width: 100%; }
.svg-symbols { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button, select { cursor: pointer; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { line-height: 1.08; letter-spacing: -0.035em; }
h1 { font-size: clamp(2.8rem, 5vw, 5.4rem); margin-bottom: 1.4rem; }
h2 { font-size: clamp(1.7rem, 2.4vw, 2.7rem); margin-bottom: 0; }
h3 { font-size: 1.08rem; }

.shell { width: min(calc(100% - 48px), var(--alpha-shell)); margin-inline: auto; }
.section { padding-block: clamp(64px, 7vw, 112px); }
.section--compact { padding-block: clamp(40px, 4vw, 64px); }
.eyebrow { margin-bottom: 12px; color: var(--alpha-accent); font-size: .78rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: 10px; left: 10px; z-index: 1000; padding: 10px 14px; background: var(--alpha-surface); transform: translateY(-150%); }
.skip-link:focus { transform: none; }
.text-link { color: var(--alpha-accent); font-weight: 700; }
.text-link::after { content: '  →'; }
.prose { max-width: 900px; color: var(--alpha-muted); }
.prose--narrow { max-width: 780px; }
.prose h2, .prose h3 { color: var(--alpha-text); margin-top: 2em; }
.prose a { color: var(--alpha-accent); text-decoration: underline; }
.site-notice { padding: 12px 24px; text-align: center; background: var(--alpha-accent-soft); color: var(--alpha-text); }
.feed-message { margin-top: 20px; padding: 14px 18px; border: 1px solid var(--alpha-border); border-radius: var(--alpha-radius-sm); color: var(--alpha-muted); }
.scroll-progress { position: fixed; inset: 0 0 auto; z-index: 999; height: 3px; background: var(--alpha-accent); transform: scaleX(0); transform-origin: left center; pointer-events: none; }
:focus-visible { outline: 3px solid color-mix(in srgb, var(--alpha-accent) 40%, transparent); outline-offset: 3px; }
::selection { background: var(--alpha-accent); color: white; }

@supports (view-transition-name: alpha-page) {
  body { view-transition-name: alpha-page; }
}

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
