:root {
  --brosurhub-background: #f5f7fb;
  --brosurhub-foreground: #101828;
  --brosurhub-card: #ffffff;
  --brosurhub-card-foreground: #101828;
  --brosurhub-popover: #ffffff;
  --brosurhub-popover-foreground: #101828;
  --brosurhub-primary: #ff2d8d;
  --brosurhub-primary-foreground: #ffffff;
  --brosurhub-muted: #fff0f7;
  --brosurhub-muted-foreground: #5b6475;
  --brosurhub-border: #dbe2f0;
  --brosurhub-input: #dbe2f0;
  --brosurhub-ring: #ff72b2;
  --brosurhub-radius-sm: 8px;
  --brosurhub-radius-md: 12px;
  --brosurhub-radius-lg: 16px;
  --brosurhub-surface-strong: #171329;
  --brosurhub-surface-soft: #fff8fc;
  --brosurhub-primary-soft: #ffe4f1;
  --brosurhub-primary-deep: #c41467;
  --brosurhub-state-success: #16a34a;
  --brosurhub-state-warning: #d97706;
  --brosurhub-state-error: #dc2626;
  --brosurhub-state-info: #2563eb;
  --brosurhub-shadow-soft: 0 18px 48px rgba(15, 23, 42, 0.05);
  --brosurhub-shadow-float: 0 24px 60px rgba(31, 94, 255, 0.12);
  --brosurhub-font-sans: "Inter", "Segoe UI", Arial, sans-serif;
}

.dark {
  --brosurhub-background: #09111f;
  --brosurhub-foreground: #e8eefc;
  --brosurhub-card: #101a2d;
  --brosurhub-card-foreground: #eef3ff;
  --brosurhub-popover: #101a2d;
  --brosurhub-popover-foreground: #eef3ff;
  --brosurhub-primary: #7ea6ff;
  --brosurhub-primary-foreground: #08101e;
  --brosurhub-muted: #14203a;
  --brosurhub-muted-foreground: #aab7d0;
  --brosurhub-border: #22304b;
  --brosurhub-input: #22304b;
  --brosurhub-ring: #7ea6ff;
}

body {
  font-family: var(--brosurhub-font-sans);
}

/* Fancy vivid palette with quiet, monochrome interface icons. */
svg,
i[class*="fa-"],
button i[class*="fa-"],
a i[class*="fa-"] {
  color: currentColor;
}

body :is(i[class*="fa-"], svg, svg *, [class*="icon"]),
body :is(i[class*="fa-"]::before, i[class*="fa-"]::after) {
  color: currentColor !important;
  stroke: currentColor !important;
  fill: currentColor !important;
}
body svg[fill="none"], body svg[fill="none"] * { fill: none !important; }

.brosurhub-display {
  font-family: var(--brosurhub-font-sans);
  font-size: clamp(2rem, 2.8vw, 3rem);
  line-height: 1.05;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.brosurhub-h1 {
  font-family: var(--brosurhub-font-sans);
  font-size: clamp(1.75rem, 2vw, 2.375rem);
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.brosurhub-h2 {
  font-family: var(--brosurhub-font-sans);
  font-size: 1.375rem;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.brosurhub-h3 {
  font-family: var(--brosurhub-font-sans);
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 700;
}

.brosurhub-body {
  font-family: var(--brosurhub-font-sans);
  font-size: 0.95rem;
  line-height: 1.6;
  font-weight: 500;
}

.brosurhub-caption {
  font-family: var(--brosurhub-font-sans);
  font-size: 0.76rem;
  line-height: 1.45;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
