/*
 * Semantic brand layer.
 * Fluent defaults deliberately reproduce the effective 1.1.0 presentation;
 * product profiles change tokens without duplicating structural templates.
 */
:root,
body.ft-theme-modern.ft-brand-fluent {
  --ft-brand-canvas: #f7f8f6;
  --ft-brand-deep: #101112;
  --ft-brand-surface: #ffffff;
  --ft-brand-surface-soft: #f0f2f1;
  --ft-brand-surface-glass: rgb(255 255 255 / .84);
  --ft-brand-text: #0f172a;
  --ft-brand-heading: #0f172a;
  --ft-brand-muted: #5f6368;
  --ft-brand-border: #e3e5e3;
  --ft-brand-primary: #475569;
  --ft-brand-primary-hover: #334155;
  --ft-brand-accent: #B4C4D3;
  --ft-brand-accent-soft: #EEF3F7;
  --ft-brand-support: #3f7d4b;
  --ft-brand-warning: #b45309;
  --ft-brand-error: #9f2f2f;
  --ft-brand-focus: #B4C4D3;
  --ft-brand-shadow-soft: 0 1px 2px rgb(15 23 42 / .06);
  --ft-brand-shadow-md: 0 18px 42px rgb(15 23 42 / .12);
  --ft-brand-shadow-lg: 0 34px 90px rgb(0 0 0 / .28);
  --ft-brand-section-white: linear-gradient(180deg, #ffffff 0%, #f7f8f6 100%);
  --ft-brand-section-soft: linear-gradient(180deg, #f7f8f6 0%, #f0f2f1 100%);
  --ft-brand-cta-background: radial-gradient(circle at 12% 10%, rgb(140 255 0 / .18), transparent 22rem), linear-gradient(135deg, #101112 0%, #1c1c1c 100%);
  --ft-brand-cta-foreground: #ffffff;
  --ft-brand-hero-background: radial-gradient(circle at 12% 14%, rgb(140 255 0 / .12), transparent 24rem), radial-gradient(circle at 80% 5%, rgb(255 255 255 / .06), transparent 28rem), linear-gradient(135deg, #090a0a 0%, #111313 58%, #181a18 100%);
  --ft-brand-hero-foreground: #ffffff;
  --ft-brand-hero-muted: rgb(255 255 255 / .76);
  --ft-brand-hero-chip-bg: #000000;
  --ft-brand-hero-chip-border: rgb(255 255 255 / .12);
  --ft-brand-hero-action: #B4C4D3;
  --ft-brand-hero-action-hover: #a6ff33;
  --ft-brand-hero-action-text: #111111;
  --ft-brand-card-background: linear-gradient(180deg, rgb(255 255 255 / .98), #ffffff), radial-gradient(circle at top left, rgb(71 85 105 / .055), transparent 16rem);
  --ft-brand-footer-bg: #07111f;
  --ft-brand-footer-heading: #ffffff;
  --ft-brand-footer-text: #94a3b8;
  --ft-brand-footer-link: #cbd5e1;
  --ft-brand-footer-link-hover: #ffffff;
  --ft-nav-bg: #1c1c1c;
  --ft-nav-border: rgb(255 255 255 / .08);
  --ft-nav-text: #a9adb3;
  --ft-nav-text-active: #B4C4D3;
  --ft-nav-cta-bg: #ffffff;
  --ft-nav-cta-text: #111111;
  --ft-brand-nav-brand: #ffffff;
  --ft-brand-nav-hover: #ffffff;
  --ft-brand-nav-hover-bg: rgb(255 255 255 / .07);
  --ft-brand-nav-panel: #1c1c1c;
  --ft-brand-nav-panel-link: #f7f7f7;
  --ft-brand-nav-panel-muted: #a9adb3;
  --ft-brand-mobile-header: rgb(255 255 255 / .92);
  --ft-brand-mobile-mark: #111111;
}

body.ft-theme-modern {
  --ft-color-bg: var(--ft-brand-canvas);
  --ft-color-bg-deep: var(--ft-brand-deep);
  --ft-color-surface: var(--ft-brand-surface);
  --ft-color-surface-soft: var(--ft-brand-surface-soft);
  --ft-color-surface-glass: var(--ft-brand-surface-glass);
  --ft-color-text: var(--ft-brand-text);
  --ft-color-muted: var(--ft-brand-muted);
  --ft-color-border: var(--ft-brand-border);
  --ft-color-primary: var(--ft-brand-primary);
  --ft-color-primary-hover: var(--ft-brand-primary-hover);
  --ft-color-accent: var(--ft-brand-accent);
  --ft-color-accent-soft: var(--ft-brand-accent-soft);
  --ft-color-support: var(--ft-brand-support);
  --ft-color-warning: var(--ft-brand-warning);
  --ft-color-error: var(--ft-brand-error);
  --ft-focus-ring: var(--ft-brand-focus);
  --ft-shadow-soft: var(--ft-brand-shadow-soft);
  --ft-shadow-md: var(--ft-brand-shadow-md);
  --ft-shadow-lg: var(--ft-brand-shadow-lg);
  background: var(--ft-brand-canvas);
  color: var(--ft-brand-text);
}

body.ft-theme-modern h1,
body.ft-theme-modern h2,
body.ft-theme-modern h3,
body.ft-theme-modern h4 {
  color: var(--ft-brand-heading);
}

body.ft-theme-modern .ft-section--white { background: var(--ft-brand-section-white); }
body.ft-theme-modern .ft-section--soft { background: var(--ft-brand-section-soft); }
body.ft-theme-modern .ft-section--cta { background: var(--ft-brand-cta-background); color: var(--ft-brand-cta-foreground); }
body.ft-theme-modern .ft-section--cta h2,
body.ft-theme-modern .ft-section--cta h3,
body.ft-theme-modern .ft-section--cta p { color: var(--ft-brand-cta-foreground); }

body.ft-theme-modern .ft-section--hero { background: var(--ft-brand-hero-background); color: var(--ft-brand-hero-foreground); }
body.ft-theme-modern .ft-page-hero h1,
body.ft-theme-modern .ft-page-hero h2,
body.ft-theme-modern .ft-page-hero h3 { color: var(--ft-brand-hero-foreground); }
body.ft-theme-modern .ft-page-hero p,
body.ft-theme-modern .ft-page-hero .ft-reading-measure { color: var(--ft-brand-hero-muted); }
body.ft-theme-modern .ft-page-hero .ft-chip { background: var(--ft-brand-hero-chip-bg); border-color: var(--ft-brand-hero-chip-border); color: var(--ft-brand-hero-foreground); }
body.ft-theme-modern .ft-section--hero .ft-button--primary,
body.ft-theme-modern .ft-page-hero .ft-button--primary { background: var(--ft-brand-hero-action); color: var(--ft-brand-hero-action-text); }
body.ft-theme-modern .ft-section--hero .ft-button--primary:hover,
body.ft-theme-modern .ft-page-hero .ft-button--primary:hover { background: var(--ft-brand-hero-action-hover); color: var(--ft-brand-hero-action-text); }

body.ft-theme-modern .ft-card { background: var(--ft-brand-card-background); }
body.ft-theme-modern .ft-article-body { background: var(--ft-brand-surface); color: var(--ft-brand-text); border-color: var(--ft-brand-border); }
body.ft-theme-modern .ft-article-toc,
body.ft-theme-modern .ft-disclosure { background: var(--ft-brand-surface); border-color: var(--ft-brand-border); }

body.ft-theme-modern .ft-site-footer { background: var(--ft-brand-footer-bg); color: var(--ft-brand-footer-link); }
body.ft-theme-modern .ft-site-footer h2,
body.ft-theme-modern .ft-site-footer strong { color: var(--ft-brand-footer-heading); }
body.ft-theme-modern .ft-site-footer p,
body.ft-theme-modern .ft-site-footer li,
body.ft-theme-modern .ft-site-footer small,
body.ft-theme-modern .ft-site-footer .ft-muted,
body.ft-theme-modern .ft-site-footer__meta { color: var(--ft-brand-footer-text); }
body.ft-theme-modern .ft-site-footer a { color: var(--ft-brand-footer-link); }
body.ft-theme-modern .ft-site-footer a:hover,
body.ft-theme-modern .ft-site-footer a:focus-visible { color: var(--ft-brand-footer-link-hover); }

@media (min-width: 64.001rem) {
  body.ft-theme-modern .ft-site-header__inner { background: var(--ft-nav-bg); border-color: var(--ft-nav-border); }
  body.ft-theme-modern .ft-brand,
  body.ft-theme-modern .ft-brand:hover,
  body.ft-theme-modern .ft-brand__text { color: var(--ft-brand-nav-brand); }
  body.ft-theme-modern .ft-site-nav a:hover,
  body.ft-theme-modern .ft-nav-link:hover,
  body.ft-theme-modern .ft-nav-disclosure:hover { color: var(--ft-brand-nav-hover); background: var(--ft-brand-nav-hover-bg); }
  body.ft-theme-modern .ft-header-cta { background: var(--ft-nav-cta-bg) !important; color: var(--ft-nav-cta-text) !important; }
  body.ft-theme-modern .ft-header-cta:hover { background: var(--ft-brand-hero-action) !important; color: var(--ft-brand-hero-action-text) !important; }
  body.ft-theme-modern .ft-nav-panel { background: var(--ft-brand-nav-panel); border-color: var(--ft-nav-border); }
  body.ft-theme-modern .ft-nav-panel a { color: var(--ft-brand-nav-panel-link); }
  body.ft-theme-modern .ft-nav-panel small { color: var(--ft-brand-nav-panel-muted); }
}

@media (max-width: 64rem) {
  body.ft-theme-modern .ft-site-header { background: var(--ft-brand-mobile-header); }
  body.ft-theme-modern .ft-brand__mark { background: var(--ft-brand-mobile-mark); color: var(--ft-brand-accent); }
}
