/* Generated by design/sync_brand.py; edit design sources. */
:root {
  --brand-primary: #155689;
  --brand-accent: #E9D8A0;
  --brand-neutral-light: #CACFD3;
  --brand-neutral-mid: #A0A8B0;
  --brand-graphite: #272726;
  --brand-font: "Barlow", Arial, sans-serif;
  --brand-community-font: "Quicksand", Arial, sans-serif;
  --brand-control-radius: 6px;
  --brand-panel-radius: 8px;
}
/* Shared web adaptation. Brand values are generated from tokens.json. */
@font-face {
  font-family: Barlow;
  src: url("fonts/Barlow-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Barlow;
  src: url("fonts/Barlow-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: Quicksand;
  src: url("fonts/Quicksand.ttf") format("truetype");
  font-weight: 300 700;
  font-style: normal;
  font-display: swap;
}
:root {
  --brand-text: var(--brand-graphite);
  --brand-heading: var(--brand-primary);
  --brand-link: var(--brand-primary);
  --brand-focus: var(--brand-primary);
  --brand-surface: #fff;
  --brand-page: #f9f9f9;
  --brand-muted: #555e66;
  --brand-border: var(--brand-neutral-light);
  --body-font: var(--brand-font);
  --primary: var(--brand-primary);
}
html[data-theme="dark"], .dark {
  --brand-text: #f9f9f9;
  --brand-heading: var(--brand-accent);
  --brand-link: #b8dbf4;
  --brand-focus: var(--brand-accent);
  --brand-surface: #323536;
  --brand-page: var(--brand-graphite);
  --brand-muted: var(--brand-neutral-light);
  --brand-border: #68747e;
}
html, body { font-family: var(--brand-font); }
button, input, select, textarea { font-family: inherit; }
h1, h2, h3, h4, h5, h6 { font-family: var(--brand-font); }
/* Low specificity lets contextual headings on photographs keep their contrast. */
:where(h1, h2, h3, h4, h5, h6) { color: var(--brand-heading); }
.brand-community { font-family: var(--brand-community-font); }
:is(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
:is(.form-field, .jornada-field, .external-form, .import-shell) :is(input, select, textarea, button):focus-visible {
  outline: 3px solid var(--brand-focus);
  outline-offset: 3px;
}
:where(input[type="checkbox"], input[type="radio"]) { accent-color: var(--brand-primary); }
.btn, .button, .microsoft-button, .public-submit, .contact-pill {
  border-radius: var(--brand-control-radius);
}
:where(.card, .content-section, .access-card, .simple-card, .credential-card,
.external-shell, .jornada-form, .sidebar, .header-content) {
  border-radius: var(--brand-panel-radius);
}
.sidebar { box-shadow: 0 8px 24px rgb(39 39 38 / 12%); }
.content-section {
  padding: 24px;
  border: 1px solid var(--brand-border);
  background: var(--brand-surface);
}
.profile-user > i, .sidebar-toggle { color: var(--brand-link); }
html:not([data-theme="dark"]) .content-section-head h2 {
  color: var(--brand-primary);
}
.content-section-head { border-bottom-color: var(--brand-accent); }
.header-title { color: var(--brand-heading); }
.content-section-head::after {
  content: "";
  width: 48px;
  height: 3px;
  margin-top: 8px;
  background: var(--brand-accent);
}
.site-header { color: var(--brand-primary); }
.hero__overlay {
  background: linear-gradient(180deg, rgb(21 86 137 / 65%), rgb(21 86 137 / 72%));
}
.hero h1, .hero h2, .commitment h2, .access-brand h1,
.external-visual h2 { color: #fff; }
.hero__eyebrow, .section-kicker--light { color: var(--brand-accent); }
.section-kicker { color: var(--brand-primary); }
.intro h2::after, .policies h2::after {
  content: "";
  display: block;
  width: 64px;
  height: 4px;
  background: var(--brand-accent);
  margin-top: 20px;
}
.commitment, .commitment article { background: var(--brand-primary); }
.commitment strong { color: var(--brand-accent); }
.commitment article p { color: #fff; }
.access-brand { background: var(--brand-primary); }
.access-brand .eyebrow { color: var(--brand-accent); }
.external-visual { background-color: var(--brand-primary); }
/* Keep categorical and third-party icon colors; harmonize corporate contact actions. */
.contact-pill--mail, .contact-pill--linkedin, .contact-pill--vcf {
  background: var(--brand-primary);
}
@media print {
  html, body { color: var(--brand-graphite); background: #fff; }
}
@media (max-width: 760px) {
  .content-section { padding: 16px; }
}

/* Grid tracks must shrink around independently scrollable operational tables. */
.section-shell { grid-template-columns: minmax(0, 1fr); min-width: 0; }
.brand-table-scroll { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
