/**
 * Critical above-the-fold CSS (tokens + header shell).
 */
:root {
  --epikora-primary: #0f766e;
  --epikora-primary-soft: color-mix(in srgb, var(--epikora-primary) 12%, transparent);
  --epikora-primary-readable: var(--epikora-primary);
  --epikora-secondary: #0f172a;
  --epikora-container: 1180px;
  --epikora-bg: #fafbfc;
  --epikora-bg-elevated: #ffffff;
  --epikora-bg-muted: #f1f5f9;
  --epikora-text: #0f172a;
  --epikora-text-muted: #64748b;
  --epikora-border: #e2e8f0;
  --epikora-radius: 14px;
  --epikora-radius-sm: 10px;
  --epikora-header-h: 4rem;
  --epikora-font: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;
  --epikora-font-display: Georgia, "Times New Roman", Times, serif;
  color-scheme: light;
}

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) {
    --epikora-bg: #0a0f18;
    --epikora-bg-elevated: #111827;
    --epikora-bg-muted: #0f172a;
    --epikora-text: #e5e7eb;
    --epikora-text-muted: #94a3b8;
    --epikora-border: #1e293b;
    --epikora-secondary: #f8fafc;
    --epikora-primary-readable: #5eead4;
    --epikora-primary-soft: color-mix(in srgb, var(--epikora-primary) 22%, transparent);
    color-scheme: dark;
  }
}

html[data-theme="dark"] {
  --epikora-bg: #0a0f18;
  --epikora-bg-elevated: #111827;
  --epikora-bg-muted: #0f172a;
  --epikora-text: #e5e7eb;
  --epikora-text-muted: #94a3b8;
  --epikora-border: #1e293b;
  --epikora-secondary: #f8fafc;
  --epikora-primary-readable: #5eead4;
  --epikora-primary-soft: color-mix(in srgb, var(--epikora-primary) 22%, transparent);
  color-scheme: dark;
}

html[data-theme="light"] {
  color-scheme: light;
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  scrollbar-gutter: stable;
}

@supports not (scrollbar-gutter: stable) {
  html {
    overflow-y: scroll;
  }
}

body {
  margin: 0;
  font-family: var(--epikora-font);
  background: var(--epikora-bg);
  color: var(--epikora-text);
  line-height: 1.6;
  overflow-x: clip;
}

img, svg, video { max-width: 100%; height: auto; display: block; }

.container {
  width: min(100% - 2rem, var(--epikora-container));
  margin-inline: auto;
}

.site { padding-top: var(--epikora-header-h); }

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: auto;
  max-width: 100%;
  z-index: 1000;
  background: color-mix(in srgb, var(--epikora-bg-elevated) 94%, transparent);
  border-bottom: 1px solid var(--epikora-border);
}

body.admin-bar .site-header { top: 32px; }

@media screen and (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}

@media screen and (max-width: 600px) {
  body.admin-bar .site-header { top: 0; }
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: var(--epikora-header-h);
  box-sizing: border-box;
}

.site-branding {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  line-height: 0;
}

.site-branding__desktop,
.site-branding__mobile {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.site-branding__link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  color: var(--epikora-secondary);
  font-weight: 800;
  font-size: 1.25rem;
  letter-spacing: -0.03em;
  line-height: 1;
}

.site-title {
  font-family: var(--epikora-font-display);
  font-weight: 700;
  line-height: 1;
}

.site-branding__mobile { display: none; }
.site-logo {
  display: block;
  width: auto;
  max-height: 42px;
  height: auto;
  object-fit: contain;
}
.site-logo--dark { display: none; }

html[data-theme="dark"] .site-logo--light { display: none; }
html[data-theme="dark"] .site-logo--dark { display: block; }

@media (prefers-color-scheme: dark) {
  html:not([data-theme="light"]) .site-logo--light { display: none; }
  html:not([data-theme="light"]) .site-logo--dark { display: block; }
}

@media (max-width: 767px) {
  .site-branding__desktop { display: none; }
  .site-branding__mobile { display: inline-flex; align-items: center; }
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100000;
}

.skip-link:focus {
  left: 1rem;
  top: 1rem;
  background: var(--epikora-primary);
  color: #fff;
  padding: 0.75rem 1rem;
  text-decoration: none;
  border-radius: var(--epikora-radius-sm);
}
