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

:root {
  --ink: #0d0d0d;
  --ink-2: #252525;
  --blue: #4a4a4a;
  --blue-bright: #c0c0c0;
  --cream: #f6f6f6;
  --paper: #ffffff;
  --sand: #dedede;
  --red: #6b6b6b;
  --muted: #5d5d5d;
  --accent: #0f5c67;
  --accent-light: #83d0d3;
  --accent-surface: #e7f2f2;
  --line: rgba(13, 13, 13, .15);
  --shadow: 0 18px 45px rgba(0, 0, 0, .1);
  --sans: 'Inter', Arial, sans-serif;
  --serif: 'Inter', Arial, sans-serif;
  --mono: 'DM Mono', monospace;
}

body { font-family: var(--sans); }
::selection { color: #ffffff; background: var(--accent); }
.site-header { background: rgba(255,255,255,.94); border-bottom-color: rgba(0,0,0,.1); }
.brand { gap: 9px; }
.brand-logo { width: 44px; height: 30px; object-fit: cover; object-position: center; background: #000; }
.brand-text { display: flex; flex-direction: column; gap: 0; color: #111; font-family: var(--sans); line-height: .9; text-transform: uppercase; }
.brand-text .brand-name-top { color: #3a3a3a; font-size: 8px; font-weight: 600; letter-spacing: .22em; }
.brand-text .brand-name-bottom { color: #111; font-size: 16px; font-weight: 800; letter-spacing: .055em; }
.brand-text span { color: inherit; }
.brand-mark { display: none; }
.nav-action { border-color: var(--accent); color: var(--accent); }
.nav-action:hover { color: white; background: var(--accent); }
.primary-nav a { color: #555; }
.primary-nav a:hover, .primary-nav a.active { color: var(--accent); }
.primary-nav a::after { background: var(--accent); }

.hero h1 em, .hero-meta strong { color: var(--accent-light); }
.eyebrow, .tag, .event-type, .page-hero .crumb { color: var(--accent); }
.eyebrow::before { background: var(--accent); }
.button.primary { background: var(--accent); border-color: var(--accent); }
.button.primary:hover { background: #0a4650; border-color: #0a4650; }
.button.ghost { color: #111; border-color: rgba(0,0,0,.42); }
.button.ghost:hover { color: var(--accent); background: var(--accent-surface); border-color: var(--accent); }
.text-accent { color: var(--accent); font-weight: 700; }
.ticker { color: #f8f8f8; background: #111; }
.ticker-track span::after { color: var(--accent-light); }
.path-section, .site-footer { background: #111; }
.path-section .section-head h2 { color: #ffffff; }
.path-section .section-copy { color: #c9c9c9; }
.path-grid { border-color: rgba(255,255,255,.24); }
.path-card { border-color: rgba(255,255,255,.24); }
.path-card h3 { color: #ffffff; }
.path-card p { color: #cdcdcd; }
.path-card a { color: #f3f3f3; }
.path-card:hover { background: rgba(255,255,255,.08); }
.path-icon { color: var(--accent-light); background: transparent; border-color: var(--accent-light); }
.story-link, .story-link::after { border-color: var(--accent-light); color: var(--accent-light); }
.quote-panel { background: #f2f2f2; }
.quote-mark, .quote-source { color: #555; }
.site-footer .brand-text,
.site-footer .brand-text .brand-name-top,
.site-footer .brand-text .brand-name-bottom { color: #ffffff; }
.site-footer .footer-brand p { color: #c7c7c7; }
.site-footer .footer-col a { color: #d0d0d0; }
.site-footer .footer-col a:hover { color: #ffffff; }
.book-banner-label, .book-banner-link { color: var(--accent); }
.book-banner { background: #f7f7f7; border-color: #dedede; }
.book-banner:hover { border-color: #9d9d9d; box-shadow: 0 14px 32px rgba(0,0,0,.08); }

@media (max-width: 530px) {
  .brand-logo { width: 39px; height: 27px; }
  .brand-text .brand-name-top { font-size: 7px; }
  .brand-text .brand-name-bottom { font-size: 14px; }
}
