/* AQLUMA Brand Book — couche de cohérence globale, 2026-09-01.
   Chargée après les feuilles historiques afin de préserver l’architecture et les comportements. */
:root {
  --aqluma-ivory: #F4EFE6;
  --aqluma-graphite: #14110E;
  --aqluma-copper: #C25A2C;
  --aqluma-copper-warm: #E68A5E;
  --aqluma-ivory-deep: #EAE3D5;
  --aqluma-ink: #2A2520;
  --aqluma-moss: #4A5744;
  --aqluma-terracotta: #B84A3A;

  --font-display: "Bricolage Grotesque", system-ui, sans-serif;
  --font-body: "IBM Plex Sans", system-ui, sans-serif;
  --font-label: "IBM Plex Sans Condensed", "IBM Plex Sans", system-ui, sans-serif;
  --font-accent: "Newsreader", Georgia, serif;

  --background: var(--aqluma-ivory);
  --surface: var(--aqluma-ivory-deep);
  --text: var(--aqluma-graphite);
  --border: rgba(20, 17, 14, .14);
  --accent: var(--aqluma-copper);
  --accent-warm: var(--aqluma-copper-warm);
  --success: var(--aqluma-moss);
  --warning: var(--aqluma-terracotta);

  /* Correspondances avec les tokens historiques. */
  --void: var(--aqluma-graphite);
  --obsidian: var(--aqluma-ink);
  --paper: var(--aqluma-ivory);
  --ivory: var(--aqluma-ivory);
  --clay: var(--aqluma-copper);
  --brass: var(--aqluma-copper-warm);
  --terracotta: var(--aqluma-terracotta);
  --ink: var(--aqluma-graphite);
  --muted: rgba(20, 17, 14, .66);
  --line: rgba(20, 17, 14, .14);
  --line-dark: rgba(20, 17, 14, .14);
  --line-light: rgba(244, 239, 230, .16);
  --serif: var(--font-display);
  --sans: var(--font-body);
}

html { color-scheme: light; }
body {
  background: var(--aqluma-ivory);
  color: var(--aqluma-graphite);
  font-family: var(--font-body);
}

::selection {
  background: var(--aqluma-copper);
  color: var(--aqluma-ivory);
}

h1, h2, h3,
.hero-title,
.section-title,
.course-hero h1,
.school-hero h1,
.premium-footer__title {
  font-family: var(--font-display);
  font-optical-sizing: auto;
}

/* L’italique éditorial reste volontairement rare et attaché aux accents existants. */
h1 em,
h2 em,
.hero-title em,
.school-hero h1 em,
.school-quote blockquote,
.pullquote {
  font-family: var(--font-accent);
  font-style: italic;
  font-weight: 400;
}

.eyebrow,
.school-eyebrow,
.school-kicker,
.course-kicker,
.course-live-badge,
.cohort-card__number,
.cohort-card__eyebrow,
.cohort-card__meta,
.school-card-number,
.school-card-status,
.school-course-format,
.topic-list,
.format-tabs,
.premium-footer h3,
.premium-footer__bottom,
.premium-footer__contacts dt,
.instructor-showcase__filter,
label,
small {
  font-family: var(--font-label);
  letter-spacing: .055em;
}

button, input, textarea, select { font-family: var(--font-body); }

button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--aqluma-copper-warm);
  outline-offset: 3px;
}

/* Navigation : sombre, chaude et précise. */
.student-nav,
.school-header {
  background: rgba(20, 17, 14, .97);
  color: var(--aqluma-ivory);
  border-bottom-color: rgba(244, 239, 230, .14);
  backdrop-filter: blur(12px);
}
.student-brand,
.student-nav a,
.school-header a { color: inherit; }
.course-search input {
  border-color: rgba(244, 239, 230, .18);
  background: rgba(244, 239, 230, .045);
  color: var(--aqluma-ivory);
}
.audience-link.is-active,
.topic-list a[aria-current="page"] { color: var(--aqluma-copper-warm); }

.reading-progress,
.school-progress,
.premium-footer__accent {
  background: var(--aqluma-copper);
}

/* Heroes : suppression des codes SaaS dominants, conservation de la structure. */
.student-hero,
.catalogue-hero,
.school-hero,
.course-hero,
.about-hero,
.resource-hero {
  background-color: var(--aqluma-graphite);
  background-image: none;
}
.course-hero {
  background-color: var(--aqluma-ivory);
  color: var(--aqluma-graphite);
  border-bottom-color: var(--aqluma-copper);
}
.school-hero::before,
.student-hero::before,
.catalogue-hero::before,
.resource-hero::before {
  background-image: none !important;
  opacity: 0 !important;
}
.school-hero::after,
.student-hero::after,
.catalogue-hero::after {
  border-color: rgba(230, 138, 94, .3) !important;
  box-shadow: none !important;
  opacity: .55;
}

/* Composants éditoriaux : filets, respiration, angles contenus. */
.cohort-card,
.school-guide-card,
.school-course-grid article,
.school-path-grid article,
.course-card,
.mini,
.callout,
.charter,
.cta,
.faq details,
.school-faq details,
.course-sidebar__card,
.course-skill-card,
.course-program-card,
.evidence-card,
.instructor-profile {
  border-color: rgba(20, 17, 14, .14);
  box-shadow: none;
}
.cohort-card,
.school-guide-card,
.school-course-grid article,
.school-path-grid article,
.course-card,
.mini,
.course-skill-card,
.course-program-card,
.evidence-card {
  background-color: var(--aqluma-ivory);
}
.cohort-card:hover,
.school-guide-card:hover,
.school-course-grid article:hover,
.school-path-grid article:hover {
  border-color: rgba(194, 90, 44, .55);
  background-color: var(--aqluma-ivory-deep);
  box-shadow: 0 10px 26px rgba(20, 17, 14, .06);
  transform: translateY(-2px);
}

.school-dark,
.instructor-showcase,
.premium-footer,
.school-final {
  background-color: var(--aqluma-ink);
  color: var(--aqluma-ivory);
}
.school-dark {
  background-image: none !important;
}

.school-method-grid article,
.school-hero__panel {
  border-color: rgba(244, 239, 230, .18);
  background: rgba(244, 239, 230, .035);
  box-shadow: none;
}
.school-method-grid article > span,
.school-card-number,
.cohort-card__number { color: var(--aqluma-copper-warm); }

/* Boutons et états : aucun gradient ni urgence artificielle. */
.button,
.school-button,
.course-button,
.cohort-card__action,
.premium-footer__button {
  background-image: none;
  box-shadow: none;
  font-family: var(--font-label);
  letter-spacing: .025em;
}
.button-primary,
.school-button:not(.school-button--outline),
.course-button--primary,
.premium-footer__button {
  background-color: var(--aqluma-graphite);
  border-color: var(--aqluma-graphite);
  color: var(--aqluma-ivory);
}
.school-dark .school-button:not(.school-button--outline),
.school-final .school-button,
.premium-footer__button {
  background-color: var(--aqluma-copper-warm);
  border-color: var(--aqluma-copper-warm);
  color: var(--aqluma-graphite);
}
.button-secondary,
.school-button--outline {
  background: transparent;
  border-color: currentColor;
}
.button:hover,
.school-button:hover,
.course-button:hover,
.premium-footer__button:hover { filter: brightness(.96); }

.course-kicker span,
.school-card-status {
  background: rgba(194, 90, 44, .11);
  color: var(--aqluma-copper);
}
.course-kicker strong,
.course-live-badge {
  background: rgba(74, 87, 68, .14);
  color: var(--aqluma-moss);
}
.course-kicker strong::before,
.course-live-badge::before { background: var(--aqluma-moss); }

/* Footer institutionnel : une ligne cuivre, aucun halo. */
.premium-footer {
  --pf-void: var(--aqluma-graphite);
  --pf-clay: var(--aqluma-copper);
  --pf-brass: var(--aqluma-copper-warm);
  --pf-terracotta: var(--aqluma-terracotta);
  --pf-line: rgba(244, 239, 230, .14);
  --pf-serif: var(--font-display);
  --pf-sans: var(--font-body);
}
.premium-footer::before { display: none; }
.premium-footer__signature {
  color: var(--aqluma-copper-warm);
  font-family: var(--font-display);
}
.premium-footer__social:not([href*="linkedin.com"]) {
  border-color: rgba(244, 239, 230, .22);
  background: transparent;
}

/* Pages historiques à styles inline : neutraliser les effets directs qui échappent aux alias. */
.hero,
.contact-hero,
.resource-hero,
.cta,
.bridge-card,
.guide-preview,
.contact-options,
.themes,
.pillar-card {
  background-image: none !important;
}
.contact-hero::before,
.contact-hero::after,
.resource-hero::before,
.resource-hero::after {
  background-image: none !important;
  opacity: 0 !important;
}
.progress,
.reading-progress,
.footer-accent {
  background-image: none !important;
  background-color: var(--aqluma-copper) !important;
}
.topbar,
.nav.is-scrolled {
  background-color: rgba(20, 17, 14, .97) !important;
}
.study-guide-block__heading,
.study-bridge-grid h3,
.oral-guide-block__heading,
.oral-bridge-grid h3 {
  font-family: var(--font-display) !important;
}
.study-bridge-grid article,
.oral-bridge-grid article {
  background: var(--aqluma-ivory) !important;
}
.study-bridge-grid a,
.oral-bridge-grid a {
  color: var(--aqluma-copper) !important;
}

/* Articles : lecture plus éditoriale sans toucher à la structure SEO. */
.reading,
.article,
.school-copy,
.course-prose { color: var(--aqluma-ink); }
.article h2,
.reading h2 { border-bottom-color: rgba(20, 17, 14, .14); }
.pullquote,
.school-quote {
  border-color: var(--aqluma-copper);
  background: var(--aqluma-ivory-deep);
  color: var(--aqluma-ink);
}

@media (max-width: 720px) {
  .student-nav { backdrop-filter: none; }
  .cohort-card:hover,
  .school-guide-card:hover,
  .school-course-grid article:hover,
  .school-path-grid article:hover {
    transform: none;
    box-shadow: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}
