/* Shared typography and brand primitives.
 * Page-specific shells keep their own layout, backgrounds, and display styles. */
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 100 1000;
  font-display: swap;
  src: url("../fonts/dm-sans/dm-sans-latin-variable.aef1c6b4d4a3.woff2") format("woff2");
}

@font-face {
  font-family: "DM Sans";
  font-style: italic;
  font-weight: 100 1000;
  font-display: swap;
  src: url("../fonts/dm-sans/dm-sans-latin-italic-variable.5c48ab319348.woff2") format("woff2");
}

@font-face {
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/playfair-display/playfair-display-latin-variable.6da252de0cbc.woff2") format("woff2");
}

@font-face {
  font-family: "Playfair Display";
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/playfair-display/playfair-display-latin-italic-variable.f5051d38185e.woff2") format("woff2");
}

@font-face {
  font-family: "Geist";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/geist/geist-variable.d1bac27c388f.woff2") format("woff2");
}

@font-face {
  font-family: "Geist Mono";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/geist/geist-mono-variable.3eaf074afc53.woff2") format("woff2");
}

:root {
  --site-font-body: "DM Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --site-font-display: "Geist", var(--site-font-body);
  --site-font-editorial: "Playfair Display", Georgia, serif;
  --site-font-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  --site-ink: #17211d;
  --site-brand: #b37e38;
  --site-accent: #0f766e;
  --site-accent-hover: #115e59;
  --site-accent-ink: #ffffff;
  --site-focus-ring: rgba(15, 118, 110, 0.22);
  font-family: var(--site-font-body);
}

html[data-theme="dark"] {
  --site-ink: #f4f4f5;
  --site-brand: #c9a84c;
  --site-accent: #14b8a6;
  --site-accent-hover: #2dd4bf;
  --site-accent-ink: #04201d;
  --site-focus-ring: rgba(20, 184, 166, 0.24);
}

.site-wordmark {
  color: var(--site-brand);
  font-family: var(--site-font-body);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.01em;
  white-space: nowrap;
  flex-shrink: 0;
  text-decoration: none;
}

.site-wordmark:hover {
  color: var(--site-brand);
}

.site-nav-text {
  font-family: var(--site-font-body);
  font-size: 0.875rem;
  font-weight: 500;
}

.site-primary-action:not(:disabled):not([aria-disabled="true"]) {
  border-color: var(--site-accent) !important;
  background-color: var(--site-accent) !important;
  color: var(--site-accent-ink) !important;
}

.site-primary-action:not(:disabled):not([aria-disabled="true"]):hover {
  border-color: var(--site-accent-hover) !important;
  background-color: var(--site-accent-hover) !important;
  color: var(--site-accent-ink) !important;
}

.site-primary-action:disabled,
.site-primary-action[aria-disabled="true"] {
  border-color: #d1d5db !important;
  background-color: #e5e7eb !important;
  color: #6b7280 !important;
  cursor: not-allowed;
}

/* Navigation chrome follows each page's canvas; open menus retain readable surfaces. */
.site-header,
#mainNav.site-header,
.network-public-header {
  background: transparent !important;
  border-color: transparent;
  box-shadow: none;
}
